function checkPrice(field, limit)
	{
	var pattern1= /[ $,]+/g;
	var pattern2= /^[0-9]+$/;
	
	var newstring= field.value.replace(pattern1, "");
	//pattern = /^[0-9]*$/;
	//alert(field.name + "= " + pattern.test(field.value));

	if (pattern2.test(newstring)== false)
		{
		field.value= "";
		return false;
		}
	else if (field.value> limit)
		{
		field.value= "";
		return false;
		}
	else if (field.value=="")
		{
		field.value= "";
		return false;
		}
	else if (field.value< 0)
		{
		field.value= "";
		return false;
		}

	return true;
	}



function checkFloat(field)
	{
	var pattern1= /[.]+/g;
	var pattern2= /^[0-9]+$/;
	
	var newstring= field.value.replace(pattern1, "");
	if (pattern2.test(newstring)== false)
		{
		field.value= "";
		return false;
		}
	else if (field.value=="")
		{
		field.value= "";
		return false;
		}
	else if (field.value< 0)
		{
		field.value= "";
		return false;
		}

	return true;
	}




function checkNumeric(field, limit)
	{
	pattern = /^[0-9]*$/;
	//alert(field.name + "= " + pattern.test(field.value));
	if (pattern.test(field.value)== false)
		{
		//alert("Not numeric in "+ field.name);
		field.value= 0;
		return false;
		}
	else if (field.value> limit)
		{
		//alert("Out of range in "+ field.name);
		field.value= 0;
		return false;
		}
	else if (field.value=="")
		{
		//alert("Empty input field "+ field.name);
		field.value= 0;
		return false;
		}
	else if (field.value< 0)
		{
		//alert("Use only positive numbers when entering your data.");
		field.value= 0;
		return false;
		}

	else if (field.value.length> 16)
		{
		//alert("Please use a smaller number in your calculations.");
		field.value= 0;
		return false;
		}

	//alert("About to return TRUE.");
	return true;
	}


function checkZip(field)
	{
	// Check 5 digit zip
	var regex1= /^\d{5}$/;
	// Check 9 digit zip - remember x? matches 0, or 1 x, so, dash can be omitted
	var regex2= /^\d{5}-?\d{4}$/;
	// Check for postal code
	//var regex3= /^[A-Za-z][0-9][A-Za-z]\s?[0-9][A-Za-z][0-9]$/;	This one never seemed to work.
	var regex3= /^\s*[a-z]\d[a-z](\s)?\d[a-z]\d\s*$/i;
	//alert(regex3.test(field.value));
	if( (regex1.test(field.value)== false) && (regex2.test(field.value)== false) && (regex3.test(field.value)== false) )
		return false;
	else
		return true;
		} 



function checkZipPrefix(field)
	{
	// Check 5 digit zip
	var regex1= /^\d{5}$/;
	// Check for postal code prefix
	var regex2= /^[A-Za-z][0-9][A-Za-z]$/;

	if( (regex1.test(field.value)== false) && (regex2.test(field.value)== false) )
		return false;
	else
		return true;
	} 




function checkAlpha(field)
	{
	// Allows spaces, dashes, and underscores
	// Confirm that all chars are alphabetic (or an underscore, space, or dash)
	var regex1= /^[a-z A-Z-_]+$/;
	if (regex1.test(field.value)== false)
		{
		field.focus();
		return false;
		}
	else if (field.value=="")
		{
		field.value= "***";
		field.focus();
		return false;
		}		

	else if(field.value.length> 255)
		{
		field.focus();
		return false;
		}

	return true;
	} 


function checkAlphanumeric(field)
	{
	// Allows spaces
	var regex1= /[-]+/g;
	var regex2= /^[a-z A-Z0-9_]+$/;
	
	var newstring= field.value.replace(regex1, "");
	if(regex2.test(newstring)== false)
		{
		field.focus();
		return false;
		}
	else if (field.value=="")
		{
		field.value= "***";
		field.focus();
		return false;
		}

	return true;
	} 



function checkTextField(field)
	{
	// Confirm that all chars are alphanumeric, or may also contain single quotes and some other chars
	// But no semicolons or double quotes or slashes
	var regex1= /^[a-zA-Z0-9_!@#$%&*()-+='.,?/ ]+$/;
	
	if(regex1.test(field.value)== false)
		{
		return false;
		field.focus();
		}
	else
		return true;
	}
	


function checkPhone(field)
	{
	// Confirm that all chars are numeric - after stripping extra chars
	var regex1= /[- ()]+/g;
	var regex2= /^\d{10}$/;
	
	var newnumber= field.value.replace(regex1, "");
	if(regex2.test(newnumber)== false)
		{
		field.focus();
		return false;
		}
	else
		return true;
		} 


function checkEmail(field)
	{
	// Confirm valid email format
	var regex1= /^(([\-\w]+)\.?)+@(([\-\w]+)\.?)+\.[a-zA-Z]{2,4}$/;
	
	if(regex1.test(field.value)== false)
		{
		field.focus();
		return false;
		}
	else
		return true;
	}
	
 
function checkPassword(field)
	{
	// No spaces allowed
	// Confirm that all chars are alphabetic (or an underscore, or dash)
	var regex1= /^[0-9a-zA-Z-_]+$/;
	if (regex1.test(field.value)== false)
		{
		alert ("There appears to be an error in your password.  Please check your entry.");
		field.focus();
		return false;
		}
	else if (field.value=="")
		{
		field.value= "***";
		field.focus();
		return false;
		}		

	else if( (field.value.length< 8) || (field.value.length> 16) )
		{
		alert ("Please enter a password between 8 and 16 characters long.");
		var problem= "yes";
		}

	return true;
	}
	
	
function checkUsername(field)
	{
	ERROR= "You have an error in your username.\nPlease check your entry.\n";
	// No spaces allowed
	// Confirm that all chars are alphabetic (or an underscore, or dash)
	var regex1= /^[a-z0-9A-Z-_]+$/;
	if (regex1.test(field.value)== false)
		{
		alert(ERROR);
		field.value= "***";
		field.focus();
		return false;
		}
		
	else if (field.value=="")
		{
		alert ("Please enter a username.\n");
		field.value= "***";
		field.focus();
		return false;
		}		

	else if(field.value.length< 6)
		{
		alert ("Please note that your username must be a minimum of 6 characters long.");
		field.focus();
		return false;
		}
		
	return true;
	}
	
	
	
	
	
