function checkAnswers(j){j.value="Generate New Test";j.onclick=function(){window.location.reload(true);
return false};var d=$("written1"),g=$("matching1"),l=$("mult_choice1"),e=$("tf1"),v=0,r=0,y=0,x=0,c=0,t,q,a,k;
if(d){var a=d.getElements("li"),s=$("accentToggler"),h=(s.innerHTML=="Hide Symbols");
s.remove();if(h){$("accentbar").remove()}a.each(function(F){var G=F.getLast(),B=G.getPrevious(),C,f;
B.value=B.value.replace(/</g,"&lt;");G.value=G.value.replace(/</g,"&lt;");var A=G.value.split("|||"),z=A.length,E=false;
for(C=z-1;C>=0;C--){if(B.value.matches(A[C])){ans=A[C];A.splice(C,1);E=true}}var D="";
if(z>1){for(C=0;C<z;C++){D+="<em>"+A[C]+"</em>";if(C!=z-1){if(C==z-2){D+=" or "}else{D+=", "
}}}}else{ans=G.value}if(E){F.addClass("right-q");D=(z>1)?'<br /><span class="correct">Also correct:</span> '+D:"";
new Element("p").setHTML('<b class="correct">CORRECT:</b> '+ans+D).injectInside(F);
r++}else{F.addClass("wrong-q");new Element("p").setHTML('<b class="incorrect">INCORRECT:</b> '+(B.value.trim()==""?'You gave <span class="incorrect">no answer</span>':'You said <del class="incorrect">'+B.value+"</del>")).injectInside(F);
txt=(z>1)?"POSSIBLE ANSWERS":"ANSWER";D=(D=="")?ans:D;new Element("p").setHTML('<b class="correct">'+txt+":</b> "+D).injectInside(F)
}B.remove()});v+=a.length}if(g){var a=g.getElements("li"),w=$("matching-side").getElements("li");
a.each(function(z){var B=trim(z.getFirst().value).toLowerCase().replace(/</g,"&lt;"),A="",C="",E,D,f;
for(D=0,f=w.length;D<f;D++){E=w[D].innerHTML;if(String.fromCharCode(D+97)==z.id.replace(/iesucks-/,"")){A=E
}if(String.fromCharCode(D+97)==B){C=E}}z.getFirst().remove();z.innerHTML="<b>"+z.innerHTML+"</b>";
if(z.id.replace(/iesucks-/,"")==B){z.className="right-q";z.innerHTML+="<p><b class='correct'>CORRECT:</b> "+A+"</p>";
y++}else{C=(B=="")?"<em>No answer given</em>":((C=="")?"<em>Invalid answer ("+B+")</em>":C);
z.innerHTML+="<p><b class='incorrect'>INCORRECT:</b> "+C+"</p>";z.innerHTML+="<p><b class='correct'>ANSWER:</b> "+A+"</p>";
z.className="wrong-q"}});v+=a.length}if(l){a=l.childNodes;for(t=0,q=a.length;t<q;
t++){if(a[t].nodeName.toLowerCase()!="li"){continue}var o=$(a[t]),n=false;o.getElements("input").each(function(f){correct=(f.value=="1");
if(f.checked){n=true}if(correct){par=f.parentNode;f.remove();par.innerHTML="<b class='correct'>CORRECT:</b> <span class='correct'>"+par.innerHTML+"</span>";
if(f.checked){x++;o.className="right-q"}}else{if(f.checked){o.className="wrong-q";
par=f.parentNode;f.remove();par.innerHTML="<b class='incorrect'>INCORRECT:</b> <del class='incorrect'>"+par.innerHTML+"</del>"
}else{f.remove()}}});if(!n){o.className="wrong-q";new Element("em").addClass("incorrect").appendText(" (No Answer)").injectAfter(o.getFirst())
}v++}}if(e){a=e.getElements("li");a.each(function(f){var m=false,i=false;f.getElements("input").each(function(A,z){if(A.checked){m=true;
if(A.value=="1"){c++;new Element("p").setHTML("<strong class='correct'>CORRECT:</strong> "+((z==0)?'This is <em class="correct">true</em>.':'This is <em class="correct">false</em>.')).injectBefore(f.getLast())
}else{new Element("p").setHTML("<strong class='incorrect'>INCORRECT:</strong> "+((z==0)?'This is <em class="correct">false</em>, but you marked it <em class="incorrect">true</em>.':'This is <em class="correct">true</em>, but you marked it <em class="incorrect">false</em>.')).injectBefore(f.getLast())
}f.className=(A.value=="1")?"right-q":"wrong-q"}if(z==1&&A.value=="1"){first=f.getFirst().firstChild.nodeValue;
new Element("p").setHTML('It should be <span class="correct"><b>'+first+"</b> &rarr; "+f.getLast().getLast().getLast().value+".</span>").injectBefore(f.getLast())
}else{if(z==0&&A.value=="1"){i=true}}});f.getLast().remove();if(!m){f.className="wrong-q";
new Element("p").setHTML((i)?'This is <span class="correct">false</span>. You gave no answer.':'This is <span class="correct">true</span>. You gave no answer.').injectAfter((i)?f.getLast():f.getLast().getPrevious())
}});v+=a.length}var p=r+y+x+c,b=Math.round(p/v*100);$("answer-area").adopt(new Element("h1").appendText(grade(b)).addClass((b<60)?"incorrect":"correct"),new Element("b").appendText(b+"%"));
window.scrollTo(0,0);var u=new Fx.Height("grade");u.hide();u.element.setStyle("display","");
u.toggle();return false}var showingAccents=false;function hideAccents(){this.onclick=prepAccents;
this.innerHTML="Show Symbols";$("accentbar").remove();showingAccents=false;Cookie.remove("showAccents");
return false}function prepAccents(){if(this&&curInput){this.onclick=hideAccents;this.innerHTML="Hide Symbols";
showingAccents=true;Cookie.set("showAccents","true",{path:"/"});curInput.onfocus()
}return false}function displayAccents(){curInput=this;if(!showingAccents){return false
}var b=$("accentbar");if(b&&b.getParent().getElementsByTagName("input")[0]==this){return false
}if(b){b.remove()}var c=$("accentwrap").addClass("accents").addClass("testaccents"),a=c.clone().setProperty("id","accentbar");
$A(a.getElementsByTagName("input")).each(function(e,d){$(e).addEvent("click",addAccent)
});a.injectInside(this.parentNode);new Element("a").appendText("Uppercase").setProperty("href","#").setProperty("id","toggle-case").addEvent("click",caseToggle).injectInside(a);
new Element("a").appendText("Customize Symbols").setProperty("href","#").addEvent("click",function(d){symbolCallback=fixNewAccents;
new Event(d).stop();return customize_symbols()}).injectInside(a)}function fixNewAccents(){showingAccents=true;
$("accentbar").remove();displayAccents.call(curInput)}var symbolCallback;function addAccent(){insertAtCursor(this.parentNode.parentNode.getElementsByTagName("input")[0],this.value)
}function caseToggle(b){b=new Event(b);b.stop();var c=(this.innerHTML=="Uppercase"),a=$(this).getPrevious();
while($type(a.value)=="string"){a.value=(c)?a.value.toUpperCase():a.value.toLowerCase();
a=a.getPrevious()}this.innerHTML=(c)?"Lowercase":"Uppercase";return false}function letterSearch(b){var a=b.charCodeAt(0)-97;
return(b.length==1&&a>=0&&a<=25)?a:-1}var taken=[];function readKey(d){var c=$("matching-side").getElements("li");
if($type(d.previous)=="string"&&d.previous!=d.value){var a=letterSearch(d.previous);
if(taken[a]>0){taken[a]--}if(a<c.length&&a!=-1&&taken[a]==0){c[a].setStyle("text-decoration","none")
}}var b=letterSearch(d.value.toLowerCase());if(b!=-1&&b<c.length){taken[b]=(taken[b]==null)?1:taken[b]+1;
c[b].setStyle("text-decoration","line-through")}}Window.onDomReady(function(){var a=$("written1");
if(a){a.getElements("li").each(function(b,c){var d=$(b.getElementsByTagName("input")[0]);
if(c==0){curInput=d}d.onfocus=displayAccents})}if(Cookie.get("showAccents")){prepAccents.call($("accentToggler"))
}});