/************************************
ticker.js
Scrolls the "Livemail" content in the footer
************************************/

var intTotalItems = 0;
var intLastNumber = 0;
var objDiv, objContentDiv;
var tickerDelay = 6000;

function startTicker() {
        objDiv = document.getElementById("contentscroller");
        objContentDiv = document.getElementById("displayedcontent");

        if (objDiv && objContentDiv) {
                /* Loop through the contentscroller UL, give each LI
               an ID and save the list in an array */
                for (var i = 0; i < objDiv.childNodes.length; i++) {
                        var item = objDiv.childNodes[i];
                        if (item.nodeName.toLowerCase() == "li" && item.id == "") {
                                item.setAttribute("id", intTotalItems);
                                intTotalItems++;
                        }
                }

                // Add first load of content
                objCurrentContent = document.getElementById(intLastNumber);
                if (objCurrentContent)
                        objContentDiv.innerHTML = objCurrentContent.innerHTML;
                intLastNumber++;

                // And change it in 5 seconds
                setTimeout("changeContent()", tickerDelay);
        }
}

// Display the next content snippet in the list
function changeContent() {
        objCurrentContent = document.getElementById(intLastNumber);
        startOpacityChange('displayedcontent', 100, 0, 1000);

        setTimeout("startOpacityChange('displayedcontent', 0, 100, 1000)", 1000);
        setTimeout("document.getElementById('displayedcontent').innerHTML = objCurrentContent.innerHTML;", 1005);

        if (intLastNumber == (intTotalItems - 1))
                intLastNumber = 0;
        else
                intLastNumber++;

        // Now do it all again (in 5 seconds time)!
        setTimeout("changeContent();", tickerDelay);
}

function startOpacityChange(strId, intOpacStart, intOpacEnd, intMillisec) {
    var intSpeed = Math.round(intMillisec / 100);
    var intTimer = 0;

    if(intOpacStart > intOpacEnd) {
        for(i = intOpacStart; i >= intOpacEnd; i--) {
            setTimeout("changeOpacity(" + i + ",'" + strId + "')",(intTimer * intSpeed));
            intTimer++;
        }
    }
    else if(intOpacStart < intOpacEnd) {
        for(i = intOpacStart; i <= intOpacEnd; i++) {
            setTimeout("changeOpacity(" + i + ",'" + strId + "')",(intTimer * intSpeed));
            intTimer++;
        }
    }
}

/* Change the opacity of a div (allowing for different browsers) */
function changeOpacity(intOpacity, id) {
        var objLI = document.getElementById(id).style;

        objLI.opacity = (intOpacity / 100);
        objLI.MozOpacity = (intOpacity / 100);
        objLI.KhtmlOpacity = (intOpacity / 100);
        objLI.filter = "alpha(opacity=" + intOpacity + ")";
}
