var strQSValues = "";
var blnRotation = false;
var blnIsPCLNHome = false;
var numRotationTime = 5000;
var idxCurrentPromo = 0;
var idxForRecentWinners = 0;
var promoCount = 0;
var numClosedPromoHeight = 22;
var numOpenPromoHeight = 190;
var numSlideFactor = .25;
var numFadeDelta = 0.1;
var numFadeErrMargin = 0.15;
var numFadeMax = 1.00;
var numIEOpacityHack = 1;
var blnValidateRCTime = true;

function fadeNextWinner(prevWinner, nextWinner) {
	var strPrevWinner = "winner"+prevWinner;
	var objPrevWinner = document.getElementById(strPrevWinner);
	var numPrevOpacity = getWinnerOpacity(strPrevWinner);
	var strNextWinner = "winner"+nextWinner;
	var objNextWinner = document.getElementById(strNextWinner);
	var numNextOpacity = getWinnerOpacity(strNextWinner);
	
	
	if (numPrevOpacity > numFadeErrMargin) {
		numPrevOpacity -= parseFloat(numFadeDelta);
		if (numPrevOpacity <= numFadeErrMargin) { numPrevOpacity = 0; }
		setWinnerOpacity(strPrevWinner, numPrevOpacity);
	} else {
		setWinnerOpacity(strPrevWinner, 0);
		objPrevWinner.style.display = "none";
		objNextWinner.style.display = "block";
		//hack -- safari don't like 100%
		if (numNextOpacity < (parseFloat(numFadeMax)-parseFloat(numFadeErrMargin))) {
			numNextOpacity += parseFloat(numFadeDelta);
			if (numNextOpacity >= (parseFloat(numFadeMax)-parseFloat(numFadeErrMargin))) { numNextOpacity = numFadeMax; }
			setWinnerOpacity(strNextWinner, numNextOpacity);
		} else {
			setWinnerOpacity(strNextWinner, numFadeMax);
			clearInterval(startWinnerAnimation);
			closeOtherWinners(nextWinner);
		}
	}
}

function initPromos() {
	switchPromos(idxCurrentPromo, blnRotation);
}

function switchPromosByProduct(productForm, keepRotating) {
	for (var i=0; i<promoCount; i++) {
		var strThisForm = "search_" + arrPromoProducts[i];
		if (productForm == strThisForm) {
			switchPromos(i, keepRotating);
			i=promoCount;
		}
	}
}

function switchPromos(promoNumber, keepRotating, wasAutoCalled) {
	var endRotationHack = true;
	var idxOldPromo = idxCurrentPromo;
	idxCurrentPromo = new Number(promoNumber);
	
	if (blnRotation) {
		if (!keepRotating) {
			blnRotation = false;
		} else {
			var idxNextPromoR = (idxCurrentPromo + 1) % promoCount;
			if (blnIsPCLNHome == true) {

				if (idxNextPromoR == 0) {
					setTimeout('switchPromos(' +idxNextPromoR + ',false,true)',numRotationTime);
				} else {
					setTimeout('switchPromos(' +idxNextPromoR + ',true)',numRotationTime);
				}				

			} else {				
				setTimeout('switchPromos(' +idxNextPromoR + ',true)',numRotationTime);
			}
		}
	} else {
		if ((keepRotating) || wasAutoCalled) {
			//'only happens at first re-load after rotation's been killed.
			endRotationHack = false;
		}
	}

	if(endRotationHack) {
	//	Initialization
		for (var i=0; i<promoCount; i++) {
			if (i == idxOldPromo) {
				document.getElementById("promo" +i+ "_on").style.height = "190px";
				document.getElementById("promo" +i+ "_on").style.display = "block";
                document.getElementById("promo" +i+ "_on_img").style.height = "190px";
                document.getElementById("promo" +i+ "_on_img").style.display = "block";
			} else {
				document.getElementById("promo" +i+ "_on").style.height = "0px";
				document.getElementById("promo" +i+ "_on").style.display = "none";
                document.getElementById("promo" +i+ "_on_img").style.height = "0px";
                document.getElementById("promo" +i+ "_on_img").style.display = "none";
			}
			if (i == idxCurrentPromo) {
				document.getElementById("promo" +i).style.display = "none";
				document.getElementById("promo" +i + "_exp").style.display = "block";
			} else {
				document.getElementById("promo" +i).style.display = "block";
				document.getElementById("promo" +i + "_exp").style.display = "none";
			}
		}
		
		if (parseInt(idxCurrentPromo) != parseInt(idxOldPromo)) {
            if (arrPromoProducts[idxOldPromo] == "myd") {
                document.getElementById("mydealcontent").style.display = "none";
            }
			animatePromos(idxOldPromo, idxCurrentPromo);
		}
	}
}

function animatePromos(numOldPromo, numNewPromo) {
	var objNewPromoOpen = document.getElementById("promo" + numNewPromo.toString() + "_on");
	var objNewPromoOpenImg = document.getElementById("promo" + numNewPromo.toString() + "_on_img");
	objNewPromoOpen.style.display = "block";
	objNewPromoOpenImg.style.display = "block";

	startPromoAnimation = setInterval("playAccordian(" +numOldPromo +"," +numNewPromo + ")",5);
}

function playAccordian(numOldPromo, numNewPromo) {
	var objOldPromoOpen = document.getElementById("promo" + numOldPromo.toString() + "_on");
	var objOldPromoOpenImg = document.getElementById("promo" + numOldPromo.toString() + "_on_img");
	var objNewPromoOpen = document.getElementById("promo" + numNewPromo.toString() + "_on");
	var objNewPromoOpenImg = document.getElementById("promo" + numNewPromo.toString() + "_on_img");
	
	if ((parseInt(objOldPromoOpen.style.height) > 3) && (parseInt(objOldPromoOpenImg.style.height) > 3) && (parseInt(objNewPromoOpen.style.height) < numOpenPromoHeight-2) && (parseInt(objNewPromoOpenImg.style.height) < numOpenPromoHeight-2)) {
		objOldPromoOpen.style.height = (parseInt(objOldPromoOpen.style.height) - parseInt(numOpenPromoHeight*numSlideFactor)).toString() + "px";
		objOldPromoOpenImg.style.height = (parseInt(objOldPromoOpenImg.style.height) - parseInt(numOpenPromoHeight*numSlideFactor)).toString() + "px";
		objNewPromoOpen.style.height = (parseInt(objNewPromoOpen.style.height) + parseInt(numOpenPromoHeight*numSlideFactor)).toString() + "px";
		objNewPromoOpenImg.style.height = (parseInt(objNewPromoOpenImg.style.height) + parseInt(numOpenPromoHeight*numSlideFactor)).toString() + "px";
	} else {
		objOldPromoOpen.style.height = "0px";
		objOldPromoOpen.style.display = "none";
		objOldPromoOpenImg.style.height = "0px";
		objOldPromoOpenImg.style.display = "none";
		objNewPromoOpen.style.height = numOpenPromoHeight+"px";
		objNewPromoOpenImg.style.height = numOpenPromoHeight+"px";
		clearInterval(startPromoAnimation);
        if (arrPromoProducts[numNewPromo] == "myd") {
            document.getElementById("mydealcontent").style.display = "block";
        }
	}
}
