var alphanumexp=/^[a-z0-9]+$/i;
var loginexp=/^[a-z_0-9]+$/i;
var numexp=/^[0-9]+$/i;
var charexp=/^[a-z ]+$/i;
var nameexp=/^[a-z -]+$/i
var phoneMsg="Invalid phone length. Please enter phone number in format 5555551234.";
var zipMsg="ZIP code must be 5 digits.";
var invalidZip="Invalid zip code. please re-enter.";
var invalidZipExt="Invalid zip code extention. Please re-enter.";
var invalidPhone="Invalid phone number. Please re-enter.";
var badCity="Invalid city. Please re-enter a city.";
function isValid(pattern, str) {
	return pattern.test(str)
}


function checkzipLength(fname,len){
	var index = getIndex(fname);
	var s=document.webform.elements[index].value;
	if(s != null && s!= '' ){
		
		if ((s.length < len) ) {
		document.webform.elements[index].focus();
		document.webform.elements[index].value="";
		return false;
		}
		if (s == '00000')
		{		   
		document.webform.elements[index].focus();
		document.webform.elements[index].value="";
		return false;
		}		
	}
	return true;
}

function isNumeric(fname){
  	var index = getIndex(fname);
  	var s=document.webform.elements[index].value;
  	if(s != null && s!= ''){

	if (!isValid(numexp,s)) {
	return false;
	}
}
  return true;
}


function checkLength(fname,len,msg){
	var index = getIndex(fname);
	var s=document.webform.elements[index].value;
	if(s != null && s!= ''){
		if (s.length > len) {
		alert(msg);
		document.webform.elements[index].focus();
		return false;
		}
	}
	return true;
}


function getIndex(fieldName){
	for(i=0; i< document.webform.length;i++){
		if(fieldName == document.webform.elements[i].name)
			return i;
	}

}


function isSameValue(fname1,fname2,msg)
{
	var index2 = getIndex(fname2);
	var val2=document.webform.elements[index2].value;
	var index1 = getIndex(fname1);
	var val1=document.webform.elements[index1].value;
  if(val1 != val2)
  {
    alert(msg);
    document.webform.elements[index1].focus();
    return false;
  }
	return true;
}


function isEmpty(fname,msg){
	var index = getIndex(fname);
	var val=document.webform.elements[index].value;
	var empty = true;
	for(var i=0;i<val.length;i++)
		{
			var ss=val.substring(i,i+1);
			if(ss != ' ')
				empty = false;
		}
	if(empty == true){
		alert(msg);
		document.webform.elements[index].focus();
		return false;
	}
	return true;
}


function checkEmpty(fname){

	var index = getIndex(fname);
	var val=document.webform.elements[index].value;
	var empty = true;
	for(var i=0;i<val.length;i++)
		{
			var ss=val.substring(i,i+1);
			if(ss != ' ')
				empty = false;
		}
	return empty;
}


function isListSelected(fname,msg){
	var index = getIndex(fname);
	var val=document.webform.elements[index].value;
	if(document.webform.elements[index].options[document.webform.elements[index].selectedIndex].value== "-1" || document.webform.elements[index].options[document.webform.elements[index].selectedIndex].value== ""){
		alert(msg);
		document.webform.elements[index].focus();
		return false;
	}
	return true;
  }
  
  
function setFocus(){
	var index = getIndex("userName");
	document.webform.elements[index].focus();
}

function isCharacter(fname,msg){
	
	var index = getIndex(fname);
	var s=document.webform.elements[index].value;
	if(s.length == 0 )  return true;
	if (!isValid(charexp,s)){		
		alert(msg);
		document.webform.elements[index].focus();
		return false;
		}		
	return true;
}



function validateForm()
{
    var errorMessages = "";
    
    if(document.webform.address.value == "" &&
     document.webform.city.value == "" &&
     document.webform.state.selectedIndex == 0 && 
     document.webform.zip.value == "" && 
     document.webform.daytimephoneno.value == "" && 
     document.webform.zip1.value == "") 
    {
      errorMessages = "Please press 'Cancel' if you don't want to update your address.";
    }  
    
    if (!isNumeric("zip"))
    {
      errorMessages = errorMessages + invalidZip + "\n\n";
    }
    
    if (!isNumeric("zip1"))
    {
      errorMessages = errorMessages + invalidZipExt + "\n\n";
    }
    
    if (!isNumeric("daytimephoneno"))
    {
      errorMessages = errorMessages + invalidPhone + "\n\n";
    }
  
    if (errorMessages.length > 0)
    {
      alert(errorMessages);
      return false;
    }
    else
    {
      return true;
    }
}
	
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}	
	
