//Pattern Match Library
var alphaPattern=/(^[a-z A-Z]+$)/;
var creditcardPattern=/(^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$)/;
var currencyPattern=/(^\$\d{1,3}(,\d{3})*\.\d{2}$)|(^\(\$\d{1,3}(,\d{3})*\.\d{2}\)$)/;
var dealernumPattern=/(^\d{4}$)/;
var emailPattern=/^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_-]+\.[A-Za-z0-9_.]+[A-za-z]$/;
var floatPattern=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
var intPattern=/(^-?\d\d*$)/;
var jobnumPattern=/(^\d{6}.\d{4}$)/;
var phonePattern=/^([1-9]\d{2})\-\d{3}\-\d{4}$/;
var ssnPattern=/^\d{3}\-\d{2}\-\d{4}$/;
var timePattern=/^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;
var zipPattern=/(^\d{5}$)|(^\D{1}\d{1}\D{1} *$)|(^\D{1}\d{1}\D{1}\s\d{1}\D{1}\d{1}$)/;
var urlPattern=/^(ht|f)tp(s?)\:\/\/[a-zA-Z0-9\-\._]+(\.[a-zA-Z0-9\-\._]+){2,}(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$/;

//Empty Field Validation
function strip(a) {
	while (a.substring(0,1)==' ') a=a.substring(1);
  return a;
}
function empty(a) { 
	if (a.length > 0)
		return false; 
	else return true;
}
function strip(a) {
	if (a.length < 1) { 
		return false;
	} 
	return a.replace(/^\W+/,'');
}

//Left Trim Validation
function leftTrim(strValue) {
	var filter=/^(\s*)(\b[\w\W]*)$/;
  if (filter.test(strValue)) {
    //remove leading whitespace characters
    strValue=strValue.replace(filter, '$2');
  }
  return strValue;
}

//Textarea Limit Validation
function textCounter(field,countfield,maxlimit) {
	if (field.value.length > maxlimit)
	field.value = field.value.substring(0,maxlimit);
	else 
	countfield.value = maxlimit - field.value.length;
}

//Search Utilities Validation
function validateSearch(formId) {
	if (document.getElementById) {
		//hide part of loading sprite
		if (document.getElementById("load")) {
			document.getElementById("load").innerHTML = 'Loading Your Coupons<div class="load">&nbsp;</div>';
		}
		form = document.getElementById(formId);
		if (form.searchParameter.value=="Enter Zip or City, State") {
			form.searchParameter.focus();
			form.searchParameter.value="";
			return false;
		}
		if (empty(strip(form.searchParameter.value))) {
			form.searchParameter.focus();
			form.searchParameter.value="";
			return false;
		}
		while(''+form.searchParameter.value.charAt(0)==' ')form.searchParameter.value=form.searchParameter.value.substring(1,form.searchParameter.value.length)
		//disable GO button
		form.search.disabled=true;
		//display loading sprite
		if (navigator.userAgent.indexOf("Netscape6") == -1) {
			if (document.getElementById("page"))
				document.getElementById("page").style.display = 'none';
			if (document.getElementById("loading"))
				document.getElementById("loading").style.display = 'block';
		}
		return true;
	}
}