//Copyright 2001,2002,2003 Dennis J. Toms

//Create an alphabetized list
   var cliplen = 19;
   var alpha = new Array(n);
   for (i=0; i<n; i++) {
      alpha[i] = h[i];
   }
   alpha.sort();
   //Create a scrambled index
   var indx = new Array(n);
   for (i=0; i<n; i++) {
      indx[i] = i;
   }
   var temp; var i; var j;
   for (k=0; k<20; k++) {
      i = Math.round(Math.random()*(n-1));
      j = Math.round(Math.random()*(n-1));
      temp = indx[i];
      indx[i] = indx[j];
      indx[j] = temp;
   }
   var max = 10;
   for (i=0; i<n; i++) {
      temp = clip(h[i],cliplen+3);
      if (temp.length > max) {
         max = temp.length;
      }
   }
   //var spaces = "     ";
   var spaces = "  ";
   for (i=0; i<max; i++) {
      spaces = spaces + " ";
   }
   var hasFocus = null;
   var date = new Date();
   var tstart = date.getTime();
   var tstop;

   function clip(s,n) {
      <!--returns the first n characters of string s-->
      if (s.length > n) {
         return s.substring(0,n-1);
      }
      else {
         return s;
      }
   }
   
   function setButtonFocus(b) {
      hasFocus = b;
      hasFocus.value = spaces;
      updateCheckBoxes();
   }

   function setButtonLabel(t) {
      if (hasFocus != null) {
         if (t.length > cliplen+3) {
            hasFocus.value = clip(t,cliplen) + "...";
         }
         else {
            hasFocus.value = t;
         }
         hasFocus.blur();
         hasFocus = null;  
      }
      updateCheckBoxes();
      if (document.tForm.timeMe.checked) {
         if (isDone()) {
            checkAnswers();
         }
      }
   }

   function updateCheckBoxes() {
      <!--check all boxes for which buttons have been labeled-->
      for (i=0; i<n; i++) {
         var chkbox = document.sForm.elements[i];
         chkbox.checked = false;
         for (j=0; j<n; j++) {
            var button = document.wForm.elements[j];
            if (clip(chkbox.value,cliplen) == clip(button.value,cliplen)) {
              chkbox.checked = true;
            }
         }
      }
   }

   function checkAnswers() {
      var errCount = 0;
      for (i=0; i<n; i++) {
         var txt = document.wForm.elements[i];
         if (clip(txt.value,cliplen) != clip(txt.name,cliplen)) {
            errCount++;
            txt.value = spaces;
         }
  
      }
      updateCheckBoxes();
      if (errCount == 0) {
         if (document.tForm.timeMe.checked) {
            var time = elapsedTime();
            var tgood = 40*n/12;
            var tpoor = 60*n/12;
            if (time < tgood) {
              alert(r[15] +(n-errCount)+ r[16] + " ... " +time+ r[18]);
              self.location=next;
            }
            else {
               if (time >= tpoor) {
                  alert(r[15] +(n-errCount)+ r[16] + " ... " +time+ r[19]);
                  startTimer();
               }
               else {
                  alert(r[15] +(n-errCount)+ r[16] + " ... " +time+ r[20]);
                  self.location=next;
               }
            }
         }
         else {
            alert(praise);
            self.location=next;
         }
      } 
      else {
         alert(r[15] +(n-errCount)+ r[16] + r[17]);
      }
      
   }
     
   function clearButtons() {
      for (i=0; i<n; i++) {
         var txt = document.wForm.elements[i];
         txt.value = spaces;
      }
   }

   function startTimer() {
      if (document.tForm.timeMe.checked) {
        if (document.tForm.lookup.checked) {
          document.tForm.timeMe.checked = false;
        }
        else {
          clearButtons();
          document.sForm.reset();
          var now = new Date();
          tstart = now.getTime();
        }
      }
   }

   function elapsedTime() {
      <!--to 1/10 sec-->
      var tmsec = tstop - tstart;
      return tmsec/1000;
   }

   function isDone() {
      <!--returns 'true' if the user has checked all boxes-->
      for (i=0; i<n; i++) {
         var chkbox = document.sForm.elements[i];
         if (chkbox.checked == false) {
           return false;
         }  
      }
      var now = new Date();
      tstop = now.getTime();
      return true; 
   }

   function initLookup() {
     if (document.tForm.lookup.checked) {
       document.tForm.timeMe.checked = false;
       alert(r[14]);
     }
   }

   function lookup(b) {
     if (document.tForm.lookup.checked) {
       hasFocus = b;
       for (i=0; i<n; i++) {
         if (hasFocus.name == h[i]) {
           alert("" + h[i] + " -- " + d[i]);
           return;
         }
       }
     }
     else {
       setButtonFocus(b);
     }
   }

   function writePage() {
      var s = new Array(24);
      var u = new Array(24);
      var nlang = 23;
      var k = 0;
        u[k] = "ca";
        s[k] = "ca/ca";
      k = k + 1; 
        u[k] = "cze";
        s[k] = "cz/cz";
      k = k + 1;
        u[k] = "de";
        s[k] = "Seite";
      k = k + 1;
        u[k] = "en";
        s[k] = "Page";
      k = k + 1;
        u[k] = "es";
        s[k] = "sp";
      k = k + 1;
        u[k] = "fi";
        s[k] = "Sivu";
      k = k + 1;
        u[k] = "fr";
        s[k] = "fr";
      k = k + 1;
        u[k] = "hu";
        s[k] = "hu/Oldal";
      k = k + 1;
        u[k] = "it";
        s[k] = "it";
      k = k + 1;
        u[k] = "lv";
        s[k] = "lv/Lapa";
      k = k + 1;
        u[k] = "nl";
        s[k] = "nl";
      k = k + 1;
        u[k] = "no";
        s[k] = "no";
      k = k + 1;
        u[k] = "pl";
        s[k] = "pl/Strona";
      k = k + 1;
        u[k] = "pt";
        s[k] = "Pagina";
      k = k + 1;
        u[k] = "ro";
        s[k] = "ro/Pag";
      k = k + 1;
        u[k] = "ru";
        s[k] = "ru/ru";
      k = k + 1;
        u[k] = "sk";
        s[k] = "sk/sk";
      k = k + 1;
        u[k] = "slv";
        s[k] = "slv/Stran";
      k = k + 1;
        u[k] = "sr";
        s[k] = "sr/sr";
      k = k + 1;
        u[k] = "sv";
        s[k] = "Sida";
      k = k + 1;
        u[k] = "tr";
        s[k] = "tr/Sayfa";
      k = k + 1;
        u[k] = "zh-CN";
        s[k] = "chn/chn";
      k = k + 1;
        u[k] = "zh-TW";
        s[k] = "tw/zh-tw";  
      
      var languageSelector = "";
      for (i=0; i<13; i++) {
         languageSelector += '&nbsp&nbsp<A HREF=' + '\"' + root + s[i] + '_' +heading+ '.html\">' + u[i] + '</A>';
      }
      languageSelector += '<br>';
      for (i=13; i<nlang; i++) {
         languageSelector += '&nbsp&nbsp<A HREF=' + '\"' + root + s[i] + '_' +heading+ '.html\">' + u[i] + '</A>';
      }
      languageSelector += '&nbsp&nbsp<A HREF=\"' + root + 'wanted.html\">xx</A>';
      
      var sp = " ";
      if (p[2]=='zh-tw' || p[2]=='chn') {
	      sp = "";
      }
      p[0] = p[0] + sp;

      var w = "";
      <!--w += '<H2>' +heading+ '</H2>';-->
      w += '<BIG>' +p[0]+ '' +heading+p[1]+ '</BIG> -- ' + r[1];
      w += '<TABLE COLS=2><TR><TD WIDTH=500>';
      w += '<FORM NAME="wForm">';
      <!--w += '<TABLE COLS=4 WIDTH=80%>';-->
      w += '<TABLE COLS=4 WIDTH=400>';
      var j=-1;
      while (j<n-1) {
         j++;
         w += '<TR>';
         w += '<TD WIDTH=50 ALIGN=RIGHT><IMG SRC="' +g[indx[j]]+ '.gif" HEIGHT=31 WIDTH=31 ALT="Symbol"></TD>';
         w += '<TD><INPUT TYPE=BUTTON NAME="' +h[indx[j]]+ '" SIZE=20 VALUE="' +spaces+ '"';
         w += '   onClick="lookup(this)"></TD></FONT>';
         if (j<n-1) {
            j++;
            w += '<TD ALIGN=RIGHT><IMG SRC="' +g[indx[j]]+ '.gif" HEIGHT=31 WIDTH=31 ALT="Symbol"></TD>';
            w += '<TD><INPUT TYPE=BUTTON NAME="' +h[indx[j]]+ '" SIZE=20 VALUE="' +spaces+' "';
            w += '   onClick="lookup(this)"></TR>';
         }
      }
      w += '</TABLE>';
      w += '</FORM>';
      w += '<FORM NAME="sForm">';
      w += '<TD>';
      for (i=0; i<n; i++) {
         var txt = alpha[i];
         w += '<INPUT TYPE=CHECKBOX VALUE=\"' +txt+ '\" onClick="setButtonLabel(\'' +txt+ '\')">' +txt+ '<BR>';
      }
      w += '</FORM>';
      <!--w += '<P> <P>&nbsp&nbsp&nbsp&nbsp&nbsp<A HREF="list.html">list of feature types</A></TD></TR>';-->
      w += '</TD></TR></TABLE>';

      w += '<FORM NAME="tForm">';
      w += '<TABLE CELLPADDING=1>';
      w += ' <TR ALIGN="center"><TD>';
      w += '     <INPUT TYPE=BUTTON VALUE=\"' +r[3]+ '\" onClick="checkAnswers()">';
      w += '     <INPUT TYPE=BUTTON VALUE=\"' +r[4]+ '\" onClick="document.location.reload(true)"></TD>';
      w += '     <TD>&nbsp&nbsp&nbsp&nbsp<INPUT TYPE=CHECKBOX NAME="timeMe" onClick="startTimer()">' +r[5]+ '</TD>';
      w += '     <TD>&nbsp&nbsp&nbsp&nbsp<INPUT TYPE=CHECKBOX NAME="lookup" onClick="initLookup()">' +r[6]+ '</TD>';
      //w += '     <TD>&nbsp&nbsp&nbsp&nbsp<A HREF=' + root + summary + '>' +r[7]+ '</A></TD></TR>';
      w += '</TR>';
      w += '</TABLE>';
      w += '</FORM>';

      w += '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>';
      w += '  <TR><TD>';   
      w += '  <TABLE BORDER=1 CELLSPACING=0 CELLPADDING=3>';
      w += '    <TR BGCOLOR=#E0E0E0><TD><BR></TD>';
      w += '      <TD COLSPAN=3 ALIGN="center"><SMALL>' +r[8]+ '</SMALL></TD>';
      w += '      <TD COLSPAN=3 ALIGN="center"><SMALL>' +r[9]+ '</SMALL></TD>';
      w += '      <TD COLSPAN=3 ALIGN="center"><SMALL>' +r[10]+ '</SMALL></TD>';
      //w += '      <TD COLSPAN=1 ALIGN="center"><SMALL>' +" "+ '</SMALL></TD>';      
      w += '      <TD><BR></TD></TR>';
      w += '    <TR BGCOLOR=#E0E0E0><TD ALIGN="center" VALIGN="center">';
      w += '      <A HREF=\"' +home+ '\"><SMALL>' +r[12]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_1.html\" ><SMALL>' +p[0]+ '1' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_2.html\" ><SMALL>' +p[0]+ '2' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_3.html\" ><SMALL>' +p[0]+ '3' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_4.html\" ><SMALL>' +p[0]+ '4' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_5.html\" ><SMALL>' +p[0]+ '5' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_6.html\" ><SMALL>' +p[0]+ '6' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_7.html\" ><SMALL>' +p[0]+ '7' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_8.html\" ><SMALL>' +p[0]+ '8' +p[1]+ '</SMALL></A></TD>';
      w += '      <TD><A HREF=\"' +p[2]+ '_9.html\" ><SMALL>' +p[0]+ '9' +p[1]+ '</SMALL></A></TD>';  
      //w += '      <TD><A HREF=\"' +p[2]+ '_10.html\" ><SMALL>' +p[0]+ ' 10' +p[1]+ '</SMALL></A></TD>'; 
      w += '      <TD><A HREF=\"' + root + 'finish2.html\"><SMALL>' +r[13]+ '</SMALL></A></TD></TR>';  
      w += '  </TABLE>';
      w += '  </TD>';
      w += '  <TD WIDTH=140 ALIGN="center"><SMALL>' +languageSelector+ '<BR>';
      w += '  <A HREF=\"http://www.fortnet.org/icd\">home: www.fortnet.org/icd/</A><SMALL></TD><TR>';
      w += '</TABLE>';
      w += '<FONT COLOR="gray"><SMALL>' +r[11]+ '</SMALL></FONT>'; //Change of answer instruction
      document.write(w);
      document.close;
   }
