if (typeof talon == "undefined" || !talon) { var talon = {}; }

talon.namespace = function() {
    var a=arguments, o=null, i, j, d;
    for (i=0; i<a.length; i=i+1) {
        d=a[i].split(".");
        o=talon;
        for (j=(d[0] == "talon") ? 1 : 0; j<d.length; j=j+1) {
            o[d[j]]=o[d[j]] || {};
            o=o[d[j]];
        }
    }
    return o;
};

talon.validate = function() {
	
	var errors = false;
	
	// NAME
	if(document.submission.name) {
		var fullName = document.submission.name.value;
		var nameError = document.getElementById('nameError');
		function isName(s) {
			var regexp = /^([a-zA-Z-']+ [a-zA-Z-']+)$/;
			return regexp.test(s);
		}
		if(!isName(fullName)) {
			nameError.innerHTML = "Enter first and last name";
			errors = true;
		} else {
			nameError.innerHTML = "";
		}
	} // END NAME
		
	// EMAIL
	if(document.submission['lead.contactInfo.email']) {
		var email = document.submission['lead.contactInfo.email'].value;
		var emailError = document.getElementById('emailError');
		function isEmail(s) {
			var regexp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			return regexp.test(s);
		}
		if(!isEmail(email)) {
			emailError.innerHTML = "Enter a valid email";
			errors = true;
		} else {
			emailError.innerHTML = "";
		}
	} // END EMAIL
	
	// PHONE
	if(document.submission['lead.contactInfo.homePhone']) {
		var homePhone = document.submission['lead.contactInfo.homePhone'].value;
		var phoneError = document.getElementById('phoneError');
		function isPhone(s) {
			var regexp = /^(\d{3})-(\d{3})-(\d{4})$/;
			return regexp.test(s);
		}
		if(!isPhone(homePhone)) {
			phoneError.innerHTML = "Enter phone as 123-123-1234";
			errors = true;
		} else {
			phoneError.innerHTML = "";
		}
	} // END PHONE
		
	// ZIP
	if(document.submission['lead.address.postalCode']) {
		var zip = document.submission['lead.address.postalCode'].value;
		var zipError = document.getElementById('zipError');
		function isZip(s) {
			var regexp = /^([0-9]){5}$/;
			return regexp.test(s);
		}
		if(!isZip(zip)) {
			zipError.innerHTML = "Enter 5 digit zip code";
			errors = true;
		} else {
			zipError.innerHTML = "";
		}
	} // END ZIP
		
	// CITY
	if(document.submission['lead.address.city']) {
		var city = document.submission['lead.address.city'].value;
		var cityError = document.getElementById('cityError');
		function isCity(s) {
			var regexp = /^([a-zA-Z][a-zA-Z -]+)$/;
			return regexp.test(s);
		}
		if(!isCity(city)) {
			cityError.innerHTML = "Enter your city";
			errors = true;
		} else {
			cityError.innerHTML = "";
		}
	} // END CITY
		
	// STATE
	if(document.submission['lead.address.region']) {
		var state = document.submission['lead.address.region'].value;
		var stateError = document.getElementById('stateError');
		if(state == "") {
			stateError.innerHTML = "Select a state";
			errors = true;
		} else {
			stateError.innerHTML = "";
		}
	} // END STATE
	
	// FIELD1
	if(document.submission.field1) {
		var field1 = document.submission.field1.value;
		var myError1 = document.getElementById('myError1');
		function isCustom(s) {
			var regexp = /^([a-zA-Z0-9 -'.,()_]+)$/;
			return regexp.test(s);
		}
		if(!isCustom(field1)) {
			myError1.innerHTML = "Cannot Be Blank";
			errors = true;
		} else {
			myError1.innerHTML = "";
		}
	} // END FIELD1
	
	// FIELD2
	if(document.submission.field2) {
		var field2 = document.submission.field2.value;
		var myError2 = document.getElementById('myError2');
		function isCustom(s) {
			var regexp = /^([a-zA-Z0-9 -'.,()_]+)$/;
			return regexp.test(s);
		}
		if(!isCustom(field2)) {
			myError2.innerHTML = "Cannot Be Blank";
			errors = true;
		} else {
			myError2.innerHTML = "";
		}
	} // END FIELD2
	
	// FIELD11
	if(document.submission.field11) {
		var field11 = document.submission.field11.value;
		var myError11 = document.getElementById('myError11');
		function isCustom(s) {
			var regexp = /^([a-zA-Z0-9 -'.,()_]+)$/;
			return regexp.test(s);
		}
		if(!isCustom(field11)) {
			myError11.innerHTML = "Cannot Be Blank";
			errors = true;
		} else {
			myError11.innerHTML = "";
		}
	} // END FIELD11
	
	// FIELD12
	if(document.submission.field12) {
		var field12 = document.submission.field12.value;
		var myError12 = document.getElementById('myError12');
		function isCustom(s) {
			var regexp = /^([a-zA-Z0-9 -'.,()_]+)$/;
			return regexp.test(s);
		}
		if(!isCustom(field12)) {
			myError12.innerHTML = "Cannot Be Blank";
			errors = true;
		} else {
			myError12.innerHTML = "";
		}
	} // END FIELD12
	
	// SHOW ERRORS IF ANY, OTHERWISE SUBMIT THE FORM
	if(errors == true) { return false; } else { return true; }
};