// Global Functions
function radioVal(obj) {
 var retVal;
 for (var i=0;i<obj.length;i++) {
  if (obj[i].checked) {
   retVal = obj[i].value;
   break;
  }
 }
 return retVal;
}
function selectVal(obj) {
 var retVal;
 retVal = obj.options[obj.selectedIndex].value;
 return retVal;
}
function CheckVal(obj) {
 var retVal;
 if (obj.checked)
  retVal = obj.value;
 return retVal;
}
function setCheck(val, obj) {
 if (val)
  obj.checked = true;
}
function indexMatch(obj, toFind) {
 var retVal = -1
 for(var i = 0; i < obj.length; i++) if (obj[i].value == toFind) {
  retVal = i
  break;
 }
 return retVal;
}
function IsEmpty(szFieldName) {
   var i; var ch;
   TrimField(szFieldName);
   if (szFieldName.value == "") return true;
   if (parseInt(szFieldName.value.length) == 0) return true;
   for (i=0; i<parseInt(szFieldName.value.length); i++) {
     ch = szFieldName.value.charAt(i);
     if (ch != ' ' && ch != '\t')
       return false;
   }
   return true;
}
function IsNumeric(szFieldName) {
 var i; var IsNum; var ch;
 IsNum=true;
 TrimField(szFieldName);
 for(i=0; i<parseInt(szFieldName.value.length); i++) {
  ch=szFieldName.value.charAt(i);
  if ((ch >= "0") && (ch <= "9"))
   IsNum= true;
  else
   return false;
 }
 return IsNum;
}
function IsDecimal(szFieldName) {
 var i; var IsDec; var ch;
 IsDec=true;
 TrimField(szFieldName);
 for(i=0; i<parseInt(szFieldName.value.length); i++) {
  ch=szFieldName.value.charAt(i);
  if ((ch >= "0") && (ch <= "9"))
   IsDec= true;
  else if (((ch == ".") || (ch == ",")) && (i>0) && (i<parseInt(szFieldName.value.length)-1))
   IsDec = true;
  else
   return false;
 }
 return IsDec;
}
function IsTelcoNum(szFieldName) {
 var i; var IsNum; var ch;
 IsNum=true;
 TrimField(szFieldName);
 for (i=0; i<parseInt(szFieldName.value.length); i++) {
  ch=szFieldName.value.charAt(i);
  if ((ch >= "0") && (ch <= "9"))
   IsNum=true;
  else  
  {
   if ( ch=="(" || ch==")" || ch=="-" || ch==" " )
    IsNum=true;
   else
    return false;
  } 
 }
 return IsNum;
}
function IsValidEmail(szFieldName) {
 var IsEmail;
 var ch;
 var checkAT;
 var checkPERIOD;
 var checkExt;
 checkAT = 0; 
 checkPERIOD = 0;
 if (IsEmpty(szFieldName)) return false;
 if (szFieldName.value.indexOf("@")==-1) return false;
 if (szFieldName.value.indexOf("@")==0) return false;
 if (szFieldName.value.indexOf("@")>=40) return false;
 if ((parseInt(szFieldName.value.length) - szFieldName.value.indexOf("@"))>=40) return false;
 if (szFieldName.value.indexOf("@")==(parseInt(szFieldName.value.length)-1)) return false;
 if (szFieldName.value.indexOf(" ") != -1) return false;
 
 if ((szFieldName.value.indexOf(".com")==-1) && (szFieldName.value.indexOf(".net")==-1) && (szFieldName.value.indexOf(".us")==-1) && (szFieldName.value.indexOf(".biz")==-1) && (szFieldName.value.indexOf(".edu")==-1) && (szFieldName.value.indexOf(".info")==-1) && (szFieldName.value.indexOf(".tv")==-1) && (szFieldName.value.indexOf(".org")==-1) && (szFieldName.value.indexOf(".cc")==-1) && (szFieldName.value.indexOf(".gov")==-1) && (szFieldName.value.indexOf(".fm")==-1) && (szFieldName.value.indexOf(".co")==-1)) return false;
 
 for(i=0; i<parseInt(szFieldName.value.length); i++) {
  ch= szFieldName.value.charAt(i)
  if (ch == "@") {
   checkAT = checkAT + 1;
   if (checkAT >= 2) {
    IsEmail = false;
    break;
   }
  }
 if (ch == ".") {
  checkPERIOD = checkPERIOD + 1;
 }
 if ((( ch >= "A") && (ch <= "Z")) || ((ch >= "a") && (ch <= "z")) || ((ch >= "0") && (ch <= "9")) || 
  (ch == "$") || (ch == "-") || (ch == ".") || (ch == "&") || (ch == "+") || (ch == "!") ||
  (ch == "*") || (ch == "`") || (ch == "(") || (ch == ")") || (ch == ",") || (ch == "@") ||
  (ch == "_")) {
 IsEmail= true;
 }
 else {
 IsEmail= false;
 break;
 }
 }
 if (checkPERIOD == 0) {
   return false;
 }
    if (!IsEmail) {
        return false;
    }
   return true;
}
function TrimField(szFieldName) {
 var szNewStr;
 if (szFieldName.value != "") {  
  szNewStr = TrimString(szFieldName.value);
  szFieldName.value = szNewStr;
 }
}
function TrimString(szString)  {
 var i = 0; var j = 0;
 for (i=0; i<parseInt(szString.length); i++) {
            if (szString.charAt(i) != " ") {
                  for (j=parseInt(szString.length) - 1; j > i; j--) {
                        if (szString.charAt(j) != " ") {
                              break;
                        }
                  }
                  break;
            }
      }
      if (i > j)
            i = j;
      if (szString.length > 0 && szString.charAt(j) != " ")
            j++;
      return szString.substring(i, j);
}
function lessChar(szFieldName,minNo) {
 TrimField(szFieldName);
 if (szFieldName.value == "") return true;
 if (parseInt(szFieldName.value.length) <= minNo) return true;
 return false;
}
function bfnIsDate (day,month,year) 
{
    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
  return true;
    else
        return false
}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function chkTextLength(szFieldName, maxlength) {
 if (szFieldName.value.length > maxlength) {
  alert("Text exceeds max. allowed length of " + maxlength + " characters.\n\nTotal no. of characters : " + szFieldName.value.length);
  szFieldName.focus();
  return false;
 }
 else
  return true;
}