/**
 * Bootstrap.js - Bootstrap for all Javascript functionality
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */
var banner = 0;
var currentPlayer = null;
 
$(document).ready(function() {
		
	// Toggle values
	if(get('map-form')) {
		WS.Util.toggleValue('map-zipnum', 'focus');
		WS.Util.toggleValue('map-zipchar', 'focus');
	}
	
	if(get('search')) {
		WS.Util.toggleValue('search', 'focus');
	}
	
	// Homepage news ticker
	if(get('news-ticker')) { $('#news-ticker').newsticker(6000); }
	
	// Accordions
	$('#homepage-accordion').accordion({ active: 0, autoHeight: false });
	$('#details-accordion').accordion({ active: 1, autoHeight: false });
	$('#faq-accordion').accordion({ active: 0, autoHeight: false });
	$('#jobs-accordion').accordion({ active: false, collapsible: true, autoHeight: false });
	$('#contact-accordion').accordion({ active: 0, autoHeight: false });
	$('#action-accordion').accordion({ active: 0, autoHeight: false });
	$('#suggestions-accordion').accordion({ active: 0, autoHeight: false });
	$('#attraction-accordion').accordion({ active: 0, autoHeight: false });
	$('#zalen-accordion').accordion({ active: 0, autoHeight: false });
	$('#hotel-accordion').accordion({ active: 0, autoHeight: false });
	$('#stars-accordion').accordion({ active: 0, autoHeight: false });
	$('#video-accordion').accordion({ active: 0, autoHeight: false });
	$('#search-accordion').accordion({ active: 3, autoHeight: false });
	$('.dishes-accordion').accordion({ active: 0, autoHeight: false });
	
	// Homepage player
	if(get('homepage-visual')) {
		swfobject.embedSWF('/swf/zomervoordeel.swf', 'homepage-visual', '950', '355', '8', null, { mode: 'random', file: 'http://www.prestonpalace.nl/xml/playlist.xml', infolink: '/arrangement/83', infoprice: '67,50' }, { bgcolor:'#FFFFFF', wmode:'transparent' }, null);
	}
	
	// Q-music visual
	if(get('qmusic-visual')) {
		swfobject.embedSWF('/swf/q-music_2.swf', 'qmusic-visual', '950', '355', '8', null, { mode: 'random', ref2: 'http://www.prestonpalace.nl/reserveren/package/96/MjAwOS0xMi0xOV8wMDAwLTAwLTAw' }, { bgcolor:'#FFFFFF', wmode:'transparent' }, null);
	}
	
	// Countdown actie
	if(get('countdown-actie')) {
		var params = {
			wmode: 'transparent'
		};
				
		var flashVars = {
			link1: '/home/1/countdown',
			countdowndate: '2010-07-31',
			countdowntime: '00:00',
			datetime: 'vrijdag 23:59 uur'/*,
			showlabel: 'true',*/
		};
		
		swfobject.embedSWF('/swf/countdown.swf', 'countdown-actie', '950', '355', '8', null, flashVars, params, null, null);
	}
	
	// Countdown actie
	if(get('countdown-actie2')) {
		var params = {
			wmode: 'transparent'
		};
		
		var flashVars = {
			link1: '/home/1/countdown',
			countdowndate: '2010-08-03',
			countdowntime: '00:00',
			datetime: 'maandag 23:59 uur',
			showlabel: 'true'
		};
		
		swfobject.embedSWF('/swf/countdown.swf', 'countdown-actie2', '950', '355', '8', null, flashVars, params, null, null);
	}
	
	// Experience players
	if(get('player-fair')) { buildFlashPlayer('player-fair', '#47C700', '../flv/preston_fair.flv'); }
	if(get('player-pool')) { buildFlashPlayer('player-pool', '#09A49B', '../flv/preston_pool.flv'); }
	if(get('player-zalen')) { buildFlashPlayer('player-zalen', '#990000', '/content/flv/vergaderzalen.flv'); }
	if(get('player-hotel')) { buildFlashPlayer('player-hotel', '#0066B2', '../flv/preston_hotel_cropped.flv'); }
	if(get('player-uitgaan')) { buildFlashPlayer('player-uitgaan', '#EC6900', '../flv/preston_uitgaan.flv'); }
	if(get('player-culinair')) { buildFlashPlayer('player-culinair', '#985929', '../flv/preston_culinair.flv'); }
	if(get('player-nabeleving')) { buildFlashPlayer('player-nabeleving', '#02255B', '../content/flv/Qmusic.flv'); }
	
	// Experience carousel
	if(get('carousel')) {
		$('#experience-caption #carousel').jcarousel({
			itemFirstInCallback: {
				onBeforeAnimation: function(carousel, object, index, state) {
					var currentItem = $('#carousel-controls ul a')[index - 1];
					$('#carousel-controls ul a').removeClass('selected');
					$(currentItem).addClass('selected');
				}
			},
			auto: true,
			scroll: 1,
			wrap: 'both',
			initCallback: ecCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null
		});
	}
	
	// Colorbox thumbs
	if($("a.colorbox, a[rel='page-gallery']").length) {
		$("a.colorbox, a[rel='page-gallery']").colorbox({
			opacity: 0.8,
			current: 'Afbeelding {current} van {total}',
			previous: 'Vorige',
			next: 'Volgende',
			close: 'Sluiten',
			slideshowStart: 'Diavoorstelling starten',
			slideshowStop: 'Diavoorstelling stoppen'
		});
	}
	
	if($("a[rel='360fotos']").length) {
		$("a[rel='360fotos']").colorbox();
	}
	
	if($("a[rel='resetpassword']").length) {
		$("a[rel='resetpassword']").colorbox({iframe: 'true', width: '500px', height: '250'});
	}
	
	// Filter sliders
	$("#days-slider").slider({
		animate: true,
		range: true,
		min: 0,
		max: 14,
		values: [0, 14],
		slide: function(event, ui) {
			$('#days-from-field').val(ui.values[0]);
			$('#days-to-field').val(ui.values[1]);
			$('#days-from-value').text(ui.values[0]);
			$('#days-to-value').text(ui.values[1]);
		}
	});
	
	$("#budget-slider").slider({
		animate: true,
		range: true,
		min: 0,
		max: 1000,
		step: 50,
		values: [0, 1000],
		slide: function(event, ui) {
			$('#budget-from-field').val(ui.values[0]);
			$('#budget-to-field').val(ui.values[1]);
			$('#budget-from-value').text(ui.values[0]);
			$('#budget-to-value').text(ui.values[1]);
		}
	});
	
	// Tell-a-friend button/form
	$('#tellafriend-form').hide();
	$('#tellafriend-toggle').click(function() { $('#tellafriend-form').toggle(); });
	
	// Tabs
	if(get('arrangement-tabs')) { var aTabs = new Tabs('arrangement-tabs', { listener: 'mouseover' }); aTabs.initialize(); }
	
	if(get('theme-controls')) {
		var themeTabs = new Tabs('theme-controls', {
			listener: 'mouseover',
			onTabChange: function(container) {
				if(currentPlayer) {
					currentPlayer.pauseVideo();
				}
				
				currentPlayer = null;
				
				var playerObj = container.getElementsByTagName('object')[0];
				if(playerObj) {
					setTimeout(function() {
						playerObj.playVideo();
					}, 1000);
					currentPlayer = playerObj;
				}
			}
		});
		themeTabs.initialize();
	}
	
	// Footer service navigation
	if(get('page-tabs')) { var pTabs = new Tabs('page-tabs', {}); pTabs.initialize(); }
	
	// Footer service navigation
	var serviceNav = new Toggler();
	serviceNav.initialize();

	/*
	if(get('smallbanner')) {
		setInterval("switchbanner();", 7000);
	}
	*/
});

function switchbanner(){
	//
}


/**
 * Google Maps
 */
if(typeof(google) != 'undefined') {
	google.load('maps', '2');
	google.setOnLoadCallback(function(){
		if (get('map')) {
			var mapCt = get('map');
			var map = new google.maps.Map2(mapCt);
			var center = new google.maps.LatLng(52.350611, 6.677456);
			var marker = new google.maps.Marker(center, {
				title: 'Preston Palace, Laan van Iserlohn 1, 7607 PT Almelo'
			});
			
			map.setCenter(center, 15);
			map.addOverlay(marker);
			
			WS.hide(WS.DOM.getChild(mapCt, 3));
			WS.Event.addEvent(document.body, 'load', GUnload);
		}
	});
}


/**
 * Experience carousel callback
 * 
 * @param {Object} carousel The carousel object
 */
function ecCallback(carousel) {
	$('#carousel-prev').bind('click', function() {
		carousel.prev();
		return false;
	});

	$('#carousel-next').bind('click', function() {
		carousel.next();
		return false;
	});
	
	$('#carousel-controls ul a').bind('click', function(e) {
		e.preventDefault();
		carousel.scroll($.jcarousel.intval(this.rel));
	});
}

/**
 * Builds a flash video player and writes it
 * 
 * @param {String} id The container element
 * @param {String} color The flash player's main color
 * @param {String} file The video file to stream
 */
function buildFlashPlayer(id, color, file) {
	/*var experiencePlayer = new SWFObject('/swf/vdmost_TV.swf', 'vdmost_TV', '720', '350', '8', '#FFFFFF');
	experiencePlayer.addParam('wmode', 'transparent');
	experiencePlayer.addVariable('file', file);
	experiencePlayer.addVariable('autorun', 'true');
	experiencePlayer.addVariable('color1', color);
	experiencePlayer.write(id);*/
	swfobject.embedSWF('/swf/vdmost_TV.swf', id, '720', '350', '8', null, { file: file, autorun: 'true', color1: color }, { bgcolor:'#FFFFFF', wmode:'transparent' }, {'class': 'experience-player'});
}
