// 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 == ".") && (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;

	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("@")==(parseInt(szFieldName.value.length)-1)) return false;
	if (szFieldName.value.indexOf(" ") != -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; }

