/**
 * DOM data storage machanismus
 */
(function(){
 
    var cache = [0]; 
    var expando = 'data' + +new Date();
 
    function data(elem) {
 
        var cacheIndex = elem[expando];
        var nextCacheIndex = cache.length;
 
        if(!cacheIndex) {
            cacheIndex = elem[expando] = nextCacheIndex;
            cache[cacheIndex] = {};
        }
 
        return cache[cacheIndex]; 
    }
 
    window.data = data; 
})();

/**
 * Ein paar Metzhoden für Strings hinzufügen
 */
String.prototype.htmlEntities = function () {
   return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
};
String.prototype.htmlEntityDecode = function () {
   return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
};
String.prototype.trim = function () {
	return this.replace(/\s+$/,"").replace(/^\s+/,"");
};

Array.prototype.contains = function(obj) {
	var i, listed = false;
	for (i=0; i<this.length; i++) {
		if (this[i] === obj) {
			listed = true;
			break;
		}
	}
	return listed;
};


CONECTO_LOCAL = {
	Layout: {
		
		init: function() {
			//this.contentHeight();
			this.initMainNav();
			this.initHeaderAccordion();
			this.initSlideUpContainerFrontpage();
			this.initLangNav();
			this.initPartnerFrontpage();
		},
		
		contentHeight: function() {
			var sidebarHeight  = jQuery('#sidebar').height();
			var contentHeight  = jQuery('#content').height();
			
			if( sidebarHeight > contentHeight ) {
				jQuery('#content').height(sidebarHeight+50+'px');
				contentHeight = sidebarHeight;
			}
		},
		
		initMainNav: function(){
			jQuery("ul#mainNavList").superfish({
				animation: {height:'show'},
				autoArrows: false,
				dropShadows: false
			}).find('ul').bgIframe({opacity:false});
			//jQuery("ul#mainNavList li:last-child ul.subNav").css('left', '-85px');
		},
		
		initHeaderAccordion: function() {
			/*jQuery("#headerShortcuts").accordion({
				header: 'h2',
				collapsible: true,
				autoHeight: true
			});*/
			
			CONECTO_LOCAL.HeaderAccordion.initAccordion();
		},
		
		initSlideUpContainerFrontpage: function() {
			jQuery('.slideUpContainer').hover(
				function(){
					jQuery(this).children('.slideUpContent').fadeIn('fast');
				},
				
				function(){
					jQuery(this).children('.slideUpContent').fadeOut('fast');
				}
			);
		},
		
		initLangNav: function() {
			jQuery('#langNavList').hover(
				function(){
					if (!jQuery(this).is(':animated')) {
						jQuery(this).animate({
							left: '0px'
						});
					}
				},
				
				function(){
					jQuery(this).animate({
						left: '-65px'
					});
				}
			);
		},
		
		initPartnerFrontpage: function() {
			jQuery('#partnerFadeList').innerfade({
				speed: 'slow',
				timeout: 5000,
				type: 'sequence',
				containerheight: '186px'
			});
		},
		
		quickAnfragePauschalen: function(lang) {
            if( lang=='de' ) {
                langLabel_month = new Array("Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
            } else if( lang=='it' ) {
                langLabel_month = new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic");
            }
            else {
                langLabel_month = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
            }
            
            today = new Date();         
            // days
            var dayOptionsHtml = '';
            for( i=1; i<=31; i++ ) {
                if( i==today.getDate() ) { daySelected = ' selected="selected"'; }
                else { daySelected = ''; }
                
                dayOptionsHtml = dayOptionsHtml + "\n"+'<option value="'+i+'"'+daySelected+'>'+i+'</option>';
            }
            jQuery("#quickAnfragePauschalen_D1").html(dayOptionsHtml);
            
            // month
            var monthOptionsHtml = '';
            for( i=1; i<=12; i++ ) {
                if( i==today.getMonth()+1 ) { monthSelected = ' selected="selected"'; }
                else { monthSelected = ''; }
                
                monthOptionsHtml = monthOptionsHtml + "\n"+'<option value="'+i+'"'+monthSelected+'>'+langLabel_month[i-1]+'</option>';
            }
            jQuery("#quickAnfragePauschalen_D2").html(monthOptionsHtml);
            
        },
        /*
        resultFrame: function(lang) {
            
            if( lang=='en' ) { queryLang = '&LG=1'; }
            else { queryLang = ''; }
            
            var currentUri = location.href;
            var currentQueryStr = currentUri.substr(currentUri.indexOf("?"));
            var searchType = CONECTO_LOCAL.Layout.getURLParam(location.href, 'queryType');
            
            if( searchType=='package' ) {
                var capCornFrameSrc = 'http://www.capcorn.net/QueryPackage'+currentQueryStr+queryLang;
            }
            else {
                var capCornFrameSrc = 'http://www.capcorn.net/Query'+currentQueryStr+queryLang;
            }
            document.writeln('<iframe name="resultFrame" id="resultFrame" width="100%" height="700" src="'+capCornFrameSrc+'" frameborder="0"></iframe>');
        },
        */
         resultFrame: function(lang) {
            
            if( lang=='en' ) { queryLang = '&LG=1'; }
            else if( lang=='it' ) { queryLang = '&LG=3'; }
            else { queryLang = ''; }
            
            var currentUri = location.href;
            var currentQueryStr = currentUri.substr(currentUri.indexOf("?"));
            var searchType = CONECTO_LOCAL.Layout.getURLParam(location.href, 'queryType');
            
            if( searchType=='package' ) {
                var capCornFrameSrc = 'http://www.capcorn.net/QueryPackage'+currentQueryStr+queryLang;
            }
            else {
                var capCornFrameSrc = 'http://www.capcorn.net/Query'+currentQueryStr+queryLang;
            }

           var iframe = document.createElement('iframe'); 
           iframe.setAttribute('name', 'resultFrame'); 
           iframe.setAttribute('id', 'resultFrame'); 
           iframe.setAttribute('width', '100%'); 
           iframe.setAttribute('height', 700);
           iframe.setAttribute('frameborder', 0);
           iframe.setAttribute('src', capCornFrameSrc);

           document.getElementById('content').appendChild(iframe);

        },
        getURLParam: function(srch, strParamName) {
            var strReturn = "";
            var strHref = srch;
            if ( strHref.indexOf("?") > -1 ){
                var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
                var aQueryString = strQueryString.split("&");
                for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
                    if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ) {
                        var aParam = aQueryString[iParam].split("=");
                        strReturn = aParam[1];
                        break;
                    }
                }
            }
            return unescape(strReturn);
        }


	},
	HeaderAccordion: {
		initAccordion: function() {
			var headerShortcuts = jQuery('#headerShortcuts');
			
			jQuery(headerShortcuts).children('.headerShortcutsWrap').click(function(){
				if (!jQuery(headerShortcuts).children('.headerShortcutsWrap').children('.headerShortcutsContentWrap').is(':animated')) {
					CONECTO_LOCAL.HeaderAccordion.showBox(jQuery(this));
				}
			});
			/*
			jQuery(headerShortcuts).children('.headerShortcutsWrap').mouseleave(function(){
				if (!jQuery(headerShortcuts).children('.headerShortcutsWrap').children('.headerShortcutsContentWrap').is(':animated')) {
					setTimeout("CONECTO_LOCAL.HeaderAccordion.hideBox()",5000);
				}
			});*/
		},
		
		showBox: function(currentBox) {
			var headerShortcuts = jQuery('#headerShortcuts');
			var otherBoxes = jQuery(headerShortcuts).children('.headerShortcutsWrap').not(currentBox);
			
			// hide other boxes
			otherBoxes.children('.headerShortcutsContentWrap').slideUp();
			
			// show current box
			currentBox.children('.headerShortcutsContentWrap').slideDown();
		}/*,
		
		hideBox: function() {
			var headerShortcuts = jQuery('#headerShortcuts');
			jQuery(headerShortcuts).children('.headerShortcutsWrap').children('.headerShortcutsContentWrap').slideUp();
		}
		*/
	},
	Misc: {
		getURLParam: function(srch, strParamName) {
			var strReturn = "";
			var strHref = srch;
			if ( strHref.indexOf("?") > -1 ){
				var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
				var aQueryString = strQueryString.split("&");
				for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
					if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ) {
						var aParam = aQueryString[iParam].split("=");
						strReturn = aParam[1];
						break;
					}
				}
			}
			return unescape(strReturn);
		}
	}
}

/**
 * Anfrage
 */
 
var Inquiry = { 

	
	
	setSelectedItem: function(parentContainer, selectedItem) {
		var options 	= parentContainer.getElementsByTagName("option");
		var optionsNum 	= options.length;
		for(var i = 0; i < optionsNum; i++) {
			if(options[i].id == 'item_'+ selectedItem) {
				break;				
			}
		}
					
		parentContainer.selectedIndex = i;
	}
	
};

var fb_onNotConnected = function()  {
  jQuery('.fbSalutation').hide();
      };
var fb_onConnected = function()  {
  jQuery('.fbSalutation').show();
};
