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("Dipende da cause non individuabili, ed introduce nella misura un fattore di incertezza;","E' pari differenza tra il valore massimo misurato ed il valore minimo misurato;","Influisce sempre sullo stesso modo sul risultato della misura;","E' uguale al rapporto tra l'errore assoluto ed il valore medio;")
corr=new Array("1","0","0","0")
quest001 = new Question(
"Domanda 1",
0,
"<b>L'errore accidentale in una misura:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Dipende da cause non individuabili, ed introduce nella misura un fattore di indecisione;","E' pari alla differenza tra il valore massimo misurato ed il valore minimo misurato;","Influisce sempre allo stesso modo sul risultato della misura;","E' uguale al rapporto tra l'errore assoluto ed il valore medio;")
corr=new Array("0","0","1","0")
quest002 = new Question(
"Domanda 2",
0,
"<b>L'errore sistematico in una misura:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Dipende da cause non individuabili;","E' pari alla differenza tra il valore misurato ed il valore vero della grandezza in esame;","Influisce sempre nello stesso modo sul risultato della misura;","E' uguale al rapporto tra l'errore assoluto ed il valore medio")
corr=new Array("0","1","0","0")
quest003 = new Question(
"Domanda 3",
0,
"<b>L' errore assoluto:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Dipende da cause non individuabili;","Influisce sempre allo stesso modo sul risultato della misura;","E' uguale al rapporto tra l'errore assoluto ed il valore vero della grandezza in esame;","E' uguale al rapporto tra l'errore assoluto ed il valore medio;")
corr=new Array("0","0","1","0")
quest004 = new Question(
"Domanda 4",
0,
"<b>L'errore relativo: </b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("<font face=\"Symbol\">e</font><sub>r%</sub> = e<sub>a </sub>/ v<sub>v</sub>","<font face=\"Symbol\">e</font><sub>r%</sub> = (e<sub>a </sub>/ v<sub>v</sub>) * 100","<font face=\"Symbol\">e</font><sub>r%</sub> = (e<sub>a </sub>/ v<sub>v</sub>) / 100","<font face=\"Symbol\">e</font><sub>r%</sub> = (e<sub>a </sub>/ v<sub>v</sub>) + 100")
corr=new Array("0","1","0","0")
quest005 = new Question(
"Domanda 5",
0,
"<b>La formula per calcolare l'errore relativo percentuale &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Internazionale;","Europeo;","Nazionale;","Regionale;")
corr=new Array("1","0","0","0")
quest006 = new Question(
"Domanda 6",
0,
"<b>L' IEC &nbsp;&egrave; un ente normativo che emana norme a livello:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Internazionale;","Europeo;","Nazionale;","Regionale")
corr=new Array("0","0","1","0")
quest007 = new Question(
"Domanda 7",
0,
"<b>Il CEI &egrave; un ente normativo che emana norme a livello :</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Tutti i sistemi elettrici debbono essere costruiti e realizzati &quot; a regola d'arte&quot; ;","I sistemi elettrici realizzati secondo le norme CEI possono essere considerati &quot; a regola d'arte&quot;;","Entrambe le altre risposte;")
corr=new Array("0","0","1")
quest008 = new Question(
"Domanda 8",
0,
"<b>La legge n&deg; 186 del 1968 &egrave; importante per il settore elettrico perch&eacute; &nbsp;stabilisce che:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Della progettazione degli impianti ;","Della realizzazione degli impianti;","Delle verifiche degli impianti;","Tutte le altre risposte;")
corr=new Array("0","0","0","1")
quest009 = new Question(
"Domanda 9",
0,
"<b>La legge n&deg; 46 del 1990 si occupa:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Una corrente superiore alla media dei valori che interessano un componente:","Una corrente superiore al valore nominale relativo al componente interessato;","Una corrente superiore al doppio del valore nominale relativo al componente interessato;","Una corrente molto elevata;")
corr=new Array("0","1","0","0")
quest010 = new Question(
"Domanda 10",
0,
"<b>Per sovracorrente si intende:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Di valore elevato e di durata breve;","Di valore elevato e di durata lunga;","Di valore limitato e di durata breve;","Di valore limitato e di durata lunga;")
corr=new Array("0","1","0","0")
quest011 = new Question(
"Domanda 11",
0,
"<b>Durante i sovraccarichi si hanno correnti:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Di valore molto elevato e di durata molto breve;","Di valore molto elevato e di durata molto lunga","Di valore limitato e di durata breve;","Di valore limitato e di durata lunga;")
corr=new Array("1","0","0","0")
quest012 = new Question(
"Domanda 12",
0,
"<b>Durante i cortocircuiti si hanno correnti:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Di sua produzione;","Che soddisfano alle norme CEI ed alle tabelle UNEL ;","Che sono costruiti in Italia;","Che sono costruiti all'estero")
corr=new Array("0","1","0","0")
quest013 = new Question(
"Domanda 13",
0,
"<b>L'Istituto Italiano del Marchio di Qualit&agrave; concede il marchio IMQ ai componenti ed apparecchiature:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Per il solo conduttore di terra;","Per il solo conduttore neutro;","Per un qualsiasi conduttore;","Per il solo conduttore &nbsp;di fase;")
corr=new Array("1","0","0","0")
quest014 = new Question(
"Domanda 14",
0,
"<b>Il colore giallo-verde pu&ograve; essere usato:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Marrone;","Nero;","Blu chiaro;","Rosso;")
corr=new Array("0","0","1","0")
quest015 = new Question(
"Domanda 15",
0,
"<b>In genere, il conduttore &nbsp;neutro &egrave; di colore:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Nell'arresto della respirazione;","Nella contrazione non controllata e protratta nel tempo dei muscoli;","Nell' arresto del battito cardiaco;","Nessuna delle altre risposte;")
corr=new Array("0","1","0","0")
quest016 = new Question(
"Domanda 16",
0,
"<b>La &quot;tetanizzazione&quot; &egrave; quel fenomeno fisiologico che consiste:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("L'arresto della respirazione;","Nella contrazione non controllata e protratta nel tempo dei muscoli;","Nella mancata coordinazione delle contrazioni del cuore;","Il cattivo funzionamento di un impianto elettrico;")
corr=new Array("0","0","1","0")
quest017 = new Question(
"Domanda 17",
0,
"<b>Per &quot; fibrillazione &quot; si intende:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Molto pericolosa;","Poco pericolosa;","Non avvertita affatto;","E' molto pericolosa se continua e poco se alternata;")
corr=new Array("1","0","0","0")
quest018 = new Question(
"Domanda 18",
0,
"<b>Una corrente di 1A che attraversa il corpo umano &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("non direttamente ma tramite un attrezzo;","in cortocircuito;","normalmente non in tensione ma che puņ esserlo per un difetto dell'isolamento;","normalmente sotto tensione;")
corr=new Array("0","0","1","0")
quest019 = new Question(
"Domanda 19",
0,
"<b>Si parla di contatto indiretto quando si tocca una parte di circuito ...</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Da solo assicura la protezione contro i contatti indiretti;","Insieme ad un interruttore automatico protegge contro i contatti indiretti;","Da solo assicura la protezione contro i contatti diretti;","Insieme ad un interruttore automatico protegge contro i contatti diretti;")
corr=new Array("0","1","0","0")
quest020 = new Question(
"Domanda 20",
0,
"<b>L'impianto di terra &egrave; quel particolare collegamento che:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Impedisce che le masse, in caso di guasto all'isolamento, assumano potenziali pericolosi;","Fa intervenire in caso di guasto, l'interruttore automatico;","Entrambe le altre risposte;")
corr=new Array("0","0","1")
quest021 = new Question(
"Domanda 21",
0,
"<b>L'impianto di terra :</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Per la protezione contro i contatti indiretti;","Per la protezione contro i contatti diretti","Entrambe le altre risposte")
corr=new Array("0","0","1")
quest022 = new Question(
"Domanda 22",
0,
"<b>L'interruttore differenziale pu&ograve; essere usato:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Il trasformatore di isolamento;","L'interruttore magnetotermico;","L'interruttore differenziale;","Tutte le altre risposte;")
corr=new Array("0","1","0","0")
quest023 = new Question(
"Domanda 23",
0,
"<b>Per la protezione dai cortocircuiti si utilizza:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("4 mm<sup>2</sup>","1,5 mm<sup>2</sup>","2,5 mm<sup>2</sup>","6 mm<sup>2</sup>")
corr=new Array("0","1","0","0")
quest024 = new Question(
"Domanda 24",
0,
"<b>Per alimentare un punto luce o una presa da 10 A, la sezione del conduttore deve essere minimo:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("4 %","1,5 %","6 %","2,5 %")
corr=new Array("1","0","0","0")
quest025 = new Question(
"Domanda 25",
0,
"<b>Qual &egrave; la massima c.d.t. ammessa dalle norme per gli impianti civili rispetto alla tensione nominale a vuoto?</b>",
resp,
corr,
"",
4,
-1,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018,quest019,quest020,quest021,quest022,quest023,quest024,quest025)

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 (type<3) {
respcopy=new Array(numdo);corrcopy=new Array(numdo);
for (i=0; i<numdo; i++) respcopy[i]=questions[quest].response[i];
respcopy.sort(myrandom);
for (i=0; i<numdo; i++) {
for (ii=0; ii<numdo; ii++) {
if (respcopy[i]==questions[quest].response[ii]) {
corrcopy[i]=questions[quest].corrects[ii];break;}}}
questions[quest].response=respcopy;
questions[quest].corrects=corrcopy;}

document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("       ")
if (questions[quest].img!="") {
document.write("\n")
document.write("          <p><img border=\"0\" src=\"")
document.write(questions[quest].img)
document.write("\"></p>\n")
document.write("       ")
}
document.write("\n")
document.write("       <p><small><font face=\"Verdana,Arial\">")
document.write(numord)
document.write(". ")
document.writeln(questions[quest].qstring)
document.write("</font></small></p>\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")
document.write(" <small><font face=\"Verdana,Arial\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</font></small><br>\n")
document.write("       ")
}
document.write("\n")
document.write("    ")
}
function doTest() {
var count, i;
questions.sort(myrandom);
for (i=0; i<questions.length; i++) {
questions[i].qname="Domanda "+(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) winr.document.write("<H3>Hai commesso i seguenti errori:</H3>");
++errori;
winr.document.write("<p><b>"+uno+"</b><br>"+due+"<br>"+tre+"</p>");
}
function correct(wapf)
{
var i, ii, 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")
udat[ii++]=tmp.name.substring(14,tmp.name.length)+": <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>Risultati</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;Risultati</b></font></td></tr></table>")
now= new Date()
winr.document.write("<small><p>"+fill(now.getDate(),2)+"/"+fill((now.getMonth()+1),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>")
if (udat.length>0) {
winr.document.write("<b>Dati utente</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,"La casella <i>"+questions[i].response[selection]+"</i> non andava selezionata.",questions[i].explan)
}} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi) errore(questions[i].qname,"La casella <i>"+questions[i].response[selection]+"</i> andava selezionata.",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,"La risposta corretta era <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)?"e":"i";winr.document.write("<br><b>In totale hai commesso "+errori+" error"+voc+".</b>");}
else winr.document.write("<h3>Complimenti, non hai commesso alcun errore!</h3>")
{var voc=(total==1)?"o":"i";winr.document.write("<br><b>Punteggio realizzato: "+total+" punt"+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("Questo pulsante funziona soltanto con Netscape Navigator 4 o Microsoft Internet Explorer 5 (o versioni successive). Per stampare con gli altri browser, seleziona il comando Stampa nel menu File.")'
winr.document.write("<input type='button' value='Stampa...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;")
winr.document.write("<input type='button' value='Chiudi questa finestra' 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>Creato e gestito con <a title='Premi qui per visitare il sito di WebQuiz' href='http://www.smartlite.it/go.asp?OLDLO' 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);
}

