// JavaScript Document
<!--

function MM_preloadImages() { //v3.0 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
} 

function MM_swapImgRestore() { //v3.0 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 
} 
 
function MM_findObj(n, d) { //v3.0 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; 
} 
 
function MM_swapImage() { //v3.0 
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 
} 

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_setTextOfTextfield(objName,x,newText) { //v3.0
  var fromfieldobj = MM_findObj('currentfield'); 
  var fromvalue;  
  if (fromfieldobj) fromvalue = fromfieldobj.value;
  //alert(newText);
 // alert(fromfieldobj.value);
  var obj = MM_findObj(fromvalue); 
  if (obj) obj.value = obj.value + newText;
  }

function MM_setTextOfTextfieldnoadd(objName,x,newText) { //v3.0
  var obj = MM_findObj(objName); if (obj) obj.value = newText;
}

function MM_checkanswers(s) { //v2.0

     var fieldname; 
     var fromfieldobj;
     var fromvalue;  
     var tofieldobj;
     var tovalue;  
     var toobj;
     var scoreobj;
     var scorevalue = 0;
     var hintsobj;
     var hintsvalue;

  for (i=1; i<=s; i++) 
     { 
     fieldname = 'entered'+i;
     fromfieldobj = MM_findObj(fieldname); 
     if (fromfieldobj) fromvalue = fromfieldobj.value;

     fieldname = 'tofield'+i;
     tofieldobj = MM_findObj(fieldname); 
     if (tofieldobj) tovalue = tofieldobj.value;

     fieldname = 'score';
     scoreobj = MM_findObj(fieldname); 

     fieldname = 'okfield'+i;
     toobj = MM_findObj(fieldname); 
     if (toobj) 
        {
        if (fromvalue == tovalue)
           {
           toobj.value = 'T';
           scorevalue = scorevalue + tovalue.length;
           }
        else
           toobj.value = 'F';
        }
     else
        {
        obj.value = 'no toobj'
        }
     }
  
  fieldname = 'hints';
  hintsobj = MM_findObj(fieldname); 
  if (hintsobj) hintsvalue = hintsobj.value;

  scorevalue = scorevalue - hintsvalue*2;
  if (scorevalue < 0) { scorevalue = 0 }
  scoreobj.value = scorevalue;

  return 0
}

function MM_giveclue (n) { //v2.0

     var fieldname; 
     var tofieldobj;
     var tovalue;  
     var clueobj;
     var totalobj;
     var totalvalue;
     var hintsobj;
     var hintsvalue;
     var currentvalue;     
     var i;
     var same;
     var notsame;
     var slen;

     fieldname = 'tofield'+n;
     tofieldobj = MM_findObj(fieldname); 
     if (tofieldobj) tovalue = tofieldobj.value;

     fieldname = 'entered'+n;
     clueobj = MM_findObj(fieldname); 
     if (clueobj) currentvalue = clueobj.value;

     fieldname = 'totalpoints';
     totalobj = MM_findObj(fieldname); 
     if (totalobj) totalvalue = totalobj.value;

     fieldname = 'hints';
     hintsobj = MM_findObj(fieldname); 
     if (hintsobj) hintsvalue = 0+hintsobj.value;

     if (clueobj) 
        {
        same = 0;      
        notsame = 0; 
        slen = tovalue.length;
        for (i=1; i<=slen; i++) 
           { 
           if (currentvalue.substring(i-1,i) == tovalue.substring(i-1,i))    
              {
              if (notsame == 0) 
                 {
                 same = i;
                 }
              }
           else
              {
              notsame = 1;
              }
           }
        if (clueobj.value != tovalue.substring (0,same+2))
           {
           clueobj.value = tovalue.substring (0,same+2);
           var t = 0;
           t = t - hintsvalue - 1;
           t = -t;
           hintsobj.value = t;
           }
        }
     else
        {
        clueobj.value = '*error*';
        }
  return 0
}
//-->
