	//age check
	function twoDigits(dig){
		var str = dig.toString();
		var digit = (str.length == 2) ? str : '0'+str;
		return digit;
	}
	
	
	function realMonth(mm){
		var realmonth = (mm < 12) ? mm + 1 : mm = 1;
		return realmonth;
	}
			
	// returns true if the string is a US phone number formatted as...
	// (000)000-0000, (000) 000-0000, 000-000-0000, 000.000.0000, 000 000 0000, 0000000000
	function isPhoneNumber(str){
		var re = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/
		return re.test(str);
	}
	
	// returns true if the string only contains characters A-Z, a-z or 0-9 or . or #
	function isAddress(str){
		var re = /[^a-zA-Z0-9\#\.]/g
		if (re.test(str)) return true;
		return false;
	}
	
	// returns true if the string is 5 digits
	function isZip(str){
		var re = /\d{5,}/;
		if(re.test(str)) return true;
		return false;
	}
	
	// returns true if the string only contains characters A-Z or a-z
	function noSpaces(str){
		var re = /[' ']/g
		if (re.test(str)) return false;
		return true;
	}
	
	
	// returns true if the string only contains characters A-Z or a-z
	function isAlpha(str){
		var re = /[^a-zA-Z-\s]/g
		if (re.test(str)) return false;
		return true;
	}
	
	// returns true if the string only contains characters A-Z or a-z or 0-9
	function isAlphaNumeric(str){
		var re = /[^a-zA-Z0-9]/g
		if (re.test(str)) return false;
		return true;
	}
	
	// returns true if the string only contains characters 0-9
	function isNumeric(str){
		var re = /[^0-9]/g
		if (re.test(str)) return false;
		return true;
	}

	function isEmpty(str){
		if(str == null || str.length == 0){
			return true;
		}else{
			return false;
		}
	}
	
	function isEmail(str){
	if(str == '') return false;
	var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
	return re.test(str);
	}
	
function stripWhitespace(str, replacement){
	if (replacement == null) replacement = '';
	var result = str;
	var re = /\s/g
	if(str.search(re) != -1){
		result = str.replace(re, replacement);
	}
	return result;
}

//function to remove error class on focus
function tryAgain(id){
	$(id).removeClass('errors');
}
//function for coloring the fields with errors
function hasErrors(fieldID, err){
	if(err){
		$(fieldID).addClass('errors');
	}else{
		$(fieldID).removeClass('errors');
	}
}

//function for coloring text with errors
function hasErrorsText(fieldID, err){
	if(err){
		$(fieldID).addClass('errortext');
	}else{
		$(fieldID).removeClass('errortext');
	}
}

function validateForm(){
				var this_form = document.entry;
				var err_count = 0;
				
				var fn = $("#fname").val();
				var ln = $("#lname").val();
				var em = $("#email").val();
				var ph = $("#phone").val();
				var ad = $("#address").val();
				var ci = $("#city").val();
				var st = $("#state").val();
				var zp = $("#zip").val();
				
				
				if(isEmpty(fn)){
					err_count++;
					hasErrors('#fname', true);
				}
				
				if(isEmpty(ln)){
					err_count++;
					hasErrors('#lname', true);
				}
				
				if(isEmpty(em) || !isEmail(em)){
					err_count++;
					hasErrors('#email', true);
				}
				
				if(!isPhoneNumber(ph)){
					err_count++;
					hasErrors('#phone', true);
				}
				
				if(isEmpty(ad) || !isAddress(ad)){
					err_count++;
					hasErrors('#address', true);
				}
				
				if(isEmpty(ci)){
					err_count++;
					hasErrors('#city', true);
				}
				
				if(isEmpty(st)){
					err_count++;
					hasErrors('#state', true);
				}
				
				if(isEmpty(zp) || !isZip(zp)){
					err_count++;
					hasErrors('#zip', true);
				}
				
				if ($("#optin").attr("checked") == false){
					err_count++;
					hasErrorsText('#optintext', true);
				}
				
				if(err_count == 0){
					return true;
				}else{
					return false;
				}

			}

