function isZipCode (s,message){
	// s is a form element
	// message is a string
	//Uses loops instead of slice or substr because IE3 doesn't
	//support those methods.  -- Steve
	var x,i;
	
	//Convert 5 digit zip to 9 digit by adding "0000"
	if (s.value.length == 5){
		if (isInteger(s.value,message)){
			s.value=s.value+"0000";
			return true;
		}
		else{
			s.focus();
			return false;
		}
	}
	
	// If length ten (XXXXX-YYYY), remove non-numeric then check length 9
	if(s.value.length == 10){
		s.value=numericize(s.value);
	}
	
	//Check length 9
	if (s.value.length == 9){
		if (isInteger(s.value,message)){
			return true;
		}
		else{
			s.focus();
			return false;
		}
		
	}

	alert(message);
	s.focus();
	return false;
}

function isInteger (s,message){
	// s is a string
	// message is a string
	var i;
	for (i = 0; i < s.length; i++){   
	    // Check that current character is number.
	    var c = s.charAt(i);
	    if (!isDigit(c)){
	 	 	alert(message);			
			return false;
		}
	}
	return true;
}

function isDigit (c){
	// c is a character
	return ((c >= "0") && (c <= "9"))
}

function numericize(s){
	// s is a string
	// message is a string
	var i,j;
	j="";
	for (i=0;i<s.length;i++){
		if (isDigit(s.charAt(i))){
			 j=j+s.charAt(i);
		}
	}
	return j;
}

function isBlank(s,message){
	// s is a form element
	// message is a string
	if ((s.value.length > 0) && (s.value != null) && (s.value != "")){
		return true;
	}
	alert(message);
	s.focus();
	return false;
}

function isSSN (s,message){
	// s is a form element
	// message is a string
	//Uses loops instead of slice or substr because IE3 doesn't
	//support those methods.  -- Steve
	var x,i;

	// Check blank
	if (isBlank(s,message)){
		s.focus();
		return false;
	}

	// Check 11 digit with dashes (strip out dashes, check if valid)
	if (s.value.length == 11){
		s.value=numericize(s.value);
	}
	
	// Check 9 digit integer
	if (s.value.length == 9){
		if (isInteger(s.value,message)){
			return true;
		}
		else{
			s.focus();
			return false;
		}
	}

	alert(message);
	s.focus();
	return false;
}

function isPhone (s,message){
	// s is a form element
	// message is a string
	// If non-numeric characters, strip them, then check for length
	if (s.value.length > 10){
		s.value = numericize(s.value);
	}
	
	//Check if first digit is 0 or 1. Invalid phone number.
	if ((s.value.charAt(0) == '0') || (s.value.charAt(0) == '1')){
		alert(message);
		s.focus();
		return false;
	}
	
	//Should be 3 digit area code + 7 digit phone number, as a 10 digit string
	if (s.value.length == 10){
		if (isInteger(s.value,message)){
			return true;
		}
		else{
			s.focus();
			return false;
		}
	}
	else{ 
		alert(message);
		s.focus();
		return false;
	}
	return true;
}

function isEmail (s,message){
	// s is a form element
	// message is a string
	var i,ii;
	var j;
	var k,kk;
    var jj;
    var len;
    // Check blank
    // Check valid email
    // Must have a "@" and a "." to be valid.
    // Must have at least 1 character before "@"
    // Must have at least 1 character after "@" and before "."
    // Must have at least 2 characters after "."
    if (s.value.length >0){
		i=s.value.indexOf("@");
		ii=s.value.indexOf("@",i+1);
		j=s.value.indexOf(".",i);
		k=s.value.indexOf(",");
		kk=s.value.indexOf(" ");
		jj=s.value.lastIndexOf(".")+1;
		len=s.value.length;
		if ((i>0) && (j>(1+1)) && (k==-1) && (ii==-1) && (kk==-1) &&
			(len-jj >=2) && (len-jj<=3)) {
			        return true;
			    	alert("passed");
			}
		else {
	 		 	alert(message)
	 		 	s.focus();			
				return false;
		}
     }
	else  {
	     	 	alert(message)
	 		 	s.focus();			
				return false;
	}
}

function isSelected (s,message){
	// s is a select form element
	// message is a string
	// Checks to see if a selectbox has been changed from its first value
	// Should be used on drop-boxes that have "Select an Item" or something
	// similar as their first OPTION
	if (s.selectedIndex==0){
		alert(message);
		s.focus();
		return false;
	}
	return true;
}