
//*****************************************************
//Created By:     	Sanjay D
//Date Created:  	26.02.2004
//Modified By:      Shailesh Shahane
//Date Modified:    29.12.2006
//This Java script contains XML code
//*****************************************************


//--------------------

var $a={
$b:(typeof ActiveXObject!="undefined"),
$z:document.implementation&&document.implementation.createDocument,
$d:(typeof XMLHttpRequest!="undefined")};
$a.ARR_XMLHTTP_VERS=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];
$a.ARR_DOM_VERS=["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];
$a.useDom=true;
$a.DOM_VER='';

var sortField = null;
var deltas = null;
var pageSize=1;
//var curPage=1;
var lastPage=0;
var editPending=false;
var editedquestion=0;
var flagQ="N";
var unAnsQ="N";

var qNode;
var deltasRow;
var source11;			
var source111;			
var s;
var sourcervw;			
var reviewXSL;
var result;
var xsltProcessor1;
var xsltProcessor;
var txtUserActions;
    
txtUserActions = 'id|answered|flagged|is_correct|save_q|complexity|user_complexity|show_ans_explanation|options$' ;

var stylesheet;
var source;
var parser;

var pageRefreshFreq;
var practice_XSL; 
var review_XSL; 
var result_XSL; 
review_XSL= "/xml_xsl/practice_reviewXSL.xsl" ;
practice_XSL= "/xml_xsl/practice_questionXSL.xsl" ;
result_XSL= "/xml_xsl/resultXSL.xsl" ;


pageRefreshFreq=10;


function zXmlDom(){};

zXmlDom.createDocument=function(){
try
{

if($a.useDom==true)
{
var $f=document.implementation.createDocument("","",null);
$f.parseError={valueOf:function()
{return this.errorCode;},toString:function(){return this.errorCode.toString()}};
//$f.$L();
$f.addEventListener("load",function(){this.$M();this.$N(4);},false);
return $f;
}
else if($a.useActiveX==true){
if($a.DOM_VER=='')
{
for(var i=0;i<$a.ARR_DOM_VERS.length;i++)
{
try
{
new ActiveXObject($a.ARR_DOM_VERS[i]);
$a.DOM_VER=$a.ARR_DOM_VERS[i];
break;
}
catch($e){
}
}
}
                                                                          
if($a.DOM_VER!='')
{
return new ActiveXObject($a.DOM_VER);
}
else
{throw new Error("Could not create XML DOM document.");
}
}
else{
alert("Your browser doesn't support an XML DOM document.");

//throw new Error("Your browser doesn't support an XML DOM document.");
}
}
catch(e)
{
}
};
var $g=null;if(typeof $h!="undefined"){$g=$h;}
else if(typeof Document!="undefined"){$g=Document;};
if($g&&!window.opera){$g.prototype.readyState=0;
$g.prototype.onreadystatechange=null;
$g.prototype.$N=function($i){this.readyState=$i;if(typeof this.onreadystatechange=="function")
{
this.onreadystatechange();}};
$g.prototype.$L=function(){this.parseError.errorCode=0;this.parseError.filepos=-1;
this.parseError.line=-1;this.parseError.linepos=-1;this.parseError.reason=null;
this.parseError.srcText=null;this.parseError.url=null;};
$g.prototype.$M=function(){if(this.documentElement.tagName=="parsererror"){var $j=/>([\s\S]*?)Location:([\s\S]*?)Line Number(\d+), Column(\d+):<sourcetext>([\s\S]*?)(?:\-*\^)/;$j.test(this.xml);this.parseError.errorCode=-999999;this.parseError.reason=RegExp.$1;this.parseError.url=RegExp.$2;this.parseError.line=parseInt(RegExp.$3);this.parseError.linepos=parseInt(RegExp.$4);this.parseError.srcText=RegExp.$5;}};$g.prototype.loadXML=function($k){this.$L();this.$N(1);var $l=new DOMParser();var $f=$l.parseFromString($k,"text/xml");while(this.firstChild){this.removeChild(this.firstChild);};for(var i=0;i<$f.childNodes.length;i++){var $m=this.importNode($f.childNodes[i],true);this.appendChild($m);};this.$M();this.$N(4);};$g.prototype.$O=$g.prototype.load;$g.prototype.load=function($n){this.$L();this.$N(1);this.$O($n);};Node.prototype.__defineGetter__("xml",function(){var $o=new XMLSerializer();return $o.serializeToString(this,"text/xml");});Node.prototype.__defineGetter__("text",function(){var $p="";for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].hasChildNodes()){$p+=this.childNodes[i].text;}else{$p+=this.childNodes[i].nodeValue;}};return $p;});};function zXslt(){};zXslt.transformToText=function($q,$r){if(typeof $s!="undefined"){var $t=new $s();$t.importStylesheet($r);var $u=$t.transformToDocument($q);var $v=$u.xml;if($v.indexOf("<transformiix:result")>-1){$v=$v.substring($v.indexOf(">")+1,$v.lastIndexOf("<"));};return $v;}else if($a.useActiveX){return $q.transformNode($r);}else{throw new Error("No XSLT engine found.");}};function zXPath(){};zXPath.selectNodes=function($w,$x,$y){if(typeof $z!="undefined"){$A=$A||{};var $B=function($Z){return $A[$Z];};var $D=new $z();var $E=$D.evaluate($x,$w,$B,$F.ORDERED_NODE_ITERATOR_TYPE,null);var $G=new Array;if($E!=null){var $H=$E.iterateNext();while($H){$G.push($H);$H=$E.iterateNext();}};return $G;}else if($a.useActiveX){if($A){var $y="";for(var $I in $A){$y+="xmlns:"+$I+"="+$A[$I]+" ";};$w.ownerDocument.setProperty("SelectionNamespaces",$y);};return $w.selectNodes($x);}else{throw new Error("No XPath engine found.");}};zXPath.selectSingleNode=function($w,$x,$A){if(typeof $z!="undefined"){$A=$A||{};var $B=function($Z){return $A[$Z];};var $D=new $z();var $E=$D.evaluate($x,$w,$B,$F.FIRST_ORDERED_NODE_TYPE,null);if($E!=null){return $E.singleNodeValue;}else{return null;}}else if($J.useActiveX){if($A){var $y="";for(var $I in $A){$y+="xmlns:"+$I+"="+$A[$I]+" ";};$w.ownerDocument.setProperty("SelectionNamespaces",$y);};return $w.selectSingleNode($x);}else{throw new Error("No XPath engine found.")}};function zXMLSerializer(){};zXMLSerializer.prototype.serializeToString=function($K){var $k="";switch($K.nodeType){case 1:$k="<"+$K.tagName;for(var i=0;i<$K.attributes.length;i++){$k+=" "+$K.attributes[i].name+"=\"" + oNode.attributes[i].value + "\"";};$k+=">";for(var i=0;i<$K.childNodes.length;i++){$k+=this.serializeToString($K.childNodes[i]);};$k+="</"+$K.tagName+">";break;case 3:$k=$K.nodeValue;break;case 4:$k="<![CDATA["+$K.nodeValue+"]]>";break;case 7:$k="<?"+$K.nodevalue+"?>";break;case 8:$k="<!--"+$K.nodevalue+"-->";break;case 9:for(var i=0;i<$K.childNodes.length;i++){$k+=this.serializeToString($K.childNodes[i]);};break;};return $k;};


//=====================

function LoadXMLStringData(txt)
{
	parser=new DOMParser();
	source=parser.parseFromString(txt,"text/xml");
	return source;
}


function LoadXMLStr(txt)
{ 
if (window.ActiveXObject)               // IE
        {
         
	 stylesheet=new ActiveXObject("Microsoft.xmldom");
	 source=new ActiveXObject("Microsoft.xmldom");     
	 stylesheet.async=false;
	 source.async=false;
	 source.loadXML(txt);
	 stylesheet.load(practice_XSL);
         }
else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {

	source11=new window.XMLHttpRequest();
	source11.open("GET",practice_XSL,false);
	source11.send("");
	stylesheet=source11.responseXML;

	
	source=LoadXMLStringData(txt);

	source111=new window.XMLHttpRequest();
	source111.open("GET",review_XSL,false);
	source111.send("");
	resultXSL=source111.responseXML;
	
	sourcervw=new window.XMLHttpRequest();
	sourcervw.open("GET",review_XSL,false);
	sourcervw.send("");
	reviewXSL=sourcervw.responseXML;
	resultXSL.async=false;
	stylesheet.async=false;
	source.async=false;
}



}




function LoadXMLFile(txt,acc_id,u_id,u_name)
{ 
if (window.ActiveXObject)               // IE
        {
         
	 stylesheet=new ActiveXObject("Microsoft.xmldom");
	 source=new ActiveXObject("Microsoft.xmldom");     
	 stylesheet.async=false;
	 source.async=false;
 
	 source.load(txt);
	 stylesheet.load(practice_XSL);
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {

	source11=new window.XMLHttpRequest();
	source11.open("GET",practice_XSL,false);
	source11.send("");
	stylesheet=source11.responseXML;

	source11=new window.XMLHttpRequest();
	source11.open("GET",txt,false);
	source11.send("");
	source=source11.responseXML;

	source111=new window.XMLHttpRequest();
	source111.open("GET",result_XSL,false);
	source111.send("");
	resultXSL=source111.responseXML;
	
	sourcervw=new window.XMLHttpRequest();
	sourcervw.open("GET",review_XSL,false);
	sourcervw.send("");
	reviewXSL=sourcervw.responseXML;
	
        resultXSL.async=false;
        stylesheet.async=false;
        source.async=false;
}

if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
   	else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
   	  {  
   	     qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
   	  }
   	  
   	//alert('ff' + acc_id + u_id + u_name); 
qNode.setAttribute("user_account_id",acc_id);
qNode.setAttribute("user_id",u_id);
qNode.setAttribute("user_name",u_name);

}

   function LoadXML()
{  
	//stylesheet.load("../xml_xsl/questionXSL.xsl");

	lastPage=Math.floor((source.documentElement.childNodes.length)/pageSize)-1;
  if (window.ActiveXObject)               // IE
        {
			//sortField = stylesheet.selectSingleNode("//@order-by");
			viewRange = stylesheet.selectSingleNode("//@test");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  

         viewRange =stylesheet.evaluate("//@test", stylesheet, null, 9, null).singleNodeValue;
      
     }
 deltas = source.cloneNode(false);
//deltas.appendChild(deltas.createElement("xml"));  
			
	display(true);
	startclock();
			
}



function nextPage()
{
var user_account_id;
	if (curPage == lastPage) 
		{
		if (window.ActiveXObject)               // IE
        {
        qNode=source.selectSingleNode("/xml");
        }
        else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
        {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     
        }
		alert("This is the last question in the '"+ qNode.getAttribute("submode") + "' mode.\n Now you will see the first question in this mode .");
		//exit();
		curPage = 1;
		}
	else 
	{
	curPage++;
	}
	
	
		if (window.ActiveXObject)               // IE
        {
          if (flagQ=="Y" && source.selectNodes("/xml/question[@flagged='1']").length>0)
	{
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
		if (deltasRow.getAttribute("flagged")=="0")
			nextPage();
	}
	else
		flagQ="N";
		
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
     //var tmpNode = source.evaluate("/xml/question[@flagged='1']", source, null, 9, null).singleNodeValue;
//     var tmpNode =document.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
     var tmpNode =source.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); //FF
		     
          if (flagQ=="Y" && tmpNode.snapshotLength>0)
	{
		  deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
	
		if (deltasRow.getAttribute("flagged")=="0")
			nextPage();
	}
	else
		flagQ="N";
		
      
     }
     
   var len;
		
		if (window.ActiveXObject)               // IE
        {
		 qNode=source.selectNodes("/xml/question[@answered='0']");
		 len=qNode.length;
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        //qNode=source.evaluate("/xml/question[@answered='0']", source, null, 9, null).singleNodeValue;
        
        //qNode= document.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

		qNode= source.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); //FF
		     
        len= qNode.snapshotLength;
          
     }
		
		
	if (unAnsQ=="Y" && len>0)
	{
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
     }
		
		if (deltasRow.getAttribute("answered")=="1")
			nextPage();
	}
	else
		unAnsQ="N";

		
if (window.ActiveXObject && curPage != 0 && curPage%pageRefreshFreq==0  &&  parseInt(source.selectSingleNode("/xml/result").getAttribute("tot_questions")) <=50  && source.selectSingleNode("/xml").getAttribute("user_account_id")=="1")
 {
 user_account_id=source.selectSingleNode("/xml").getAttribute("user_account_id")=="1";
 	//if (source.selectSingleNode("/xml").getAttribute("tutorial_name") == "car mock" )
	// 	document.getElementById('frmDisp').action="http://www.theory-test.co.uk/asp/daily_mock_test_car.asp?curr_pg=" + (curPage) ;
 	//else if (source.selectSingleNode("/xml").getAttribute("tutorial_name") == "bike mock" )
	// 	document.getElementById('frmDisp').action="http://www.theory-test.co.uk/asp/daily_mock_test_bike.asp?curr_pg=" + (curPage) ;
	//else
	getUserActions();	
	
	 document.getElementById('frmDisp').action="/asp/free_practice_mock_question.asp?file_name=" + source.selectSingleNode("/xml").getAttribute("tutorial_name") + "&curr_pg=" + (curPage) + "#test";
	 //document.getElementById('frmDisp').action="http://www.theory-test.co.uk/asp/loading.asp?url=" + "http://www.theory-test.co.uk/asp/zfree_practice_mock_question.asp?file_name=" + "Mondaycar" + "&curr_pg=" + (curPage) + "" ; 
 	document.getElementById('frmDisp').submit();
 }

var tmpdeltasRow;

if (document.implementation && document.implementation.createDocument ) //MOZILLA
{
tmpdeltasRow=source.evaluate("/xml", source, null, 9, null).singleNodeValue; 
}

if (document.implementation && document.implementation.createDocument &&  curPage !=0 &&  curPage%pageRefreshFreq==0 && tmpdeltasRow.getAttribute("user_account_id")==1)
{
user_account_id=tmpdeltasRow.getAttribute("user_account_id");
getUserActions();	
document.getElementById('frmDisp').action="/asp/free_practice_mock_question.asp?file_name=" + tmpdeltasRow.getAttribute("tutorial_name") + "&curr_pg=" + curPage + "#test";



document.getElementById('frmDisp').submit();
 }


if ((curPage%pageRefreshFreq!=0 ) || ( curPage ==0 ) || ( user_account_id != "1")) 
{
	display(true);
}


}			


function previousPage()
{

	if (curPage== 1) 
		{
		
		if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
		alert("This is the first question in the '"+ qNode.getAttribute("submode") + "' mode.\n Now you will see the last question in this mode .");
		//exit();
		curPage = lastPage;
		}
	else 
		curPage--;
		

		
		
	
	if (window.ActiveXObject)               // IE
        {
         if (flagQ=="Y" && source.selectNodes("/xml/question[@flagged='1']").length>0)
	{
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
	
		if (deltasRow.getAttribute("flagged")=="0")
			previousPage();
	}
	else
		flagQ="N";
		
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
    // var tmpnode = source.evaluate("/xml/question[@flagged='1']", source, null, 9, null).singleNodeValue;
        //var tmpnode = document.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
	var tmpnode = source.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		     
         if (flagQ=="Y" && tmpnode.snapshotLength>0)
	{
		deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
	
		if (deltasRow.getAttribute("flagged")=="0")
			previousPage();
	}
	else
		flagQ="N";
		
        
     }
     
    
		var len;
				if (window.ActiveXObject)               // IE
        {
		qNode=source.selectNodes("/xml/question[@answered='0']");
		len=qNode.length;
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
       // qNode=source.evaluate("/xml/question[@answered='0']", source, null, 9, null).singleNodeValue;
       //qNode= document.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

	qNode= source.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		   len=qNode.snapshotLength;
     }
     
	if (unAnsQ=="Y" && len>0)
	{
		if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
     }
     
		if (deltasRow.getAttribute("answered")=="1")
			previousPage();
	}
	else
		unAnsQ="N";
		
	
	display(true);
}			
    
function showAns()
{

	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
     }
     
     

	deltasRow.setAttribute("show_ans_explanation","1");
	
	
	for (var i=0 ;i<deltasRow.childNodes.length ;i++)
	{
	
		if (window.ActiveXObject)               // IE
        {
		if (deltasRow.childNodes(i).getAttribute("correct")=="1")
		{
			deltasRow.childNodes(i).setAttribute("choice_img","../images/correct_answer.jpg");
		}
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
       if (deltasRow.childNodes[i].getAttribute("correct")=="1")
		{
			deltasRow.childNodes[i].setAttribute("choice_img","../images/correct_answer.jpg");
		}
       }
       
		
	}	
	display(true);
}		

function ShowResult()
{
		if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
     
	if (deltasRow.getAttribute("showhide")=="show")
		deltasRow.setAttribute("showhide","hide");
	else
		deltasRow.setAttribute("showhide","show");
	display(true);
}

function FlagQ()
{
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
     }
     
	deltasRow.setAttribute("flagged","1");
	
	updateResult();
	display(true);
}

function UnFlagQ()
{
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question["+(curPage)+"]", source, null, 9, null).singleNodeValue;
     }
     
	deltasRow.setAttribute("flagged","0");
	
	updateResult();
	display(true);
}

	
function Review()
{
if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
	qNode.setAttribute("mode","Review");
	display(true);
}

function ReviewFlagged()
{
	unAnsQ="N";
   
	var len;
if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectNodes("/xml/question[@flagged='1']");
		len=deltasRow.length;
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
       //deltasRow=document.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
deltasRow=source.evaluate("/xml/question[@flagged='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); //FF
     
       len=deltasRow.snapshotLength;
        
     }
 
      
	if (len>0)
	{	
	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
		qNode.setAttribute("submode","Review Flagged");
		flagQ="Y";
		curPage = 0;
		nextPage();
	}
	else
		alert("No Questions are flagged yet.You can click on the 'All' Button to review all questions.");
	
}

function ReviewUnanswered()
{
var len;

	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectNodes("/xml/question[@answered='0']");
		len=qNode.length;
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
       // qNode=source.evaluate("/xml/question[@answered='0']", source, null, 9, null).singleNodeValue;
       //qNode= document.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
	qNode= source.evaluate("/xml/question[@answered='0']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

	   len= qNode.snapshotLength;
     
     }
     	
	if (len==0)
	{
		alert("You have answered all questions.\n You can click on the 'All' Button to review all questions.");
		return;
	}
	
	flagQ="N";
	
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectNodes("/xml/question[@answered='1']");
		len=deltasRow.length;
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        //deltasRow=source.evaluate("/xml/question[@answered='1']", source, null, 9, null).singleNodeValue;
      // deltasRow= document.evaluate("/xml/question[@answered='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

 deltasRow= source.evaluate("/xml/question[@answered='1']", source, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		len=deltasRow.snapshotLength;
     }
     
	if (len>0)
	{		
	
	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
		qNode.setAttribute("submode","Review Unanswered");
		unAnsQ="Y";
		curPage = 0;
		nextPage();
	}
	else
		alert("You have not answered any questions yet.");
		
}

function ReviewAll()
{
if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
	qNode.setAttribute("mode","All");
	qNode.setAttribute("submode","All");
	flagQ="N";
	unAnsQ="N";
	curPage = 0;
	nextPage();
	
}

function EndTest()
{

 
if (window.ActiveXObject)
	    {
	    
	resultXSL=new ActiveXObject("Microsoft.xmldom");
	resultXSL.async=false;
	resultXSL.load(result_XSL);
	question.innerHTML =source.documentElement.transformNode(resultXSL);
	timetaken.innerHTML = testTime;	
	
		}
		else if (document.implementation && document.implementation.createDocument)
    	{
    	
    	
    	//var resultXSL=zXmlDom.createDocument();;
	//resultXSL.async=false;
	//resultXSL.load("../xml_xsl/resultXSL.xsl");



        xsltProcessor1 = new XSLTProcessor(); 
        xsltProcessor1.importStylesheet(source111.responseXML); 
        result = xsltProcessor1.transformToDocument(source); 


	document.getElementById("question").innerHTML =result.xml;
	document.getElementById("timetaken").innerHTML = testTime;	

    	}
    	

    
  
} 			

function PostResult()
{   


if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
    if (qNode.getAttribute("test_type")=="mock")
		{
		alert("Thanks for taking mock test");
		//window.location.href="../asp/mock_test.asp"
		window.close();
		}
	//Commented to update questions stats for random tests using Post xml data page
    //else if (source.selectSingleNode("/xml").getAttribute("test_type")=="random")
	//	{
	//	alert("Thanks for taking random test");
	//	window.close();
	//	}
	
	
 else if (qNode.getAttribute("user_account_id")=="1")
		{
		//alert(qNode.getAttribute("user_account_id"));
		input_box=confirm("Only paid users can post the test results.\n\nClick OK to go back");
		if (input_box==true)
			{
			     if (qNode.getAttribute("test_type")=="random")
			    {
			        window.location.href="take_a_test.asp"			        
			    }// random
			    else if (qNode.getAttribute("test_type")=="basic")
			    {
			         window.location.href="basic_tutorial_list.asp"		
			    }// basic
			    
			     else if (qNode.getAttribute("test_type")=="advance")
			    {
			         window.location.href="advance_preparation.asp"		
			    }// advance
			    else
			    {
			        window.location.href="account_details.asp"
			    }//default
			}//if (input_box==true)

		} 
    else 
    {
        
		alert("Your test results will now be updated into the database.\nThis may take a minute.\nPlease be patient until you see database updated message.");
		// get ready to post updates to server
		
		var objHTTP =null;		
		  

// code for Mozilla, etc.
if (window.XMLHttpRequest)
  {

// alert('aaa'); 
  
  objHTTP=new XMLHttpRequest()
  }
// code for IE
else if (window.ActiveXObject)
  {
  objHTTP=new ActiveXObject("Microsoft.XMLHTTP")
  }
  
		objHTTP.open("POST","/asp/post_xml_data.asp",false);
		// send the IDispatch xmldom to server through IStream interface
		try
		{
		 
		objHTTP.send(getPostXML());
		}
		catch(e)
		{
		}
		
		//window.location='view_tutorial_details.asp?Tut_id=' + source.selectSingleNode("/xml").getAttribute("tutorial_id")

		if (qNode.getAttribute("test_type")=="random")
		{
			input_box=confirm(objHTTP.responseText + "\n\nStart a new test?");
			if (input_box==true)
			{
			     window.location.href="display_question.asp?test_type=random";
       			}
			else if(input_box==false)
			{
		window.location.href="take_a_test.asp";
			//window.opener.location.reload();
			//window.close();
			}
		}
		else
		{
			input_box=confirm(objHTTP.responseText + "\n\nClick OK to go back.");
			if (input_box==true)
			{
			        if (qNode.getAttribute("test_type")=="basic")
			        {
			            window.location.href="../asp/basic_tutorial_list.asp"
			        }
			        if (qNode.getAttribute("test_type")=="advance")
			        {
			            window.location.href="../asp/advance_preparation.asp"
			        }
			        
			        
			    
			//opener.location.reload();
		    	//window.close();
		    }
		}
    
    }
}	




function getPostXML()
{
    	
	var deltasR;
	
	deltasRow=null;
	deltasR=null;
	
	// create a new deltas node
	deltasRow=source.createElement("xml");
	
	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
   	else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
   	  {  
   	     qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
   	  }
   	  
   	deltasRow.setAttribute("user_id",qNode.getAttribute("user_id"));	 
	deltasRow.setAttribute("user_name",qNode.getAttribute("user_name"));
	deltasRow.setAttribute("user_account_id",qNode.getAttribute("user_account_id"));
	deltasRow.setAttribute("test_type",qNode.getAttribute("test_type"));
	
 	
    for  (var i=1;i<qNode.childNodes.length;i++)
        if (window.ActiveXObject)
	    {
		if (qNode.childNodes(i).getAttribute("answered") =="1"  || qNode.childNodes(i).getAttribute("save_q") =="1" || qNode.childNodes(i).getAttribute("user_complexity") != qNode.childNodes(i).getAttribute("complexity"))
		{
		// create a new deltas node
	        deltasR=source.createElement("question");
		deltasR.setAttribute("id",qNode.childNodes[i].getAttribute("id"));
		deltasR.setAttribute("answered",qNode.childNodes[i].getAttribute("answered"));
		deltasR.setAttribute("save_q",qNode.childNodes[i].getAttribute("save_q"));
		deltasR.setAttribute("user_complexity",qNode.childNodes[i].getAttribute("user_complexity"));
		deltasR.setAttribute("complexity",qNode.childNodes[i].getAttribute("complexity"));
		deltasR.setAttribute("is_correct",qNode.childNodes[i].getAttribute("is_correct"));		
		deltasRow.appendChild(deltasR);
		}
	    }
	else if (document.implementation && document.implementation.createDocument)
    	    {
    		if (qNode.childNodes[i].getAttribute("answered") =="1"  || qNode.childNodes[i].getAttribute("save_q") =="1" || qNode.childNodes[i].getAttribute("user_complexity") != qNode.childNodes[i].getAttribute("complexity"))
		{
		// create a new deltas node
		
		deltasR=source.createElement("question");
		deltasR.setAttribute("id",qNode.childNodes[i].getAttribute("id"));
		deltasR.setAttribute("answered",qNode.childNodes[i].getAttribute("answered"));
		deltasR.setAttribute("save_q",qNode.childNodes[i].getAttribute("save_q"));
		deltasR.setAttribute("user_complexity",qNode.childNodes[i].getAttribute("user_complexity"));
		deltasR.setAttribute("complexity",qNode.childNodes[i].getAttribute("complexity"));
		deltasR.setAttribute("is_correct",qNode.childNodes[i].getAttribute("is_correct"));
		
		deltasRow.appendChild(deltasR);
		
	        }
    	     }
    	     
		
	return deltasRow.xml
}

function getUserActions()
{
  	//alert('getUserActions- '+ txtUserActions);
	var deltasR;
	var j;
	var sel_choice;
	deltasRow=null;
	deltasR=null;
	
	// create a new deltas node
	//deltasRow=source.createElement("xml");
	
	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
   	else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
   	  {  
   	     qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
   	  }
   	  
   	//deltasRow.setAttribute("user_id",qNode.getAttribute("user_id"));	 
	//deltasRow.setAttribute("user_name",qNode.getAttribute("user_name"));
	//deltasRow.setAttribute("user_account_id",qNode.getAttribute("user_account_id"));
	//deltasRow.setAttribute("test_type",qNode.getAttribute("test_type"));
	
 	sel_choice='';
    for  (var i=1;i<qNode.childNodes.length;i++)
    {
            if (window.ActiveXObject)
	        {
    		
		    // create a new deltas node
	           // deltasR=source.createElement("question");
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("id") + '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("answered")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("flagged")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("is_correct")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("save_q")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("complexity")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("user_complexity")+ '|';
    	    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("show_ans_explanation")+ '|';
		   // txtUserActions = txtUserActions + '$'   
    				
		    //deltasRow.appendChild(deltasR);
    		 
	        }
	    else if (document.implementation && document.implementation.createDocument)
    	        {
        	 
		    // create a new deltas node
    		
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("id") + '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("answered")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("flagged")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("is_correct")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("save_q")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("complexity")+ '|';
		    txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("user_complexity")+ '|';
    		txtUserActions = txtUserActions + qNode.childNodes[i].getAttribute("show_ans_explanation")+ '|';
		        
    	        
    	         }
    	//alert('reached');  
    	  
    	
    	    if (window.ActiveXObject)               // IE
            {
		        deltasRow=source.selectSingleNode("/xml/question[@id='"+qNode.childNodes(i).getAttribute("id")+"']");
            }
            else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
            {  
            
                deltasRow=source.evaluate("/xml/question[@id='"+qNode.childNodes[i].getAttribute("id")+"']", source, null, 9, null).singleNodeValue;
             
            }
          //sel_choice = '|';  
                  
           if (window.ActiveXObject)               // IE
            {   
		          for (j=0;j<deltasRow.childNodes.length;j++)
                            {           
                                 
                                       if (j==0)
                                       {
                                            sel_choice = deltasRow.childNodes(j).getAttribute("selected").toString(); //deltasRow.childNodes[j].getAttribute("selected") + ',' ; 
                                       }
                                       else
                                       {
                                            sel_choice = sel_choice.toString() +  ',' + deltasRow.childNodes(j).getAttribute("selected").toString() ;//deltasRow.childNodes[j].getAttribute("selected") + ',' ; 
                                       }
                        
                                    
                             }
                            // alert('hfhf' + sel_choice);
            }
            else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
            {  
            
                             for (j=0;j<deltasRow.childNodes.length;j++)
                            {           
                                   
                                       if (j==0)
                                       {
                                            sel_choice = deltasRow.childNodes[j].getAttribute("selected").toString(); //deltasRow.childNodes[j].getAttribute("selected") + ',' ; 
                                       }
                                       else
                                       {
                                            sel_choice = sel_choice.toString() +  ',' + deltasRow.childNodes[j].getAttribute("selected").toString() ;//deltasRow.childNodes[j].getAttribute("selected") + ',' ; 
                                       }
                        
                                    
                             }
             
            }
             
       txtUserActions = txtUserActions + sel_choice;  
       txtUserActions = txtUserActions + '$'; 	 	  
    }	     
		
 
	document.getElementById("tUserActions").value = txtUserActions;
	 
	 
	return true;
}


function setUserActions(txtUserActions)
{
   
	var deltasR;
	var uactions;
	var uavars 
	var uaction;
	var uavar;
	var qChoices;
	var qChoice;
	var mozillaq;
	 
	deltasRow=null;
	deltasR=null;
	uactions = txtUserActions;
	qChoice = '';
	//uactions=uactions.substring(0,uactions.length-1);
	//alert('uactions'+uactions);
	// create a new deltas node
	//deltasRow=source.createElement("xml");
	
	if (window.ActiveXObject)               // IE
        {
		qNode=source.selectSingleNode("/xml");
         }
   	else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
   	  {  
   	     qNode=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
   	  }
   	  
  
	uaction = uactions.split('$');
	uavars = uaction;
	
	//alert(qNode.childNodes.length);
    for  (var i=1;i<qNode.childNodes.length;i++)
    
    {
    
    //alert('hdhd' + i +  uavars);
        uavars = uaction[i];
        
        uavar = uavars.split('|');
        qChoices = uavar[8];
       
        qChoice = qChoices.split(',');
        if (window.ActiveXObject)               // IE
        {
        
            i=i-1;
            
                mozillaq=source.selectSingleNode("/xml/question["+(i)+"]");
             
	            mozillaq.setAttribute("answered",uavar[1]);
	            mozillaq.setAttribute("flagged",uavar[2]);
	            mozillaq.setAttribute("is_correct",uavar[3]); 
	            mozillaq.setAttribute("save_q",uavar[4]);
	            mozillaq.setAttribute("complexity",uavar[5]);
	            mozillaq.setAttribute("user_complexity",uavar[6]); 
	            mozillaq.setAttribute("show_ans_explanation",uavar[7]); 
              i= i+1
                 for (var k=0;k<qChoice.length;k++)
                 {
                    mozillaq.childNodes(k).setAttribute("selected",qChoice[k]);
                      if (qChoice[k]==1)
                      {
                        mozillaq.childNodes(k).setAttribute("choice_img","../images/check_on.jpg");
                      }
                       if (mozillaq.getAttribute("show_ans_explanation")== 1  &&  mozillaq.childNodes[k].getAttribute("correct")==1 )
                      {
                            mozillaq.childNodes[k].setAttribute("choice_img","../images/correct_answer.jpg");
                      }
                      
                 }

	            
        }
   	else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
   	  {  
   	            mozillaq=source.evaluate("/xml/question["+(i)+"]", source, null, 9, null).singleNodeValue;
               

	            mozillaq.setAttribute("answered",uavar[1]);
	            mozillaq.setAttribute("flagged",uavar[2]);
	            mozillaq.setAttribute("is_correct",uavar[3]); 
	            mozillaq.setAttribute("save_q",uavar[4]);
	            mozillaq.setAttribute("complexity",uavar[5]);
	            mozillaq.setAttribute("user_complexity",uavar[6]); 
	            mozillaq.setAttribute("show_ans_explanation",uavar[7]); 
	            
	             for (var k=0;k<qChoice.length;k++)
                 {
                          mozillaq.childNodes[k].setAttribute("selected",qChoice[k]);
                              if (qChoice[k]==1)
                              {
                                mozillaq.childNodes[k].setAttribute("choice_img","../images/check_on.jpg");
                              }
                              //alert('reached');
                          if (mozillaq.getAttribute("show_ans_explanation")== 1  &&  mozillaq.childNodes[k].getAttribute("correct")==1 )
                          {
                                mozillaq.childNodes[k].setAttribute("choice_img","../images/correct_answer.jpg");
                          }
                      
                 }
	           
	            
	            
   	  }
   	  
	        
  }
		
	updateResult();	

}

 



function GoBack()
{  
   // document.getElementById("testButtons").style.display = "inline"; //to show it

    display(true);
}
   

 
function display(refreshMe)
{

	if (refreshMe==true)
	{
		viewRange.value="position()="+(curPage)+"";
		status="Current page "+(curPage+1)+"/"+(lastPage+1)
		
		if (window.ActiveXObject)
	    {
			question.innerHTML = source.documentElement.transformNode(stylesheet);
		}
		else if (document.implementation && document.implementation.createDocument)
    	{
    		xsltProcessor = new XSLTProcessor(); 
        	xsltProcessor.importStylesheet(stylesheet); 
        	result = xsltProcessor.transformToDocument(source); 
        
	   	document.getElementById("question").innerHTML =result.xml;
    	}
    	
    	//Added code for next page refresh
	document.getElementById("temp").value=source.xml;
//alert(document.getElementById("temp").value);
	}	
}	












function updateComplexity(obj,qid)
{	

if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question[@id='"+qid+"']");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question[@id='"+qid+"']", source, null, 9, null).singleNodeValue;
     }
     
	
	if (deltasRow.getAttribute("user_complexity")!=obj.value)
		deltasRow.setAttribute("user_complexity",obj.value);					
	
	
}

function updateSaveQ(obj,qid)
{	
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question[@id='"+qid+"']");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question[@id='"+qid+"']", source, null, 9, null).singleNodeValue;
     }
	deltasRow.setAttribute("save_q",obj.value)					
}



function updateResult()
{// Look for the deltas node with the passed in primary key
var question;
if (window.ActiveXObject)               // IE
        {
		question=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        question=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
     
	
	
	var x=0,y=0,z=0,f=0;
	
	for ( i=1 ;i<question.childNodes.length ;i++)
	{	
	
	if (window.ActiveXObject)               // IE
        {
		if (question.childNodes(i).getAttribute("answered")=="1")
		{
			z = z +1 ;	
			if (question.childNodes(i).getAttribute("is_correct")=="1")
				x = x +1 ;	
			else
				y = y +1 ;	
		}
		if (question.childNodes(i).getAttribute("flagged")=="1")
		{
			f = f +1 ;	
		}
        }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        if (question.childNodes[i].getAttribute("answered")=="1")
		{
			z = z +1 ;	
			if (question.childNodes[i].getAttribute("is_correct")=="1")
				x = x +1 ;	
			else
				y = y +1 ;	
		}
		if (question.childNodes[i].getAttribute("flagged")=="1")
		{
			f = f +1 ;	
		}
     }
     
     
		
	}		
	
	var q1;
	if (window.ActiveXObject)               // IE
        {
		q1=question.selectSingleNode("result");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        q1=source.evaluate("/xml/result", source, null, 9, null).singleNodeValue;
     }
     
     
	q1.setAttribute("tot_q_flagged",f );
	q1.setAttribute("tot_q_answered",z );
	q1.setAttribute("tot_q_correct",x );
	q1.setAttribute("tot_q_wrong",y );
}











function updateXML(obj,qid)
{	
	
	if (window.ActiveXObject)               // IE
        {
		deltasRow=source.selectSingleNode("/xml/question[@id='"+qid+"']/choice[@id='"+ obj.id +"']");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        deltasRow=source.evaluate("/xml/question[@id='"+qid+"']/choice[@id='"+ obj.id +"']", source, null, 9, null).singleNodeValue;
     }
	
	var question;
	if (window.ActiveXObject)               // IE
        {
		question=source.selectSingleNode("/xml");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
        question=source.evaluate("/xml", source, null, 9, null).singleNodeValue;
     }
	var q1;
	
		if (window.ActiveXObject)               // IE
        {
		q1 = question.selectSingleNode("question[@id='"+qid+"']");
		
	    }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
     
    q1 =source.evaluate("/xml/question[@id='"+qid+"']", source, null, 9, null).singleNodeValue;
	
     }
	
 if (q1.getAttribute("show_ans_explanation")=="1")
		return;
	
	var z=0,t=0;
	//Check if more answers are selected than expected
	for (var i=0 ;i<q1.childNodes.length ;i++)
	{
	if (window.ActiveXObject)               // IE
        {
	if (q1.childNodes(i).getAttribute("selected")=="1")
			z = z +1 ;	
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
       if (q1.childNodes[i].getAttribute("selected")=="1")
			z = z +1 ;	
     }
		
	}	
	
	
	if (deltasRow.getAttribute("selected")=="1")
		z=z-1;
	else
		z=z+1;
	
	
	t=q1.getAttribute("tot_answers");
	
	if (z>t) 
	{
		alert("You are about select more answers than expected.\nPlease unselect any of other choices before selecting this new choice.");
		return;
	}
	 	
	if (deltasRow.getAttribute("selected")=="1")
		{
		deltasRow.setAttribute("choice_img","../images/check_off.jpg");
		deltasRow.setAttribute("selected","0");								
		}
	else
		{
		deltasRow.setAttribute("choice_img","../images/check_on.jpg");
		deltasRow.setAttribute("selected","1");	
									
		}
	
	q1.setAttribute("answered","0");
	q1.setAttribute("flagged","0");
	q1.setAttribute("is_correct","1");
	
	for (var i=0 ;i<q1.childNodes.length ;i++)
	{
		
			if (window.ActiveXObject)               // IE
        {
        if (q1.childNodes(i).getAttribute("selected")=="1")
		{
		
	
			q1.setAttribute("answered","1");
			q1.setAttribute("flagged","0");
		}
		if (q1.childNodes(i).getAttribute("correct")=="1" && q1.childNodes(i).getAttribute("selected")=="0" )
			q1.setAttribute("is_correct","0");
         }
  else if (document.implementation && document.implementation.createDocument)    //MOZILLA,NS
     {  
     if (q1.childNodes[i].getAttribute("selected")=="1")
		{
			q1.setAttribute("answered","1");
			q1.setAttribute("flagged","0");
		}
       if (q1.childNodes[i].getAttribute("correct")=="1" && q1.childNodes[i].getAttribute("selected")=="0" )
			q1.setAttribute("is_correct","0");
     }
 
	}
	updateResult();
	
    display(true);
}






function CalcKey(value)
{
var srclen=0;
var temp=value;
for(i=0;i<temp.length;i++)
{
srclen=srclen+temp.charCodeAt(i);
}
if(srclen==0)
{
//alert('Please Enter the appropriate Key');
}
return srclen;

}

  
function Review_new()
{

if (window.ActiveXObject)
	    {
	    
	reviewXSL=new ActiveXObject("Microsoft.xmldom");
	reviewXSL.async=false;
	reviewXSL.load(review_XSL);
	question.innerHTML =source.documentElement.transformNode(reviewXSL);
	//testButtons.style.display = "none"; 
	
		}
		else if (document.implementation && document.implementation.createDocument)
    	{
    	
    	
    	//var resultXSL=zXmlDom.createDocument();;
	//resultXSL.async=false;
	//resultXSL.load("../xml_xsl/resultXSL.xsl");



        xsltProcessor1 = new XSLTProcessor(); 
        xsltProcessor1.importStylesheet(sourcervw.responseXML); 
        result = xsltProcessor1.transformToDocument(source); 


	document.getElementById("question").innerHTML =result.xml;
//	document.getElementById("testButtons").style.display = "none"; //to hide it

    	}
    	

    
  
} 




function Decryption(value)

{
var txt=value;
var j=3;
var temp1;
var res="";
var srclen=0;
srclen=CalcKey('oBsIT');
if(srclen>0)
{
if(txt.length>0)
{
for(i=0;i<txt.length;i+=3)
{

var temp=txt.substring(i,j);
temp1=(parseInt(temp)-srclen);
var t=unescape('%'+temp1.toString(16));
if(t=='%d' || t=='%a')
{
res=res+' ';
}
else
{
res=res+t
} 
j+=3;
}
return res;
}
else
{
//alert('Some error occured while loading the test');
}
}
}

