// non-empty textbox

function isEmpty(name, strng) {
	var error = "";
  	
  	if (strng == "") {
    	error = name + " is required\n"
  	}

	return error;	  
}

// email

function checkEmail (name,strng) {
var error="";

	if (strng == "") {
   		error = "You didn't enter an email address.\n";
		return error;
	}

    var emailFilter="/^.+@.+\..{2,3}$/;";
    
    if (!(emailFilter.test(strng))) { 
       	error = "Please enter a valid email address.\n";
    	return error;
    }
    else {
//test email for illegal characters
       var illegalChars= "/[\(\)\<\>\,\;\:\\\"\[\]]/";
       if (strng.match(illegalChars)) {
          	error = name +" address contains illegal characters.\n";
       		return error;
       }
    }
	return error;    
}


// phone number - strip out delimiters and check for 10 digits

function checkPhone (name, strng) {
var error = "";

	if (strng == "") {
    	error = "You didn't enter "+name+"\n";
		return error;
	}

var stripped = strng.replace("/[\(\)\.\-\ ]/g", ''); 
//strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       	error = name + " number contains illegal characters.";
  		return error;
    }
    
    if (!(stripped.length == 10)) {
		error = name + " number is the wrong length. Make sure you included an area code.\n";
    	return error;
    }
     
	return error;
}

function onBlurEmail( item )
{
var error = checkEmail( item.name, item.value );

	if ( error != ""){
		alert( error );
	}
}

function onBlurRequiredField( item )
{	
var error = isEmpty( item.name, item.value );

	if ( error != ""){
		alert( error );
	}
}

function onBlurPhone( item )
{
	if ( item.value == "" ) return;
	
	var error = checkPhone( item.name, item.value );

	if ( error != ""){
		alert( error );
	}

}