if(!jsHome) { var jsHome = new Object(); }

jsHome = {
	// datamembers
	debug: jsFrontend.debug,
	// init, something like a constructor
	init: function() {
		jsHome.slideshow.init();
		jsHome.services.init();
	},
	// end
	_eoo: true
}	

jsHome.services = {
	// init, something like a constructor
	init: function() {
		$('#services ul div').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); });
		$('#services ul div').each(function() { $(this).click(function() { window.location = $(this).find('h3 a').attr('href'); }); });
	},
	// end
	_eoo: true
}

jsHome.slideshow = {
	// datamembers
	current: 0,
	animationBusy: false,
	items: new Array(),
	interval: null,
	// init, something like a constructor
	init: function() {
		if($('#slideshow').length > 0) {
			var opacity = 0.66, toOpacity = 1.0, duration = 250;
			$('.play').hover(function() { $(this).find('.button, .shade').stop().fadeTo(duration, toOpacity); }, 
							 function() { $(this).find('.button, .shade').stop().fadeTo(duration, opacity); });

			jsHome.slideshow.load();
		}
	},
	
	load: function() {
		$('#slideshowNavigation a').each(function() {
			var slide = new Object();
			slide.id = $(this).attr('rel').split('|')[0];
			slide.url = $(this).attr('rel').split('|')[1];
			slide.image = $(this).attr('rel').split('|')[2];
			slide.video = $(this).attr('rel').split('|')[3];
			slide.label = $(this).attr('rel').split('|')[4];
			slide.title = $(this).attr('title');
			
			// preload
			var image = new Image();
			image.src = slide.image;
			
			jsHome.slideshow.items.push(slide); 
		});
		
		// init
		$('#slideshowMovieModal').dialog({ autoOpen: false, modal: true, resizable: false, draggable: false, width: 768, dialogClass: 'videoModal',
											close: function(event, ui) { $('#slideshow .playHolder').show(); } 
										});
		$('#slideshowMovieModal #close').live('click', function(evt) { evt.preventDefault(); $('#slideshowMovieModal').dialog('close'); });
	
		$('#slideshowSlideVisible img').attr('src', jsHome.slideshow.items[0].image);
		jsHome.slideshow.current = 0;

		$('#slideshowNavigation a').live('click', function(evt) {
			jsHome.slideshow.click(evt, (parseInt($(this).attr('href').split('#')[1]) - 1));
		});
		
		$('#slideshowSlideVisible a, #slideshowLower a, #playButton').live('click', function(evt) {
			if($(this).attr('href').substr(0, 1) == '#') {
				evt.preventDefault();

				// stop slideshow
				clearInterval(jsHome.slideshow.interval);
				
				// get id
				var id = $(this).attr('href').split('#')[1];
				
				// build HTML
				var html =	'<object width="720" height="430" bgcolor="333333" id="youtubeMovie">'+
							'	<param name="movie" value="http://www.youtube.com/v/'+ jsHome.slideshow.items[id].video +'&autoplay=1"></param>'+
							'	<param name="allowFullScreen" value="true"></param>'+
							'	<param name="allowscriptaccess" value="always"></param>'+
							'	<embed id="youtubeMovie" src="http://www.youtube.com/v/'+ jsHome.slideshow.items[id].video +'&autoplay=1" bgcolor="333333" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="720" height="430"></embed>'+
							'</object>'+
							'<div class="buttonHolderRight">'+
							'	<a href="'+ jsHome.slideshow.items[id].url +'" class="button button_3 icon">'+
							'		<b>&nbsp;</b>'+
							'		<span>Koop tickets</span>'+
							'		<i>&nbsp;</i>'+
							'	</a>'+
							'	<a id="close" href="#" class="button">'+
							'		<b>&nbsp;</b>'+
							'		<span>Sluiten</span>'+
							'		<i>&nbsp;</i>'+
							'	</a>'+
							'</div>';
				
				// set html
				$('#slideshowMovieModal').html(html);
				
				// set title
				$('#slideshowMovieModal').dialog('option', 'title',jsHome.slideshow.items[id].title);

				$('#slideshow .playHolder').hide();
				
				// open dialog
				$('#slideshowMovieModal').dialog('open');
			}			
		});
		
		// set timeout
		jsHome.slideshow.interval = setInterval('jsHome.slideshow.next()', 4500);
	},
	
	click: function(evt, index) {
		evt.preventDefault();
		clearInterval(jsHome.slideshow.interval);
		jsHome.slideshow.next(index);
	},
	
	next: function(newIndex) {
		// stop animations
		$('#slideshow .playHolder, #slideshowSlideVisible, #slideshowSlide').stop(true, true);

		// set status
		jsHome.slideshow.animationBusy = true;

		// calc new index
		if(newIndex == undefined) newIndex = jsHome.slideshow.current + 1;
		else newIndex = newIndex;
		if(newIndex == jsHome.slideshow.items.length) newIndex = 0;

		if(jsHome.slideshow.items[newIndex].video != '') $('#slideshow .playHolder:hidden').fadeIn(1000);
		else $('#slideshow .playHolder:visible').fadeOut(1000);

		// set new background
		$('#slideshowSlideLower img').attr('src', jsHome.slideshow.items[newIndex].image);
		
		// set selected
		$('#slideshowNavigation li').removeClass('selected')
		$($('#slideshowNavigation a')[newIndex]).parent().addClass('selected')

		// fade out
		$('#slideshowSlideVisible').fadeOut(1000, function() {
			var url = jsHome.slideshow.items[newIndex].url;
			if(jsHome.slideshow.items[newIndex].video != '') url = '#'+ newIndex; 
			
			$('#slideshowSlideVisible img').attr('src', jsHome.slideshow.items[newIndex].image);
			$('#slideshowSlideVisible a').attr('href', url)
										 .attr('title', jsHome.slideshow.items[newIndex].title);
			$('#playButton').attr('href', url);

			// reset current
			jsHome.slideshow.current = newIndex;
			
			$(this).fadeIn(1000, function() {
				// reset
				jsHome.slideshow.animationBusy = false;
			});
		});
		
		// set text
		var shortTitle = jsHome.slideshow.items[newIndex].title;
		if(shortTitle.length > 40) shortTitle = shortTitle.substr(0, 40) + '&hellip;';
		$('#slideshowSlideText a.eventLink').html(shortTitle);
		$('#slideshowSlideText a.eventLink').attr('href', jsHome.slideshow.items[newIndex].url)
											.attr('title', jsHome.slideshow.items[newIndex].title);
		$('#ticketButton a').attr('href', jsHome.slideshow.items[newIndex].url);
		$('#slideshowSlideLabel').html(jsHome.slideshow.items[newIndex].label);
	},
	
	stop: function(evt) {
		evt.preventDefault();

		// stop animations
		$('#slideshow .playHolder, #slideshowSlideVisible, #slideshowSlide').stop(true, true);

		clearInterval(jsHome.slideshow.interval);
	},
	
	// end
	_eoo: true
}

$(document).ready(function() { jsHome.init(); });