/** 
 *  konfiguracja flowplayera - odtwarzanie sponsorow (w okienkach roznej wielkosci)
 */ 
 //zmienna globalna - timingi kolejnych slajdow
 var aFlowplayerSlideTiming=new Array(0);
 
 $(document).ready(
	function()
	{
			$("div.videoSlidesCont").each(function() {
					var href = $(this).attr('mce_href');
					if (href[0]=='/')	{
						href = href.substring(1,href.length);
					};
					$(this).attr('href', href);
			});
	}

);
 
 
 $(function() {

//funkcja przygotowujaca tablice cuepoints na podstawie timingow 
	function prepareSlideTiming(clipLength)	{
		if (aFlowplayerSlideTiming[0]<0)	{
			activeSlidesArray = [0];
			activeSlidesArray.length = -aFlowplayerSlideTiming[0];
			for(var i=0; i<-aFlowplayerSlideTiming[0]; i++)	{
				if (i==0)	{
					activeSlidesArray[i] = {time: 100, slideNumber: (i+startNumber).toString()};
				}
				else	{
					activeSlidesArray[i] = {time: Math.floor(clipLength/activeSlidesArray.length*1000*i), slideNumber: (i+startNumber).toString()};
				}
			}
		}
		else	{
			activeSlidesArray.length = aFlowplayerSlideTiming.length;
			for(var i=0; i<aFlowplayerSlideTiming.length; i++)	{
				activeSlidesArray[i] = {time: aFlowplayerSlideTiming[i]*1000, slideNumber: (i+startNumber).toString()};
			}
		}
		
		//zageszczenie tablicy - co kilka sekund
		activeSlidesArrayDensed = [0];
		var j = 0;
		var lastTime = 0;
		var timeStep = 6000; //milisec
		var spareTime = 1000; //milisec
		for(var i=0; i<activeSlidesArray.length; i++)	{
			if (i==activeSlidesArray.length-1)	{
				lastTime = activeSlidesArray[i].time;
				activeSlidesArrayDensed[j] = {time: lastTime, slideNumber: activeSlidesArray[i].slideNumber};
				j=j+1;
				while (lastTime<clipLength*1000-timeStep-spareTime)	{
					lastTime = lastTime + timeStep;
					activeSlidesArrayDensed[j] = {time: lastTime, slideNumber: activeSlidesArray[i].slideNumber};
					j=j+1;
				}
			}
			else	{
				lastTime = activeSlidesArray[i].time;
				activeSlidesArrayDensed[j] = {time: lastTime, slideNumber: activeSlidesArray[i].slideNumber};
				j=j+1;
				while (lastTime<activeSlidesArray[i+1].time-timeStep-spareTime)	{
					lastTime = lastTime + timeStep;
					activeSlidesArrayDensed[j] = {time: lastTime, slideNumber: activeSlidesArray[i].slideNumber};
					j=j+1;
				}
			}
		}
	}

	function preloadImages()	{
		imageObj = new Image();
		for(var i=0; i<activeSlidesArray.length; i++)	{
			imageObj.src=slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i].slideNumber+slideFileNameExt;
		}
	}
// setup player 
	
	// initialize overlay trigger
	$("button[rel]").overlay({
			
		// start exposing when overlay starts to load
		onBeforeLoad: function() {
			$f("*").each(function() { 
				this.load(); 
			});
			// this line does the magic. it makes the background image sit on top of the mask
			if ($.browser.msie) {
				//jesli przegladarka to msie to expose moze zostac nie wlaczone
				//this.getBackgroundImage().expose({color: '#001100'});
			}
			else {
				//this.getBackgroundImage().expose({color: '#001100'});
			}
		}, 
		
		// when overlay is closed take the expose instance and close it as well
		onClose: function() {
			$f("*").each(function() { 
				this.unload(); 
			});
			$.expose.close();
		}
	});	

	var slideFileNameExt = '.jpg';
	var slideFileNameBase = 'slajd';
	var slideFileNameUrlBase = ' ';
	var startNumber = 1;
	var activeSlidesArray = new Array(
		{time: 100, slideNumber: '1'}
	);
	var activeSlidesArrayDensed = new Array(
		{time: 100, slideNumber: '1'}
	);
	// install flowplayer into flowplayer container
	var playerVideoSlides = $f("div.videoSlidesCont", {
		src: "/flowplayer/flowplayer-3.0.7.swf",
		bgcolor: '#FFFFFF',
		version: [9, 115],
		wmode: 'transparent'
	},
	{			

		clip: {
			autoPlay: true,
			autoBuffering: true,
			baseUrl: 'http://www.wmc-expo2008.org/files/multimedia',
			fadeInSpeed: 2000,
			fadeOutSpeed: 2000,
			onBegin: function(clip)	{ 
				slideFileNameUrlBase = clip.baseUrl+'/'+clip.url.substring(0,clip.url.lastIndexOf("."))+'/';
				//this.getPlugin("slideContent").setHtml(slideHtmlText1+clip.url.substring(0,clip.url.lastIndexOf("."))+'/'+slideFileNameBase+startNumber.toString()+slideFileNameExt+slideHtmlText2); 
				this.getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+startNumber.toString()+slideFileNameExt+') no-repeat 0 0'});
				this.getPlugin('backwardContent').hide();
				this.getPlugin('forwardContent').hide();
				this.getPlugin('backwardContent').css({opacity:0.7});
				this.getPlugin('forwardContent').css({opacity:0.7});
				preloadImages();
			},
			onStart: function(clip)	{
				prepareSlideTiming(clip.fullDuration);
				this.onCuepoint(activeSlidesArrayDensed, function(clip, cuepoint)	{ 
					this.getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+cuepoint.slideNumber+slideFileNameExt+') no-repeat 0 0'});
				});
			},
			onSeek: function(clip) {
				for(var i=1; i<activeSlidesArray.length; i++)	{
					if (this.getTime()*1000<activeSlidesArray[i].time)	{
						this.getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i-1].slideNumber+slideFileNameExt+') no-repeat 0 0'});
						break;
					}
					else {
						if (i==activeSlidesArray.length-1) {
							this.getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i].slideNumber+slideFileNameExt+') no-repeat 0 0'});
							break;
						}
					}
				}
			}
		}, 
		
		// custom labels on the play button
		play: {
			label: 'Play',
			replayLabel: 'Play again'
		},
		
		// screen dimensions are 1 pixel less than the rounded canvas
		screen: {
			width:320,
			height:240,
			top:140,
			left:5
		},
		
		// rounded canvas is done with borderRadius
		canvas: {
			backgroundColor: '#283d33',
			background: 'url(/files/multimedia/logosep320.jpg) no-repeat 5 140',
			borderRadius:8
		},

		// don't use default controls
		plugins: { 
			controls: {             
            
            // these buttons are visible 
            all:false,
			time: true,
            scrubber:true, 
            play:true, 
            mute:true, 
             
            // custom colors 
            bufferColor: '#333333', 
            progressColor: '#667470',             
            buttonColor: '#667470', 
            buttonOverColor: '#889292', 
             
            // custom height 
            height: 25, 
			
            // a little more styling              
            width: '825px',  
            bottom: 5, 
            left: '50%', 
            borderRadius: 2  
			},
			
			slideContent: {
				url:'/flowplayer/content.swf',
				backgroundGradient:'none',
				backgroundColor: 'transparent',
				border:'0',
				borderRadius:0,
				top:5,
				left:330,
				width: '500px',
				height: '375px',
				opacity:1,
				zIndex:1,
				onMouseOver: function() { 
					$f().getPlugin('backwardContent').show();
					$f().getPlugin('forwardContent').show();
				},
				onMouseOut: function() { 
					$f().getPlugin('backwardContent').hide();
					$f().getPlugin('forwardContent').hide();
				}
			},
			
			sponsorContent: {
				url:'/flowplayer/content.swf',
				backgroundGradient:'none',
				backgroundColor: 'transparent',
				background: 'url(/files/multimedia/sponsor_transmisji320.png) no-repeat 0 5',
				border:'0',
				top:5,
				left:5,
				width: '335px',
				height: '125px',
				opacity:1,
				zIndex:10
			},
	
			forwardContent: {
				url:'/flowplayer/content.swf',
				backgroundGradient:'none',
				backgroundColor: 'transparent',
				background: 'url(/files/multimedia/forward.png) no-repeat 0 0',
				border:'0',
				top:175,
				left:785,
				width: '40px',
				height: '40px',
				opacity:0,
				zIndex:5,
				onMouseOver: function() { 
					this.show();
					$f().getPlugin('backwardContent').show();
					this.css({opacity:1});
				},
				onMouseOut: function() { 
					this.show();
					$f().getPlugin('backwardContent').show();
					this.css({opacity:0.7});
				},
				onClick: function() { 
					for(var i=1; i<activeSlidesArray.length; i++)	{
						if ($f().getTime()*1000<activeSlidesArray[i].time)	{
							$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i].slideNumber+slideFileNameExt+') no-repeat 0 0'});
							$f().seek(activeSlidesArray[i].time/1000);
							break;
						}
						else {
							if (i==activeSlidesArray.length-1) {
								this.css({opacity:0.7});
							}
						}
					}
				}
			},
			backwardContent: {
				url:'/flowplayer/content.swf',
				backgroundGradient:'none',
				backgroundColor: 'transparent',
				background: 'url(/files/multimedia/backward.png) no-repeat 0 0',
				border:'0',
				top:175,
				left:335,
				width: '40px',
				height: '40px',
				opacity:0,
				zIndex:6,
				onMouseOver: function() { 
					this.show();
					$f().getPlugin('forwardContent').show();
					this.css({opacity:1});
				},
				onMouseOut: function() { 
					this.show();
					$f().getPlugin('forwardContent').show();
					this.css({opacity:0.7});
				},
				onClick: function() { 
					for(var i=1; i<activeSlidesArray.length; i++)	{
						if ($f().getTime()*1000<activeSlidesArray[i].time)	{
							if (i<2)	{
								$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[0].slideNumber+slideFileNameExt+') no-repeat 0 0'});
								$f().seek(activeSlidesArray[0].time/1000);
								break;
							}
							else {
								if ($f().getTime()*1000>activeSlidesArray[i-1].time+3000) {
									$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i-1].slideNumber+slideFileNameExt+') no-repeat 0 0'});
									$f().seek(activeSlidesArray[i-1].time/1000);
									break;
								}
								else {
									$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i-2].slideNumber+slideFileNameExt+') no-repeat 0 0'});
									$f().seek(activeSlidesArray[i-2].time/1000);
									break;
								}
							}
						}
						else {
							if (i==activeSlidesArray.length-1) {
								if ($f().getTime()*1000>activeSlidesArray[i].time+3000) {
									$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i].slideNumber+slideFileNameExt+') no-repeat 0 0'});
									$f().seek(activeSlidesArray[i].time/1000);
									break;
								}
								else {
									$f().getPlugin("slideContent").css({background: 'url('+slideFileNameUrlBase+slideFileNameBase+activeSlidesArray[i-1].slideNumber+slideFileNameExt+') no-repeat 0 0'});
									$f().seek(activeSlidesArray[i-1].time/1000);
									break;
								}
							}
						}
					}
				}
			}
			//end plugins
			
		} 
		
	});

});
