function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var ms = 0;
var state = 0;
var timerID;

function startstop() {
	if (state == 0) {
		state = 1;
		then = new Date();
		then.setTime(then.getTime() - ms);
	} else {
		state = 0;
		now = new Date();
		ms = now.getTime() - then.getTime();
		document.getElementById("timerField").value = ms;
	}
}

function skillanswerchosen() {
	var answerchosenobj = document.getElementById("txtAnswerChosen");
	answerchosenobj.value = "true";
}

function checkskillstestform(source, arguments) {
	//Skills test validation
	
	//Stop the clock
	startstop();
	
	var errormessage = document.getElementById("errormessage");
	var answerchosenobj = document.getElementById("txtAnswerChosen");
	var booContinue = false;
	
	if(answerchosenobj.value=="") {
		errormessage.innerHTML = "You must choose an answer!";
		errormessage.style.display = "";
		booContinue = false;
	} else {
		errormessage.innerHTML = "";
		errormessage.style.display = "none";
		booContinue = true;
	}
	
	if(booContinue == false) {
		//Start the clock
		startstop();
	}
	
	if(booContinue == true) {
		arguments.IsValid = true;
	} else {
		arguments.IsValid = false;
	}
}

function displaytime(testtype) {
	timerID = window.setTimeout("displaytime(" + testtype + ");", 100);
	if (state == 1) {
		now = new Date();

		if(testtype==2) { //skills test
			var mySpantag;
			mySpantag = document.getElementById("skillstimer");
			var questionlength = document.getElementById("txtQuestionLength").value;
			var secondsremaining = Math.floor(((questionlength * 1000) - (now.getTime() - then.getTime())) / 1000) + 1;
			if (secondsremaining <= 0) {
				secondsremaining = 0;
			} else if (secondsremaining >= questionlength) {
				secondsremaining = questionlength;
			}
			
			if (secondsremaining == 1) {
				mySpantag.innerHTML = secondsremaining + " second";
			} else {
				mySpantag.innerHTML = secondsremaining + " seconds";
			}

			if (((questionlength * 1000) - (now.getTime() - then.getTime())) > 0) {
				ms = (questionlength * 1000) - (now.getTime() - then.getTime());
			} else {
				var forcedanswerobj = document.getElementById("txtForcedAnswer");
				var answerchosenobj = document.getElementById("txtAnswerChosen");
				startstop();
				forcedanswerobj.value = "true";
				answerchosenobj.value = "true";
				
				var multiplechoicequestionobj;
				if (document.getElementById("spanMultipleChoice")) {
					multiplechoicequestionobj = document.getElementById("spanMultipleChoice");
				} else if (document.getElementById("spanMultiAnswer")) {
					multiplechoicequestionobj = document.getElementById("spanMultiAnswer");
				}
				multiplechoicequestionobj.style.display = "none";
				var errormessage = document.getElementById("errormessage");
				errormessage.innerHTML = "Your time has run out! Click 'Mark Answer and Continue' to continue.";
				errormessage.style.display = "";
				
				var timerfield = document.getElementById("timerField");
				timerfield.value = "0 seconds";				
			}

			var timerfieldobj = document.getElementById("timerField");
			timerfieldobj.value = ms;
		}
	}
}