// CREATING AJAX HTTP OBJECT
function getHTTPObject() 
{
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try 
	{
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } 
	catch (e) 
	{
      try 
	  {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } 
	  catch (E) 
	  {
        xmlhttp = false;
      }
    }
  @else
  	xmlhttp = false;
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
  {
    try 
	{
      xmlhttp = new XMLHttpRequest();
    } 
	catch (e) 
	{
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object

// Functions to Use AJAX SCRIPT


var fistLoadRated = false;
var isFirst = true;
var isFinish = false;
var isFinishS = false;
var qCount = 0;
var isStart = false;

// Function for displaying the Questions......

function showQ()
{	
	if(jsArray[id]!="undefined")
	{
		var cq = parseInt(document.getElementById("hidC").value);
		var id = parseInt(document.getElementById("hid").value);
		
		var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=question&n="+ cq +"&id=" + jsArray[id];
		//prompt('',url);
		var f = document.forms[0].elements;
		var nq = false;
		var q="";
		var a="";
		var first = true;
	
		for(i=0;i<f.length;i++)
		{
			if(f[i].name=="answer")
			{
				first = false;
				nq = true;
				q = document.getElementById("qID").value;
				if(f[i].checked) a += f[i].value;
			}
		}
		if(nq && a!="" ){
			// save the answer
			//alert("Question ID: "+ q +"\nAnswer Selected: " + a);
			saveAnswer(q,a);
			qCount++;
			isStart = true;
			if(isFinish) finish();
		}	
	
		if(a!="" || first==true)
		{
		  //prompt('',url);
		  http.open("GET", url, true);
		  http.onreadystatechange = function() 
		  {
				if(http.readyState == 4) 
				{
					var res = (http.responseText);
					document.getElementById("questiondisplay").innerHTML = res;
					document.getElementById("hid").value = parseInt(document.getElementById("hid").value) + 1;
					document.getElementById("hidC").value = parseInt(document.getElementById("hidC").value) + 1;
					//alert(document.getElementById("hid").value + ":" + document.getElementById("hid1").value);					
					if(parseInt(document.getElementById("hid").value)==parseInt(document.getElementById("hid1").value))
					{		
						document.getElementById("finish").innerHTML = '<div onclick="isFinish=true;showQ()" ondblclick="return false;">Finish</div>'; 
	
					}
				}
		  }
		
		  http.send(null);
		}
		else
		{
			if(!first)
			{
				alert("Please put your answer.");
				//document.getElementById("hid").value = parseInt(document.getElementById("hid").value) - 1;
			}
		}
	}
}

function Startxam(us_id,ex_id)
{
	  var http2 = getHTTPObject();
	  var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=startexam&us_id=" + us_id + "&ex_id=" + ex_id;	  
	  http2.open("GET", url, true);
	  //prompt('',url)
	  http2.send(null);
}

function saveAnswer(q,a)
{
	var http1 = getHTTPObject();
	  var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=saveanswer&q=" + q + "&a=" + a;	  
	  http1.open("GET", url, true);
	  //prompt('',url)
	  http1.send(null);
}

function finish()
{
	  isFinish = false;
	  var http3 = getHTTPObject();
	  var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=finishexam";	  
	  http3.open("GET", url, true);
	  //prompt('',url)
	  http3.send(null);
	  window.location.href='acknowledgment.asp'
	  //window.location.href='startevaluation.asp'
}

document.onkeydown = preventRefresh;

function preventRefresh()
{
	if(event.keyCode==116) return false;
}

////////////////////////////////////////////////////////////////////////

function showS()
{	
	var cq = parseInt(document.getElementById("hidC").value);
	var id = parseInt(document.getElementById("hid").value);
	
	var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=questionS&n="+ cq +"&id=" + jsArray[id];
	//prompt('',url);
	var f = document.forms[0].elements;
	var nq = false;
	var q="";
	var a="";
	var first = true;

	for(i=0;i<f.length;i++)
	{
		if(f[i].type=="textarea")
		{
			first = false;
			nq = true;
			q = document.getElementById("qID").value;
			a = f[i].value;
		}
		
		if(f[i].name=="answer")
		{
			first = false;
			nq = true;
			q = document.getElementById("qID").value;
			if(f[i].checked) a += f[i].value;
		}
	}
	if(nq && a!="" ){
		// save the answer
		//alert("Question ID: "+ q +"\nAnswer Selected: " + escape(a));
		saveAnswerS(q,escape(a));
		qCount++;
		isStart = true;
		if(isFinishS) finishS();
	}	
	
	if(a!="" || first==true)
	{
	  http.open("GET", url, true);
	  http.onreadystatechange = function() 
	  {
			if(http.readyState == 4) 
			{
				var res = (http.responseText);
				//alert(res);
				document.getElementById("questiondisplay").innerHTML = res;
				document.getElementById("hid").value = parseInt(document.getElementById("hid").value) + 1;
				document.getElementById("hidC").value = parseInt(document.getElementById("hidC").value) + 1;
				
				if(parseInt(document.getElementById("hid").value)==parseInt(document.getElementById("hid1").value))
				{		
					document.getElementById("finish").innerHTML = '<div onclick="isFinishS=true;showS()" ondblclick="return false;">Finish</div>'; 
				}
			}
	  }
	
	  http.send(null);
	}
	else
	{
		if(!first)
		{
			alert("Please put your answer.");
			//document.getElementById("hid").value = parseInt(document.getElementById("hid").value) - 1;
		}
	}
}

function saveAnswerS(q,a)
{
	var http1 = getHTTPObject();
	  var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=saveanswerS&q=" + q + "&a=" + escape(a);	  
	  http1.open("GET", url, true);
	  //prompt('',url)
	  http1.send(null);
}

function finishS()
{
	  isFinish = false;
	  var http3 = getHTTPObject();
	  var url = "getState.asp?auth=" + Math.floor(Math.random()*16) + "&act=finishexamS";
	  http3.open("GET", url, true);
	  //prompt('',url)
	  http3.send(null);
	  window.location.href='testcenter.asp?auth=' + Math.floor(Math.random()*16)
}

