//--------------- Valid Phone
function validPhone(formField,fieldLabel){
	var result = true;
	var value=formField.val();
	var pattern=new RegExp(/^((\+?\d{1,3}(-| |.|,|_)?\(?\d\)?(-| |.|,|_)?\d{1,5})|(\(?\d{2,6}\)?))(-| |.|,|_)?(\d{3,4})(-| |.|,|_)?(\d{4})(( x| ext)\d{1,5}){0,1}(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/);
	if (!pattern.test(value)){
		alert('Please enter a 10-digit phone number for "' + fieldLabel +'" field as xxx-xxx-xxxx.');formField.focus();result=false;
	}
  return result;
}

//--------------- Valid Requierd
function validRequired(formField,fieldLabel){
  var result = true;
	var value=formField.val();
	if(!value) {
	alert('Please enter a value for the "'+fieldLabel+'" field.');formField.focus();result=false;
	}
 return result;
}
//--------------- Valid Email

function validEmail(formField,fieldLabel){
	var result=true;
	var value=formField.val();
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  if (!pattern.test(value)){
		alert('Please enter a complete email address in the form: yourname@yourdomain.com.');formField.focus();result=false;
	}
return result;
}
//--------------- Valid CA Zip Cose

function isValidCaPostalCode(formField,fieldLabel){
 	var result=true;
	var value=formField.val();
	var pattern = new RegExp(/^\D{1}\d{1}\D{1}\-?\d{1}\D{1}\d{1}$/);
  if (!pattern.test(value)){
		alert('Please enter a Canadian postal code for "' + fieldLabel +'" field as xxxxxx.');formField.focus();result=false;
	}
return result;
}
//--------------- Valid US Zip Cose
function isValidZipCode(formField,fieldLabel){
 	var result=true;
	var value=formField.val();
	var pattern = new RegExp(/^\d{5}([\-]\d{4})?$/);
  if (!pattern.test(value)){
		alert('Please enter a States zip code in 5 digit format for "' + fieldLabel +'" field as xxxxx.');formField.focus();result=false;
	}
return result;
}
//--------------- Valid Number

function validNumber(formField,fieldLabel){
  var result=true;
  var value=formField.val();
  if(isNaN(value)){
     alert('Please enter a numeric value for the "'+fieldLabel+'" field.');formField.focus();result=false;
     }
  return result;
}

//--------------- Valid Alphabetical 

function isAlphabet(formField,fieldLabel){
 	var result=true;
	var value=formField.val();
	var pattern = new RegExp(/^[a-zA-Z]+$/);
  if (!pattern.test(value)){
		alert('Please enter a valid value for the " + fieldLabel + " field.');formField.focus();result=false;
	}
return result;
}
 
//--------------- Valid SIN
function isValidSocialInsurance(formField,fieldLabel){
 var result = true;
 var value=formField.val();
 var pattern = new RegExp(/^\d{9}$/);
 if (!pattern.test(value)){
  alert('Please enter a 9-digit Social Insurance Number for "' + fieldLabel +'" field as xxxxxxxxx.'); formField.focus(); result = false;
 }
 return result;
}

//--------------- Valid SSN

function validSSN(formField,fieldLabel){
 var result=true;
 var value=formField.val();
 if(!isValidSSN(value)){
    alert('Please enter a valid Social Security Number for the "'+fieldLabel+'" field.');formField.focus();result=false;
   }
  return result;
}
function isValidSSN(value){
  var re=/^([0-6]\d{2}|7[0-6]\d|77[0-2])([ \-]?)(\d{2})\2(\d{4})$/;
  if(!re.test(value)) {return false;}
  var temp=value;
  if(value.indexOf("-")!=-1){temp=(value.split("-")).join("");}
  if(value.indexOf(" ")!=-1){temp=(value.split(" ")).join("");}
  if(temp.substring(0,3)=="000"){return false;}
  if(temp.substring(3,5)=="00"){return false;}
  if(temp.substring(5,9)=="0000"){return false;}
  
  return true;
 }
//--------------- Valid Date

function validDate(formField,fieldLabel){
 var result=true;
 var value=formField.val();
 var pattern = new RegExp(/^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/);
 
 if (!pattern.test(value)){
   alert('Please enter valid date for the "'+fieldLabel+'" field as month, day, and four digit year.\nFormat mm/dd/yyyy.');formField.focus();result=false;
  }
 return result;
}

//--------------- Valid Currency

function validCurrency(formField,fieldLabel){
 var result=true;
 var value=formField.val();
 var pattern = new RegExp(/^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/);

 if (!pattern.test(value)){
   alert('Please enter a number or dollar amount for the "'+fieldLabel+'" field.\n Example: $1,000');formField.focus();return false;
  }
 return result;
}


