
setRollOver("video-controller");
setRollOver("nav");

var timer;
var videoContainer = document.getElementById("video-wrapper");

var require   = new deconcept.PlayerVersion([9,0,115]);
var installed = deconcept.SWFObjectUtil.getPlayerVersion();
if (installed.versionIsValid(require)) {
	videoContainer.innerHTML="";
}

var effectScale;
var effectMove;
var effectScroll;

var isFirefox = Boolean(navigator.userAgent.match("Firefox"));
var rndArray = getRandomArray();

for(var i=0; i<7; i++) {
	var div = document.createElement("div");
	div.id = "player"+(i+1);
	div.className = "player";
	div.className += " pos-" + (i+1);
	videoContainer.appendChild(div);
	
	var key = rndArray[i];
	var so = new SWFObject("./newYear2010/swf/player.swf", "ply"+(i+1), "134", "122", "9.0.115", "#FFFFFF");
	so.addParam("allowfullscreen","true");
	so.addParam("allowscriptaccess","always");
	so.addParam("wmode","transparent");
	so.addVariable("file", "../video/"+key+".mp4");
	so.addVariable("image", "./newYear2010/thumb/"+key+".jpg");
	so.write("player"+(i+1));
	
	div.onmouseover = function() {
		var elm = this.firstChild;
		this.style.zIndex = "30";
		

		effectScale = new Effect.Scale(elm, 200, {duration:0.3, fps:60, scaleMode:{originalWidth:134, originalHeight:122}});
		effectMove = new Effect.Move(elm, { x:-67, y:-61, duration:0.3, fps:60, mode:"absolute", afterFinish:function(){
				if(isFirefox) {
				}
				else {
					elm.style.marginTop = "-10px";
					elm.style.marginLeft = "-10px";
					elm.style.borderWidth = "10px";	
				}
			}
		});
		
		elm.onmouseout = function() {
			this.parentNode.onmouseout();
		}
	}
	
	div.onmouseout = function() {
		var elm = this.firstChild;
		this.style.zIndex = "1";
		
		if(effectScale) {
			effectScale.cancel();
		}
		if(effectMove) {
			effectMove.cancel();
		}
		
		elm.style.width = "134px";
		elm.style.height = "122px";
		elm.style.marginTop = "0";
		elm.style.marginLeft = "0";
		elm.style.top = "0";
		elm.style.left = "0";
		
		elm.style.borderWidth = "0";
	}
}



function controlAll(state) {
    for(var i=0; i<7; i++) {
        var player = window.document["ply"+(i+1)];
		if(state == "true" || state == "false") {
        	player.sendEvent("PLAY", state);
		}
		else if(state == "rewind") {
			player.sendEvent("SEEK", 0);
		}
    }
}


function aHappyNewYear(newYearMessage) {
	switch(newYearMessage) {
		case "play" : 
			controlAll("true");
			break;
			
		case "stop" : 
			controlAll("false");
			break;
			
		case "rewind" : 
			controlAll("rewind");
			break;
		case "shuffle" :
			shuffle();
			break;
	}
}


function shuffle() {
	var ary = getRandomArray();
	var divs = videoContainer.getElementsByTagName("div");
	
	for(var i=0; i<7; i++) {
		var div = divs[i];
		div.className = "player pos-" + ary[i];
	}
}


function getRandomArray() {
	var ary = [1,2,3,4,5,6,7];
	var newary = new Array();
	for(var i=0; i<7; i++) {
		var n = ary.splice( Math.floor(Math.random() * ary.length), 1 );
		newary.push(n);
	}
	return newary;
}



function setRollOver(group) {
	var parent = document.getElementById(group);
	var nodes = parent.getElementsByTagName("a");
	for(var i=0; i<nodes.length; i++) {
		var node = nodes[i];
		var img = node.getElementsByTagName("img")[0];
		var preloadImg = new Image();
		preloadImg.src = img.src.replace(".gif", "_on.gif");
		
		node.onmouseover = function() {
			var im = this.getElementsByTagName("img")[0];
			if(!im.src.match("_on.gif")) {
				im.src = im.src.replace(".gif", "_on.gif");
			}
		}
		node.onmouseout = function() {
			var im = this.getElementsByTagName("img")[0];
			if(im.src.match("_on.gif")) {
				im.src = im.src.replace("_on.gif", ".gif");
			}
		}
	}
}




window.onscroll = function() {
	if(timer) {
		clearTimeout(timer);
	}
	
	timer = setTimeout(onscrollEnd, 100);
}


function onscrollEnd() {
	var offsetY = window.pageYOffset
		|| document.documentElement.scrollTop
		|| document.body.scrollTop
		|| 0;

	if(offsetY > 500) {
		offsetY = 500;
	}

	var content = document.getElementById("content");
	var targetDiv = content.getElementsByTagName("div")[0];
	
	if(effectScroll) {
		effectScroll.cancel();
	}
	effectScroll = new Effect.Move(targetDiv, { x:0, y:offsetY, mode:"absolute" });
	//targetDiv.style.top = offsetY + "px";*/
}




/*


/*
function getInnerHeight() {
    var $h = window.innerHeight
          || document.documentElement.clientHeight
          || document.body.clientHeight;
    return $h;
}



var $content = document.getElementById("content");

window.onresize = function() {
	var $height = getInnerHeight();
	var $margin = Math.floor(($height - 600) / 2);
	if($margin < 30) { $margin = 30; }
	$content.style.marginTop = $margin + "px";
}

window.onresize();

*/