/**
 * 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');});}}
	
	// Homepage news ticker
	if(jQuery('ul#news-ticker li').length>1) { jQuery('#news-ticker').newsticker(3000); }
		
	// Countdown actie
	if($('mp3player')) {
		var params = {
			wmode: 'transparent'
		};
			
		swfobject.embedSWF('/swf/mp3player.swf', 'mp3player', '220', '160', '8', null, null, params, null, null);
	}
	if($('countdown-actie')) {
		var params = {
			wmode: 'transparent'
		};
		
		swfobject.embedSWF('/swf/countdown.swf', 'countdown-actie', '950', '355', '8', null, flashVars, params, null, null);
		jQuery('#online-booking-form').css('background','none');
		jQuery('#online-booking-form').children().first().children().first().css('text-indent','0');
		jQuery('#online-booking-form').children().first().children().first().css('color','#622181');
		jQuery('#online-booking-form').children().first().children().first().css('margin-top','10px');
		jQuery('#online-booking-form').children().first().css('height','40px');
	}		
	// 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');}
	
	// Accordions
	jQuery('#details-accordion').accordion({active:0,autoHeight:false});
	jQuery('#photo-accordion').accordion({active:0,autoHeight:false});
	jQuery('#faq-accordion').accordion({active:false,autoHeight:false});
	jQuery('#vacancy-accordion').accordion({active:false,autoHeight:false});
	jQuery('#suggestions-accordion').accordion({active:0,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();});
	
	// 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'});
	
	// Discover select
	jQuery('#discover-select').change(function(){var value=this.options[this.selectedIndex].value;window.location.href=value+'.html';});
	
	// 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]);}});
	
	// Tabs
	var pageTabs=new Tabs('page-tabs',{});pageTabs.initialize();
	var visualTabs=new Tabs('visual-tabs',{});visualTabs.initialize();
	var viewtypeTabs=new Tabs('viewtype-tabs',{});viewtypeTabs.initialize();
	var packageTabs=new Tabs('package-tabs',{listener:'mouseover'});packageTabs.initialize();
	
	// Service navigation toggler
	var serviceNav=new Toggler();serviceNav.initialize();

	if(jQuery("a[rel='resetpassword']").length) {
		jQuery("a[rel='resetpassword']").colorbox({iframe: 'true', width: '500px', height: '250'});
	}
	// 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;
			}
		});
	});	
});

