
// Definitionen für mf-Tests (= Multiple Choice Tests mit Mehrfachantworten)
// wichtige Variable haben ein "_mf" im Namen
 
 UNCHECKED=new Image();
 UNCHECKED.src='../defs/unchecked.gif';

 CHECKED=new Image();
 CHECKED.src='../defs/checked.gif';

 var n_fragen_mf, j_antw_mf;  // n_fragen_mf zählt die Fragen, j_antw_mf die Antworten,
 n_fragen_mf = 0;          // um die Fragen richtig durchzuzählen
 n_antw_mf = new Array();   // zählt die Antworten für jede Frage
 r_antw_mf = new Array();  // zählt die richtigen Antworten jeder Frage
 punktezahl_mf = new Array(); // ermittelt die erzielte Punktezahl zu jeder Frage

 var punkte_mf;  var punktegesamt_mf; 
 punkte_mf=0; punktegesamt_mf=0;

 function frage_beginn_mf(frage,Ltot,L1,L2,L3)  // frage darf HTML-Tags enthalten
                                            // Die L's: Standard:  'total%', '2%', '80%', '18%'
 {                                          // Wenn 2 in Table von 100% -> Ltot='95%'
                                            // Einzelner:          '500', '10', '410', '80' 
  n_fragen_mf = n_fragen_mf+1;  // n_fragen_mf steht jetzt auf der Nummer der konkreten Frage
  j_antw_mf = 0;
  r_antw_mf[n_fragen_mf]=0;
  n_antw_mf[n_fragen_mf]=0;   // initialisieren
  punktezahl_mf[n_fragen_mf]=0;   // Null setzen, falls eine Frage gar nicht angeklickt wird (ansonsten ist die Endpunktezahl NaN)
  document.write(
   '<!-- ---------------------- Test Beginn --------------------------- -->\n'+
   '<CENTER><FORM NAME="form_mf_'+n_fragen_mf+'">\n'+   // form_mf_1, form_mf_2,... -> Namen der Formen
   '<TABLE WIDTH="'+Ltot+'" BORDER="0" CELLPADDING="2" CELLSPACING="0" BGCOLOR="#FFFFEE" "#e3f4e2">\n'+
   '<TD BGCOLOR="#EAE2D4" "#e3e4f2">\n'+
   '<TABLE CELLPADDING="8" WIDTH="100%"><TD><FONT FACE="Arial,Helvetica" SIZE="-1"><B>\n'+
   frage + 
   '</B></TD></TABLE>\n'+
   '</TD><TR><TD>\n'+
   '<TABLE CELLPADDING="0" WIDTH="100%">\n'
  );
 }


 function antwort_mf(antw,richtigfalsch,Ltot,L1,L2,L3)  // antw darf HTML-Tags enthalten
 {                                      // richtigfalsch = 'RICHTIG' oder 'FALSCH',
  j_antw_mf = j_antw_mf + 1;
  if (richtigfalsch=="RICHTIG") r_antw_mf[n_fragen_mf] = r_antw_mf[n_fragen_mf] + 1;
  objektname='a'+n_fragen_mf+'_'+j_antw_mf;  // Numerierung a1_1, a1_2, ... a2_1, ...
  bildname='bild'+n_fragen_mf+'_'+j_antw_mf;  // Numerierung bild1_1, bild1_2, ... bild2_1, ...
  n_antw_mf[n_fragen_mf]=n_antw_mf[n_fragen_mf]+1;   // n_fragen_mf ist hier die jeweils aktuelle Nummer des Frage
  document.write(
   '<TR><TD WIDTH="'+L1+'">&nbsp;</TD>\n'+
   '<TD WIDTH="'+L2+'"><FONT FACE="Arial,Helvetica" SIZE="-1">\n'+
   antw +
   '</TD><TD ALIGN="CENTER" WIDTH="'+L3+'">\n'+
   '<FONT FACE="Arial,Helvetica" SIZE="-1">\n'+
   '<INPUT TYPE="checkbox" NAME="'+objektname+'" VALUE="'+richtigfalsch+'">&nbsp;&nbsp;&nbsp;'+
   '<IMG SRC="../defs/unchecked.gif" NAME="'+bildname+'" WIDTH="15" HEIGHT="15">'+
   '</TD>\n'
  ); 
 }


 function frage_ende_mf(Ltot)
 {
  xStoreValue2 = "";
  punktegesamt_mf = punktegesamt_mf + n_antw_mf[n_fragen_mf];
  document.write(
  '</TABLE>\n'+
  '</TD>\n'+
  '</TABLE>\n'+
   '<TABLE WIDTH="'+Ltot+'" BORDER="0" CELLPADDING="10" CELLSPACING="0" BGCOLOR="#EAE2D4">\n'+
  '<TD><FONT FACE="Arial,Helvetica" SIZE="-1"><CENTER><INPUT TYPE="button" VALUE="Auswertung:" NAME="knopf"\n'+
//
// an dieser Stelle ist: n_fragen_mf = aktuelle Nummer der Frage
//                       j_antw_mf = Zahl der Antworten zu dieser Frage
//
  'ONCLICK="punktezahl_mf['+n_fragen_mf+']=0;\n');
  for (var j=1;j<=j_antw_mf;j=j+1)
{
  document.write(
   'if (a'+n_fragen_mf+'_'+j+'.value==\'RICHTIG\' && a'+n_fragen_mf+'_'+j+'.checked)\n'+
   '       punktezahl_mf['+n_fragen_mf+']=punktezahl_mf['+n_fragen_mf+']+1;\n'+ 
//                      für jedes korrekte CHECK ein Punkt dazu
   '  else if (a'+n_fragen_mf+'_'+j+'.value==\'FALSCH\' && !(a'+n_fragen_mf+'_'+j+'.checked))\n'+
   '       punktezahl_mf['+n_fragen_mf+']=punktezahl_mf['+n_fragen_mf+']+1; \n'+ 
//                      für jedes korrekt gesetzte nichtCHECK ein Punkt dazu
  'if (a'+n_fragen_mf+'_'+j+'.value==\'RICHTIG\') bild'+n_fragen_mf+'_'+j+'.src=CHECKED.src;\n');
}
  document.write(
  'au.value=\' \'+punktezahl_mf['+n_fragen_mf+'];\n'+
  'aug.value= \' \'+n_antw_mf['+n_fragen_mf+']'+ 
  '">&nbsp;&nbsp;&nbsp;\n'+
  '<FONT SIZE="+0"><INPUT TYPE="text" NAME="au" SIZE="2" onfocus = "xStoreValue2 = this.value;" onkeydown="this.value = xStoreValue2;" onkeyup="this.value = xStoreValue2;"></FONT> von '+
  '<FONT SIZE="+0"><INPUT TYPE="text" NAME="aug" SIZE="2" onfocus = "xStoreValue2 = this.value;" onkeydown="this.value = xStoreValue2;" onkeyup="this.value = xStoreValue2;"></FONT> Punkten erzielt\n'+
  '</TD></TABLE>\n'+
  '</FORM></CENTER>\n'+
  '<!-- ---------------------- Test Ende --------------------------- -->\n'
  );
 }


 function auswerten_mf()
 {
  punkte_mf=0;  // initialisieren
  for (var j=1;j<=n_fragen_mf;j=j+1)          // gehe alle Antworten durch
  punkte_mf = punkte_mf + punktezahl_mf[j];
 }


function auswerteButton_mf() 
 {
 document.write(
 '<INPUT TYPE="button" value="Gesamtauswertung"\n'+
 'ONCLICK="');
// JETZT DIE EINZELNEN FRAGEN DURCHGEHEN BEGINN
  for (var k=1;k<=n_fragen_mf;k=k+1)
{
  document.write('punktezahl_mf['+k+']=0;');
  for (var j=1;j<=n_antw_mf[k];j=j+1)
{
  document.write(

   'if (form_mf_'+k+'.a'+k+'_'+j+'.value==\'RICHTIG\' && form_mf_'+k+'.a'+k+'_'+j+'.checked)\n'+
   '       punktezahl_mf['+k+']=punktezahl_mf['+k+']+1;\n'+ 
//                      für jedes korrekte CHECK ein Punkt dazu
   '  else if (form_mf_'+k+'.a'+k+'_'+j+'.value==\'FALSCH\' && !(form_mf_'+k+'.a'+k+'_'+j+'.checked))\n'+
   '       punktezahl_mf['+k+']=punktezahl_mf['+k+']+1; \n'+ 
//                      für jedes korrekt gesetzte nichtCHECK ein Punkt dazu
  'if (form_mf_'+k+'.a'+k+'_'+j+'.value==\'RICHTIG\') bild'+k+'_'+j+'.src=CHECKED.src;\n');
}
  document.write(
//// ATL: (WEG) 'if (punktezahl_mf['+k+']<0) punktezahl_mf['+k+']=0;\n'+
  'form_mf_'+k+'.au.value=\' \'+punktezahl_mf['+k+'];\n'+
  'form_mf_'+k+'.aug.value= \' \'+n_antw_mf['+k+'];\n'); 
}
// JETZT DIE EINZELNEN FRAGEN DURCHGEHEN ENDE
  document.write(
 'auswerten_mf();\n'+
 'auswert.value= \'  \'+punkte_mf; '+
 'pktttl.value= \'  \'+punktegesamt_mf'+
// 'auswert.value=\' \'+punkte_mf; pktttl.value='  '+punktegesamt_mf\n'+
 '">');
 }



// ----- einige Abkürzungen zum bequemeren Editieren der Seiten:


// Wenn 2 Fragen nebeneinander in eine Tabelle eingebunden werden sollen:

 function frage_beginn_mf_2(frage) 
 {  frage_beginn_mf(frage,'92%','2%','80%','18%'); }

 function antwort_mf_2(antw,richtigfalsch)
 {  antwort_mf(antw,richtigfalsch,'92%','2%','80%','18%') }

 function frage_ende_mf_2()
 { frage_ende_mf('92%') }

// Wenn eine Frage alleinstehen soll:

 function frage_beginn_mf_1(frage) 
 {  frage_beginn_mf(frage,'500','10','410','80'); }

 function antwort_mf_1(antw,richtigfalsch)
 {  antwort_mf(antw,richtigfalsch,'500','10','410','80') }

 function frage_ende_mf_1()
 { frage_ende_mf('500') }


 function open_info_punkte_mf()
 {
   var fenster_info_punkte_mf ; //= null;
    if ((fenster_info_punkte_mf == null)||(fenster_info_punkte_mf.closed)) 
     { fenster_info_punkte_mf = window.open("../defs/info_mf.html","Fenster_info_punkte_mf","width=600,height=385,resizable=yes,status=no,menubar=no,location=no,scrollbars=yes"); 
       fenster_info_punkte_mf.opener = top;
       fenster_info_punkte_mf.focus(); 
     } 
    else { fenster_info_punkte_mf.focus(); }
 }

