  var objXmlHTTP,objXmlDOM;
  var aQuest;
  var aAnswer = new Array();
  var aSelected = new Array();
  var count = 0;
  var ansSel = 0;
  var ExamDuration = 90 * 60 ;
  var timerID;
  var radIndex = -1;
  var strRepo = "" ;
  var aQueTxt = new Array();
  var aCorAns = new Array();
  var aAnsSel = new Array();
  var aQuestion = new Array();
  var aDetail = new Array();
  var aOption1 = new Array();
  var aOption2 = new Array();
  var aOption3 = new Array();
  var aOption4 = new Array();
  var aAnswer = new Array();
  var qno;
  var aQid = new Array();
  var qStr;
  var aReviewed = new Array();
  var chkIndex = -1;
  var numAnswered = 0;




  function showResult() {
    rights = 0;
    clearInterval(timerID);
    checkAnswer();
    for(i=0;i<aAnswer.length;i++){
      if(aAnswer[i] == 1)
      rights++;
    }
    autoin();
  }


  var timeCount = 2700;
  function timer(){
    timeCount--;
	hrpart = "00";
	mnpart = parseInt(timeCount/60)-hrpart*60;
	scpart = (timeCount%60);
    temptime =  hrpart + " : " + mnpart;
    temptime += " : " + scpart + "";
    TBlock.innerText = temptime;
    if (timeCount < 0) {
      alert("Sorry, time is up");
      showResult();
    }
  }




  function checkAnswer(){
       aAnswer[count] = radIndex;
       radIndex = -1;
  }

  function uncheckAnswer(){
       aAnswer[count] = -1;
       radIndex = -1;
  }

  function checkReview(){
       if (document.frm.reviewBox.checked){
              aReviewed[count] = 1;
       } else {
              aReviewed[count] = -1;
       }
  }







  function parseQ(){
    strOut = "<table border=0 width=95% bgcolor=white align=center>";
    strOut += "<tr><td>Exam Code</td><td>:</td><td><b>"+ExamCode+"</b</td><td>Total Questions</td><td>:</td><td><b>60 (Trial)</b</td><td>Total Time</td><td>:</td><td><b>45 Minutes</b</td></tr>";
    strOut += "<tr><td>Category</td><td>:</td><td><b>Traffic Asst</b</td><td>Answered</td><td>:</td><td><b>";
    numAnswered = 0;
    for(i=0;i<aQuest.length; i++){
      if (aAnswer[i] != -1){
         numAnswered += 1;
      }
    }
    strOut += numAnswered;
    strOut += "</b></td><td>Time Remaining</td><td>:</td><td><b id=TBlock></b></td></tr>";
    strOut += "</table>";

    strOut += "<table width=100% bgcolor=#122844 cellpadding=4 cellspacing=4>";
    strOut += "<tr><td width=50%></td><td width=50%></td></tr>";
    strOut += "<tr><td bgcolor=#e8eef7>No." + (count+1) + ".  Question and Options</td><td bgcolor=#e8eef7>Instructions</td></tr>";
    strOut += "<tr><td bgcolor=white valign=top>";
    strOut += "<b>"+aQuestion[count]+"</b><br><br>";
    strOut += "1. "+aOption1[count] + "<br>";
    strOut += "2. "+aOption2[count] + "<br>";
    strOut += "3. "+aOption3[count] + "<br>";
    strOut += "4. "+aOption4[count] + "<br>";
    strOut += "</td><td bgcolor=white valign=top>Relax...! The duration of this trial is 45 minutes and you have 60 questions.<br>";
    strOut += "There is no order to answer a question. You may use Next as well as Previous button to get a question to answer. You may also click on any question number to get that question. Since there is negative marking, you can use Review feature to remind you any doubtful answers, so that you review the same at the end of the exam, if time is left over.</td></tr></table><table><tr><td class=centeralign>";


      strOut += "<br><input type=radio name=ansUsr";
      strOut += " onClick='radIndex=0' ";
      strOut += " value = a > <b>1</b> &nbsp; &nbsp;";


      strOut += "<input type=radio name=ansUsr";
      strOut += " onClick='radIndex=1' ";
      strOut += " value = b > <b>2</b> &nbsp; &nbsp;";


      strOut += "<input type=radio name=ansUsr";
      strOut += " onClick='radIndex=2' ";
      strOut += " value = c > <b>3</b> &nbsp; &nbsp;";


      strOut += "<input type=radio name=ansUsr";
      strOut += " onClick='radIndex=3' ";
      strOut += " value = d > <b>4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</b>";

      strOut += "<input type=button value='Clear Answer'";
      strOut += " onClick='getClear()'> <br><br>";

    if(count != 0 ){
      strOut += "<input type=button value=Previous ";
      strOut += " onClick='getPreQ()'> ";
    } else {
      strOut += "<input type=button value=Previous ";
      strOut += " onClick='getPreQ()' disabled> ";
    }


      strOut += " &nbsp; &nbsp; <nobr><span style='background-color:#80FF80;border-width:1px;border-style:Solid;font-family:Verdana;font-size:8px;height:12px;width:12px;'></span><span style='font-family:Verdana;font-size:XX-Small;width:84px;'>&nbspAnswared</span></nobr>";
      strOut += " &nbsp; &nbsp; <nobr><span style='background-color:#FFFF66;border-width:1px;border-style:Solid;font-family:Verdana;font-size:8px;height:12px;width:12px;'></span><span style='font-family:Verdana;font-size:XX-Small;width:84px;'>&nbspReview, Not answared</span></nobr>";
      strOut += " &nbsp; &nbsp; <nobr><span style='background-color:#FF9966;border-width:1px;border-style:Solid;font-family:Verdana;font-size:8px;height:12px;width:12px;'></span><span style='font-family:Verdana;font-size:XX-Small;width:84px;'>&nbspReview, Answared</span></nobr>";
      strOut += " &nbsp; &nbsp; <nobr><span style='background-color:#e8eef7;border-width:1px;border-style:Solid;font-family:Verdana;font-size:8px;height:12px;width:12px;'></span><span style='font-family:Verdana;font-size:XX-Small;width:84px;'>&nbspNot attempted</span></nobr>";
      strOut += " &nbsp; &nbsp; <input type=checkbox name=reviewBox>&nbspReview";

    if(count < aQuest.length-1){
      strOut += " <input type=button value=' Next '";
      strOut += " onClick='getNextQ()'>";
    } else {
      strOut += " <input type=button value=' Next '";
      strOut += " onClick='getNextQ()' disabled>";
    }





strOut += "</td></tr></table><br><br><table width=100%><tr><td class=centeralign><table border=1 style=border-collapse:collapse><tr>";
    for(i=0;i<30;i++){
	    strOut += "<a href=JavaScript:getQues("+(i+1)+")><td width=20 align=center ";
        //strOut += "<a href=JavaScript:getQues("+(i)+")><td width=20 align=center ";
    	if (aAnswer[i] != -1){
            if (aReviewed[i] != -1){
                strOut += "bgcolor=#FF9966";
            } else {
                strOut += "bgcolor=#80FF80";
            }
    	} else {
            if (aReviewed[i] != -1){
                strOut += "bgcolor=#FFFF66";
            } else {
                strOut += "bgcolor=#e8eef7";
            }
        }
	    strOut += ">"+(i+1)+"</td></a>";
    }

    strOut += "</tr><tr>";

    for(i=30;i<60;i++){
	    strOut += "<a href=JavaScript:getQues("+(i+1)+")><td width=20 align=center ";
        //strOut += "<a href=JavaScript:getQues("+(i)+")><td width=20 align=center ";
    	if (aAnswer[i] != -1){
            if (aReviewed[i] != -1){
                strOut += "bgcolor=#FF9966";
            } else {
                strOut += "bgcolor=#80FF80";
            }
    	} else {
            if (aReviewed[i] != -1){
                strOut += "bgcolor=#FFFF66";
            } else {
                strOut += "bgcolor=#e8eef7";
            }
        }
	    strOut += ">"+(i+1)+"</td></a>";
    }


    strOut += "</tr></table></td></tr></table>";
    QArea.innerHTML = strOut;


    if (aAnswer[count] != -1) {
      radIndex = aAnswer[count];
      document.frm.ansUsr[radIndex].checked = true;
    }
    if (aReviewed[count] != -1) {
      document.frm.reviewBox.checked = true;
    } else {
      document.frm.reviewBox.checked = false;
    }
  }



  function getPreQ() {
    checkAnswer();
    checkReview();
    count--;
    clearInterval(timerID);
    parseQ();
    timerID = setInterval("timer()",1000);
  }

  function getClear() {
    uncheckAnswer();
    checkReview();
    //count--;
    clearInterval(timerID);
    parseQ();
    timerID = setInterval("timer()",1000);
  }

  function getNextQ() {
    checkAnswer();
    checkReview();
    count++;
    clearInterval(timerID);
    parseQ();
    timerID = setInterval("timer()",1000);
  }

  function getQues(i) {
    checkAnswer();
    checkReview();
    count=i-1;
    clearInterval(timerID);
    parseQ();
    timerID = setInterval("timer()",1000);
  }











  function init(){
    aQuest = temp.split("~");
    for(i=0;i<aQuest.length; i++){
	aDetail = aQuest[i].split("`");
	aQuestion[i] = aDetail[0];
	aOption1[i] = aDetail[1];
	aOption2[i] = aDetail[2];
	aOption3[i] = aDetail[3];
	aOption4[i] = aDetail[4];
	aQid[i] = aDetail[5];
      aAnswer[i] = -1;
      aSelected[i] = -1;
      aAnsSel[i] = "not answered";
      aReviewed[i] = -1;
    }
    if(count < aQuest.length) {
	qno=count;
      parseQ();
    }

    document.frm.btnFinish.value = "Finish the Exam";
    document.frm.btnFinish.onclick = showResult;
    timerID = setInterval("timer()",1000);
  }



function autoin() {
document.write("<center><form name='auto' method='post' action=tasst_trial.php>");
document.write("<input type='hidden' name='ok' value='ok'>");

qStr="";
aStr="";

    for(i=0;i<aQuest.length; i++){
	document.write("<input type='hidden' name="+aQid[i]+" value="+aAnswer[i]+">");
	qStr += aQid[i] + ",";
 	aStr += aAnswer[i] + ",";
    }

document.write("<input type='hidden' name='qStr' value="+qStr+">");
document.write("<input type='hidden' name='aStr' value="+aStr+">");



document.write("<input type='submit' value='Being Submitted !  Please Wait !!'></form></center>");
document.auto.submit();
}
