function enlightenLogo(logoName){ document.getElementById(logoName).src = 'img/logo/' + logoName + 'Over.gif'; }
function obfuscateLogo(logoName){ document.getElementById(logoName).src = 'img/logo/' + logoName + '.gif'; }
function hlt(logoName){ enlightenLogo(logoName); } // highlight logo
function rst(logoName){ obfuscateLogo(logoName); } // restore logo
function showLayer(layerName){ document.getElementById(layerName).style.visibility="visible"; }
function hideLayer(layerName){ document.getElementById(layerName).style.visibility="hidden"; }

function toggleComplete(showThis) {
	obj = document.getElementById(showThis);
	if (obj.style.display == "none") {
		obj.style.display = "inline"
		obj.style.visibility = "visible";
	} else {
		obj.style.display = "none"
		obj.style.visibility = "hidden";
	}
}

var	menuOverCurrent = "investigators";
var	menuOverCurrentText = "investigatorsText";

function showMe(showThis) {
	hideMenu();
	document.getElementById(showThis).style.visibility = "visible";
	menuOverCurrent = showThis;
	menuOverCurrentText = showThis + "Text";
	keepRollOver(menuOverCurrentText);
	document.getElementById('mouseTrapMenu').style.visibility = "visible";
}
	
function hideMe(hideThis) {
	document.getElementById(hideThis).style.visibility = "hidden";
}

function hideMenu() {
	document.getElementById(menuOverCurrent).style.visibility = "hidden";
	document.getElementById(menuOverCurrentText).className = "menuLeftOff";
}

function keepRollOver(theParent) {
	document.getElementById(theParent).className = "menuLeftOver";
}

function getExpDate(hours){
	var UTCstring;
	Today = new Date();
	msec=Date.parse(Today);
	Today.setTime(msec+hours*60*60*1000);
	UTCstring = Today.toUTCString();
	return UTCstring;
}
function getCookie(cookiename) {
	var cookiestring=""+document.cookie;
	var index1=cookiestring.indexOf(cookiename);
	if (index1==-1 || cookiename=="") return "";
	var index2=cookiestring.indexOf(';',index1);
	if (index2==-1) index2=cookiestring.length;
	return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}
function setCookie(name,value,expTime){
	cookiestring=name+"="+escape(value)+";EXPIRES="+getExpDate(expTime)+";PATH=/";
	document.cookie=cookiestring;
}

var cookieArray;
var tempString;
if(!(tempString = getCookie("menu"))) {
	setCookie('menu', '1 1 1 0', 4383);  // 6 months
	cookieArray = [1, 1, 1, 0];
} else {
	cookieArray = tempString.split(" ");
}

var menuNames = ["menuResearch", "menuEducation", "menuPublicInterest", "menuLogin"];
var plusNames = ["plusResearch", "plusEducation", "plusPublicInterest", "plusLogin"];

function toggleMenu(menuID) {
	var toggleState = cookieArray[menuID];
	var theMenuName = menuNames[menuID];
	var thePlusName = plusNames[menuID];
	
	if (toggleState == 0) {
		document.getElementById(theMenuName).style.visibility = "visible";
		document.getElementById(theMenuName).style.display = "inline";
		document.getElementById(thePlusName).style.visibility = "hidden";
		cookieArray[menuID] = 1;
	} else {
		document.getElementById(theMenuName).style.visibility = "hidden";
		document.getElementById(theMenuName).style.display = "none";
		document.getElementById(thePlusName).style.visibility = "visible";
		cookieArray[menuID] = 0;
	}
	var theString = cookieArray[0] + " " + cookieArray[1] + " " + cookieArray[2] + " " + cookieArray[3];
	setCookie('menu', theString, 4383);  // 6 months
}

function hideText(thisText) {
	document.getElementById(thisText).style.visibility = "hidden";
	document.getElementById(thisText).style.display = "none";	
}

function loadSession() {
	var sessionID;
	if(sessionID = getCookie("session")) {
		HttpReq.open( "POST", "cgi-bin/refresh.pl", true );
		HttpReq.onreadystatechange = updatePage;
		HttpReq.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
		HttpReq.send( "SESSION="+sessionID );
		loginForm = document.getElementById("switchMenu").innerHTML;
		document.getElementById("switchMenu").innerHTML = '<div id="divMenu" class="loginQuery" style="text-align: center; font-family: arial, verdana, sans-serif; font-size: 9pt; font-weight: normal;">Please wait...<br>If you are not logged in in 10 seconds, please <a href="javascript:window.location.reload(true)">refresh</a> your page.</div>';
		setCookie('session', sessionID, 1);
	} else { setFocus(); }
}

function setFocus() {
	if(document.forms.length > 1 && cookieArray[3] == 1) {
		document.forms[1].elements[0].focus();
	}
}

function setScene() {
	var sceneNum = parseInt(getCookie('scene'));
	if (!sceneNum || sceneNum == 9)
		sceneNum = 1;
	else
		sceneNum++;
	setCookie('scene', sceneNum, 730); // 1 month
	document.getElementById('scene').src = "img/scene/patagonia" + sceneNum + ".jpg";
}

function logout() {
	document.getElementById("usrtrkr").innerHTML = '';
	document.getElementById("loginTitle").src = "img/hdr/login.gif";
	document.getElementById("switchMenu").innerHTML = loginForm;
	setFocus();
	document.getElementById("loginTitleOver").src = "img/hdr/loginOver.gif";
	loginForm = null;
	var sessionID;
	if(sessionID = getCookie("session")) {
		setCookie('session', '', 0);
		HttpReq.open( "POST", "cgi-bin/logout.pl", false );
		HttpReq.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
		HttpReq.send( "SESSION="+sessionID );
	}
	if ( window.location.href.substr(0,37) == "http://patagonia.byu.edu/Participants" && document.getElementById("authenticated") != null) {
		window.location.href = "http://patagonia.byu.edu";
	}
}

var HttpReq;
var XmlDocObj;

if(is_ie && is_minor < 7) {
	try {
		HttpReq = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (oldMS) { HttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }
} else {
	HttpReq = new XMLHttpRequest();
}

var loginForm = null;

function loginParticipant() {
	var lid = document.getElementById("Login").value;
	var lpw = document.getElementById("Password").value;
	if ( lid==null || lid.length <= 3 || lpw==null || lpw.length <= 4 ) { alert("Invalid Username or Password"); return; }
	HttpReq.open( "POST", "cgi-bin/login.pl", true );
	HttpReq.onreadystatechange = updatePage;
	HttpReq.setRequestHeader( 'Content-Type','application/x-www-form-urlencoded' );
	HttpReq.send( "ID="+lid+"&PWD="+lpw );
	loginForm = document.getElementById("switchMenu").innerHTML;
	document.getElementById("switchMenu").innerHTML = '<div id="divMenu" class="loginQuery" style="text-align: center; font-family: arial, verdana, sans-serif; font-size: 9pt; font-weight: normal;">Please wait...<br>If you are not logged in in 10 seconds, please <a href="javascript:window.location.reload(true)">refresh</a> your page.</div>';	
}

function updatePage() {
	if ( HttpReq.readyState == 4 ) {
		if ( HttpReq.responseText.length <= 1 || HttpReq.responseText.length == 232 ) { 
			if ( HttpReq.responseText == "P" ) alert("Invalid Username or Password");
			else if ( HttpReq.responseText == "E" ) {
				alert("Your session has expired.\nPlease Login again.");
				setCookie('session', '', 0);
			}
			else alert("There was an error processing your login.\nPlease try again later.");
			document.getElementById("switchMenu").innerHTML = loginForm;
			setFocus();
			loginForm = null;
			return;
		}
		var menuStr = '<div id="divMenu">';
		if(is_ie) {
			try {
				XmlDocObj = new ActiveXObject("Msxml2.DOMDocument");
			} catch (oldMS) { XmlDocObj = new ActiveXObject("Microsoft.XMLDom"); }
			XmlDocObj.loadXML( HttpReq.responseText );
			//if (XmlDocObj.parseError.errorCode != 0) alert ("Menu XML Parsing Error " + XmlDocObj.parseError.reason);
			var nodes = XmlDocObj.getElementsByTagName("option");
			for ( var i = 0; i < nodes.length; i++ ) {
				var lnk = nodes[i].childNodes.item(1).text;
				var txt = nodes[i].childNodes.item(0).text;
				menuStr += '<img src="img/menu/bullet.gif" width="5" height="10" align="left"><a href="' + lnk + '" class="menuLeft">' + txt + '</a>';
			}
		} else {
			XmlDocObj = HttpReq.responseXML;
			//alert ( XmlDocObj.documentElement.nodeName == "parsererror" ? "error while parsing" : XmlDocObj.documentElement.nodeName );
			var nodes = XmlDocObj.getElementsByTagName("option");
			for ( var i = 0; i < nodes.length; i++ ) {
				nodes[i].normalize();
				var lnk = nodes[i].childNodes[3].firstChild.nodeValue;
				var txt = nodes[i].childNodes[1].firstChild.nodeValue;
				menuStr += '<img src="img/menu/bullet.gif" width="5" height="10" align="left"><a href="' + lnk + '" class="menuLeft">' + txt + '</a>';
			}
		}
		var userInfo = XmlDocObj.getElementsByTagName("user")[0];
		var userName = userInfo.attributes.getNamedItem("login").nodeValue;
		menuStr += '</div>';
		document.getElementById("loginTitle").src = "img/hdr/participants.gif";
		document.getElementById("switchMenu").innerHTML = menuStr;
		document.getElementById("usrtrkr").innerHTML = 'Logged in as <b>' + userName + '</b> | <a href="javascript:logout()" class="topbar">Logout</a> | ';
		var sessionInfo = XmlDocObj.getElementsByTagName("session")[0];
		setCookie('session', sessionInfo.attributes.getNamedItem("id").nodeValue, 1); // 1 hour
		if ( window.location.href.substr(0,37) == "http://patagonia.byu.edu/Participants" && document.getElementById("error") != null) {
			window.location.reload(true);
		}
		document.getElementById("loginTitleOver").src = "img/hdr/participantsOver.gif";
	}
}