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=900, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
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=new Array("Work out safe places for bait","Determine level of infestation","Check risks to non-target animals","Remove or cover other food sources for rodents")
corr=new Array("1","1","1","1")
comm=""
valu=""
quest001 = new Question(
"Question 1",
1,
"Before starting rodent control using rodenticides, a survey of infested site is needed to: (tick more than two)",
resp,
comm,
corr,
"<small>Rodenticide use should be properly planned and managed. A few hours at the start can save days later on. A thorough survey is essentail to determine the the distribution of the rat infestation, where bait can be put out safely and what risks there are to non target animals.</small>",
valu,
2,
0,
0,
"01 pict.jpg");

resp=new Array("In open spaces","In straw and hay stacks","Dark corners around grain stores","Along exposed farm drives")
corr=new Array("0","1","1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
1,
"Typical areas to find ratsaround farmyards are: (tick more than one)",
resp,
comm,
corr,
"<small>Rats will invest any premises, refuse tips, farms, rual dwellings and watercourses - anywhere that provides food &amp; shelter.</small>",
valu,
3,
0,
0,
"02 pict.jpg");

resp=new Array("Prevent accidentally poisoning other mammals and birds","Prevent air getting to it","Protect it from dust and rain","Protect it from sunlight")
corr=new Array("1","0","1","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
1,
"Bait should be covered to: (tick more than one)",
resp,
comm,
corr,
"<small><font face=\"Arial\">Rats are more likely to eat the bait sooner if it is laid beside runs, in holes, along walls and in sheltered places, but it is not safe just to lay rodenticide bait on the ground without some kind of cover to stop other animals eating it</font><font face=\"Arial\" size=\"4\">. </font><br><a target=\"_blank\" href=\"http://www.csl.gov.uk/science/organ/wem/wm/ratguidelines.cfm\"><u>Complete Guide to Best Practice</u></a> <br><a target=\"_blank\" href=\"http://www.hse.gov.uk/pubns/ais31.pdf\"><u>Safe Use of Rodenticides on farms &amp; holdings</u></a><font color=\"#0000ff\"><u> - HSE </u></font></small>",
valu,
3,
0,
0,
"03 pict.jpg");

resp=new Array("They may rot","They may carry residues of rodenticide and be exposed to wildlife","They may be moved by other rodents","They may put eating other rodents off eating bait")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"Disposal of rodent bodies is one of the most important points on the CRRU code because:",
resp,
comm,
corr,
"<small>The bodies of dear rodents may carry residues of rodenticides and if eaten by predators or scavengers are a source of wildlife exposure</small>",
valu,
2,
0,
0,
"04 pict.jpg");

resp=new Array("Check each bait point to see if more bait is needed","Check that all bait points are safely covered","Search for, pick up and dispose of dead rodents","Keep records of all activities conducted during the inspection")
corr=new Array("1","1","1","1")
comm=""
valu=""
quest005 = new Question(
"Question 5",
1,
"When making a site inspection during a rodenticide treatment you should:(tick as many as you need)",
resp,
comm,
corr,
"<small>Visit the site frequently as receommendations on the produce label specifiy and replenish baits as necessary. Check bait points for disturbance by non-target animals. Search the site for dead rodetn bodies and remove, and safely dispose of, any spilled bait.</small>",
valu,
3,
0,
0,
"05 pict.jpg");

resp=new Array("10","18","35","70")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"in most cases, rodent control using rodenticides will be achieved in fewer than how many days?",
resp,
comm,
corr,
"",
valu,
2,
0,
0,
"06 pict.jpg");

resp=new Array("The wrong rodenticide is being used","Baits are put in the wrong places","Not enough bait points are used","The lids are left on bait trays")
corr=new Array("0","1","1","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
1,
"Treatment failure or prolonged treatment is often because: (Tick more than one)",
resp,
comm,
corr,
"<small>The main reasons for poor control are baits are put in the wrong places, or not enough is being used.</small>",
valu,
3,
0,
0,
"07 pict.jpg");

resp=new Array("Monitor rodenticide use","Promote the safe and effective use of anticoagulant rodenticides in rural areas")
corr=new Array("0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"The main objective for the Campaign for Responsible Rodenticide use is to:",
resp,
comm,
corr,
"<small>CRRU exists to promote <font color=\"#0000ff\"><u>responsible use of rodenticides </u></font></small>",
valu,
2,
0,
0,
"logo.gif");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008)

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;


document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("    <tr>\n")
document.write("      <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#E6E6FF\"><font face=\"Verdana\"\n")
document.write("      color=\"#000080\"><strong><small>")
document.write(numord)
document.write("</small></strong></font></td>\n")
document.write("      <td width=\"95%\" valign=\"top\" bgcolor=\"#F4F4FF\"><font face=\"Verdana\"><font color=\"#000080\"><strong><small>\n")
document.write("      ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"5\" 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("</small></strong></font><br>\n")
document.write("      <br><small><small>\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("      </small></small></font></td>\n")
document.write("    </tr>\n")
document.write("    ")
}
function doTest() {
var count, i;

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 testIE5plus(){
var pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos != -1) {
pos+=5;
if (eval(navigator.appVersion.charAt(pos))>4)
return true;}
return false;}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=0, 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>Using Rodenticides</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("<br><b>Evaluation:</b><br>"+GetEval(total)+"<br>",2);
cachewrite("</small><hr noshade><center><form>",2)
printest=(((navigator.appName=="Netscape") && (navigator.appVersion.charAt(0)>="4")) || (testIE5plus() == true))? "print()": "alert('This button can be used with Netscape Navigator 4 or Microsoft Internet Explorer 5 only. If you want to print with other browsers, please select the Print command in the File menu.')"
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 GetEval(total)
{
var minval, maxval, valstr, top, i;
minval=new Array(0,8,16);
maxval=new Array(7,15,20);
valstr=new Array("Hmm, you need more knowledge before going putting bait down! <br />Check out <a target=\"_blank\" href=\"http://www.csl.gov.uk/science/organ/wem/wm/ratguidelines.cfm\"><u>Complete Guide to Best Practice</u></a> <br />and <a target=\"_blank\" href=\"http://www.hse.gov.uk/pubns/ais31.pdf\"><u>HSE Guide to Safe Use</u></a>","<a target=\"_blank\" href=\"http://www.csl.gov.uk/science/organ/wem/wm/Teamresearch.cfm\"><u>future research</u></a> That is quite good. You may like to find out more about","Very Good! You may like to take this further and <i>contact</i> the <a target=\"_blank\" href=\"http://www.thinkwildlife.org.uk/contact.php\"><u>Campaign for Responsible Rodenticide Use</u></a>. Thank you, we hoped you enjoyed the quiz.","non disponibile.");
top=minval.length;
for (i=0;i<top;i++) if (total>=minval[i] && total<=maxval[i]) break;
return(valstr[i]);}
function update_time(t) {
self.status=t;}
function stms(s){
if (Math.abs(tmMx)>=3600){
h=Math.floor(s/3600);m=Math.floor((s%3600)/60);s=((s%3600)%60);return fill(h,2)+':'+fill(m,2)+':'+fill(s,2);
}else{m=Math.floor(s/60);s=s%60;return fill(m,2)+':'+fill(s,2);}}
function shtm(t){
tmVl=t+1;update_time(stms(Math.abs(t)))
if (waitTime==0) return;
tmId = setTimeout('shtm(tmVl)',1000)
if (t==((tmMx>0)? tmMx : 0)){
clearTimeout(tmId)
alert('Time is over, correcting questionnaire now.')

correct(document.WapForm)}}
function checkTime(){
tmMx=-waitTime;
if (tmMx!=0){
alert('Time to complete your questionnaire is: '+stms(Math.abs(tmMx))+'\n\nPlease check time count.');
shtm((tmMx>0) ? 0 : tmMx)}}

