<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function WAtrimIt(theString,leaveLeft,leaveRight)  {
  if (!leaveLeft)  {
    while (theString.charAt(0) == " ")
      theString = theString.substring(1);
  }
  if (!leaveRight)  {
    while (theString.charAt(theString.length-1) == " ")
      theString = theString.substring(0,theString.length-1);
  }
  return theString;
}

function WAFV_GetValueFromInputType(formElement,inputType,trimWhite) {
  var value="";
  if (inputType == "select")  {
    if (formElement.selectedIndex != -1 && formElement.options[formElement.selectedIndex].value && formElement.options[formElement.selectedIndex].value != "") {
      value = formElement.options[formElement.selectedIndex].value;
    }
  }
  else if (inputType == "checkbox")  {
    if (formElement.length)  {
      for (var x=0; x<formElement.length ; x++)  {
        if (formElement[x].checked && formElement[x].value!="")  {
          value = formElement[x].value;
          break;
        }
      }
    }
    else if (formElement.checked)
      value = formElement.value;
  }
  else if (inputType == "radio")  {
    if (formElement.length)  {
      for (var x=0; x<formElement.length; x++)  {
        if (formElement[x].checked && formElement[x].value!="")  {
          value = formElement[x].value;
          break;
        }
      }
    }
    else if (formElement.checked)
      value = formElement.value;
  }
  else if (inputType == "radiogroup")  {
    for (var x=0; x<formElement.length; x++)  {
      if (formElement[x].checked && formElement[x].value!="")  {
        value = formElement[x].value;
        break;
      }
    }
  }
  else if (inputType == "iRite")  {
     var theEditor = FCKeditorAPI.GetInstance(formElement.name) ;
     value = theEditor.GetXHTML(true);
  }
  else  {
    var value = formElement.value;
	value=value.replace(/<p>(\&\#160\;)*<\/p>/,"");
  }
  if (trimWhite)  {
    value = WAtrimIt(value);
  }
  return value;
}

function WAAddError(formElement,errorMsg,focusIt,stopIt)  {
  if (document.WAFV_Error)  {
	  document.WAFV_Error += "\n" + errorMsg;
  }
  else  {
    document.WAFV_Error = errorMsg;
  }
  if (!document.WAFV_InvalidArray)  {
    document.WAFV_InvalidArray = new Array();
  }
  document.WAFV_InvalidArray[document.WAFV_InvalidArray.length] = formElement;
  if (focusIt && !document.WAFV_Focus)  {
	document.WAFV_Focus = focusIt;
  }

  if (stopIt == 1)  {
	document.WAFV_Stop = true;
  }
  else if (stopIt == 2)  {
	formElement.WAFV_Continue = true;
  }
  else if (stopIt == 3)  {
	formElement.WAFV_Stop = true;
	formElement.WAFV_Continue = false;
  }
}

function WAValidateRQ(formElement,errorMsg,focusIt,stopIt,trimWhite,inputType)  {
  var isValid = true;
  if (!document.WAFV_Stop && !formElement.WAFV_Stop)  {
    var value=WAFV_GetValueFromInputType(formElement,inputType,trimWhite);
    if (value == "")  {
	    isValid = false;
    }
  }
  if (!isValid)  {
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
}
function WAAlertErrors(errorHead,errorFoot,setFocus,submitForm)  { 
  if (!document.WAFV_StopAlert)  { 
	  document.WAFV_StopAlert = true;
	  if (document.WAFV_InvalidArray)  {  
	    document.WAFV_Stop = true;
        var errorMsg = document.WAFV_Error;
	    if (errorHead!="")
		  errorMsg = errorHead + "\n" + errorMsg;
		if (errorFoot!="")
		  errorMsg += "\n" + errorFoot;
		document.MM_returnValue = false;
		if (document.WAFV_Error!="")
		  alert(errorMsg.replace(/&quot;/g,'"'));
		else if (submitForm)
		  submitForm.submit();
	    if (setFocus && document.WAFV_Focus)  {
		  if (document.getElementById(document.WAFV_Focus.name+"___Config") && document.WAFV_Focus.type.toLowerCase() == "hidden")  {
	        var theEditor = FCKeditorAPI.GetInstance(document.WAFV_Focus.name);
		    theEditor.EditorWindow.focus();
			setTimeout("setTimeout('document.WAFV_Stop = false;document.WAFV_StopAlert = false;',1)",1); 
		  }
		  else  {
		    document.tempFocus = document.WAFV_Focus;
			setTimeout("document.tempFocus.focus();setTimeout('document.WAFV_Stop = false;document.WAFV_StopAlert = false;',1)",1); 
		  }
        }
        else {
          document.WAFV_Stop = false;
          document.WAFV_StopAlert = false;
        }
        for (var x=0; x<document.WAFV_InvalidArray.length; x++)  {
	      document.WAFV_InvalidArray[x].WAFV_Stop = false;
	    }
	  }
	  else  {
        document.WAFV_Stop = false;
        document.WAFV_StopAlert = false;
	    if (submitForm)  {
	      submitForm.submit();
	    }
	    document.MM_returnValue = true;
	  }
      document.WAFV_Focus = false;
	  document.WAFV_Error = false;
	  document.WAFV_InvalidArray = false;
  }
}
function WAValidateEL(formElement,value,errorMsg,minLength,maxLength,reformat,focusIt,stopIt,required)  {
  var isValid = true;
  if (document.getElementById(formElement.name+"___Config") && formElement.type.toLowerCase() == "hidden")  {
    var theEditor = FCKeditorAPI.GetInstance(formElement.name);
    value = theEditor.GetXHTML(true);
  }
  if ((!document.WAFV_Stop && !formElement.WAFV_Stop) && !(!required && value==""))  {
	if (reformat)  {
	  if (reformat == "left")  {
	    value = WAtrimIt(value,false,true);
	  }
	  if (reformat == "right")  {
	    value = WAtrimIt(value,true);
	  }
	   if (reformat == "both")  {
	    value = WAtrimIt(value);
	  }
    }
	if ((value.length < minLength) || (value.length > maxLength && maxLength > 0))  {
	  isValid = false;
	}
  }
  if (!isValid)  {
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
  else if (reformat)  {
    formElement.value = value;
  }
}
//-->
/* */
/* Admin user Scripts*/
/* */
<!--
function WAtrimIt(theString,leaveLeft,leaveRight)  {
  if (!leaveLeft)  {
    while (theString.charAt(0) == " ")
      theString = theString.substring(1);
  }
  if (!leaveRight)  {
    while (theString.charAt(theString.length-1) == " ")
      theString = theString.substring(0,theString.length-1);
  }
  return theString;
}

function WAFV_GetValueFromInputType(formElement,inputType,trimWhite) {
  var value="";
  if (inputType == "select")  {
    if (formElement.selectedIndex != -1 && formElement.options[formElement.selectedIndex].value && formElement.options[formElement.selectedIndex].value != "") {
      value = formElement.options[formElement.selectedIndex].value;
    }
  }
  else if (inputType == "checkbox")  {
    if (formElement.length)  {
      for (var x=0; x<formElement.length ; x++)  {
        if (formElement[x].checked && formElement[x].value!="")  {
          value = formElement[x].value;
          break;
        }
      }
    }
    else if (formElement.checked)
      value = formElement.value;
  }
  else if (inputType == "radio")  {
    if (formElement.length)  {
      for (var x=0; x<formElement.length; x++)  {
        if (formElement[x].checked && formElement[x].value!="")  {
          value = formElement[x].value;
          break;
        }
      }
    }
    else if (formElement.checked)
      value = formElement.value;
  }
  else if (inputType == "radiogroup")  {
    for (var x=0; x<formElement.length; x++)  {
      if (formElement[x].checked && formElement[x].value!="")  {
        value = formElement[x].value;
        break;
      }
    }
  }
  else if (inputType == "iRite")  {
     var theEditor = FCKeditorAPI.GetInstance(formElement.name) ;
     value = theEditor.GetXHTML(true);
  }
  else  {
    var value = formElement.value;
	value=value.replace(/<p>(\&\#160\;)*<\/p>/,"");
  }
  if (trimWhite)  {
    value = WAtrimIt(value);
  }
  return value;
}

function WAAddError(formElement,errorMsg,focusIt,stopIt)  {
  if (document.WAFV_Error)  {
	  document.WAFV_Error += "\n" + errorMsg;
  }
  else  {
    document.WAFV_Error = errorMsg;
  }
  if (!document.WAFV_InvalidArray)  {
    document.WAFV_InvalidArray = new Array();
  }
  document.WAFV_InvalidArray[document.WAFV_InvalidArray.length] = formElement;
  if (focusIt && !document.WAFV_Focus)  {
	document.WAFV_Focus = focusIt;
  }

  if (stopIt == 1)  {
	document.WAFV_Stop = true;
  }
  else if (stopIt == 2)  {
	formElement.WAFV_Continue = true;
  }
  else if (stopIt == 3)  {
	formElement.WAFV_Stop = true;
	formElement.WAFV_Continue = false;
  }
}

function WAValidateRQ(formElement,errorMsg,focusIt,stopIt,trimWhite,inputType)  {
  var isValid = true;
  if (!document.WAFV_Stop && !formElement.WAFV_Stop)  {
    var value=WAFV_GetValueFromInputType(formElement,inputType,trimWhite);
    if (value == "")  {
	    isValid = false;
    }
  }
  if (!isValid)  {
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
}
function WAValidateEM(formElement,value,errorMsg,focusIt,stopIt,required) {
  var isValid = true;
  if ((!document.WAFV_Stop && !formElement.WAFV_Stop) && !(!required && value==""))  {
    value = value.toLowerCase();
    var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/i;
    var emailPat = /^(.+)@(.+)$/i;
    var accepted = "\[^\\s\\(\\)><@,;:\\\\\\\"\\.\\[\\]\]+";
    var quotedUser = "(\"[^\"]*\")";
    var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/i;
    var section = "(" + accepted + "|" + quotedUser + ")";
    var userPat = new RegExp("^" + section + "(\\." + section + ")*$");
    var domainPat = new RegExp("^" + accepted + "(\\." + accepted +")*$");
    var theMatch = value.match(emailPat);
    var acceptedPat = new RegExp("^" + accepted + "$");
    var userName = "";
    var domainName = "";
    if (theMatch==null) {
      isValid = false;
    }
    else  {
      userName = theMatch[1];
      domainName = theMatch[2];
	  var domArr = domainName.split(".");
	  var IPArray = domainName.match(ipDomainPat);
      for (x=0; x < userName.length; x++) {
        if ((userName.charCodeAt(x) > 127 && userName.charCodeAt(x) < 192) || userName.charCodeAt(x) > 255) {
          isValid = false;
        }
      }
      for (x=0; x < domainName.length; x++) {
        if ((domainName.charCodeAt(x) > 127 && domainName.charCodeAt(x) < 192) || domainName.charCodeAt(x) > 255) {
          isValid = false;
        }
      }
      if (userName.match(userPat) == null) {
        isValid = false;
      }
      if (IPArray != null) {
        for (var x=1; x<=4; x++) {
          if (IPArray[x] > 255) {
            isValid = false;
          }
        }
      }
      for (x=0; x < domArr.length; x++) {
        if (domArr[x].search(acceptedPat) == -1 || domArr[x].length == 0 || (domArr[x].length < 2 && x >= domArr.length-2  && x > 0)) {
          isValid = false;
        }
      }
      if (domArr[domArr.length-1].length !=2 && domArr[domArr.length-1].search(knownDomsPat) == -1) {
        isValid = false;
      }
      if (domArr.length < 2) {
        isValid = false;
      }
    }
  }
  if (!isValid)  {
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
}
function WAValidateLE(formElement,value1,value2,errorMsg,focusIt,stopIt,required)  {
  var isValid = true;
  if (!document.WAFV_Stop && !formElement.WAFV_Stop)  {
    if (value1=="" && required)
	  isValid = false;
    if (value1 != value2 || (required && value1==""))
	  isValid = false;
  }
  if (!isValid)  {
    if (focusIt)
	  focusIt.value = "";
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
}
function WAAlertErrors(errorHead,errorFoot,setFocus,submitForm)  { 
  if (!document.WAFV_StopAlert)  { 
	  document.WAFV_StopAlert = true;
	  if (document.WAFV_InvalidArray)  {  
	    document.WAFV_Stop = true;
        var errorMsg = document.WAFV_Error;
	    if (errorHead!="")
		  errorMsg = errorHead + "\n" + errorMsg;
		if (errorFoot!="")
		  errorMsg += "\n" + errorFoot;
		document.MM_returnValue = false;
		if (document.WAFV_Error!="")
		  alert(errorMsg.replace(/&quot;/g,'"'));
		else if (submitForm)
		  submitForm.submit();
	    if (setFocus && document.WAFV_Focus)  {
		  if (document.getElementById(document.WAFV_Focus.name+"___Config") && document.WAFV_Focus.type.toLowerCase() == "hidden")  {
	        var theEditor = FCKeditorAPI.GetInstance(document.WAFV_Focus.name);
		    theEditor.EditorWindow.focus();
			setTimeout("setTimeout('document.WAFV_Stop = false;document.WAFV_StopAlert = false;',1)",1); 
		  }
		  else  {
		    document.tempFocus = document.WAFV_Focus;
			setTimeout("document.tempFocus.focus();setTimeout('document.WAFV_Stop = false;document.WAFV_StopAlert = false;',1)",1); 
		  }
        }
        else {
          document.WAFV_Stop = false;
          document.WAFV_StopAlert = false;
        }
        for (var x=0; x<document.WAFV_InvalidArray.length; x++)  {
	      document.WAFV_InvalidArray[x].WAFV_Stop = false;
	    }
	  }
	  else  {
        document.WAFV_Stop = false;
        document.WAFV_StopAlert = false;
	    if (submitForm)  {
	      submitForm.submit();
	    }
	    document.MM_returnValue = true;
	  }
      document.WAFV_Focus = false;
	  document.WAFV_Error = false;
	  document.WAFV_InvalidArray = false;
  }
}
//-->
<!-- Phone number validations
function WAValidatePN(formElement,errorMsg,areaCode,international,reformat,focusIt,stopIt,required)  {
  var value = formElement.value;
  var isValid = true;
  var allowed = "*() -./_\n\r+";
  var newVal = "";
  if ((!document.WAFV_Stop && !formElement.WAFV_Stop) && !(!required && value==""))  {
    for (var x=0; x<value.length; x++)  {
      var z = value.charAt(x);
      if ((z >= "0") && (z <= "9")) {
	    newVal += z;
	  }
	  else  {
		if (allowed.indexOf(z) < 0)  {
		  isValid = false;
		}
	  }
    }	
	if (international)  {
	  if  (newVal.length < 5)  {
	    isValid = false;
	  }
	}
	else if (newVal.length == 11)  {
	  if (newVal.charAt(0) != "1")	{
		isValid = false;
	  }
	}
	else if ((newVal.length != 10 && newVal.length != 7) || (newVal.length==7 && areaCode)) {
	  isValid = false;
	}
  }
  if (!isValid)  {
    WAAddError(formElement,errorMsg,focusIt,stopIt);
  }
  else  {
    formElement.WAValid = true;
    if (reformat != "" && newVal != "")  {
      for (var x=0; x<newVal.length; x++)  {
	    reformat = reformat.substring(0,reformat.lastIndexOf("x")) + newVal.charAt(newVal.length-(x+1)) + reformat.substring(reformat.lastIndexOf("x")+1);
	  }
	  if (reformat.indexOf("x")>=0)  {
	    reformat = reformat.substring(reformat.lastIndexOf("x")+1);
        z = reformat.charAt(0);
	    while (((z < "0") || (z > "9")) && z != "(")  {
	      reformat = reformat.substring(1);
		  z = reformat.charAt(0);
		}
	  }
      formElement.value = reformat;
	}
  }
}
//-->
<!--
<!--// begin GPA Calculator Java
<!--
function setFocus() {
        document.GPA.CGPA.focus();
        return;
}

function compute(obj) { 
if (obj.TTD.value=="0" && obj.cach.selectedIndex=="0" &&
obj.cbch.selectedIndex=="0" && obj.ccch.selectedIndex=="0" &&
obj.cdch.selectedIndex=="0" && obj.cech.selectedIndex=="0" && obj.cech.selectedIndex=="0" )    
{alert ("You must enter credit hours in at least one place") } 
else
{obj.result.value
=(eval(obj.TTD.value)*eval(obj.CGPA.value)+
eval(obj.cach.selectedIndex)*eval(obj.cagr.selectedIndex)+
eval(obj.cbch.selectedIndex)*eval(obj.cbgr.selectedIndex)+
eval(obj.ccch.selectedIndex)*eval(obj.ccgr.selectedIndex)+
eval(obj.cdch.selectedIndex)*eval(obj.cdgr.selectedIndex)+
eval(obj.cech.selectedIndex)*eval(obj.cegr.selectedIndex)+
eval(obj.cfch.selectedIndex)*eval(obj.cfgr.selectedIndex))
/(eval(obj.TTD.value)+eval(obj.cach.selectedIndex)+
eval(obj.cbch.selectedIndex)+eval(obj.ccch.selectedIndex)+
eval(obj.cdch.selectedIndex)+eval(obj.cech.selectedIndex)+eval(obj.cfch.selectedIndex))
}
}
function compute2(obj){
if (obj.CGPA3.value<= obj.CGPA.value)
{alert ("your desired grade has to be higher than your current standing")}
else
 if (obj.PGPA.value<=obj.CGPA3.value || obj.PGPA.value>4)
{alert ("Your predicted performance has to be better than your cumalitive desired performance and less than 4")} 
else
{obj.result2.value=Math.ceil(eval((eval(obj.CGPA3.value)-eval(obj.CGPA.value))*eval(obj.TTD.value/
(eval(obj.PGPA.value)-eval(obj.CGPA3.value)))))+" hours"}
}
function compute3(obj){
if (obj.CGPA3B.value>4)
{alert ("your desired grade can't be greater than 4.0")}
else
 if (obj.PGPAB.value>20)
{alert ("Twenty hours is the maximum load")} 
else
{obj.result3.value=eval(obj.CGPA3B.value)+(eval(obj.CGPA3B.value)-eval(obj.CGPA.value))*eval(obj.TTD.value)/eval(obj.PGPAB.value)}
}
// --> 
 
//     < /script>
//               < script language="JavaScript">
// begin new function

function round2d(n)
{
 return(Math.round(100*n)/100);
}

function gpacalc()
{
//define valid grades and their values
var gr = new Array(); 
var cr = new Array();
var ingr = new Array();
var incr = new Array();

// define valid grades and their values
var grcount = 26; 
// For Uppercase Letters

gr[1] = "A"; 
cr[1] = 4; 
gr[2] = "AB";
cr[2] = 3.5;
gr[3] = "B";
cr[3] = 3;
gr[4] = "BC";
cr[4] = 2.5;
gr[5] = "C";
cr[5] = 2;
gr[6] = "CD";
cr[6] = 1.5;
gr[7] = "D";
cr[7] = 1;
gr[8] = "DF";
cr[8] = 0.5;
gr[9] = "F"
cr[9] = 0;

// For Lowercase Letters

gr[10]  = "a";
cr[10] = 4; 
gr[11] = "ab";
cr[11] = 3.5;
gr[12] = "b";
cr[12] = 3;
gr[13] = "bc";
cr[13] = 2.5;
gr[14] = "c";
cr[14] = 2;
gr[15] = "cd";
cr[15] = 1.5;
gr[16] = "d";
cr[16] = 1;
gr[17] = "df";
cr[17] = 0.5;
gr[18] = "f";
cr[18] = 0;

// retrieve user input

ingr[0] = document.GPACalcForm.GR1.value;
ingr[1] = document.GPACalcForm.GR2.value;
ingr[2] = document.GPACalcForm.GR3.value;
ingr[3] = document.GPACalcForm.GR4.value;
ingr[4] = document.GPACalcForm.GR5.value;
ingr[5] = document.GPACalcForm.GR6.value;
incr[0] = document.GPACalcForm.CR1.value;
incr[1] = document.GPACalcForm.CR2.value;
incr[2] = document.GPACalcForm.CR3.value;
incr[3] = document.GPACalcForm.CR4.value;
incr[4] = document.GPACalcForm.CR5.value;
incr[5] = document.GPACalcForm.CR6.value;

// Calculate GPA

var allgr =0;
var allcr = 0;
var gpa = 0;
var resultcurgpa = 0;
for (var x = 0; x < 6; x++)
        {
        if (ingr[x] == "") 
        break;
//      if (isNaN(parseInt(incr[x]))) alert("Error- You did not enter a numeric credits value for Class If the class is worth 0 credits then enter the number 0 in the field."); 
        var validgrcheck = 0;
        for (var xx = 0; xx < grcount; xx++)
                {
                if (ingr[x] == gr[xx])
                        {
                        allgr = allgr + (parseInt(incr[x],10) * cr[xx]);
                        allcr = allcr + parseInt(incr[x],10);
                        validgrcheck = 1;
                        break;
                        }
                }
        if (validgrcheck == 0)
                {
                alert("Error- Could not recognize the grade entered for Class " + eval(x + 1) + ". Please use standard college grades in the form of a a- b+ ...f.");
                return 0;
                }
        }

// this if-check prevents a divide by zero error
if (allcr == 0)
    {
       alert("Error- You did not enter any credit values! GPA = N/A");
       return 0;
    }

gpa = round2d(allgr / allcr);
resultcurgpa = eval(gpa);
document.GPACalcForm.resultcurgpa.value = resultcurgpa;
return 0;
}

function cumCalc()
{
//define valid grades and their values
var gr = new Array(); 
var cr = new Array();
var ingr = new Array();
var incr = new Array();

// define valid grades and their values
var grcount = 26; 
// For Uppercase Letters

gr[1] = "A"; 
cr[1] = 4; 
gr[2] = "AB";
cr[2] = 3.5;
gr[3] = "B";
cr[3] = 3;
gr[4] = "BC";
cr[4] = 2.5;
gr[5] = "C";
cr[5] = 2;
gr[6] = "CD";
cr[6] = 1.5;
gr[7] = "D";
cr[7] = 1;
gr[8] = "DF";
cr[8] = 0.5;
gr[9] = "F"
cr[9] = 0;

// For Lowercase Letters

gr[10]  = "a";
cr[10] = 4; 
gr[11] = "ab";
cr[11] = 3.5;
gr[12] = "b";
cr[12] = 3;
gr[13] = "bc";
cr[13] = 2.5;
gr[14] = "c";
cr[14] = 2;
gr[15] = "cd";
cr[15] = 1.5;
gr[16] = "d";
cr[16] = 1;
gr[17] = "df";
cr[17] = 0.5;
gr[18] = "f";
cr[18] = 0;

// retrieve user input
ingr[0] = document.GPACalcForm.GR1.value;
ingr[1] = document.GPACalcForm.GR2.value;
ingr[2] = document.GPACalcForm.GR3.value;
ingr[3] = document.GPACalcForm.GR4.value;
ingr[4] = document.GPACalcForm.GR5.value;
ingr[5] = document.GPACalcForm.GR6.value;
incr[0] = document.GPACalcForm.CR1.value;
incr[1] = document.GPACalcForm.CR2.value;
incr[2] = document.GPACalcForm.CR3.value;
incr[3] = document.GPACalcForm.CR4.value;
incr[4] = document.GPACalcForm.CR5.value;
incr[5] = document.GPACalcForm.CR6.value;

// Calculate GPA
var allgr =0;
var allcr = 0;
var gpa = 0;
for (var x = 0; x < 6; x++)
        {
        if (ingr[x] == "") break;
//      if (isNaN(parseInt(incr[x]))) alert("Error- You did not enter a numeric credits value for Class If the class is worth 0 credits then enter the number 0 in the field."); 
        var validgrcheck = 0;
        for (var xx = 0; xx < grcount; xx++)
                {
                if (ingr[x] == gr[xx])
                        {
                        allgr = allgr + (parseInt(incr[x],10) * cr[xx]);
                        allcr = allcr + parseInt(incr[x],10);
                        validgrcheck = 1;
                        break;
                        }
                }
        if (validgrcheck == 0)
                {
                alert("Error- Could not recognize the grade entered for Class " + eval(x + 1) + ". Please use standard college grades in the form of a a- b+ ...f.");
                return 0;
                }
        }

// this if-check prevents a divide by zero error
if (allcr == 0)
        {
        alert("Error- You did not enter any credit values! GPA = N/A");
        return 0;
        }

gpa = allgr / allcr;


// set variables
var cumGPAnum = 0;
var cumCredTotal = 0;

// retrieve user input
cumGPAnum = parseFloat(document.GPACalcForm.cumGPA.value);
cumCredTotal = parseFloat(document.GPACalcForm.cumCredits.value);

if (document.GPACalcForm.cumGPA.value == "") 
   {  alert("You need to enter your previous cumulative gpa in order to calculate your new one.");
            return 0;
   }
   if (document.GPACalcForm.cumCredits.value == "") 
   {  alert("You need to enter the total number of credits you earned prior to this semester.");
            return 0;
   }
   if (document.GPACalcForm.cumGPA.value == gpa) 
   {  if (confirm("Are you sure you are entering your previous cumulative GPA, and not your new semester GPA?" +
                  " Hit OK if your sure, otherwise hit Cancel to change your values."))
      {}
      else
            return 0;
   }

// find total points
var points = 0;
points = (cumGPAnum * cumCredTotal);

// Add semester values to cumulative
points = points + allgr;
var credits = 0;
credits = cumCredTotal + allcr;

// Calculate new cumulative gpa
var newCum = 0;
newCum = round2d(points / credits);
var resultcumgpa;
resultcumgpa = eval(newCum);
document.GPACalcForm.resultcumgpa.value = resultcumgpa;

return 0;
}

function validateForm(form) 
{
   if (form.cumGPA.value == "") 
   {  alert("You need to enter your previous cumulative gpa in order to calculate your new one.");
            return false;
   }
   if (form.cumCredits.value == "") 
   {  alert("You need to enter the total number of credits you earned prior to this semester.");
            return false;
   }
   if (form.cumGPA.value == form.gpa.value) 
   {  confirm("Are you sure you are entering your cumulative gpa, and not your new semester gpa?");
   }
   
  else 
   {  return true;
   }
}


//-->
//     < /script>-->
// < script language="LiveScript">
// begin above "LiveScript" java

function checkNumber(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;
    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = 0 + str
    if (num < min || max < num) {
        alert(msg + " not in range [" + min + ".." + max + "]");
        return false;
    }
    input.value = str;
    return true;
}

function computeGradenum2(input)
{
  var gradenum=0;
  var thegrade=input;
  if (thegrade=="A"  || thegrade=="a") gradenum=4;
  if (thegrade=="AB" || thegrade=="ab") gradenum=3.5;
  if (thegrade=="B"  || thegrade=="b") gradenum=3;
  if (thegrade=="BC" || thegrade=="bc") gradenum=2.5;
  if (thegrade=="C"  || thegrade=="c") gradenum=2;
  if (thegrade=="CD" || thegrade=="cd") gradenum=1.5;
  if (thegrade=="D"  || thegrade=="d") gradenum=1;
  if (thegrade=="DF" || thegrade=="df") gradenum=.5;
  if (thegrade=="F"  || thegrade=="f" ) gradenum=0;
       return gradenum;
     }

function computeField(input)
{
    if (input.value != null && input.value.length != 0)
        input.value = "" + eval(input.value);
        computeForm(input.form);
}

function computeForm(form)
{
    if ((form.units.value == null || form.units.value.length == 0)) {
        return;
    }
    if (!checkNumber(form.units, .5, 10, "Units")) {
        form.gradepoints.value = "Invalid";
        return;
    }
    if ((form.grade.value == null || form.grade.value.length == 0)) {
        return;
    }
    form.gradepoints.value = ((computeGradenum2(form.grade.value)) *
    form.units.value);
}

function computesumForm(form)
{
     document.forms[6].gradepoints.value=0;
     document.forms[6].units.value=0;
     document.forms[6].grade.value=0;

     for(var i=0; i<6; i++) {
        if (!(document.forms[i].units.value == null || document.forms[i].units.value.length == 0)) {
           if (!(document.forms[i].units.value == null || document.forms[i].units.value.length == 0)) {
                var temp=computeField(document.forms[i].gradepoints);
                var temp=computeField(document.forms[i].units);
                var temp=computeForm(document.forms[i]);
           if (!(document.forms[i].gradepoints.value == 0))
           document.forms[6].gradepoints.value = eval(document.forms[6].gradepoints.value)+(eval(document.forms[i].gradepoints.value));    

           if (!(document.forms[i].units.value == 0))
           document.forms[6].units.value = eval(document.forms[6].units.value)+(eval(document.forms[i].units.value));    
           }
      }
   }
if (!(document.forms[6].units.value == 0))
document.forms[6].grade.value=(((eval(document.forms[6].gradepoints.value)/(eval(document.forms[6].units.value))+.000000001)));
  
}
function clearForm(form)
{
    form.units.value = "";
    form.grade.value = "";
    form.gradepoints.value = "";
}
<!--

