function Question (qname,
type,
qstring,
response,
comment,
corrects,
explan,
score,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.comment=comment;
this.corrects=corrects;
this.explan=explan;
this.score=score;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

var zin=1,top=0, mycount=0, waitTime=0, qright=0, mycomment, nestcom=false;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
P7_OpResizeFix();
function P7_OpResizeFix(a) { //v1.1 by PVII
if(!window.opera){return;}if(!document.p7oprX){
 document.p7oprY=window.innerWidth;document.p7oprX=window.innerHeight;
 document.onmousemove=P7_OpResizeFix;
 }else{if(document.p7oprX){
  var k=document.p7oprX-window.innerHeight;
  var j=document.p7oprY - window.innerWidth;
  if(k>1 || j>1 || k<-1 || j<-1){
  document.p7oprY=window.innerWidth;document.p7oprX=window.innerHeight;
  do_reposition();}}}
}
function cachewrite(s,idx){global[idx]+=s;}
function CheckOpera56()
{
var version;
if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) return false;
version=parseInt(navigator.appVersion.toLowerCase());
if (version>6) {opera7=true; return false;}
if (version<5) return false;
return true;
}
resp=""
corr="Chemostat"
comm=valu=""
quest001 = new Question(
"Question 1",
3,
"<font face=\"Arial\" size=\"4\">The apparatus used in the continuous culture of microorganisms is called a:</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">The apparatus used in the continuous culture of microorganisms is called a <b>chemostat</b>.</font><br></small>",
valu,
1,
0,
0,
"");

resp=""
corr="Exponential"
comm=valu=""
quest002 = new Question(
"Question 2",
3,
"<font face=\"Arial\" size=\"4\">Which phase of fungal growth is represented by the middle, <b><u>red</u></b> section in this graph?</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">The middle, red section in this graph represents the <b>exponential</b> phase of fungal growth.</font></small>",
valu,
1,
0,
0,
"graph1_quest.gif");

resp=""
corr="Exponential"
comm=valu=""
quest003 = new Question(
"Question 3",
3,
"<font face=\"Arial\" size=\"4\">Which phase of fungal growth is represented by the middle, <b><u>red</u></b> section in this graph?</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">The middle, red section in this graph represents the <b>exponential</b> phase of fungal growth.</font></small>",
valu,
1,
0,
0,
"graph2_quest.gif");

resp=new Array("<font face=\"Arial\" size=\"4\">Lag</font>","<font face=\"Arial\" size=\"4\">Exponential</font>","<font face=\"Arial\" size=\"4\">Acceleration</font>","<font face=\"Arial\" size=\"4\">Linear</font>","<font face=\"Arial\" size=\"4\">Deceleration</font>")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"<font face=\"Arial\" size=\"4\">Which phase of fungal growth is represented by the middle section in this graph, labelled 'A'?</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">The middle section in this graph (labelled 'A') represents the <b>linear</b> phase of colony growth. During this phase the rate of increase in colony radius is constant.</font><br></small>",
valu,
1,
0,
0,
"graph4_quest.gif");

resp=""
corr="0.35"
comm=valu=""
quest005 = new Question(
"Question 5",
6,
"<font face=\"Arial\" size=\"4\">The doubling time (T<sub>d</sub>) of a yeast species is 2 hours. What is the species' specific growth rate </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">&#160;(h<sup>-1</sup>)? Present your answer to two decimal places.</font>",
resp,
comm,
corr,
"<small><img src=\"wbexp5_1.PNG\" align=\"middle\" width=\"12\" height=\"23\" border=\"0\" alt=\"graphic\"/><img src=\"wbexp5_2.PNG\" align=\"middle\" width=\"71\" height=\"41\" border=\"0\" alt=\"graphic\"/><img src=\"wbexp5_3.PNG\" align=\"middle\" width=\"12\" height=\"23\" border=\"0\" alt=\"graphic\"/><br><font face=\"Arial\" size=\"4\">If the doubling time of the yeast species is 2 hours, then: </font><br><font face=\"Arial\" size=\"4\">&#160;</font><img src=\"wbexp5_4.PNG\" align=\"middle\" width=\"83\" height=\"41\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\">&#160;<b>0.35 h</b><b><sup>-1</sup></b></font><br></small>",
valu,
1,
0,
0,
"");

resp=""
corr="3.3"
comm=valu=""
quest006 = new Question(
"Question 6",
6,
"<font face=\"Arial\" size=\"4\">The specific growth rate </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">&#160;of a yeast species is 0.21h<sup>-1</sup>. What is the species' doubling time (T<sub>d</sub>) in hours? Present your answer to one decimal place.</font><br>",
resp,
comm,
corr,
"<small><img src=\"wbexp6_1.PNG\" align=\"middle\" width=\"12\" height=\"23\" border=\"0\" alt=\"graphic\"/><img src=\"wbexp6_2.PNG\" align=\"middle\" width=\"75\" height=\"44\" border=\"0\" alt=\"graphic\"/><img src=\"wbexp6_3.PNG\" align=\"middle\" width=\"12\" height=\"23\" border=\"0\" alt=\"graphic\"/><br><font face=\"Arial\" size=\"4\">If the specific growth rate of the yeast species is&#160; 0.21h<sup>-1</sup>, then: </font><br><font face=\"Arial\" size=\"4\">&#160;</font><img src=\"wbexp6_4.PNG\" align=\"middle\" width=\"87\" height=\"41\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\">&#160;<b>3.3 hours</b></font><br></small>",
valu,
1,
0,
0,
"");

resp=""
corr="2.5"
comm=valu=""
quest007 = new Question(
"Question 7",
6,
"<font face=\"Arial\" size=\"4\">What is the specific growth rate of a fungus being cultured in a chemostat, if the flow rate of the culture medium is 13750 mL per hour and the volume of the culture is 5.5 L? Present your answer to one decimal place.</font>",
resp,
comm,
corr,
"<small><img src=\"wbexp7_1.PNG\" align=\"middle\" width=\"45\" height=\"41\" border=\"0\" alt=\"graphic\"/><br><font face=\"Arial\" size=\"4\">The flow rate (f) of the culture medium = 13750 mL.h<sup>-1</sup></font><br><font face=\"Arial\" size=\"4\">The volume (v) of the culture = 5.5 L = 5500 mL</font><br><font face=\"Arial\" size=\"4\">Therefore, the specific growth rate (</font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">) of the fungus = </font><img src=\"wbexp7_2.PNG\" align=\"middle\" width=\"59\" height=\"41\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\"><b>2.5 h</b><b><sup>-1</sup></b></font></small>",
valu,
1,
0,
0,
"");

resp=new Array("<font face=\"Arial\" size=\"4\">Equivalent to the colony radius</font>","<font face=\"Arial\" size=\"4\">The arrangement of vesicles at the tip of a hypha</font>","<font face=\"Arial\" size=\"4\">The colony margin</font>","<font face=\"Arial\" size=\"4\">The length of hypha required to maintain maximum growth rate of leading hyphae at the colony margin</font>")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"<font face=\"Arial\" size=\"4\">The 'peripheral growth zone' is:</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">The 'peripheral growth zone' is represented by the length of hypha required to maintain maximum growth rate of leading hyphae at the colony margin.</font></small>",
valu,
1,
0,
0,
"");

resp=""
corr="1.8"
comm=valu=""
quest009 = new Question(
"Question 9",
3,
"<font face=\"Arial\" size=\"4\">The peripheral growth zone of a colony is found to be 110 </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">m and the colony radial growth rate is 4.8 mm per day. What is the colony's specific growth rate (h<sup>-1</sup>)? Present your answer to one decimal place.</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">Specific growth rate</font><img src=\"wbexp9_1.PNG\" align=\"middle\" width=\"53\" height=\"41\" border=\"0\" alt=\"graphic\"/><br><font face=\"Arial\" size=\"4\">The peripheral growth zone (W) = 110 </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">m </font><br><font face=\"Arial\" size=\"4\">Colony radial growth rate = Kr = 4.8 mm per day = 200 </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">m.h<sup>-1</sup></font><br><font face=\"Arial\" size=\"4\">Therefore:</font><br><img src=\"wbexp9_2.PNG\" align=\"middle\" width=\"71\" height=\"41\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\"><b>1.8 h</b><b><sup>-1</sup></b></font><br></small>",
valu,
1,
0,
0,
"");

resp=""
corr="7.2"
comm=valu=""
quest010 = new Question(
"Question 10",
6,
"<font face=\"Arial\" size=\"4\">We have determined that the specific growth rate of a colony is 1.5 h-<sup>1 </sup>and that the length of the colony's peripheral growth zone is 200 mm. What is the colony's radial growth rate in mm.day<sup>-1</sup>? Present your answer to one decimal place.</font>",
resp,
comm,
corr,
"<small><font face=\"Arial\" size=\"4\">Specific growth rate</font><img src=\"wbexp10_1.PNG\" align=\"middle\" width=\"53\" height=\"41\" border=\"0\" alt=\"graphic\"/><br><font face=\"Arial\" size=\"4\">Therefore, </font><img src=\"wbexp10_2.PNG\" align=\"middle\" width=\"77\" height=\"21\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\">&#160;</font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">mh<sup>-1 </sup>= 1.5 x 200 = 300 </font><font face=\"Symbol\" size=\"4\">m</font><font face=\"Arial\" size=\"4\">mh<sup>-1</sup></font><br><img src=\"wbexp10_3.PNG\" align=\"middle\" width=\"113\" height=\"41\" border=\"0\" alt=\"graphic\"/><font face=\"Arial\" size=\"4\"><b>7.2 mm.day</b><b><sup>-1</sup></b></font><br><br /><br></small>",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;

if (opera && top==0) top=document.getElementById("wq_user").style.top;document.write("\n")
document.write("<div id=\"q")
document.write(numord)
document.write("\" ")
document.write(opera?" style=\"position: absolute; visibility:hidden; top:"+top+"; z-index:"+(++zin)+";\"":" style=\"display:none\"");
document.write(">\n")
document.write("  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n")
document.write("  <tr>\n")
document.write("    <td>\n")
document.write("      <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n")
document.write("      <tr height=15>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"5%\" rowspan=\"4\"></td>\n")
document.write("        <td width=\"9%\" rowspan=\"4\" background=\"m_topnumber.gif\" valign=\"top\" align=\"center\" >\n")
document.write("          <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n")
document.write("          <tr height=\"5\">\n")
document.write("            <td></td>\n")
document.write("          </tr>\n")
document.write("          <tr>\n")
document.write("            <td valign=\"top\" align=\"center\">\n")
document.write("              <font face=\"Verdana\" size=\"6\" color=\"#00399C\">")
document.write(numord)
document.write("</font>\n")
document.write("            </td>\n")
document.write("          </tr>\n")
document.write("          </table>\n")
document.write("        </td>\n")
document.write("        <td width=\"1%\" rowspan=\"4\">&nbsp;</td>\n")
document.write("        <td width=\"80%\" class=\"question\" valign=\"top\">\n")
document.write("         ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"0\" align=\"left\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("         ")
}
document.write("\n")
document.write("          ")
document.writeln(questions[quest].qstring)
document.write("\n")
document.write("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=1>\n")
document.write("        <td width=\"80%\" bgcolor=\"#00399C\" background=\"m_dots.gif\"></td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=10>\n")
document.write("        <td width=\"80%\"></td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"80%\" class=\"answer\">\n")
document.write("          ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("          ")
document.write(type==7?"<textarea name=\""+myname+"\" rows=5 cols=30 class=\"input\">":" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write(type==7?"</textarea>":"\" class=\"input\" value=\"\">\n")
if (type<3) document.write(questions[quest].response[i]);
document.write("<br>\n")
document.write("          ")
}
document.write("\n")
document.write("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=5>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      </table>\n")
document.write("    </td>\n")
document.write("  </tr>\n")
document.write("  </table>\n")
document.write("</div>\n")
document.write("\n")
document.write("<div id=\"q")
document.write(numord)
document.write("a\" ")
document.write(opera?" style=\"position: absolute; visibility:hidden; top:"+top+"; z-index:"+(++zin)+";\"":" style=\"display:none\"");
document.write(">\n")
document.write("  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n")
document.write("  <tr height=10>\n")
document.write("    <td>&nbsp;</td>\n")
document.write("  </tr>\n")
document.write("  <tr>\n")
document.write("    <td align=\"center\">\n")
document.write("      ")
document.write("\n")
document.write("      ")
if (quest<questions.length) {
document.write("\n")
document.write("      <a href=\"javascript:void(0)\" ")
document.write(" onClick='")
if (type>3 && type<7) document.write("if (doCheck("+quest+")) ")
document.write("myshow("+quest+",2)' ")
document.write(" onmouseout=\"flipImage ('Next")
document.write(numord)
document.write("', 'NextImage_normal');\" onmouseover=\"flipImage ('Next")
document.write(numord)
document.write("', 'NextImage_up');\"><img alt=\"Next\" border=0 height=34 width=85 name=Next")
document.write(numord)
document.write(" src=\"m_next_button.gif\"></a>\n")
document.write("      ")
}
document.write("\n")
document.write("      ")
document.write("\n")
document.write("    </td>\n")
document.write("  </tr>\n")
document.write("  </table>\n")
document.write("</div>\n")
}
function doTest() {
var count, i;
questions.sort(myrandom);
for (i=0; i<questions.length; i++) {
questions[i].qname="Question "+(i+1);}
count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>"+due+"<br>"+mycomment+tre+"</p>",2);
mycomment="";
}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=1, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=waitTime=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";
if (opera) tmp.value="";}}
global[0]=global[2]="";
global[1]="<h3>Congratulations, you haven't made any errors</h3>";
cachewrite("<html><head><title>Results</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Results</b></font></td></tr></table>",0)
now= new Date()
cachewrite("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>",0)
cachewrite("<b>Growth Kinetics</b><br><br>\n",0);
if (udat.length>0) {
cachewrite("<b>Information</b><br>\n",0);
for (i=0; i<udat.length; i++) cachewrite(udat[i],0);}
if (opera7 && multipage) {
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.display=id2.style.display="block";}
document.getElementById('wq_final').style.display='block';
}

for (i=0; i<questions.length; i++) {
if (opera && multipage) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.visibility=id2.style.visibility="visible";}
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
mycomment="";
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (questions[i].score!="") evaluation+=questions[i].score[selection];
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}
if (questions[i].comment!="" && questions[i].comment[selection]!="")
mycomment+=((iscorrect || questions[i].corrects=='')?"<b>"+questions[i].qname+"</b><br>":"")+"<small>"+questions[i].comment[selection]+"</small><br>";
} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  should have been selected.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp="", z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
if (okresp!="") errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (mycomment!="") cachewrite(mycomment,2);
if (questions[i].corrects!="") ++qright;
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (qright==0) global[1]="<br>";
if (errori) cachewrite("<br><b>You have made "+errori+" "+(errori==1?"error":"errors")+".</b>",2);
cachewrite("<br><b>Total score: "+total+".</b><br>",2);

cachewrite("</small><hr noshade><center><form>",2)
printest="print()";
cachewrite("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;",2)
cachewrite("<input type='button' value='Close' onClick='window.close()'></form></center>",2)
cachewrite(aknw,2)
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
for (i=0; i<3; i++) winr.document.write(global[i]);winr.document.close()
if ((opera || opera7) && multipage) {
document.forms[0].elements[0].value='Print...';
document.forms[0].elements[1].value='Close';
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
opera?id.style.visibility=id2.style.visibility="hidden":id.style.display=id2.style.display="none";}}
}
aknw="<br><p align='center'><small><small>Created and managed with <a title='Click here to visit WebQuiz site' href='http://www.smartlite.it/go.asp?OLDLP' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
function myrandom(a,b)
{
var rc;
do {rc=Math.floor(Math.random()*3)-1;} while (rc==2);
return(rc);
}
function doCheck(quest)
{
var i, wapf=document.WapForm;
for (i=0; i<wapf.elements.length; i++) {
if (CheckQName(wapf,i,quest,0,0)) {
return (InputCheck(wapf.elements[i],questions[quest].type-4));}}}
function InputCheck(elem,format)
{
var mes, oks, checkOK, checkStr, nam, allValid;
checkStr=elem.value;
nam=elem.name;
mes=new Array("Insert only letters and/or space in field ","Insert only numbers in field ","Insert a valid number in field ");
oks=new Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f","0123456789-","0123456789-.");
checkOK=oks[format]
allValid=true
for (i = 0;  i < checkStr.length;  i++)
{ ch = checkStr.charAt(i);
for (j = 0;  j < checkOK.length;  j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{allValid = false;break;}}
if (!allValid)
{alert(mes[format]+nam);elem.focus();return (false);}
return (true);
}
function checkBrowser()
{
var browser=new Array('microsoft internet explorer','netscape','opera');
var version=new Array(5,5,6);
for (i=0; i<3; i++) {
var ref, pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos == -1) ref=parseInt(navigator.appVersion);
else {pos+=5;ref=eval(navigator.appVersion.charAt(pos));}
if (navigator.appName.toLowerCase()==browser[i] && ref>=version[i])
break;}
if (i==3) {
alert('The browser'+navigator.appName+' '+navigator.appVersion+' is not supported');
return false;}
return true;}
function myshow(count,dif)
{
var id, id2, wq_user, id_str, id2_str;
if (recdone==false && checkBrowser()==false) return;
if (recdone==false && waitTime!=0) checkTime();
if (dif>0) {
if (nestcom==false) {showcomment(count,true);if (nestcom) return;}
if (nestcom) showcomment(count,false);
count+=dif;}
else if (dif==0 && nestcom) showcomment(count,false);
mycount=count;
if (count==questions.length+1) {id_str="wq_final";id2_str="wq_final2"}
else {id_str="q"+count;id2_str="q"+count+"a";}
if (document.getElementById){
id=document.getElementById(id_str);
id2=document.getElementById(id2_str);
wq_user=document.getElementById("wq_user");
if (count==questions.length+1 && opera) {id2.style.top=id.style.top+id.style.height;}
} else if (document.all) {
id=document.all[id_str];
id2=document.all[id2_str];
wq_user=document.all["wq_user"];
} else {
id=eval(id_str);
id2=eval(id2_str);
wq_user=eval("wq_user");}
if (recdone==false) {
recent=wq_user;
recent2="";
recdone=true;}
opera?recent.style.visibility="hidden":recent.style.display="none";
if (recent2!="") opera?recent2.style.visibility="hidden":recent2.style.display="none";
opera?id.style.visibility="visible":id.style.display="block";
opera?id2.style.visibility="visible":id2.style.display="block";
if (count<questions.length+1 && questions[count-1].type>2) document.WapForm.elements[questions[count-1].qname].focus();
recent=id;recent2=id2;}
function do_reposition(){
var id, id2, wq_user, wq_final, wq_footer, i, y, h, max=0;
wq_user=document.getElementById("wq_user");
if (mycount>0) wq_user.style.visibility="hidden";
for (i=1; i<=questions.length; i++) {
id=document.getElementById("q"+i);
id2=document.getElementById("q"+i+"a");
id2.style.top=id.style.top+id.style.height;
h=id2.style.height;y=id2.style.top;
if (mycount==i) id.style.visibility=id2.style.visibility="visible";
if (y+h>max) max=y+h;}
wq_final=document.getElementById("wq_final");
wq_footer=document.getElementById("wq_footer");
if (wq_final.style.visibility!="hidden") {
wq_final.style.top=max;max+=wq_final.style.height;}
if (wq_footer.style.visibility!="hidden") {
wq_footer.style.top=max;}
}
function reenable(n){
var wapf=document.WapForm, selection=0;
nestcom=false;
for (i=0; i<wapf.elements.length; i++){
if (CheckQName(wapf,i,n,questions[n].type==1?1:0,selection)) {
++selection;
wapf.elements[i].disabled=false;
}}}
function getspecific(n,general){
var iscorrect=false, iswrong=false;;
var wapf=document.WapForm, selection=0, result="";
for (i=0; i<wapf.elements.length; i++){
if (CheckQName(wapf,i,n,questions[n].type==1?1:0,selection)){
if (questions[n].type>=3 && (questions[n].corrects=="" || wapf.elements[i].value.toLowerCase()==questions[n].corrects.toLowerCase()))
iscorrect=true;
if (questions[n].type<3) {
if (questions[n].corrects[selection]=="1") {
if (wapf.elements[i].checked) iscorrect=(iswrong==false)?true:false;
else {iswrong=true;iscorrect=false;}
} else {
if (wapf.elements[i].checked) {iswrong=true;iscorrect=false;}}
if (questions[n].comment!="" && wapf.elements[i].checked)
if (questions[n].comment[selection]!="") result+=questions[n].comment[selection]+"<br>";
++selection;
}
wapf.elements[i].disabled=true;
}}
if (general!="" && iscorrect==false) result+=general;
return result;
}
function showcomment(n,show){
var mylayer, specific, text="";
if (n>=questions.length) return;
if (show) specific=getspecific(n,questions[n].explan);
if (specific!=""){
if (document.getElementById)
mylayer=document.getElementById("wq_inline");
else if (document.all)
mylayer=document.all["wq_inline"];
else mylayer=eval("wq_inline");
mylayer.innerHTML=specific;
opera?mylayer.style.visibility=(show?"visible":"hide"):mylayer.style.display=(show?"block":"none");
nestcom=true;}
if (show==false || specific=="") reenable(n);}
