function imgOver(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/" + theName + "_over.gif";
}

function imgOrig(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/" + theName + ".gif";
}

function imgDown(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/" + theName + "_down.gif";
}

function imgUp(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/" + theName + "_over.gif";
}

function arrowOver(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/arrow_over.gif";
}

function arrowOrig(theName) {
	document.getElementById(theName).src="programs/" + vPPath + "/images/arrow.gif";
}

function authCodeUsedMsg() {
	document.getElementById('msg').innerHTML = '<b>Your authorization number (' + readCookie('authcode') + ') was activated while you were entering your profile. Please check your number, and try again. If you believe your number is correct, please contact tech support.</b>';		
}

function multiUserMsg() {
	document.getElementById('msg').innerHTML = '<b>Another login was detected to this account. Only one user can log into an account at the same time. This typically happens when a person logs in from a different machine without logging out of the original machine. It can also happen if another user has the same login information. If you are not sure why you got this message, please notify tech support.</b>';
}

function supportEmail() {
	window.location = switchPageProtocol('?cmd=supportemail', 'http_page');
}

function setTextInputFocus() {
	for(var i=0; i < document.forms[0].elements.length; i++) {
		var objElement = document.forms[0].elements[i];
		if(objElement.type == "text" || objElement.type == "password") {
			objElement.focus();
			break;	
		}
	}
}

function popWin() {
	var url_page, x, y, window_width, window_height;
	if(arguments.length == 1) {
		url_page = arguments[0];
		window_width = window.screen.width * 0.7;
		window_height = window.screen.height * 0.6;
	} else if(arguments.length == 3) {
		url_page = arguments[0];
		window_width = arguments[1];
		window_height = arguments[2];		
	} else {
		alert('Invalid parameters!');
		return;
	}	
	x = (window.screen.width - window_width) / 2 
	y = (window.screen.height - window_height) / 2;			
	var pWin = window.open(url_page, null, 'toolbar=0,location=0,directories=0,menubar=0,scrollbars=1,resizable=1,width=' + window_width + ',height=' + window_height + ',top=' + y + ',left=' + x);
	if(window.navigator.userAgent.indexOf('Mac') != -1) pWin.resizeTo(window_width, window_height);
}

var blnAuthorizeSumbit = false;
function authorize() {
	if(checkBrowserInfo()) return;
	if(document.forms[0].authcode.value == '') {
		alert('You must enter an authorization code to proceed!');
		return;		
	}
	if(blnAuthorizeSumbit) return;
	getClientInfo();
	document.forms[0].action = switchPageProtocol('?cmd=authorize', 'https_page');
	blnAuthorizeSumbit = true;
	document.forms[0].submit();	
}

var blnLoginSubmit = false;
function validateLogin() {
	if(checkBrowserInfo()) return;
	if(document.forms[0].pwd.value == '') {
		alert('You must enter a password to proceed!');	   
		return;	
	}
	if(blnLoginSubmit) return;
	getClientInfo();
	document.forms[0].action = switchPageProtocol('?cmd=validatelogin', 'https_page');	
	blnLoginSubmit = true;
	document.forms[0].submit();	
}

function forgetPwd() {
	if(checkBrowserInfo()) return;
	getClientInfo();
	document.forms[0].action = switchPageProtocol('?cmd=forgetpwd', 'http_page');	
	document.forms[0].submit();		
}

function returnToLogin() {
	window.location = switchPageProtocol('?cmd=sessionlogout&start=true', 'http_page');	
}

function checkEmail(emailAddress) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    return re.test(emailAddress);
}

function getClientInfo() {
	var vRes = window.screen.width + 'x' + window.screen.height;
	var vColors = window.screen.colorDepth;	
	document.forms[0].sysinfo.value = escape('<VideoResolution>' + vRes + '</VideoResolution><NumberofColors>' + vColors + '</NumberofColors>');
	var now = new Date(); 
	document.forms[0].timeoffset.value = now.getTimezoneOffset();
}

function checkBrowserInfo() {			
	return false;		
}

function switchPageProtocol(vNextCmd, vHttpType) {
	var vNewUrl = window.location.host + window.location.pathname;
	vNewUrl = vNewUrl.replace('setuptest.aspx', 'starttest.aspx');
	switch(vHttpType) 
	{
		case 'http_page':
			vNewUrl = 'http://' + vNewUrl;
			break;
		case 'https_page':
			if(window.location.hostname == 'localhost' || readCookie('secureconn') != 'true') 				
				vNewUrl = 'http://' + vNewUrl;
			else
				vNewUrl = 'https://' + vNewUrl;
			break;
	}
	return vNewUrl + vNextCmd;
}

function readCookie(CookieName) {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces
  var ReturnValue = "";
  var x = 0;

  for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) {

    CookiePieces = CookieSet[x].split ('=');

    if (CookiePieces[0].substring (0,1) == ' ') {
      CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    }

    if (CookiePieces[0] == CookieName) {
      ReturnValue = CookiePieces[1];
    }

  }
   return ReturnValue;
}

var itd;
var intervalID; 
var vTestLaunched = new Array(); 
function checkTestWindow() {
try {
	if(itd.closed) {
		window.location = 'starttest.aspx?cmd=sessionhome';
		window.clearInterval(intervalID);
	} 
} catch(e) {
	window.location = 'starttest.aspx?cmd=sessionhome';
	window.clearInterval(intervalID);
}
}

function cancelMonitoring() {
	window.clearInterval(intervalID);
}

var testlaunched = false;
function launchTest(vLink, vTestName) {

	if(testlaunched) return;

	testlaunched = true;

	var vRes = window.screen.width + 'x' + window.screen.height;
	var vColors = window.screen.colorDepth;	
	vLink = vLink + '&res=' + vRes + '&color=' + vColors + '&dupchk=true';

	window.location = vLink;
}

function deleteTest(vLink) {
	var msg = 'Are you sure you want to delete this in-progress test? This is a permanent delete, and all answers will be lost.';
	if(confirm(msg)) window.location = vLink;
}

function startTest(vLink, vTestName) {
	vLink = vLink.replace('setuptest.aspx?cmd=launchtest', '&');
	window.location = 'info.aspx?cmd=examoptions&test=' + escape(vTestName) + vLink;
}

function findMimType(DR) {
	if(drlist && mimlist) {
		var tmpDrlist = drlist.split("|");
		var tmpMimlist = mimlist.split("|");
		for(var i=0; i < tmpDrlist.length; i++) {
			if(tmpDrlist[i] == DR) return tmpMimlist[i];
		}
	}
	return '';	
}

function findInstallName(DR) {
	if(drlist && instlist) {
		var tmpDrlist = drlist.split("|");
		var tmpInstlist = instlist.split("|");
		for(var i=0; i < tmpDrlist.length; i++) {
			if(tmpDrlist[i] == DR) return tmpInstlist[i];
		}
	}
	return '';
}

function findExt(DR) {
	if(drlist && instlist) {
		var tmpDrlist = drlist.split("|");
		var tmpExtlist = extlist.split("|");
		for(var i=0; i < tmpDrlist.length; i++) {
			if(tmpDrlist[i] == DR) return tmpExtlist[i];
		}
	}
	return '';
}