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("Canaiolo","Sangiovese","Merlot nero","Cabernet Sauvignon")
corr=new Array("0","1","0","0")
quest001 = new Question(
"Domanda 1",
0,
"Con quale vitigno si produce il famoso &quot;Brunello di Montalcino&quot; ?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("E' un vino con residuo di zuccheri naturali tra 4 e 12 grammi per litro","E' un vino che sta iniziando ad acetificarsi","Si dice di un vino che conserva l'aroma dell'uva di origine","E' un vino chee lascia in bocca una sensazione di pulito")
corr=new Array("1","0","0","0")
quest002 = new Question(
"Domanda 2",
0,
"Cosa indica il termine abboccato?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Umbria","Liguria","Toscana","Marche")
corr=new Array("0","0","1","0")
quest003 = new Question(
"Domanda 3",
0,
"Il vino &quot;Vermentino di Bolgheri&quot; dove viene prodotto?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Sangiovese - Cabernet Sauvignon - Cabernet Franc","Sangiovese - Canaiolo - Cabernet Franc","Sangiovese - Canaiolo&nbsp; con Malvasia Nero e Colorino","Chardonnay - Pinot Bianco - Pinot Nero")
corr=new Array("0","1","0","0")
quest004 = new Question(
"Domanda 4",
0,
"Qual'&egrave; la composizione del vitigno del vino &quot;Solaia&quot; 1997?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Piatto","Pesante","Dolce","Rotondo")
corr=new Array("1","0","0","0")
quest005 = new Question(
"Domanda 5",
0,
"Un vino che viene definito &quot;di scarsa acidit&agrave;, il contrario di acidulo&quot;, &egrave; ?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Parlare","Cantare","Ballare","Fischiare")
corr=new Array("0","0","0","1")
quest006 = new Question(
"Domanda 6",
0,
"Un famoso proverbio sul vino dice: &quot;Non si pu&ograve; bere e .....?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("In qualsiasi ordine si desidera","Rossi pesanti - Rossi leggeri - Bianchi leggeri","Bianchi leggeri - Rossi leggeri - Rossi pesanti","Rossi leggeri -Bianchi leggeri - Rossi pesanti")
corr=new Array("0","0","1","0")
quest007 = new Question(
"Domanda 7",
0,
"Secondo il Galateo, in che ordine devono essere serviti i vini?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Bianco secco morbido","Bianco secco di carattere o rosato","Bianco secco fresco di acidit&agrave;","Bianco non troppo secco e vinoso")
corr=new Array("0","1","0","0")
quest008 = new Question(
"Domanda 8",
0,
"Che tipo di vino &egrave; meglio abbinare con un piatto di Carni bianche di pollo ?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Bianco&nbsp; o rosso semisecco o dolce aromatico o fruttato o spumante","Bianco secco","Rosso invecchiato","Rosso giovane, vivace e generoso")
corr=new Array("1","0","0","0")
quest009 = new Question(
"Domanda 9",
0,
"Che tipo di vino &egrave; meglio abbinare con una Crostata di frutta ?",
resp,
corr,
"",
1,
-1,
0,
"");

resp=new Array("Bianco","Giallo paglierino","Rosato","Rosso")
corr=new Array("0","0","0","1")
quest010 = new Question(
"Domanda 10",
0,
"Il Chianti Classico &egrave; di colore?",
resp,
corr,
"",
1,
-1,
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;
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.write("\n")
document.write("       <div id=\"q")
document.write(numord)
document.write("\" style=\"display:none\">\n")
document.write("       <table border=\"0\" width=\"100%\" cellspacing=\"4\" cellpadding=\"10\">\n")
document.write("       <tr>\n")
document.write("       <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#dedede\"><font face=\"Verdana,Arial\"\n")
document.write("      color=\"#660000\"><strong><small>")
document.write(numord)
document.write("</small></strong></font></td>\n")
document.write("       <td width=\"95%\" valign=\"top\" bgcolor=\"#eeeeee\">\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><font face=\"Verdana\" color=\"#660000\"><strong><small>")
document.writeln(questions[quest].qstring)
document.write("</small></strong></font></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("          &nbsp;")
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><small><font face=\"Verdana\" color=\"#000000\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</font></small></small><br>\n")
document.write("       ")
}
document.write("</td>\n")
document.write("       </tr>\n")
document.write("       </table>\n")
document.write("       </div>\n")
document.write("       <div id=\"q")
document.write(numord)
document.write("a\" style=\"display:none\">\n")
document.write("       <p align=center>\n")
document.write("          ")
if (quest>0) {
document.write("\n")
document.write("              <a href=\"javascript:void(0)\" ")
document.write(" onClick=\"myshow("+(quest)+")\"")
document.write(" onmouseout=\"flipImage ('Back")
document.write(numord)
document.write("', 'BackImage_normal');\" onmouseover=\" ('Back")
document.write(numord)
document.write("', '');\"><img alt=\"Indietro\" border=0 height=50 width=78 name=Back")
document.write(numord)
document.write(" src=\"m_back_button.gif\"></a>\n")
document.write("          ")
}
document.write("\n")
document.write("          ")
if (quest<questions.length-1) {
document.write("\n")
document.write("             <a href=\"javascript:void(0)\" ")
document.write(" onClick=\"myshow("+(quest+2)+")\"")
document.write(" onmouseout=\"flipImage ('Next")
document.write(numord)
document.write("', 'NextImage_normal');\" onmouseover=\" ('Next")
document.write(numord)
document.write("');\"><img alt=\"Avanti\" border=0 height=50 width=78 name=Next")
document.write(numord)
document.write(" src=\"m_next_button.gif\"></a>\n")
document.write("          ")
}
document.write("\n")
document.write("          ")
if (quest==questions.length-1) {
document.write("\n")
document.write("             <a href=\"javascript:void(0)\" ")
document.write(" onClick='correct(document.WapForm)'")
document.write(" onmouseout=\"flipImage ('ShowEval', 'EvaluateImage_normal');\" onmouseover=\" ('ShowEval', '');\"><img alt=\"Valuta\" border=0 height=50 width=78 name=ShowEval src=\"m_eval_button.gif\"></a>\n")
document.write("          ")
}
document.write("\n")
document.write("       </p>\n")
document.write("       </div>\n")
document.write("    ")
}
function doTest() {
var count, i;
if (navigator.appName!="Microsoft Internet Explorer")
{
alert('Il presente questionario funziona solo\ncon Microsoft Internet Explorer');
return;
}
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, 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>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'></p>"
function myrandom(a,b)
{
var rc;
do {rc=Math.floor(Math.random()*3)-1;} while (rc==2);
return(rc);
}
var recent, recent2, recdone=false;
function myshow(count)
{
var id, id2;
id=eval("q"+count);
id2=eval("q"+count+"a");
if (recdone==false) {
recent=wq_user;
recent2="";
recdone=true;}
recent.style.display="none";
if (recent2!="") recent2.style.display="none";
id.style.display="";
id2.style.display="";
if (questions[count-1].type>2) document.WapForm.elements[questions[count-1].qname].focus();
recent=id;recent2=id2;}

