function isZipcode(obj)
{
	if (obj.value.length != 5 && obj.value.length != 10)
		// inappropriate length
		alert(obj.value.length & "length - Zip must be in the format of ##### or #####-####");
		obj.focus();
		obj.select();
		return false;


	for (var i=0; i < obj.value.length; i++)
		if ((obj.value.charAt(i) < '0' || obj.value.charAt(s) > '9') && obj.value.charAt(i) != '-')
			return false;
		alert("other Zip must be in the format of ##### or #####-####");
		obj.focus();
		obj.select();
		return false;


	return true;
}


function StateLength(obj){
	if (obj.value.length<=2)
		return true;
	else{
		alert("State must be abbreviated to two characters! (e.g. TX, IL, etc.)");
		obj.focus();
		obj.select();
		return false;
	}
}

function jsMaxLength(num, obj,objname){
	if (obj.value.length<=num)
		return true;
	else{
		alert(objname & " must fewer " & num & " character!");
		obj.focus();
		obj.select();
		return false;
	}
}
function jsIsWhiteStr(obj,alertname){
	for (var i=0; i<obj.value.length; i++){
		if (obj.value.charAt(i)!=" ")
		{
			 return false;
		}
	}
	alert(alertname+" musn't blank string");
    obj.focus();
    return (true);
}
function jsIsEmpty(obj,alertname){
	if (obj.value==""){
       alert("You must enter a " + alertname + "!");
       obj.focus();
       return (true);
	}
	if (jsIsWhiteStr(obj,alertname)==true){
		return true;
	}
	return false;
}
function jsIsNumber(obj,alertname){
	if (jsIsEmpty(obj,alertname)){
		return (false);
	}
	if (isNaN(obj.value)){
       alert(alertname + " isn't a number!");
       obj.focus();
       obj.select();
       return (false);
	}
	return (true);
}
function jsIsPositiveNumber(obj,alertname){
	if (jsIsEmpty(obj,alertname)){
		return (false);
	}
	if (isNaN(obj.value) || obj.value<=0){
       alert(alertname + " must a positive number!");
       obj.focus();
       obj.select();
       return (false);
	}
	return (true);
}
function jsValidatePhone(obj){
	re=/^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/
	validPhone=re.exec(obj.value)
	if (validPhone){
		obj.value="("+validPhone[1]+") "+validPhone[2]+"-"+validPhone[3]
		return true
	}
	else{
		alert(obj.value+" isn't a valid phone number.  Please enter in the format (###) ###-####")
		obj.focus();
		obj.select();
		return false;
	}
}
function jsValidateFax(obj){
	re=/^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/
	validFax=re.exec(obj.value)
	if (validFax){
		obj.value="("+validFax[1]+") "+validFax[2]+"-"+validFax[3];
		return true;
	}
	else{
		alert(obj.value+" isn't a valid Fax number")
		obj.focus();
		obj.select();
		return false;
	}
}
function jsValidateEmail(obj){
	re=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
	if(re.test(obj.value)==false){
		alert("Please enter a valid email address in the format email@domain.com");
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}
function jsVerifyPW(Password,ConfirmPW){
	if (jsIsEmpty(Password,"Password")==true)  
		return false;
	if(Password.value!=ConfirmPW.value){
		alert("Entered passwords did not match")
		Password.focus();
		Password.select();
		return false;
	}
	return true;
}
function jsIsDate(obj){
	var re;

	re=/^\s*(\d{1,2})\/(\d{1,2})\/(\d{1,4})\s*$/;
	validdate=re.exec(obj.value);
	if (!validdate){
		alert(obj.value + " isn't a valid date!\r You must input date follow format (../../..)");
		obj.focus();
		obj.select();
		return false;
	}
	else{
		if (validdate[3].length==1)
			validdate[3]=200+validdate[3];
		else if (validdate[3].length==2)
			validdate[3]=20+validdate[3];
		else if (validdate[3].length==3)
			validdate[3]=2+validdate[3];
		obj.value=validdate[1]+"/"+validdate[2]+"/"+validdate[3]
		if (validdate[1]==2){
			if (validdate[3]%400==0){
				if (validdate[2]<1 || validdate[2]>29){
					alert("Date is not valid! Date must in [1,29]");
					obj.focus();
					obj.select();
					return false;
				}
			}
			else{
				if (validdate[2]<1 || validdate[2]>28){
					alert("Date is not valid! Date must in [1,28])");	
					obj.focus();
					obj.select();
					return false;
				}
			}
		}
		else if (validdate[1]==1 || validdate[1]==3 || validdate[1]==5 || validdate[1]==7 || validdate[1]==8 || validdate[1]==10  || validdate[1]==12){
				if (validdate[2]<1 || validdate[2]>31){
					alert("Date is not valid! Date must in [1,31]");				
					obj.focus();
					obj.select();
					return false;
				}
		}
		else if (validdate[1]==4 || validdate[1]==6 || validdate[1]==9 || validdate[1]==11){
				if (validdate[2]<1 || validdate[2]>30){
					alert("Date is not valid! Date must in [1,30]");						
					obj.focus();
					obj.select();
					return false;
				}
		}
		else {
				alert("Month is not valid! It must in [1,12]");				
				obj.focus();
				obj.select();
				return false;	
		}
		return true;
	}
}
