/**
 * Bootstrap.js - Bootstrap for all Javascript functionality
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

WS.DOM.ready(function() {
	
	// External links
	var a=document.getElementsByTagName('a');for(var i=0;i<a.length;i++){if(/external/.test(a[i].rel)){a[i].target='_blank';}}
	
	// Toggle input values
	var inputs=WS.DOM.getElementsByClass('toggle-value');inputs.forEach(function(el){var v=el.value;WS.Event.addEvent(el,'focus',function(){if(this.value==v){this.value='';}WS.addClass(this,'focus');});WS.Event.addEvent(el,'blur',function(){if(this.value==''){this.value=v;WS.removeClass(this,'focus');}});});
	
	// IE6 hover
	if(WS.browser.IE6){var hoverEls=$('navigation').getElementsByTagName('li');for(var i=0;i<hoverEls.length;i++){WS.Event.addEvent(hoverEls[i],'mouseover',function(){WS.addClass(this,'iehover');});WS.Event.addEvent(hoverEls[i],'mouseout',function(){WS.removeClass(this,'iehover');});}}
	
	// Visual scroller
	if(jQuery('#visual-scroller .items img').length>1){jQuery('#visual-scroller').scrollable({speed:800,size:1,clickable:false,globalNav:true,next:'#visual-next',prev:'#visual-prev',onSeek:function(){var slideEl=this.getItems()[this.getIndex()+1];$('caption-title').innerHTML=slideEl.title;$('caption-text').innerHTML=slideEl.alt;return false;}}).autoscroll({interval:5000}).circular().navigator({navi:'#visual-jumpers ul',activeClass:'selected'});jQuery('#visual-next, #visual-prev').click(function(e){e.preventDefault();return false;});}else{jQuery('.visual-control').addClass('hidden');}
	
	// Homepage player
	if($('zomer-actie')){
		var params={wmode:'transparent'};
		
		if(document.documentElement.lang == 'de'){
			swfobject.embedSWF('/swf/wk-actie-de.swf','zomer-actie','950','330','8', null, null, params, null, null);
		}else{
			swfobject.embedSWF('/swf/wk-actie-nl.swf','zomer-actie','950','330','8', null, null, params, null, null);
		}
	}
	
	
	// Carousel
	
	if($('banner-carousel')) {
		jQuery('#banner-carousel').jcarousel({
			scroll: 1,
			buttonNextHTML: null,
    		buttonPrevHTML: null,
    		initCallback: function(carousel) {
    			jQuery('#banner-carousel-controls li').each(function(i) {
    				jQuery(this).bind('click', function(e) {
    					e.preventDefault();
    					carousel.stopAuto();
    					carousel.scroll(i + 1);
    					carousel.startAuto();
    				});
    			});
    			carousel.clip.hover(
    				function() {
    					carousel.stopAuto();
    				},
    				function() {
    					carousel.startAuto();
    				}
    			);
    		},
    		itemVisibleInCallback: function(carousel, slide, index, state) {
    			jQuery('#banner-carousel-controls li:nth-child(' + index + ')').addClass('selected');
    		},
    		itemVisibleOutCallback:function(carousel, slide, index, state) {
    			jQuery('#banner-carousel-controls li:nth-child(' + index + ')').removeClass('selected');
    		},
			auto: 5,
			wrap: 'last'
		});
	}
	
	if($('visual-carousel')) {
		jQuery('#visual-carousel').jcarousel({
			scroll: 1,
			buttonNextHTML: null,
    		buttonPrevHTML: null,
    		initCallback: function(carousel) {
    			jQuery('#visual-jumpers li').each(function(i) {
    				jQuery(this).bind('click', function(e) {
    					e.preventDefault();
    					carousel.stopAuto();
    					carousel.scroll(i + 1);
    					carousel.startAuto();
    				});
    			});
    			carousel.clip.hover(
    				function() {
    					carousel.stopAuto();
    				},
    				function() {
    					carousel.startAuto();
    				}
    			);
    		},
    		itemVisibleInCallback: function(carousel, slide, index, state) {
    			jQuery('#visual-jumpers li:nth-child(' + index + ')').addClass('selected');
    		},
    		itemVisibleOutCallback:function(carousel, slide, index, state) {
    			jQuery('#visual-jumpers li:nth-child(' + index + ')').removeClass('selected');
    		},
			auto: 5,
			animation: 1000,
			wrap: 'last'
		});
	}
	
	
	// Countdown actie
	if($('countdown-actie')) {
		var params = {
			wmode: 'transparent'
		};
		
		if(document.documentElement.lang == 'de'){
			var link = 'http://www.wunderlandkalkar.eu/de/countdown';
		}else{
			var link = 'http://www.wunderlandkalkar.eu/nl/countdown';
		}
				
		if(document.documentElement.lang == 'de'){
			swfobject.embedSWF('/swf/countdown_de.swf', 'countdown-actie', '950', '355', '8', null, flashVars, params, null, null);
		}else{	
			swfobject.embedSWF('/swf/countdown_nl.swf', 'countdown-actie', '950', '355', '8', null, flashVars, params, null, null);
		}
	}
			
	// Accordions
	jQuery('#details-accordion').accordion({active:0,autoHeight:false});
	jQuery('#hotel-accordion').accordion({active:0,autoHeight:false});
	jQuery('#tips-accordion').accordion({active:0,autoHeight:false});
	jQuery('#photo-accordion').accordion({active:0,autoHeight:false});
	jQuery('#video-accordion').accordion({active:0,autoHeight:false});
	jQuery('#faq-accordion').accordion({active:false,autoHeight:false});
	jQuery('#suggestions-accordion').accordion({active:0,autoHeight:false});
	jQuery('#vacancy-accordion').accordion({active:false,autoHeight:false});
	jQuery('#help-accordion').accordion({active:false,collapsible:true,autoHeight:false});
	
	// Tell a friend form
	jQuery('#tellafriend-form').hide();
	jQuery('#tellafriend-toggle').click(function(e){e.preventDefault();jQuery('#tellafriend-form').toggle();});
	
	// Discover select
	jQuery('#discover-select').change(function(){var value=this.options[this.selectedIndex].value;window.location.href=value+'.html';});
	
	// Tabs
	/*if($('visual-tabs')) { var visualTabs=new Tabs('visual-tabs', {});visualTabs.initialize(); }
	if($('arrangement-tabs')) { var aTabs = new Tabs('arrangement-tabs', { listener: 'mouseover' }); aTabs.initialize(); }
	if($('page-tabs')) { var pageTabs = new Tabs('page-tabs', {});pageTabs.initialize(); }
	if($('home-tabs')) { var homeTabs = new Tabs('home-tabs', {});homeTabs.initialize();}*/
	var visualTabs = new Tabs('visual-tabs', { listener: 'click', hideMode: 'display' });
	var aTabs = new Tabs('arrangement-tabs', { listener: 'mouseover' });
	var pageTabs = new Tabs('page-tabs');
	var experienceTabs = new Tabs('experience-tabs');
	if(jQuery('#home-tabs').length) { 
		var homeTabs = new Tabs('home-tabs', {
			listener: 'mouseover',
			onAfterTabChange: function() {
				Cufon.replace('#home-tabs a h3', {fontFamily: 'Santana'});
			}
		});
		Cufon.replace('#home-tabs a h3', {fontFamily: 'Santana'});
	}
	// Homepage news ticker
	if(jQuery('#news-ticker').length>1) { $('#news-ticker').newsticker(6000); }
	
	// Service navigation toggler
	var serviceNav=new Toggler();serviceNav.initialize();
	
	// 360 deg photo
	 if(jQuery("a[rel='360fotos']").length) {
		jQuery("a[rel='360fotos']").colorbox();
	} 
	
	// Filter sliders
	jQuery("#days-slider").slider({animate:true,range:true,min:0,max:14,values:[0,14],slide:function(event,ui){jQuery('#days-from-field').val(ui.values[0]);jQuery('#days-to-field').val(ui.values[1]);jQuery('#days-from-value').text(ui.values[0]);jQuery('#days-to-value').text(ui.values[1]);}});
	jQuery("#budget-slider").slider({animate:true,range:true,min:0,max:1000,step:50,values:[0,1000],slide:function(event,ui){jQuery('#budget-from-field').val(ui.values[0]);jQuery('#budget-to-field').val(ui.values[1]);jQuery('#budget-from-value').text(ui.values[0]);jQuery('#budget-to-value').text(ui.values[1]);}});
	
	// Apply Cufon to headers.
	Cufon.now();
	// Online booking form (home)
	jQuery('#arrival-day, #arrival-month, #arrival-year').change(function() {
		var selectedDate = new Date(jQuery('#arrival-year').val() + '-' + jQuery('#arrival-month').val() + '-' + jQuery('#arrival-day').val());
		
		if(!isNaN(selectedDate.getTime())) { // Check date validity first
			var tomorrow = new Date(selectedDate);
			tomorrow.setDate(tomorrow.getDate() + 1);
			
			jQuery('#departure-day')[0].selectedIndex = (tomorrow.getDate() - 1);
			jQuery('#departure-month')[0].selectedIndex = tomorrow.getMonth();
			jQuery('#departure-year').val(tomorrow.getFullYear());
		}
	});	
	// Booking social sharing
	jQuery('#booking-social-comment').keyup(function() {
		var text = encodeURI(this.value);
		
		jQuery('#booking-social .button').each(function() {
			switch(this.parentNode.className) {
				case 'twitter':
					this.href = this.href.replace(/&text=.*/, '&text=' + text);
					break;
				case 'linkedin':
					this.href = this.href.replace(/&summary=.*/, '&summary=' + text);
					break;
			}
		});
	});
	
	// Colorbox
	jQuery('a.cbox,a[rel=page-gallery],a[rel=album-thumb]').colorbox({opacity:0.8,current:'Afbeelding {current} van {total}',previous:'Vorige',next:'Volgende',close:'Sluiten',slideshowStart:'Diavoorstelling starten',slideshowStop:'Diavoorstelling stoppen'});
	if(jQuery("a[rel='resetpassword']").length) {
		jQuery("a[rel='resetpassword']").colorbox({iframe: 'true', width: '500px', height: '350'});
	}
});



