

function check_empty_field(field, err_msg){ //(FORM input, string)
	var f = field;
	f.value = ltrim(f.value);
	if ((f.value == "")||(f.value == null)){
		alert(err_msg);
		f.focus();
		f.select();
		return false;
	} else return true;
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function isEmpty(f_value){
	f_value = ltrim(f_value);
	if((f_value == "")||(f_value == null)){
		return true;
	}else return false;
}

function check_day_field(field, err_msg){ //(FORM input, string)
	var f =field;
	if (!IsNumeric(f.value)||!IsRange(1, 31, f.value)){
		alert(err_msg);
		f.focus();
		f.select();
		return false;
	} else return true;
}

function check_month_field(field, err_msg){ //(FORM input, string)
	var f =field;
	if (!IsNumeric(f.value)||!IsRange(1, 12, f.value)){
		alert(err_msg);
		f.focus();
		f.select();
		return false;
	} else return true;
}

function check_year_field(field, err_msg){ //(FORM input, string)
	var f =field;
	var d = new Date();
//	if (!IsNumeric(f.value)||!IsRange(1900, d.getFullYear(), f.value)){
	if (!IsNumeric(f.value)){
		alert(err_msg);
		f.focus();
		f.select();
		return false;
	} else return true;
}

function check_email_field(field, err_msg){ //(FORM input, string)
	with (field){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
			alert(err_msg);
			field.focus();
			field.select();
			return false;
		}else return true;
	}
}

function check_not_hotmail(field, err_msg){ //(FORM input, string)
	with (field){
		apos=value.indexOf("@")+1;
		dstring = value.substring(apos,value.length);
		if (dstring=="hotmail.com") {
			alert(err_msg);
			field.focus();
			field.select();
			return false;
		}else return true;
		
	}
}

function check_password_field(field1, field2, err_msg){
	if(field1.value!=field2.value){
		alert(err_msg);
		field2.focus();
		field2.select();
		return false;
	}else return true;
}

function check_phone_field(field, err_msg){
	var f = field;
	if(!IsNumeric(f.value)){
		alert(err_msg);
		f.focus();
		f.select();
		return false;
	}else return true;
}

function IsNumeric(sText){ //(string)
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++){ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
	 	}
	}
	return IsNumber;
}

function check_field_length(field, f_length, err_msg){ //(FORM input,, num, string)
	if (field.value.length != f_length) {
		alert(err_msg);
		field.focus();
		field.select();
		return false;
   }else return true;
}
function check_field_maxlength(field, f_maxlength, err_msg){ //(FORM input,, num, string)
	if (field.value.length > f_maxlength) {
		alert(err_msg);
		field.focus();
		field.select();
		return false;
   }else return true;
}
function check_field_minlength(field, f_minlength, err_msg){ //(FORM input,, num, string)
	if (field.value.length < f_minlength) {
		alert(err_msg);
		field.focus();
		field.select();
		return false;
   }else return true;
}

function check_within_range(field, valid, err_msg) {
//	var valid = "abcdefghijklmnopqrstuvwxyz0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
		}
	if (ok == "no") {
		alert(err_msg);
		field.focus();
		field.select();
		return false;
   }else return true;
}
function check_notwithin_range(field, invalid, err_msg) {
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (invalid.indexOf(temp) != "-1") ok = "no";
		}
	if (ok == "no") {
		alert(err_msg);
		field.focus();
		field.select();
		return false;
   }else return true;
}

function IsRange(minText, maxText, sText){ //(num, num, string)
	var sText = parseInt(sText);
	if((sText>maxText)||(sText<minText)) return false;
	else return true;
}   
