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;
};

KRISPL = {
	
	Layout: {
		init: function() {
			this.checkContentHeight();
			this.initMainNav();
			this.initLangNav();
			this.initQuickAnfrage();
			this.initNuggets();
		},
		
		checkContentHeight: function() {
			var sidebarHeight = jQuery('div#sidebar').height();
			var contentHeight = jQuery('div#content').height();
			
			if( contentHeight < (sidebarHeight-60) ) {
				var newContentHeight = sidebarHeight-60;
				jQuery('div#content').height(newContentHeight+'px');
			}
			else if( (sidebarHeight-60) < contentHeight ) {
				jQuery('div#sidebar').height(contentHeight+60+'px');
			}
		},
		
		initMainNav: function() {
			var mainNavWidth = 960;
			
			jQuery('a.mainNavLink', '#mainNavList').each(function() {
				linkPosition = jQuery(this).position();
				subNavList = jQuery(this).parent().children('ul.subNavList');
				subNavPosAdjust = mainNavWidth - subNavList.width();
				
				
				if (subNavList.width()) {
					if (subNavPosAdjust < linkPosition.left) {
						subNavList.css("left", subNavPosAdjust);
					}
					else {
						subNavList.width(mainNavWidth - linkPosition.left);
						subNavList.css("left", linkPosition.left);
					}
				}
				
			});
			
			jQuery("ul#mainNavList").superfish({
				animation : { opacity:"show", height:"show" },
				hoverClass: 'active',
				delay: 700
			}).find('ul').bgIframe({opacity:false}); 
		},
		
		initLangNav: function() {
			var availableLangCont = jQuery('div.availableLang');
			var posLeftStart = availableLangCont.outerWidth() * -1;
			var posLeftTarget = jQuery('.currentLang').outerWidth() + 5;
			
			jQuery('.currentLang').mouseenter(function(){
				if(!availableLangCont.is(":animated"))
					availableLangCont.animate({
						left: posLeftTarget
					}, 1000, 'swing');		
			});
			
			jQuery('#containerLangNav').mouseleave(function(){	
				availableLangCont.animate({
					left: posLeftStart
				});
			});
		},
		
		initQuickAnfrage: function() {
			var quickAnfrageCont = jQuery('#containerQuickAnfrage');
			jQuery('#quickAnfrageBtn').toggle(function(){
				quickAnfrageCont.animate({left: 0}, 'slow', function(){
					jQuery('#quickAnfrageBtn').css('background-position', 'top right');
				});
			}, function(){
				quickAnfrageCont.animate({left: -210}, 'slow', function(){
					jQuery('#quickAnfrageBtn').css('background-position', 'top left');
				});
			});
		},
		
		initNuggets: function() {
			jQuery('ul#newsSwitcherNav li span').click(function() {
				jQuery('div#newsSwitcherContent div').removeClass('active');
				jQuery('div#newsSwitcherContent div#'+jQuery(this).attr('rel')).addClass('active');
				jQuery('ul#newsSwitcherNav li span:not(rel='+jQuery(this).attr('rel')+')').removeClass('active');
				jQuery(this).addClass('active');
			});
		}
	},
	Feratel: {
		fillFeratelQuickAnfrageForm: function(lang) {
			if( lang=='en' ) {
				monthNames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
				durationSuffixSingle = 'Night';
				durationSuffixMulti = 'Nights';
			}
			else {
				monthNames = new Array("Jannuar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
				durationSuffixSingle = 'Nacht';
				durationSuffixMulti = 'Nächte';
			}
		
			
			// days
			var dayOptionsHtml = '';
			for( i=1; i<=31; i++ ) {
				dayOptionsHtml = dayOptionsHtml + "\n"+'<option value="'+i+'">'+i+'</option>';
			}
			jQuery("#SrchFromDay").html(dayOptionsHtml);
			
			// month
			var monthOptionsHtml = '';
			for( i=0; i<=11; i++ ) {
				monthOptionsHtml = monthOptionsHtml + "\n"+'<option value="'+(i+1)+'">'+ monthNames[i] +'</option>';
			}
			jQuery("#SrchFromMonth").html(monthOptionsHtml);
			
			// year
			var yearOptionsHtml = '';
			var yearDateObj = new Date();
			var currYear = yearDateObj.getFullYear();
			for( i=currYear; i<=currYear+4; i++ ) {
				yearOptionsHtml = yearOptionsHtml + "\n"+'<option value="'+i+'">'+i+'</option>';
			}
			jQuery("#SrchFromYear").html(yearOptionsHtml);
			
			// duration
			var durationOptionsHtml = '';
			for( i=1; i<=21; i++ ) {
				if( i==1 ) { durationLabel = durationSuffixSingle; }
				else { durationLabel = durationSuffixMulti; }
				
				durationOptionsHtml = durationOptionsHtml + "\n"+'<option value="'+i+'">'+i+' '+durationLabel+'</option>';
			}
			jQuery("#SrchDays").html(durationOptionsHtml);
			
		},
		insertFeratelFrame: function() {
			var strHref = location.href;
			var queryStr = strHref.substr(strHref.indexOf("?"));
			var frameSrc = 'http://feratel-tennengau.concentrator.net/a1t2/tosc/srch_ServiceProvider_list.asp'+queryStr;
			
			document.write('<iframe name="feratelSearchFrame" id="feratelSearchFrame" width="100%" height="1000" src="'+frameSrc+'" frameborder="0"></iframe>');
		}
	},
	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);
		}

	}
	
}