// 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 Check2Val(obj) {
	var retVal = 0
	for (i=0;i<document.forms['newsregister'].courses.length;i++) {
		if (document.forms['newsregister'].courses[i].checked) {
			retVal = 1
			break;
        }
    }
	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;
}

var lwr = 'abcdefghijklmnopqrstuvwxyz ';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
function isValid(parm,val) {
	if (parm == "") 
		return true;
	for (i=0; i<parm.value.length; i++) {
		if (val.indexOf(parm.value.charAt(i),0) == -1) 
			return false;
	}
	return true;
}

function IsAlphanum(szFieldName) {
	return isValid(szFieldName,lwr+upr);
}

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 IsSgNum(szFieldName) {
	var IsNum; var ch;
	
	IsNum=true;
	TrimField(szFieldName);
	ch=szFieldName.value.charAt(0);
	if((ch == "6") || (ch == "8") || (ch == "9"))
		IsNum=true;
	else
		return false;
	return IsNum;
}

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==" "  || 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("@")<=1) 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;
		
	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;
}

function ClearField(fld, orgval) {
	if (TrimString(fld.value) == orgval)
		fld.value = "";
}

function ResetField(fld, orgval) {
	if (TrimString(fld.value) == "")
		fld.value = orgval;
}
