function Question (qname,
type,
qstring,
response,
corrects,
explan,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.corrects=corrects;
this.explan=explan;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

resp=new Array("budynek wraz z instalacjami i urządzeniami technicznymi","huśtawka, piaskownica","posągi, wodotryski i inne obiekty architektury ogrodowej")
corr=new Array("1","1","1")
quest001 = new Question(
"Pytanie 1",
1,
"Obiekt budowlany to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("budowla ziemna i obronna","obiekt budowlany, który jest trwale związany z gruntem, wydzielony z przestrzeni za pomocą przegród budowlanych oraz posiada fundamenty i dach","odkryty stadion sportowy")
corr=new Array("0","1","0")
quest002 = new Question(
"Pytanie 2",
1,
"Budynek to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("lotniska, drogi i linie kolejowe","mosty, estakady, tunele","wolno stojące trwale związane z gruntem urządzenia reklamowe")
corr=new Array("1","1","1")
quest003 = new Question(
"Pytanie 3",
1,
"Budowle to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("kioski uliczne i pawilony sprzedaży ulicznej","przykrycia namiotowe i powłoki pneumatyczne","obiekty budowlane przewidziane do rozbiórki, na stałe połączone z gruntem")
corr=new Array("1","1","0")
quest004 = new Question(
"Pytanie 4",
1,
"Tymczasowe obiekty budowlane to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("pozwolenie na budowę wraz z załączonym projektem budowlanym","dziennik budowy","protokoły odbiorów końcowych i częściowych")
corr=new Array("1","1","1")
quest005 = new Question(
"Pytanie 5",
1,
"Dokumentacja budowy to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("budynek mieszkalny jednorodzinny","hotel, motel, pensjonat","areszt śledczy, dom zakonny")
corr=new Array("0","1","1")
quest006 = new Question(
"Pytanie 6",
1,
"Budynek zamieszkania zbiorowego to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("sypialnia","salon obsługi bankowej","pokój hotelowy")
corr=new Array("1","0","1")
quest007 = new Question(
"Pytanie 7",
1,
"Pomieszczenie mieszkalne to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("remont polegający na wymianie co najmniej jednego elementu budynku","okresowy remont elementu budynku, zapobiegający skutkom zużycia tego elementu, utrzymujący budynek we właściwym stanie technicznym","wykonywanie robót budowlanych mających na celu utrzymanie sprawności technicznej elementów budynku")
corr=new Array("0","1","0")
quest008 = new Question(
"Pytanie 8",
1,
"Naprawa bieżąca to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("przewody wraz z ich wyposażeniem, służące do odprowadzania dymu z palenisk opalanych paliwem stałym do kanałów dymowych","przewody wraz z ich wyposażeniem, służące do odprowadzania spalin z palenisk opalanych paliwem gazowym lub olejowym do kanałów spalinowych","kanały wykonane w ścianach budynku lub przybudowane do tych ścian, wraz z ich wyposażeniem, służące do odprowadzania zanieczyszczonego powietrza z pomieszczeń")
corr=new Array("0","1","0")
quest009 = new Question(
"Pytanie 9",
1,
"Przewody spalinowe to",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("przestrzeń, w której występuje duże zadymienie","przestrzeń, w której może występować mieszanina substancji palnych z powietrzem o stężeniu poniżej dolnej granicy wybuchowości","przestrzeń, wydzielona w taki sposób, aby w określonym czasie pożar nie przeniósł się na zewnątrz lub do wewnątrz tej wydzielonej przestrzeni")
corr=new Array("0","0","1")
quest010 = new Question(
"Pytanie 10",
1,
"Strefa pożarowa to",
resp,
corr,
"",
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;


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=\"Arial\"\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=\"Arial\"><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>\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(" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write("\" 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) winr.document.write("<H3>Popełniono następujące błędy:</H3>");
++errori;
winr.document.write("<p><b>"+uno+"</b><br>"+due+"<br>"+tre+"</p>");
}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=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>";}}
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
winr.document.write("<html><head><title>Wynik</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Arial, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Arial, Arial' size=5 color='#FFFFFF'><b>&nbsp;Wyniki</b></font></td></tr></table>")
now= new Date()
winr.document.write("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>")
if (udat.length>0) {
winr.document.write("<b>Information</b><br>\n");
for (i=0; i<udat.length; i++) winr.document.write(udat[i]);}

for (i=0; i<questions.length; i++) {
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
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 (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi) errore(questions[i].qname,"Pole opcji  <i>"+questions[i].response[selection]+"</i>  nie powinno być wybrane.",questions[i].explan)
}} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi) errore(questions[i].qname,"Pole opcji  <i>"+questions[i].response[selection]+"</i>  powinno być wybrane.",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;
}}}
errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;

total+=evaluation;}
if (errori) {var voc=(errori==1)?"":" ";winr.document.write("<br><b>Popełnione błędy: "+errori+" "+voc+" </b>");}
else winr.document.write("<h3>Gratulacje ! Nie popełniono żadnego błędu !</h3>")
{var voc=(total==1)?"":" ";winr.document.write("<br><b>Pozytywne odpowiedzi: "+total+"  "+voc+" </b><br>");}

winr.document.write("</small><hr noshade><center><form>")
printest=(((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)>='4')) || (navigator.appVersion.lastIndexOf('MSIE 5') !=-1))? '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.")'
winr.document.write("<input type='button' value='Drukuj...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;")
winr.document.write("<input type='button' value='Zamknij' onClick='window.close()'></form></center>")
winr.document.write(aknw)
winr.document.close()
if (navigator.appVersion.lastIndexOf('MSIE 3') == -1) nomsie3=true
else nomsie3=false
if (nomsie3) winr.focus()
}
aknw="<br><p align='center'><small><small> </a></small></small></p>"

