﻿document.observe("dom:loaded", function() {
	document.observe('click', function(event) { event.element().fire('dom:click'); });
	
	$('slideshow_container').down('.carousel_container .left').observe('click', scrollCarousel);
	$('slideshow_container').down('.carousel_container .right').observe('click', scrollCarousel);
	
	new Ajax.Request('/slideshow-data.json', {
		method: 'get',
		onSuccess: function(transport) {
			var data = transport.responseText.evalJSON();
			var carouselContent = $('slideshow_container').down('.carousel_scroller .carousel_content');
			
			data.each(function(item) {
				var link = new Element('a', { href: '#' });
				var image = new Element('img', { src: '/slideshow/images/transparent.gif' }).setStyle({'backgroundImage': 'url(' + item.thumb + ')' });
				if(item.type == 'video') image.src = '/slideshow/images/video.png';
				if(item.type == 'video' && window.isIE6) image.src = '/slideshow/images/video.gif';
				
				carouselContent.insert(link);
				link.insert(image);
				
				link.observe('dom:click', function(event) {
					$('slideshow_container').down('.viewer').innerHTML = '';
					$('slideshow_container').down('.viewer').setStyle({'backgroundImage': 'none' });
					
					this.addClassName('current');
					this.siblings().invoke('removeClassName', 'current');
					$('slideshow_container').down('.caption').update(item.caption);
					
					if(item.type == 'image') {
						$('slideshow_container').down('.viewer').setStyle({'backgroundImage': 'url(' + item.source + ')' });
					}
					else {
						var replaceMe = new Element('div');
						$('slideshow_container').down('.viewer').insert(replaceMe);
						replaceMe.update('<h1>Please Upgrade Your Flash Player</h1><p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>');
						
						var flashvars = {
							flvpFolderLocation: "/slideshow/flvplayer_no_flash/flvplayer/", 
							flvpVideoSource: item.source, 
							flvpPreRollImage: item.preRollImage, 
							flvpAutoStartMovie: false, 
							flvpWidth: "380", 
							flvpHeight: "222",
							flvpTurnOnCorners: false,
							
							flvpInitVolume: 50,
							flvpInterfaceDisplay: 'autohide',
							flvpVidConstraints: 'fit to width',
							
							flvpBgColor: '0x000000',
							flvpShowbInfo: false,
							flvpShowbCc: false,
							flvpShowbMenu: false,
							flvpShowbStop: false,
							flvpShowbBack: false,
							flvpShowbForward: false,
							
							flvpScrubBarFrontColor: '0x777777',
							flvpScrubBarDragColor: '0x000000',
							flvpScrubBarDragRollOverColor: '0xFFFFFF',
							flvpVolumeFrontColor: '0x777777',
							flvpVolumeDragColor: '0x000000',
							flvpVolumeDragRollOverColor: '0xFFFFFF'
						};
						
						var params = {
							allowfullscreen: true
						};
						
						swfobject.embedSWF("/slideshow/flvplayer_no_flash/FLVplayer.swf", replaceMe.identify(), "380", "222", "9.0.0", "slideshow/flvplayer_no_flash/swfobject/expressInstall.swf", flashvars, params);
					}
				});
			});
			
			carouselContent.down('a').fire('dom:click');
			
			$('slideshow_container').down('.carousel_scroller .carousel_content').setStyle({
				width: $('slideshow_container').down('.carousel_scroller div').childElements().size() * $('slideshow_container').down('.carousel_scroller .carousel_content a').getWidth() + 'px'
			});
		}
	});
});

function scrollCarousel(event) {
	if(event.element() == $('slideshow_container').down('.carousel_container .left'))
		var direction = -1;
	else
		var direction = 1;
	
	new Effect.Scroll($('slideshow_container').down('.carousel_scroller'), {
		duration: 0.3,
		x: direction * $('slideshow_container').down('.carousel_scroller .carousel_content a').getWidth(),
		mode: 'relative'
	});
	
	event.stop();
}