/**** Section with top menu mouse event ****/

//alias doSwitchTopMenu with mouse over event
function topMenuOver (objImg) {
	doSwitchTopMenu(objImg, "over");
}
//alias doSwitchTopMenu with mouse out event
function topMenuOut (objImg) {
	doSwitchTopMenu(objImg, "out");
}

//switch top menu image and background, also handle first and last menu exception with round border
function doSwitchTopMenu (objImg, overOrOut) {
	var imgClassName = objImg.className;
	if (imgClassName == "menuBtnFirstImg")
		switchSpecialTopMenu(objImg, overOrOut, "first");
	else if (imgClassName == "menuBtnLastImg")
		switchSpecialTopMenu(objImg, overOrOut, "last");
	else
		switchTopMenu(objImg, overOrOut);
}

//call switchTopMenu() to change image and background, also change extremity borders' images
function switchSpecialTopMenu (objImg, overOrOut, firstOrLast) {
	switchTopMenu(objImg, overOrOut);
	var objTd = objImg.parentNode.parentNode;
	var objTr = objTd.parentNode;
	if (firstOrLast == "first") {
		var firstTd = objTr.childNodes[0];
		var leftBorderImage = firstTd.childNodes[0];
		if (overOrOut == "over")
			leftBorderImage.src = "common/images/menu/menuBtn_left_over.gif";
		else if (overOrOut == "out")
			leftBorderImage.src = "common/images/menu/menuBtn_left.gif";
	}
	else {
		var lastTd = objTr.childNodes[objTr.childNodes.length - 1];
		var rightBorderImage = lastTd.childNodes[0];
		if (overOrOut == "over")
			rightBorderImage.src = "common/images/menu/menuBtn_right_over.gif";
		else if (overOrOut == "out")
			rightBorderImage.src = "common/images/menu/menuBtn_right.gif";
	}
}

//switch text image and background
function switchTopMenu (objImg, overOrOut) {
	var objTd = objImg.parentNode.parentNode;
	//var rootPath = window.location.href;
	//alert(rootPath);
	if (overOrOut == "over") {
		objTd.className = "topMenuTdOver";
		var imgSrc = objImg.src;
		if (imgSrc.indexOf("_over") == -1) { //avoid mouseover twice, once with mouse's cursor, second in body onload init();
			var dotPos = imgSrc.lastIndexOf(".");
			objImg.src = imgSrc.substring(0, dotPos) + "_over" + imgSrc.substring(dotPos);
		}

	}
	else if (overOrOut == "out") {
		objTd.className = "topMenuTd";
		objImg.src = (objImg.src).replace("_over", "");	
	}
}

/**** Section with left recent stories scrolling ****/

//scroll Most Recent Stories, from bottom to top
var timeoutId;
var timeoutInterval = 100; //0.1 sec
var timeoutDistance = 1; //2 sec
var timeoutSwitch = 1; //1 = start timeout, 0 = stop time out

function startRecentStoriesScrolling () {
	if (timeoutSwitch) {
		var objStoriesTable = document.getElementById("marqueeTable");
		if (objStoriesTable.rows.length > 1) {
			var currentBottom = objStoriesTable.style.bottom;
			var newBottom = parseInt(currentBottom.replace("px", "")) + timeoutDistance;
			if (newBottom >= 100) { //sum of css height "recentStoriesTitle" and "recentStoriesLabel"
				newBottom = 0;
				//put first two elements TR in last position to create circle effect
				var objTBody = objStoriesTable.childNodes[0];
				var firstTr =  objTBody.childNodes[0];
				var secondTr =  objTBody.childNodes[1];
				objTBody.removeChild(firstTr);
				objTBody.removeChild(secondTr);
				objTBody.appendChild(firstTr);
				objTBody.appendChild(secondTr);
			}
			objStoriesTable.style.bottom = newBottom + "px";
			timeoutId = setTimeout("startRecentStoriesScrolling()", timeoutInterval);
		}
	}
}
function stopRecentStoriesScrolling () {
	clearTimeout(timeoutId);
}
//enable or disable scrolling
function turnOnOffRecentStoriesAnimation () {
	timeoutSwitch = !timeoutSwitch;
	document.cookie = "bellWetherRecentStories=" + timeoutSwitch;
	//alert(document.cookie);
	//if (timeoutSwitch)
		//timeoutId = startRecentStoriesScrolling();
}


/**** Section with sub menu visibility ****/

//hide submenu of each section, only keep article title
function showOrHideObjX (objX, showOrHide) {
	if (showOrHide == "show")
		objX.style.display = "block";
	else if (showOrHide == "hide")
		objX.style.display = "none";
}

function showOrHideTopSubmenu (showOrHide, includeTitle) {
	var objSubMenuTable = document.getElementById("subMenuTable");
	//objSubMenuTable.style.borderWidth = "1px";
	var objSubMenuTBody = objSubMenuTable.childNodes[0];
	var objTitleTr = objSubMenuTBody.childNodes[0];
	var objSubTitleTr = objSubMenuTBody.childNodes[1];
	
	if (includeTitle) {
		//showOrHideObjX(objTitleTr, showOrHide);
		//showOrHideObjX(objSubTitleTr, showOrHide);
	}
	
	//start with 2, since title and sub title is on already
	for (var row = 1; row < objSubMenuTable.rows.length; row++) {
		for (var cell = 0; cell < objSubMenuTable.rows[row].cells.length; cell++) {
			var objCurrentTd = objSubMenuTable.rows[row].cells[cell];
			//start with 1, since we keep the bold title, and bold title only
			for (var pIndex = 1; pIndex < objCurrentTd.childNodes.length; pIndex++) {
				showOrHideObjX(objCurrentTd.childNodes[pIndex], showOrHide);
			}
		}
	}
}

function onClickShowSubTitle () {
	if (document.getElementById("showSubTitleCheckbox")) {
		var objCheckbox = document.getElementById("showSubTitleCheckbox");
		if (objCheckbox.checked)
			showOrHideTopSubmenu("show");
		else
			showOrHideTopSubmenu("hide");
		document.cookie = "bellWetherShowSubTitle=" + objCheckbox.checked;
	}
}

function logout () {
	document.cookie = "bellWetherIsLogin=0";
	window.location.replace("login.php");
}
