/************************************
ticker.js
Creates the ticker on the homepage

Note: items must be added in pairs
************************************/

var intTotalItems = 0;
var intLastNumber = 0;
var objDiv, objContentDiv1, objContentDiv2;

/* Loop through the contentscroller UL, give each LI 
   an ID and save the list in an array */
function startTicker() {
	objDiv = document.getElementById("contentscroller");
	objContentDiv = document.getElementById("displayedcontent1");
	objContentDiv2 = document.getElementById("displayedcontent2");

	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);
	objContentDiv.innerHTML = objCurrentContent.innerHTML;
	intLastNumber++;
	
	objCurrentContent1 = document.getElementById(intLastNumber);
	objContentDiv2.innerHTML = objCurrentContent1.innerHTML;
	intLastNumber++;
	
	/* And get set to change it in ten seconds */
	setTimeout("changeContent()", 10000);
}

/* Pick a random content snippet and display it */
function changeContent() {
	objCurrentContent = document.getElementById(intLastNumber);
	startOpacityChange('displayedcontent1', 100, 0, 1000);
	setTimeout("startOpacityChange('displayedcontent1', 0, 100, 1000)", 1000);
	setTimeout("document.getElementById('displayedcontent1').innerHTML = objCurrentContent.innerHTML;", 1005);

	objCurrentContent1 = document.getElementById(intLastNumber + 1);
	startOpacityChange('displayedcontent2', 100, 0, 1000);
	setTimeout("startOpacityChange('displayedcontent2', 0, 100, 1000)", 1000);
	setTimeout("document.getElementById('displayedcontent2').innerHTML = objCurrentContent1.innerHTML;", 1005);
	
	if (intLastNumber == (intTotalItems - 2))
		intLastNumber = 0;		
	else
		intLastNumber += 2;

	// Now do it all again (in ten seconds time)!
	setTimeout("changeContent();", 10000);
}

/* Handles the timing and kicks off fading the content into
   the page */
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 + ")";
}