var CreativeVideoPlayer;

$(window).load(function(){
	// Make sure IE correctly sizes scaled images
	reflow($(".video-player img").get());	
});

$(document).ready(function(){

	// Change script preference link text
	setScriptPrefrence.enableText = "Turn on video player";
	setScriptPrefrence.disableText = "Turn off video player";
	setScriptPrefrence.position = "after";		
	setScriptPrefrence.containerElem = $(".video-player .files")[0];		

	if (setScriptPrefrence()) {
		setScriptPrefrence.seperator = " | ";	
		setScriptPrefrence.containerElem = $("#footer p")[0];				
		setScriptPrefrence(true); // Reset link

		function setOpacity(elem, value) {
			elem.style.opacity = value/100;
			
			if (elem.currentStyle) {
				if (elem.currentStyle.filter) {
					elem.style.filter = elem.currentStyle.filter + ", alpha(opacity="+value+")";				
				} else {
					elem.style.filter = "alpha(opacity="+value+")";								
				}
			}
		}
		function getOpacity(elem) {
			if (elem.style.opacity != undefined && elem.style.opacity != "") {
				return elem.style.opacity * 100;				
			} else {
				return 100;
			}
		}

		function fadeTo(element, targetOpacity, steps, interval, callback) {
			var fadeInterval;
			var i = 0;
			var stepCount = 0;
			var startOpacity = getOpacity(element);
			var diff = targetOpacity - startOpacity;
			var callback = (typeof(callback) == "function") ? callback : function(){};

			function setFade() {
				stepCount += 1;
				
				i = (stepCount / steps);
				//i = Math.sin( ((stepCount*2) /steps) * (Math.PI/2) ) * 2;
				
				var opacity = startOpacity + (diff * i);
				setOpacity(element, opacity);

				if (stepCount >= steps) {
					clearInterval(fadeInterval);

					callback();
				}
			}
			
			fadeInterval = setInterval(setFade, interval);
		}
		
		var jqLogo = $(".logo");
		
		$(".video-player").each(function(i){
			var jqPlayerSource = $(this);
		
			var file = jqPlayerSource.find(".file");

			if (file.length > 1) {
				var playlist = new Array();

				file.each(function(){
					var attrClass = $(this).attr("class");
					if (attrClass.indexOf("bitrate") != -1) {
						var bitrate = attrClass.substr(attrClass.indexOf("bitrate-") + 8);
						if (bitrate.indexOf(" ") != -1) {
							bitrate = bitrate.substr(0, bitrate.indexOf(" "));
						}

						playlist.push({
							bitrate: bitrate,
							file: $(this).attr("href").replace("videos/", "CreativeVideo/")
						});
					}						
				});
			}
						
			var playlistJSON = escape(JSON.stringify(playlist));

			var config = {
				containerElement: jqPlayerSource[0],
				swfUrl: "flash/dynamic-stream-player.swf",
				streamListJson: playlistJSON,
				bwcheckServer: 'rtmp://streaming.creativevideo-uk.com/vod',
				videoServer: 'rtmp://streaming.creativevideo-uk.com/vod',
				volsteps: 10,
				namespace: "CreativeVideoPlayer",
				installHtmlLocation: $(".video-player .files")[0],
				debug: false
			}		
			CreativeVideoPlayer = new DynamicStreamPlayer(config);

			CreativeVideoPlayer.eventPlaying = function() {
				// Fade out
				fadeTo(jqLogo[0], 33, 10, 20);	
			}
			CreativeVideoPlayer.eventStopped = function() {
				// Fade in
				fadeTo(jqLogo[0], 100, 10, 20);												
			}
			CreativeVideoPlayer.eventComplete = function() {
				// Fade in
				fadeTo(jqLogo[0], 100, 10, 20);												
			}

			CreativeVideoPlayer.embed();
		});
	}	
});
