	function validatePhone(str) {
		str = str.replace(/[^0-9]/g,'');
		if(str.substr(0,1)==1) {
			str = str.substr(1);
		}
		if(str.length>9) {
			return '('+str.substr(0,3)+') '+str.substr(3,3)+'-'+str.substr(6,4);
		}else {
			return false;
		}
	}

	function validateEmail(str) {
		tmp = str.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i);
		if(tmp==str) {
			return true;
		}else {
			return false;
		}
	}

	function validateZip(str) {
		str = str.replace(/[^0-9]/g,'');
		if(str.length==5) {
			return str;
		}else if(str.length>8) {
			return str.substr(0,5)+'-'+str.substr(5,4);
		}else {
			return false;
		}
	}

	function validateNumber(str) {
		str = str.replace(/[^0-9]/g,'');
		if(str.length>0) {
			return str;
		}else {
			return false;
		}
	}

	function randString() {
		return String((new Date()).getTime()).replace(/\D/gi,'');
	}
$(document).ready(function() {
	$('#validateForm').submit(function() {
		var rtn = true;
		var alrt = '';
		$('#validateForm :input').each(function(i) {
			if($(this).hasClass('valTxt')) {
				if($(this).val().length==0) {
					$(this).addClass('invalid');
					rtn = false;
				}else {
					$(this).removeClass('invalid');
				}
			}else if($(this).hasClass('valPhn')) {
				vlu = validatePhone($(this).val());
				if(vlu==false) {
					$(this).addClass('invalid');
					rtn = false;
				}else {
					$(this).removeClass('invalid');
					$(this).val(vlu);
				}
			}else if($(this).hasClass('valEml')) {
				if(validateEmail($(this).val())==false) {
					$(this).addClass('invalid');
					rtn = false;
				}else {
					$(this).removeClass('invalid');
				}
			}else if($(this).hasClass('valZip')) {
				vlu = validateZip($(this).val());
				if(vlu==false) {
					$(this).addClass('invalid');
					rtn = false;
				}else {
					$(this).removeClass('invalid');
					$(this).val(vlu);
				}
			}else if($(this).hasClass('valNum')) {
				vlu = validateNumber($(this).val());
				if(vlu==false) {
					$(this).addClass('invalid');
					rtn = false;
				}else {
					$(this).removeClass('invalid');
					$(this).val(vlu);
				}
			}else if($(this).hasClass('valChk')) {
			}else if($(this).hasClass('valPhnAjx')) {
				phnnum = $(this).val();
				that = $(this);
				$.ajax({url: 'formvalajax.php?fnc=valphn&str='+$(this).val(), success: function(data) {
					if(data=='true') {
						vlu = validatePhone(phnnum);
						that.val(vlu);
						that.removeClass('invalid');
					}else {
						that.addClass('invalid');
						rtn = false;
						alrt += "Please enter a valid Phone Number.\n\n";
					}
				}, async: false});
			}
		});
		if($('#validateForm .valCty').length==1&&$('#validateForm .valSte').length==1&&$('#validateForm .valZip').length==1&&!($('#validateForm .valCty').hasClass('invalid'))&&!($('#validateForm .valSte').hasClass('invalid'))&&!($('#validateForm .valZip').hasClass('invalid'))) {
			$.ajax({url: 'formvalajax.php?fnc=valctystezip&cty='+$('#validateForm .valCty').val()+'&ste='+$('#validateForm .valSte').val()+'&zip='+$('#validateForm .valZip').val(), success: function(data) {
				if(data=='false') {
					alrt += "Please enter a valid Address.\n\n";
					$('#validateForm .valAdr').addClass('invalid');
					$('#validateForm .valCty').addClass('invalid');
					$('#validateForm .valSte').addClass('invalid');
					$('#validateForm .valZip').addClass('invalid');
					rtn = false;
				}
			}, async: false});
		}
		if(rtn) {

		}else {
			if($('#modal').length) {
				$('#modal').modal();
			}else if($('#formIsInvalid').length) {
				$('#formIsInvalid').css('display','');
				if(alrt!='') {
					alert(alrt);
				}
			}else {
				alert(alrt+'Some of the form values you entered are invalid. Please correct the highlighted fields.');
			}
		}
		return rtn;
	});
});

