  /* shared-functions.js */  var Spanish=false;  var txtMessage="";  function IsBlank(value)    {      if (value.length == 0) return true;      for (var i = 0; i <= value.length-1; i++) if (value.charAt(i) != " ") return false;      return true;      }    function IsNumeric(value)    {      //Make sure it's not Blank      if (!IsBlank(value))        {          //Look for Multiple Periods          var i = value.indexOf(".");          if (i!=-1) if (value.indexOf(".",i+1)!=-1) return false;          //Look for invalid characters          // 12/22/2003 (9/30/2004) - consider commas "," as valid          for (i=0; i<=value.length-1; i++)  if("0123456789.-,".indexOf(value.charAt(i))==-1) return false;          //It's Good          return true;        }      return false;    }  function RemoveCommas(value)	// function written 12/23/2003, modified version MTP October 2004  	{	var temp2 = "";    	var Done = false;    	var Max = value.length-1;    	for (var i=0; i<Max; i++)       	{          	if ((" 0".indexOf(value.charAt(i))==-1)||Done)             		{                		if("0123456789.-".indexOf(value.charAt(i))!=-1)					{					temp2 = temp2 + value.charAt(i);					}             		Done=true;            		}        	}    	temp2 = temp2 + value.charAt(Max);	value = temp2;     return value;	}    function IsNonNegative(value)    {      if (!IsNumeric(value)) return false;      if (parseFloat(value)>=0.0) return true;      return false;    }      function IsNonZero(value)    {      if (!IsNumeric(value)) return false;      if (parseFloat(value)==0) return false;      return true;    }      function IsPositive(value)    {      if (!IsNumeric(value)) return false;      if (parseFloat(value)>0.0) return true;      return false;    }  function ValidateCurrency(field)    {      var temp = "";      var temp2 = "";      var Done = false;      var Max = field.value.length-1;      for (var i=0; i<Max; i++)         {          if ((" 0".indexOf(field.value.charAt(i))==-1)||Done)             {                temp=temp+field.value.charAt(i);              Done=true;            }        }      temp = temp + field.value.charAt(Max);      if (IsNumeric(temp))         {          // At this point, call a function to removes commas, if they exist	     temp2 = RemoveCommas(temp);          field.value = FormatCurrency(parseInt(temp2)); //Truncates !          return true;        }      else         {          if (Spanish) {          	txtMessage = "Por favor inserte una cantidad en D\u00F3lares en este espacio.";          }          else {          	txtMessage = "Please enter a Dollar amount for this field.";          }          alert(txtMessage);          SetFocus(field);          return false;        }    }    function ValidateInteger(field)    {      var temp = "";      var Done = false;      var Max = field.value.length-1;      for (var i=0; i<Max; i++)         {          if ((" 0".indexOf(field.value.charAt(i))==-1)||Done)             {                temp=temp+field.value.charAt(i);              Done=true;            }        }      temp = temp + field.value.charAt(Max);      if (IsNumeric(temp))         {          field.value = parseInt(temp);//Truncates !          return true;        }      else         {          if (Spanish) {          	txtMessage = "Por favor inserte un n\u00FAmero entero en este espacio.";          }          else {          	txtMessage = "Please enter a whole number for this field.";          }          alert(txtMessage);          SetFocus(field);          return false;        }    }  function FormatCurrency(amount)    {      var temp = "" + Math.round(100*amount);      while (temp.length <= 2) temp = "0" + temp;      var DecPlace = temp.length-2;       return temp.substring(0,DecPlace) + "." + temp.substring(DecPlace, temp.length);    }  function ValidateDate(dateStr) {    // Date validation function courtesty of Sandeep V. Tamhankar (stamhankar@hotmail.com)        var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year    var matchArray = dateStr.value.match(datePat); // is the format ok?    if (matchArray == null || dateStr.value==""){      if (Spanish) {      	txtMessage = "Por favor inserte el d\u00EDa de nacimiento en el formato de MM/DD/YYYY.";      }      else {      	txtMessage = "Please enter student's date of birth in MM/DD/YYYY format.";      }      alert(txtMessage);      SetFocus(dateStr);      return false;    }    month = matchArray[1]; // parse date into variables    day = matchArray[3];    year = matchArray[4];    if (month < 1 || month > 12) { // check month range      if (Spanish) {       	txtMessage = "Los meses deben ser entre el 1 y el 12.";      }      else {      	txtMessage = "Month must be between 1 and 12.";      }      alert(txtMessage);      return false;    }    if (day < 1 || day > 31) {      if (Spanish) {       	txtMessage = "Los d\u00EDas deben ser entre el 1 y el 31.";      }      else {       	txtMessage = "Day must be between 1 and 31.";      }      alert(txtMessage);      return false;    }    if ((month==4 || month==6 || month==9 || month==11) && day==31) {      if (Spanish) {       	txtMessage = "Este mes " + month + " no tiene 31 d\u00EDas!";      }      else {       	txtMessage = "Month " + month + " doesn't have 31 days!";      }      alert(txtMessage);      return false;    }    if (month == 2) { // check for february 29th      var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));      if (day>29 || (day==29 && !isleap)) {        if (Spanish) {        	txtMessage = "El mes de febrero del " + year + " no tiene " + day + " d\u00EDas.";        }        else {          	txtMessage = "February " + year + " doesn't have " + day + " days!";        }        alert(txtMessage);        return false;      }    }    return true;  }    function CalculateAge(DOB)    {      var i = DOB.indexOf("/");      var j = DOB.indexOf("/",i+1);      var Year = DOB.substring(j+1,DOB.length);      var CurrentYear = new Date();      var Age=(CurrentYear.getFullYear())-Year      if (DebugFlag) alert("CalculateAge\n\nAge = " + Age);      return Age;    }  function SetFocus(field)    {	field.focus();	if (field.type=="text") {		field.select();		}      if (DebugFlag)	        {          txtMessage   = "SetFocus\n";          txtMessage += "\nfield.name = " + field.name;          txtMessage += "\nfield.type = " + field.type;          txtMessage += "\nfield.value = " + field.value;          alert(txtMessage);          txtMessage="";		// Reset it for next time.        } 	return;    }
