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])+(\.[a-zA-Z0-9_-]{2,3})+$/;
			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
	
	// NAME
	if(document.submission.field11) {
		var field11 = document.submission.field11.value;
		var myError = document.getElementById('myError');
		function isCustom(s) {
			var regexp = /^([a-zA-Z0-9 -'.,]+)$/;
			return regexp.test(s);
		}
		if(!isCustom(field11)) {
			myError.innerHTML = "Cannot Be Blank";
			errors = true;
		} else {
			myError.innerHTML = "";
		}
	} // END NAME
	
	// SHOW ERRORS IF ANY, OTHERWISE SUBMIT THE FORM
	if(errors == true) { return false; } else { s.sendFormEvent('s','apply page','Apply Form'); return true; }
};
