// starting point (off-screen) for text
var initialX = 0;
// gap in pixels between messages
var messageGap = 60;
// movement increment in pixels
var scrollIncrement = 1;
// update delay in milliseconds
var scrollDelay = 20;

// message data variables
var messageContent = new Array;
var messageStatus = new Array;
var messageX = new Array;
var messageWidth = new Array;
var messageIndex = 0;
var mIndex = 0;
var lastIndex = 0;
var messageMouseOver = false;

function homeMessageSetup() {
	if(document.getElementById) {
		document.getElementById("messageArea").style.display = "block";
		initialX = document.getElementById("messageArea").offsetWidth;
		// store all message data
		var allMessages = document.getElementById("messageArea").getElementsByTagName('P');
		if(allMessages.length > 0) {
			// store content
			for(i=0;i<allMessages.length;i++) {
				messageContent[i] = allMessages[i].innerHTML;
			}
			// clear content
			document.getElementById("messageArea").innerHTML = "<hr>";
			//turn on first message
			startMessage();
			doHomeMessagesScroll();
		}
    }
}

function startMessage() {
	newDiv = document.createElement('div');
	divID = "m" + mIndex;
	newDiv.setAttribute('id',divID);
	newDiv.setAttribute('class',"messageContainer");
	newDiv.innerHTML = "<p class='messageText'>" + messageContent[messageIndex] + "<\/p>";
	document.getElementById("messageArea").appendChild(newDiv);
	document.getElementById(divID).className = "messageContainer";
	// store settings
	messageStatus[mIndex] = true;
	messageX[mIndex] = initialX;
	messageWidth[mIndex] = document.getElementById(divID).getElementsByTagName('P').item(0).offsetWidth;
	document.getElementById(divID).width = messageWidth[mIndex] + 10;
	// bring message to top of zIndex
	document.getElementById(divID).style.zIndex = (mIndex + 10);
	// mouseover behaviours
	document.getElementById(divID).getElementsByTagName("P")[0].onmouseover = function() {messageMouseOver = true;};
	document.getElementById(divID).getElementsByTagName("P")[0].onmouseout = function() {messageMouseOver = false;};
	// increment
	lastIndex = mIndex;
	mIndex += 1;
	if(mIndex > 20) mIndex = 0;
	messageIndex +=1;
	if(messageIndex >= messageContent.length) messageIndex = 0;
}

function stopMessage(getIndex) {
	messageStatus[getIndex] = false;
  	oldDiv = document.getElementById("m" + getIndex);
  	document.getElementById("messageArea").removeChild(oldDiv);
}

function doHomeMessagesScroll() {
	if(!messageMouseOver) {
		// for each message
		for (i=0;i<=20;i++) {
			if(messageStatus[i] == true) {
				messageX[i] -= scrollIncrement;
				if((messageX[i] + messageWidth[i]) < 0) {
					
					// remove div and turn inactive
					stopMessage(i);
					
				} else if((i == lastIndex) && (messageX[i] + messageWidth[i]) <= (initialX - messageGap)) {
					
					// start next message
					startMessage();
					
				}
				
				if(messageStatus[i] == true) {
					// update position
					if(document.getElementById("m" + i).style.posLeft) {
						document.getElementById("m" + i).style.posLeft = messageX[i];
					} else {
						document.getElementById("m" + i).style.left = messageX[i] + "px";
					}
				}
			}
		}
	}
	// set delay for next call
	setTimeout("doHomeMessagesScroll();",scrollDelay);
}