function eCheckEMail(sn){
	s= sn.value;
    if (s.indexOf("@") == -1) return false;
    if (s.indexOf(".") == -1) return false;
    at=false;
    dot=false;
    for (var i = 0; i < s.length; i++) {
		ch = s.substring(i, i + 1)
        if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z") || (ch == "@") || (ch == ".") || (ch == "_") || (ch == "-") || (ch >= "0" && ch <= "9")) {
                if (ch == "@"){
                  if (at) return false;
                  else at=true;
                }
                if ((ch==".") && at)
                   dot=true;
        }
        else return false;
    }
   return dot;
}

function CheckEMail(theForm){
	for(var i=1; i<CheckEMail.arguments.length; i++)
		if (!eCheckEMail(theForm.elements[CheckEMail.arguments[i]])){
            alert("Field entry is not valid");
            theForm.elements[CheckEMail.arguments[i]].focus();
            return false;
		}
	return true;
}

function CheckAlphaNum(theForm){
	for(var i=1; i<CheckAlphaNum.arguments.length; i++)
		if (!eCheckAlphaNum(theForm.elements[CheckAlphaNum.arguments[i]])){
			alert("Field entry is not valid. Only letters, digits, Space and \' are allowed !");
            theForm.elements[CheckAlphaNum.arguments[i]].focus();
            return false;
        }
	return true;
}

function eCheckAlphaNum(sn){
	s= sn.value;
    for (var i = 0; i < s.length; i++) {
		ch = s.substring(i, i + 1)
        if (!((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z") || (ch == " ") || (ch == "'") || (ch >= "0" && ch <= "9")))
             return false;
        }
   return true;
}

function CheckNum(theForm){
	for(var i=1; i<CheckNum.arguments.length; i++)
		if (!eCheckNum(theForm.elements[CheckNum.arguments[i]])){
			alert("Field entry is not valid. Only numbers are allowed !");
            theForm.elements[CheckNum.arguments[i]].focus();
            return false;
        }
	return true;
}

function eCheckNum(sn){
	s= sn.value;
    for (var i = 0; i < s.length; i++) {
		ch = s.substring(i, i + 1)
        if (!(ch >= "0" && ch <= "9"))
             return false;
        }
   return true;
}


function CheckDate(theForm){
	for(var i=1; i<CheckDate.arguments.length; i++)
		if (!eCheckDate(theForm.elements[CheckDate.arguments[i]])){
			alert("Field entry is not valid. Only date are allowed in format yyyy-mm-dd !");
            theForm.elements[CheckDate.arguments[i]].focus();
            return false;
        }
	return true;
}

function eCheckDate(sn){
	s= sn.value;
    for (var i = 0; i < s.length; i++) {
		ch = s.substring(i, i + 1)
        if (!((ch == "-") || (ch >= "0" && ch <= "9")))
             return false;
        }
   return true;
}



function CheckRequiredFields(theForm) {
	for(var i=1; i<CheckRequiredFields.arguments.length; i++)
		if(theForm.elements[CheckRequiredFields.arguments[i]].value==""){
			alert("You have to populate all required fields.");
            theForm.elements[CheckRequiredFields.arguments[i]].focus();
            return false;
        }
	return true;
}

function CheckPass(theForm) {
	if(theForm.elements[CheckPass.arguments[1]].value != theForm.elements[CheckPass.arguments[2]].value){
			alert("Password fields are not IDENTICAL !");
            theForm.elements[CheckPass.arguments[1]].focus();
            return false;
	}
	return true;

}

function CheckStateCountry(theForm,stateField,countryField){
	state=theForm.elements[stateField].value;
	country=theForm.elements[countryField].value;
	//alert('state='+state+' country='+country);
	if (state=='0' && country=='0'){
		alert("State or Country is not valid !");
		theForm.elements[stateField].focus();
		return false;
	}
	if (state != '0' && country !='0'){
		alert("You have entered both State and Country !");
		theForm.elements[stateField].focus();
		return false;
	}
	return true;
}

function CheckLength(theForm,defaultLength){
	for(var i=2; i<CheckLength.arguments.length; i++)
	   if (!eCheckLength(theForm.elements[CheckLength.arguments[i]],defaultLength)){
	   alert("Field entry is not valid. Length is less then " + defaultLength);
         theForm.elements[CheckLength.arguments[i]].focus();
         return false;
        }
	return true;
}

function eCheckLength(sn,dl){
var str = sn.value;
    if (str.length < dl) 
      return false;
    return true;
}

function __checkRequired(field,label){
  if (field.value==""){
    alert ("Field \"" + label + "\" cannot be empty or start with blank space!!!");
    field.focus();
    return false;
  } else {
    return true;
  }
}

