var Max=64;J=0; Trans1=new Array(Max); Trans2=new Array(Max); Trans1[J]="I'M"; Trans2[J++]="I AM"; Trans1[J]="I'VE"; Trans2[J++]="I HAVE"; Trans1[J]="I'LL"; Trans2[J++]="I WILL"; Trans1[J]="I'D"; Trans2[J++]="I WOULD"; Trans1[J]="I'D"; Trans2[J++]="I HAD"; Trans1[J]="YOU'RE"; Trans2[J++]="YOU ARE"; Trans1[J]="YOU'VE"; Trans2[J++]="YOU HAVE"; Trans1[J]="YOU'LL"; Trans2[J++]="YOU WILL"; Trans1[J]="YOU'D"; Trans2[J++]="YOU WOULD"; Trans1[J]="YOU'D"; Trans2[J++]="YOU HAD"; Trans1[J]="HE'S"; Trans2[J++]="HE IS"; Trans1[J]="HE'S"; Trans2[J++]="HE HAS"; Trans1[J]="HE'LL"; Trans2[J++]="HE WILL"; Trans1[J]="HE'D"; Trans2[J++]="HE WOULD"; Trans1[J]="HE'D"; Trans2[J++]="HE HAD"; Trans1[J]="SHE'S"; Trans2[J++]="SHE IS"; Trans1[J]="SHE'S"; Trans2[J++]="SHE HAS"; Trans1[J]="SHE'LL"; Trans2[J++]="SHE WILL"; Trans1[J]="SHE'D"; Trans2[J++]="SHE WOULD"; Trans1[J]="SHE'D"; Trans2[J++]="SHE HAD"; Trans1[J]="IT'S"; Trans2[J++]="IT IS"; Trans1[J]="IT'S"; Trans2[J++]="IT HAS"; Trans1[J]="IT'LL"; Trans2[J++]="IT WILL"; Trans1[J]="WE'RE"; Trans2[J++]="WE ARE"; Trans1[J]="WE'VE"; Trans2[J++]="WE HAVE"; Trans1[J]="WE'LL"; Trans2[J++]="WE WILL"; Trans1[J]="WE'D"; Trans2[J++]="WE WOULD"; Trans1[J]="WE'D"; Trans2[J++]="WE HAD"; Trans1[J]="THEY'RE"; Trans2[J++]="THEY ARE"; Trans1[J]="THEY'VE"; Trans2[J++]="THEY HAVE"; Trans1[J]="THEY'LL"; Trans2[J++]="THEY WILL"; Trans1[J]="THEY'D"; Trans2[J++]="THEY WOULD"; Trans1[J]="THEY'D"; Trans2[J++]="THEY HAD"; Trans1[J]="CAN'T"; Trans2[J++]="CANNOT"; Trans1[J]="COULDN'T"; Trans2[J++]="COULD NOT"; Trans1[J]="DAREN'T"; Trans2[J++]="DARE NOT"; Trans1[J]="DIDN'T"; Trans2[J++]="DID NOT"; Trans1[J]="DOESN'T"; Trans2[J++]="DOES NOT"; Trans1[J]="DON'T"; Trans2[J++]="DO NOT"; Trans1[J]="HASN'T"; Trans2[J++]="HAS NOT"; Trans1[J]="HAVEN'T"; Trans2[J++]="HAVE NOT"; Trans1[J]="HADN'T"; Trans2[J++]="HAD NOT"; Trans1[J]="MIGHTN'T"; Trans2[J++]="MIGHT NOT"; Trans1[J]="MUSTN'T"; Trans2[J++]="MUST NOT"; Trans1[J]="NEEDN'T"; Trans2[J++]="NEED NOT"; Trans1[J]="OUGHTN'T"; Trans2[J++]="OUGHT NOT"; Trans1[J]="SHAN'T"; Trans2[J++]="SHALL NOT"; Trans1[J]="SHOULDN'T"; Trans2[J++]="SHOULD NOT"; Trans1[J]="WASN'T"; Trans2[J++]="WAS NOT"; Trans1[J]="WEREN'T"; Trans2[J++]="WERE NOT"; Trans1[J]="WON'T"; Trans2[J++]="WILL NOT"; Trans1[J]="WOULDN'T"; Trans2[J++]="WOULD NOT"; Trans1[J]="HERE'S"; Trans2[J++]="HERE IS"; Trans1[J]="HOW'S"; Trans2[J++]="HOW IS"; Trans1[J]="THAT'D"; Trans2[J++]="THAT WOULD"; Trans1[J]="THAT'LL"; Trans2[J++]="THAT WILL"; Trans1[J]="THAT'S"; Trans2[J++]="THAT IS"; Trans1[J]="THERE'S"; Trans2[J++]="THERE IS"; Trans1[J]="WHAT'LL"; Trans2[J++]="WHAT WILL"; Trans1[J]="WHAT'S"; Trans2[J++]="WHAT IS"; Trans1[J]="WHEN'S"; Trans2[J++]="WHEN IS"; Trans1[J]="WHERE'S"; Trans2[J++]="WHERE IS"; Trans1[J]="WHO'D"; Trans2[J++]="WHO WOULD"; Trans1[J]="WHO'LL"; Trans2[J++]="WHO WILL"; Trans1[J]="WHO'S"; Trans2[J++]="WHO IS"; function Distiler(S,M1,M2) { var p,a,b,dbg; p=0; while (p!=-1) { p=S.indexOf(M1,p); if (p!=-1) { a=S.substring(0,p); b=S.substring(p+M1.length,S.length); S=a+M2+b; } } return S; }; function CMP(Str1,Str2) { if (!Str2) { return false; } else { for(var i=0;i<=Max;i++) { Str1=Distiler(Str1.toUpperCase(),Trans2[i],Trans1[i]); Str2=Distiler(Str2.toUpperCase(),Trans2[i],Trans1[i]); }; return (Str1==Str2); } }; function clickHandler() { var srcElement, targetElement, targetEdit, Answer, targetAnswer, targetCheck; Answer=new String(); srcElement = window.event.srcElement; if (srcElement.className == "test") { targetElement = document.all(srcElement.id + "Answer"); targetEdit = document.all(srcElement.id + "Edit"); if (targetElement.style.display == "none") { targetElement.style.display = ""; if (targetEdit.Answer=="") targetElement.className="noanswer" else if ((CMP(targetEdit.value,targetEdit.Answer))|| (CMP(targetEdit.value,targetEdit.Answer2))|| (CMP(targetEdit.value,targetEdit.Answer3))) targetElement.className="goodanswer" else targetElement.className="badanswer" } } if (srcElement.className == "multi") { for (i=0; i<document.all.length;i++) { targetElement=document.all[i]; if ((targetElement.style.display == "none")&& (targetElement.id.indexOf(srcElement.id)==0)) { targetElement.style.display = ""; targetEdit = document.all(targetElement.id + "Edit"); if (targetEdit.Answer=="") targetElement.className="noanswer" else if((CMP(targetEdit.value,targetEdit.Answer))|| (CMP(targetEdit.value,targetEdit.Answer2))|| (CMP(targetEdit.value,targetEdit.Answer3)))targetElement.className="goodanswer" else targetElement.className="badanswer" } } } if (srcElement.className == "check") { // pokazanie odpowiedzi targetAnswer = document.all(srcElement.id+"Answer"); targetAnswer.style.display=""; Answer=""; for (i=1;i<srcElement.AnswerCount-"0"+1;i++) { targetElement = document.all(srcElement.id+"_"+i); if (targetElement.checked) Answer=Answer+targetElement.value; } if(srcElement.Answer=="") targetAnswer.className="noanswer" else if(CMP(srcElement.Answer,Answer))targetAnswer.className="goodanswer" else targetAnswer.className="badanswer"; } if (srcElement.className == "Outline") { targetId = srcElement.id + "details"; targetElement = document.all(targetId); if (targetElement.style.display == "none") { targetElement.style.display = ""; } else { targetElement.style.display = "none"; } } if (srcElement.className == "list") { for (i=0; i<document.all.length;i++) { targetElement=document.all[i]; if ((targetElement.id.indexOf(srcElement.id)==0)&& (targetElement.tagName == "SELECT")) { targetAnswer = document.all(targetElement.id+"Answer"); targetAnswer.style.display=""; if(targetElement.Answer=="") targetAnswer.className="noanswer"; else if(CMP(targetElement.Answer,targetElement.value))targetAnswer.className="goodanswer" else targetAnswer.className="badanswer"; } }; } if (srcElement.className == "correction") { for (i=0; i<document.all.length;i++) { targetElement=document.all[i]; if ((targetElement.tagName == "SPAN")&& (targetElement.id.indexOf(srcElement.id)==0)) { targetAnswer = targetElement; targetEdit = document.all(targetElement.id+"Edit"); targetCheck = document.all(targetElement.id+"Check"); targetAnswer.style.display=""; if (targetCheck.Answer=="1") if (targetCheck.checked && targetEdit.value=="") targetAnswer.className="goodanswer" else targetAnswer.className="badanswer" else if(targetCheck.checked || (!CMP(targetEdit.value,targetEdit.Answer))) targetAnswer.className="badanswer" else targetAnswer.className="goodanswer"; } }; } // testy składa się z trzech checkboxów, każdy jest oceniany osobno if (srcElement.className == "onoff") { for(i=1;i<4;i++) { targetElement=document.all[srcElement.id+"_"+i]; { targetAnswer = targetElement; targetCheck = document.all(targetElement.id+"Check"); targetAnswer.style.display=""; if (targetCheck.Answer=="1") if (targetCheck.checked) targetAnswer.className="goodanswer" else targetAnswer.className="badanswer" else if(targetCheck.checked) targetAnswer.className="badanswer" else targetAnswer.className="goodanswer"; } } } if (srcElement.className == "multicheck") { var start,stop; start=srcElement.start; stop=srcElement.stop; for(i=start;i<=stop;i++) { targetAnswer = document.all(srcElement.id+i+"Answer"); targetAnswer.style.display=""; Answer=""; for(j=1;j<=4;j++) { targetElement=document.all[srcElement.id+i+j]; if (targetElement.checked) Answer=Answer+targetElement.value; }; if(targetAnswer.Answer=="")targetAnswer.className="noanswer" else if(targetAnswer.Answer==Answer)targetAnswer.className="goodanswer" else targetAnswer.className="badanswer"; }; } } document.onclick = clickHandler;