//var bTestStarted=false; var TimerID=null; var iTimerCounter=0; var ctlTimer=null; var bCheckedAnswers=false; var dans = new Array(); var xsol = new Array(); var dansflags = new Array(); var danscheck = new Array(); var dNeedReview = new Array(); var dNeededHelp = new Array(); //var dmarked = new Array(); function MarkForReview(iQNo) { if (bStartTest) { var bValue=document.getElementById("oCheckQ"+iQNo).checked; dNeedReview[iQNo]=false; if (bValue) { //dmarked[iQNo]=parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className; dNeedReview[iQNo]=true; parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusMarked"; } else { if (dansflags[iQNo]) parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusDone"; else parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusOpen"; } Check("Mark For Review" + iQNo); } else { window.alert("Please start the quiz first by clicking on the Start button."); document.getElementById("oCheckQ"+iQNo).checked=false; } } function MarkAnswers()//USED { for(iQNo = 1; iQNo <= iTotalQNo; iQNo++) { var sVarName=""; var sSols=dsol[iQNo]; var asSols=sSols.split(","); var sControllist=","+dqcontrollist[iQNo]; var asControllist=sControllist.split(","); var bOK=true; var iCorrectAnsCount=0; for(var i = 0; i < asSols.length; i++) { sVarName=asControllist[asSols[i]];//"ocheckbox"+iQNo+"_"+asSols[i]; if (!document.getElementById(sVarName).checked) bOK=false; else iCorrectAnsCount++; } var oQComment=document.getElementById("oQComment"+iQNo); if (bOK) { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusCorrect"; oQComment.innerHTML="[Your answer is Correct.]"; oQComment.style.color="green"; } else { if (dansflags[iQNo]) { if (iCorrectAnsCount>0) { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusError"; oQComment.innerHTML="[Your answer is only partially correct.]"; oQComment.style.color="red"; } else { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusError"; oQComment.innerHTML="[Your answer is Incorrect.]"; oQComment.style.color="red"; } } else { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusSkip"; oQComment.innerHTML="[Not answered.]"; oQComment.style.color="red"; } } } } function MarkAnswer(iQNo,iCount,sVarName,VarCommentID,IsAnswer) { var oVar=document.getElementById(sVarName); var oVarComment=document.getElementById(VarCommentID); var oQComment=document.getElementById("oQComment"+iQNo); if (oVar.checked) { if (IsAnswer=="Y") { danscheck[iQNo]="1"; //if (danscheck[iQNo]!="1") //{ parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusCorrect"; oQComment.innerHTML="[Your answer is Correct.]"; oQComment.style.color="green"; //} //oVarComment.innerHTML=" Correct!"; //oVarComment.style.color="green"; } else { danscheck[iQNo]="1"; ////oVarComment.innerHTML=" << Your answer"; ////oVarComment.style.color="red"; parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusError"; oQComment.innerHTML="[Your answer is Incorrect.]"; oQComment.style.color="red"; } } else { if (IsAnswer=="Y") { if (danscheck[iQNo]!="1") { //danscheck[iQNo]="1"; //oVarComment.innerHTML=" << Your answer"; //oVarComment.style.color="red"; parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusSkip"; oQComment.innerHTML="[Not answered.]"; oQComment.style.color="red"; } } } } function DisplayExplanation(iQNo) { document.getElementById("oSolution"+iQNo).style.display="inline"; } function DisplaySolutionRadio(iQNo) //Obsolete use DisplaySolutionCheckbox { var sVarName="oradio"; var sVarSolContainer="idSolDisp"+iQNo; var sVarSolContainer1="idSolDispA"+iQNo; var sMsg=""; var asChoiceType=sChoiceType.split(","); var sSols=dsol[iQNo]; var asSols=sSols.split(","); var bOK=true; for(var i = 0; i < asSols.length; i++) { sVarName="oradio"+iQNo+"_"+asSols[i]; if (!document.getElementById(sVarName).checked) bOK=false; if (sMsg.Length==0) sMsg=asChoiceType[asSols[i]]; else sMsg=sMsg+ " and "+asChoiceType[asSols[i]]; } if (!bOK) { sMsg="Correct answer is "+sMsg+"."; var oQSolContainer=document.getElementById(sVarSolContainer); var oQSolContainer1=document.getElementById(sVarSolContainer1); oQSolContainer1.innerHTML=sMsg; dNeededHelp[iQNo]=1; } } function DisplaySolutionRadiov1(iQNo) { var sVarName="oradio"; var oQComment=document.getElementById("oQComment"+iQNo); sVarName=sVarName+iQNo+"_"+dsol[iQNo]; //window.alert(sVarName); document.getElementById(sVarName).checked=true; SetAnswer(iQNo, dsol[iQNo], sVarName, "radio"); dNeededHelp[iQNo]=1; oQComment.innerHTML="[Correct answer is checked below.]"; oQComment.style.color="blue"; } function DisplaySolutionCheckbox(iQNo) { return DisplaySolutionCheckbox(iQNo,""); } function DisplaySolutionCheckbox(iQNo, source) //Equiv DisplaySolution//USED { var sVarName=""; var sVarSolContainer="idSolDisp"+iQNo; var sVarSolContainer1="idSolDispA"+iQNo; var sMsg=""; var asChoiceType=sChoiceType.split(","); var sSols=dsol[iQNo]; var asSols=sSols.split(","); var sControllist=","+dqcontrollist[iQNo]; var asControllist=sControllist.split(","); var ascontrols=sControllist.split(","); var oacontrols=new Array(); var bAnyQuestionAnswered=false; for(var i = 1; i < ascontrols.length; i++) { oacontrols[i]=document.getElementById(ascontrols[i]); //oacontrols[i].disabled=true; if (!bAnyQuestionAnswered) { if (ascontrols[i].indexOf('text')!=-1) { if (oacontrols[1].value.length>0) bAnyQuestionAnswered=true; } else { if (oacontrols[i].checked) bAnyQuestionAnswered=true; } } } if (bAnyQuestionAnswered) { for(var i = 1; i < ascontrols.length; i++) { oacontrols[i].disabled=true; } } var bOK=true; for(var i = 0; i < asSols.length; i++) { ////sVarName=asControllist[asSols[i]];//"ocheckbox"+iQNo+"_"+asSols[i]; ////if (!document.getElementById(sVarName).checked) if (sControllist.indexOf('text')!=-1) { if (oacontrols[1].value!=asSols[i]) bOK=false; if (sMsg.length==0) sMsg=asSols[i]; else sMsg=sMsg+ " and "+asSols[i]; } else { if (!oacontrols[asSols[i]].checked) bOK=false; if (sMsg.length==0) sMsg=asChoiceType[asSols[i]]; else sMsg=sMsg+ " and "+asChoiceType[asSols[i]]; } } var oQSolContainer=document.getElementById(sVarSolContainer); var oQSolContainer1=document.getElementById(sVarSolContainer1); oQSolContainer.style.visibility="visible"; //oQSolContainer.style.display="inline"; if (!bOK) { if (sQMode=="L") { if (bAnyQuestionAnswered) { sMsg="Your answer is incorrect! Correct answer is "+sMsg+"."; } else { if (source=="INTERNAL") sMsg=""; else sMsg="You didn't answer this question. Correct answer is "+sMsg+"."; } } else { sMsg="Correct answer is "+sMsg+"."; } oQSolContainer1.innerHTML=sMsg; dNeededHelp[iQNo]=1; } else { sMsg="Your answer is correct!"; oQSolContainer1.innerHTML=sMsg; } //oQComment.innerHTML="[Correct answer is checked below.]"; //oQComment.style.color="blue"; //Check("Display Solution "+iQNo); return bAnyQuestionAnswered; } function DisplaySolutionCheckboxv1(iQNo) { var sVarName="ocheckbox"; var oQComment=document.getElementById("oQComment"+iQNo); var sAnsCommentID=""; var asQControls=dqcontrollist[iQNo].split(","); for(var i = 1; i <= asQControls.length; i++) { sVarName="ocheckbox"+iQNo+"_"+i; var oChk=document.getElementById(sVarName) sAnsCommentID="oComment"+iQNo+"_"+i; if (oChk!=null) { oChk.checked=false; SetAnswer(iQNo, i, sVarName, "checkbox"); } } var sSols=dsol[iQNo]; var asSols=sSols.split(","); for(var i = 0; i < asSols.length; i++) { sVarName="ocheckbox"+iQNo+"_"+asSols[i]; //window.alert(sVarName+":"+sSols); document.getElementById(sVarName).checked=true; SetAnswer(iQNo, asSols[i], sVarName, "checkbox"); } dNeededHelp[iQNo]=1; oQComment.innerHTML="[Correct answer is checked below.]"; oQComment.style.color="blue"; Check("Display Solution "+iQNo); } function SetAnswer(iQNo, iAnsNo, sVarName, sVarType) { //document.getElementById("oCheckQ"+iQNo).disabled=false; //document.getElementById("oCheckQ"+iQNo).checked=false; //window.alert(sVarType+":"+sVarName); if (dans[iQNo]==null || sVarType=="radio") dans[iQNo]=new Array(); var ascontrols=dqcontrollist[iQNo].split(","); var oacontrols=new Array(); var sAnsList=""; var iAnsSelectCount=0; if (sVarType=="textbox") { oacontrols[0]=document.getElementById(ascontrols[0]); iAnsSelectCount++; sAnsList=oacontrols[0].value; } else { for(var i = 0; i < ascontrols.length; i++) { oacontrols[i]=document.getElementById(ascontrols[i]); if (ascontrols[i]!=sVarName && sVarType=="radio") { //window.alert(ascontrols[i]); oacontrols[i].checked=false; } if (oacontrols[i].checked==true) { iAnsSelectCount++; if (sAnsList.length==0) sAnsList=""+(i+1); else sAnsList=sAnsList+","+(i+1); } } } var assol=dsol[iQNo].split(","); if (sQMode=="L") { if (assol.length<=iAnsSelectCount) { if (DisplaySolutionCheckbox(iQNo,"INTERNAL")) { for(var i = 0; i < ascontrols.length; i++) { oacontrols[i].disabled=true; } } } } var bIsAnsCorrect=false; if (dsol[iQNo]==sAnsList) bIsAnsCorrect=true; if (sVarType=="textbox") { dans[iQNo][iAnsNo]="1"; } else { if (document.getElementById(sVarName).checked) dans[iQNo][iAnsNo]="1"; else dans[iQNo][iAnsNo]=""; } var sIsAnswered=""; ////var asQControls=dqcontrollist[iQNo].split(",");//6 for (var i=1; i<=ascontrols.length; i++) { if (dans[iQNo][i]!=null && dans[iQNo][i]=="1") sIsAnswered="Y"; } if (sIsAnswered=="Y") { if (sQMode=="L") { if (bIsAnsCorrect) { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusCorrect"; } else { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusError"; } } else { if (bCheckedAnswers) parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusCorrect"; else parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusDone"; } dansflags[iQNo]=true; } else { parent.frames[1].document.getElementById("oCellQStatus"+iQNo).className="cCellQStatusOpen"; dansflags[iQNo]=false; } if (dNeedReview[iQNo]) { document.getElementById("oCheckQ"+iQNo).checked=false; dNeedReview[iQNo]=false; } if (xsol[iQNo]=="Y") { var oSolContainer=document.getElementById("oDisplayExplanation"+iQNo); if (oSolContainer!=null) oSolContainer.style.display="inline"; } Check("Set Answer "+iQNo); //window.alert(sVarType+":"+sVarName); //window.alert(dans[iQNo]); }