var promoIndex = 0;
var rotator;


var stopPromoVideos = function() {
	
	var isIE = navigator.appName.indexOf("Microsoft") != -1; 
	
	var flashtag = (isIE) ? "object" : "embed";
	var videoPlayerInstance = document.getElementsByTagName(flashtag);

	if(videoPlayerInstance) {
		for(i=0;i<videoPlayerInstance.length;i++) {
			if( videoPlayerInstance[i].callstopvid) 
				videoPlayerInstance[i].callstopvid();
		}
	}
};

var showPromo = function(promoId) {
	var promo = document.getElementById("promo-details").getElementsByTagName("div");
	for (var i=0; i<promo.length; i++) {
		promo[i].style.display = "none";
	}
	
	stopPromoVideos();
	
	// Fix for IE6 bug where background images are not cached
	checkIEVersion(promoId);
	
	var promoTabs = document.getElementById("promo-list").getElementsByTagName("li");
	for (var i=0; i<promoTabs.length; i++) {
		promoTabs[i].className = promoTabs[i].className.replace(new RegExp("promo-thumb-selected\\b"), "");		// Set all hero module tabs to unselected
	}
	
	promoTabs[promoId].className = "promo-thumb-selected";			// Set hero module tab to selected
	
};


var checkIEVersion = function(promoId) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	if(isIE && (/MSIE (\d+\.\d+);/.test(navigator.userAgent))) //test for IE && MSIE x.x;
	{
			var ieversion=new Number(RegExp.$1); // capture x.x portion and store as a number
			if((ieversion < 7))
			{
				var imageUrl = document.getElementById("promo-" + promoId).style.backgroundImage;
					
				imageUrl = imageUrl.replace("url(","");
				imageUrl = imageUrl.replace(")","");
					
				var xImage = new Image;
				xImage.elem = "promo-" + promoId;
				xImage.onload = function()																				// Create 		callback function, runs when image in memory loads
				{
					document.getElementById(xImage.elem).style.display = "block";
				};
				xImage.src = imageUrl;
				if(xImage.width == undefined || xImage.width == 0 || xImage.width == null)
				{
					document.getElementById(xImage.elem).style.display = "block";
				}
			}
			else
			{
			  document.getElementById("promo-" + promoId).style.display = "block";
			}
	}
	else
	{
	     document.getElementById("promo-" + promoId).style.display = "block";
	}
}

var showPromo1 = function(promoId, huluId) {
	var promo = document.getElementById("promo-details").getElementsByTagName("div");
	for (var i=0; i<promo.length; i++) {
		promo[i].style.display = "none";
	}
	
	if(promoId==0)
	{
	  resumeHuluVideo(huluId);
	}else
	{
	  stopHuluVideo();
	}
	
	// Fix for IE6 bug where background images are not cached
	checkIEVersion(promoId);
	
	
	var promoTabs = document.getElementById("promo-list").getElementsByTagName("li");
	for (var i=0; i<promoTabs.length; i++) {
		promoTabs[i].className = promoTabs[i].className.replace(new RegExp("promo-thumb-selected\\b"), "");		// Set all hero module tabs to unselected
	}
	
	promoTabs[promoId].className = "promo-thumb-selected";			// Set hero module tab to selected
};

var stopHuluVideo = function() {
	var isIE = navigator.appName.indexOf("Microsoft") != -1; 
	if(isIE )
	{
		document.getElementById("huluvideo1").innerHTML='';
	}
};

var resumeHuluVideo = function(huluId) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1; 
	if(isIE)
	{
	 document.getElementById("huluvideo1").innerHTML='<object id="express_player" width="461" height="312" type="application/x-shockwave-flash"><param name="movie" value="http://player.hulu.com/express/'+huluId+'"/><param name="flashvars" value="embed=true&autoplay=false&partner=Clearwire"/><param name="wmode" value="transparent"><param name="allowFullScreen" value="true"/><embed width="461" height="312" align="middle" flashvars="embed=true&autoplay=false&partner=Clearwire" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://player.hulu.com/express/'+huluId+'" wmode="transparent"/></embed></object>';
	}
};

var promoRotator = function() {
	var promo = document.getElementById("promo-list").getElementsByTagName("LI");
	var promoTabs = document.getElementById("promo-list").getElementsByTagName("LI");
	
	for (var i=0; i<promo.length; i++) {
		promo[i].className = promo[i].className.replace(new RegExp("hover\\b"), "");
	}
	for (var i=0; i<promoTabs.length; i++) {
		promoTabs[i].className = promoTabs[i].className.replace(new RegExp("promo-thumb-selected\\b"), "");		// Set all hero module tabs to unselected
	}
	
	showPromo(promoIndex);
	promo[promoIndex].className = "hover";
	promoTabs[promoIndex].className = "promo-thumb-selected";		// Set hero module tab to selected
	
	if (promoIndex == (promo.length-1)) {
		promoIndex = 0;
	} else {
		promoIndex++;
	}
	
	rotator = setTimeout("promoRotator()", 5000);
};

var killPromoRotator = function() {
	clearTimeout(rotator);
	
	var promo = document.getElementById("promo-list").getElementsByTagName("LI");
	
	for (var i=0; i<promo.length; i++) {
		promo[i].className = promo[i].className.replace(new RegExp("hover\\b"), "");
	}
};

var resumePromoRotator = function() {
	rotator = setTimeout("promoRotator()", 10000);
};

var promoHover = function() {
	var promo = document.getElementById("promo-list").getElementsByTagName("LI");
	for (var i=0; i<promo.length; i++) {
		promo[i].onmouseover=function() {
			this.className+=" hover";
		}
		promo[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
};

if (window.attachEvent) window.attachEvent("onload", promoHover);

function initPromoRotator() {
	try {
		promoRotator();
	} catch(ex) {
		return;
	}
}

function initPromoLoad() {
	document.getElementById("promo-0").style.display = "block";}

YAHOO.util.Event.addListener(window, "load", initPromoLoad);