var currentSDDiv = 0;
var maxSDDiv = 0;
var rotateTimer;
var sdInterval = 10 * 1000;
var sdPrefix = "SDDiv";

function loadSDVote(sddiv, voteid) {

	setTimeout('getSDVote(' + sddiv + ', "' + voteid + '")', (sddiv*1000));
}

function getSDVote(sddiv, voteid) {

    var requestHeader = "?TransID=RVOTES00";
    var url = urlHost + requestHeader + "&VoteID=" + voteid + "&rt=" + (new Date()).getTime() + "&Ajax=Y&SDDiv=" + sddiv;
	ajaxCall(url, null, cGetSDVote);
}

function cGetSDVote(response) {

	var sddiv = response.substring(0, response.indexOf("\n"));
	var html = response.substring(response.indexOf("\n") + 1).trim();
    setInnerHTML(document.getElementById(sdPrefix + sddiv), html); 
}

function timeoutVoteSD(sddiv, voteid) {

    var divObj = document.getElementById(sdPrefix + sddiv);
    if (divObj.voteDisabled) return;
    document.getElementById("VoteMsg" + sddiv).style.display='block';
    stopShowDownRotate() ;
    setTimeout('voteSD(' + sddiv + ', "' + voteid + '")', 1);
}

function voteSD(sddiv, voteid) {

    var divObj = document.getElementById(sdPrefix + sddiv);

    divObj.voteDisabled = true;

    var requestHeader = "?TransID=VERIFY00";
    var url = urlHost + requestHeader + "&Vote=" + voteid + "&Ajax=Y&SDDiv=" + sddiv;

	ajaxCall(url, null, cVoteSD);
}

function cVoteSD(response) {

	var sddiv = response.substring(0, response.indexOf("\n"));
	var html = response.substring(response.indexOf("\n") + 1).trim();

	setInnerHTML(document.getElementById(sdPrefix + sddiv), html);

    if (document.getElementById("SDDispMsg" + sddiv)) divObj.voteDisabled = true;

    initShowDowns(currentSDDiv, maxSDDiv);
}

function voteSDMouseOver(sddiv, image) {

    if (sddiv > 0) {
        var divObj = document.getElementById(sdPrefix + sddiv);
        if (divObj.voteDisabled) return;
        document.getElementById('VoteMsg' + sddiv + image).style.display='block';
    }
}    

function voteSDMouseOut(sddiv, image) {

    if (sddiv > 0) {
        var divObj = document.getElementById(sdPrefix + sddiv);
        if (divObj.voteDisabled) return;
        document.getElementById('VoteMsg' + sddiv + image).style.display='none';
    }
}    

function fadeImageIn (sddiv, fadeStep, fadeDelay) {
	
	var divObj = document.getElementById(sdPrefix + sddiv);
	
	divObj.opacity = 0;
	divObj.style.display="block";
	
	setSDButton(sddiv, true);
	
	setOpacity(divObj, fadeStep, fadeDelay);
}

function fadeImageOut (sddiv, fadeStep, fadeDelay) {
	
	var divObj = document.getElementById(sdPrefix + sddiv);

	divObj.opacity = 100;
        divObj.voteDisabled = true;
	setSDButton(sddiv, false);

	setOpacity(divObj, -1 * fadeStep, fadeDelay);
}

function setOpacity (obj, step, delay) {

	obj.opacity += step;

	if (typeof obj.style.opacity == "string") {
		obj.style.opacity = (obj.opacity/100);
	}
	else {
            //obj.style.filter = 'alpha(opacity = ' + obj.opacity + ')';
            obj.className = 'Opacity' + obj.opacity;            
	}

	if (step > 0 && obj.opacity < 100 || step < 0 && obj.opacity > 0) {
            setTimeout('setOpacity(document.getElementById("' + obj.id + '"), ' + step + ', ' + delay + ')', delay);
	}
	else if (obj.opacity >= 100) {
            obj.voteDisabled = false;
	}       
	else if (obj.opacity <= 0) {
            obj.style.display='none';
	}       
} 

function rotateShowDowns(fade, continuous, sddiv) {
    
//    alert(sddiv);
    stopShowDownRotate();
    var fadeStep = (fade ? 10 : 100);
    var fadeDelay = 50;
    var nextSDDiv = (sddiv ? sddiv : (currentSDDiv == maxSDDiv ? 1 : currentSDDiv + 1));
    fadeImageOut(currentSDDiv, fadeStep, fadeDelay);
    fadeImageIn(nextSDDiv, fadeStep, fadeDelay);
    currentSDDiv = nextSDDiv;
    if (continuous) rotateTimer = setTimeout('rotateShowDowns(' + fade + ', true)', sdInterval);  
}

function initShowDowns(current, max) {

    //return;
    currentSDDiv = current;
    maxSDDiv = max;

    var divObj = document.getElementById(sdPrefix + current);
    divObj.style.display="block";
    divObj.voteDisabled=false;

    if (max > 1) {
        rotateTimer = setTimeout('rotateShowDowns(true, true)', sdInterval); 
        setSDButton(current, true);
    }
}

function stopShowDownRotate() {

	clearTimeout(rotateTimer);
}

function setSDButton(sddiv, selected) {
	
	var divObjButton = document.getElementById("SDButton" + sddiv);
	if (divObjButton && !selected) {
		divObjButton.className="SDButton SDNotSelected";
		divObjButton.onclick=function(){rotateShowDowns(true, false, sddiv);};
                //alert("E:" + sddiv);    
        }
	else if (divObjButton && selected) {
		divObjButton.className="SDButton SDButtonSelected";
		divObjButton.onclick=null;
                //alert("D:" + sddiv);    
	}

}
