<!--
var Validity = new Array();
var nrAnswers = -1;
var answerPrompts = new Array();
var WinNr = 0;
var WinName = window.name;
var WinNr = 0;
var WindowName = window.name;
var AllowedNumberString = "0123456789Ee+-."

function stripNonNumeric (InString)  {
  var OutString = ""
  InString = ""+InString
  for (var Count=0; Count < InString.length; Count++)  {
    TempChar=InString.substring (Count, Count+1)
    Keep = false
    for (Countx = 0; Countx < AllowedNumberString.length; Countx++) {
    	StripThis = AllowedNumberString.substring(Countx, Countx+1)
       if (TempChar == StripThis) {
         Keep = true
         break
      }
    }
    if (Keep)
      OutString=OutString+TempChar
  }
  return (OutString)
}

function CheckAnswer(form,width,height){
  if (width == null) width = 500;
  if (height == null) height = 150;

  var Qstyle = form.elements[0].type;
  Qstyle = Qstyle.toUpperCase();

  var nr = form.name - 1;
  var response = St[nr];
  var quest = response.split("|||");
  var temp = "";
  nrAnswers = quest.length-1;
  for (var i=0; i<nrAnswers; i++){
    temp = quest[i];
    var ck = temp.substring(0,1);
    Validity[i] = ck.toUpperCase();
    if ((Validity[i] == "T") || (Validity[i] =="F"))
      temp = temp.substring(1);
    else
      Validity[i]= "T";
    answerPrompts[i] = temp;
  }
  if (Qstyle == "RADIO"){
    var ck = false;
    for (i=0; i<form.length; i++){
      if ((form.elements[i].type.toUpperCase() == "RADIO") &&  (form.elements[i].checked)){
         ck = true;
         break;
      }
    }
    if (ck == false){
      alert('You must select an answer.');
      return (false);
    }
    else{
      temp = answerPrompts[i].toUpperCase();
      if ( temp.indexOf("HREF=")== 0) {
        temp = answerPrompts[i].substring(5);
        var w = window.open(temp,WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
        WinNr++;
      }
      else {
        var w = window.open("",WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
        WinNr++;
        var d = w.document;
        d.write('<body bgColor="'+ document.bgColor+
          '" link="'+ document.linkColor+
          '" vlink="'+ document.vlinkColor+'">');
        if (Validity[i] == "T"){
          d.write('<b>Correct</b>.<p>'+answerPrompts[i]+'</p>');
        }
        else{
          d.write('<b><font color="red"> Incorrect</font></b>.<p>'+answerPrompts[i]+'</p>');
        }
        d.write('<p><center><input type="Button" value="Close" name="CloseButton" onClick="self.close()"></center>'+'</p>');
        d.close();
      }
    }
  }
  else
  if (Qstyle == "CHECKBOX"){
    var ctValid = -1;
    var ctActual = -1;
    var ckValid = new Array();
    nrButtons = 0;
    for (var i=0; i<form.length; i++){
      if (form.elements[i].type.toUpperCase() == "CHECKBOX"){
        nrButtons++;
        if (form.elements[i].checked){
          ctActual++;
          if (Validity[i] == "T")
            ckValid[i] = true;
          else
            ckValid[i] = false;
        }
        else{
         if (Validity[i] == "F")
           ckValid[i] = true;
         else
           ckValid[i] = false;
        }
      }
    }
    for (var i=0; i<nrButtons; i++){
      if (Validity[i] == "T")
         ctValid++;
    }
    if (ctValid != ctActual){
      alert('You have not selected the correct number of answers.');
      return (false);
    }
    else{

      var ck = true;
		 for (var i=0; i<nrButtons; i++){
        if (ckValid[i] == false){
           ck = false;
           break;
        }
      }
      var hasURLs = false;
		 for (var i=0; i<nrButtons; i++){
        if (((ck == true) && (Validity[i] == "T") && (form.elements[i].checked)) ||
            ((ck == false) && (Validity[i] == "F") &&(form.elements[i].checked))){
          temp = answerPrompts[i].toUpperCase();
          if ( temp.indexOf("HREF=")== 0) {
            temp = answerPrompts[i].substring(5);
            hasURLs = true;
            var w = window.open(temp,WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
            WinNr++;
          }
        }
      }
      if (! hasURLs){
        var w = window.open("",WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
        WinNr++;
        var d = w.document;
        d.write('<body bgColor="'+ document.bgColor+
        '" link="'+ document.linkColor+
        '" vlink="'+ document.vlinkColor+'">');
        if (ck == true)
          d.write('<b>Correct</b>.');
        else
          d.write('<b><font color="red"> Incorrect</font></b>.');
	    	 for (var i=0; i<nrButtons; i++){
          if (((ck == true) && (Validity[i] == "T") && (form.elements[i].checked)) ||
             ((ck == false) && (Validity[i] == "F") &&(form.elements[i].checked)))
            d.write('<p>'+answerPrompts[i]+'</p>');
        }
        d.write('<p><center><input type="Button" value="Close" name="CloseButton" onClick="self.close()"></center>'+'</p>');
        d.close();
      }
    }
  }
  if (Qstyle == "TEXT"){
    var isExact = false;
    for (var i=0; i< form.length; i++) {
      if ((form.elements[i].type.toUpperCase() == "BUTTON") && (form.elements[i].name.toUpperCase() == "EXACT"))
       isExact = true;
    }
    if (isExact)
      var ans = form.elements[0].value
    else
      var ans = (form.elements[0].value-0).toString();
    ans = stripNonNumeric(ans.toUpperCase())
    if (ans.charAt(0) == '.') { ans = '0'+ans}
    var hasURLs = false;
    for (var i=1; i<3; i++){
      temp = answerPrompts[i].toUpperCase();
      if ( temp.indexOf("HREF=")== 0)
        hasURLs = true;
    }
    if (hasURLs) {
      ckAns = answerPrompts[0]; 
      ckAns = ckAns.toUpperCase()
      if (ans == ckAns){
        temp = answerPrompts[1];
        temp = temp.substring(5);
        if (temp == "") {
          alert('Correct');
          return (true);
        }
      }
      else{
        temp = answerPrompts[2];
        temp = temp.substring(5);
        if (temp == "") {
          alert('False');
          return (true);
        }
      }
      var w = window.open(temp,WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
      WinNr++;
    }
    else{ 
      var w = window.open("",WinName+"Al"+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
      WinNr++;
      var d = w.document;
      d.write('<body bgColor="'+ document.bgColor+
        '" link="'+ document.linkColor+
        '" vlink="'+ document.vlinkColor+'">');
      ckAns = answerPrompts[0]; 
      if (ans == ckAns){
          d.write('<b>Correct</b>.<p>'+answerPrompts[1]+'</p>');
      }
      else {
        d.write('<b><font color="red"> Incorrect</font></b>.');
        if ((isExact) && (ans.length == ckAns.length))
           d.write('<p>The numerical value is wrong.  However, the number of significant digits in your answer appears right.</p>');
        else
           d.write('<p>'+answerPrompts[2]+'</p>');

      }
      d.write('<p><center><input type="Button" value="Close" name="CloseButton" onClick="self.close()"></center>'+'</p>');
      d.close();
    }
  }
  return(true);
}

function newWindow(name,width,height){
  if (width == null) width = 500;
  if (height == null) height = 350;
  var w = window.open(name,WindowName+WinNr,"width="+width+",height="+height+",scrollbars,resizable");
  WinNr++;
}

// -->