function formValidator(){
	// Make quick references to our fields
	var title = document.getElementById('title');
	var name = document.getElementById('name');
	var your_address1 = document.getElementById('your_address1');
	var your_city = document.getElementById('your_city');
	var your_state = document.getElementById('your_state');
	var your_country = document.getElementById('your_country');
	var your_zip = document.getElementById('your_zip');
	var your_email = document.getElementById('your_email');
	var proposal_text = document.getElementById('proposal_text');
	var terms = document.getElementById('terms');
	


	// Check each input in the order that it appears in the form!
	if(isAlphanumeric(title, "Please enter Your Town")){
	 if(isAlphanumeric(name, "Please enter your Name")){
	  if(isAlphanumeric(your_address1, "Please enter your Address")){
	   if(isAlphanumeric(your_city, "Please enter your City")){
	    if(madeSelection(your_state, "Please enter your State")){
	     if(isAlphanumeric(your_country, "Please enter your Country")){
	      if(isAlphanumeric(your_zip, "Please enter your Zip Code")){
	       if(emailValidator(your_email, "Please enter your email address")){
	        if(enteredProposal(proposal_text, "Please enter your 'Your Town Proposal'")){
	         if(checkedConfirm(terms, "Please confirm that you agree to the terms")){
	          return true;
	         }
	        }
	       }
	      }
	     }
	    }
	   }
	  }
	 }
	}
return false;
}



function isNotEmpty(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9 ()-]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-z ,'()-.A-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9 #_",'()-.a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isURL(elem, helperMsg){
	var alphaExp = /^[0-9 ,'()-./:a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function checkedConfirm(elem, helperMsg){
	if(elem.checked == false){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}


function radioConfirmAffiliate(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.affiliate[0].checked == false) && (document.museumDaySubmissionForm.affiliate[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}



function radioConfirmChargeEntry(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.charge_entry[0].checked == false) && (document.museumDaySubmissionForm.charge_entry[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function radioConfirmSponsorProduct(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.sponsor_product[0].checked == false) && (document.museumDaySubmissionForm.sponsor_product[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}


function radioConfirmSponsorLiterature(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.sponsor_literature[0].checked == false) && (document.museumDaySubmissionForm.sponsor_literature[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function radioConfirmSponsorVehicle(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.sponsor_vehicle[0].checked == false) && (document.museumDaySubmissionForm.sponsor_vehicle[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}function radioConfirmKickoff(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.kickoff_event[0].checked == false) && (document.museumDaySubmissionForm.kickoff_event[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function radioConfirmSponsorPhoto(elem, helperMsg){
    if ( (document.museumDaySubmissionForm.sponsor_photo[0].checked == false) && (document.museumDaySubmissionForm.sponsor_photo[1].checked == false) )
    {
    alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}


function enteredProposal(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

