/*
	form.process.js
	Form Processing Javscript

	Created: Sept. 27, 2007
	Creator: Matt Kircher, Mainline Media
*/

//FORM STUFF
String.prototype.isEmail = function(){ return this.match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/); }
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function validateQuoteForm(){
	var form = document.getElementById('quoteForm');
	
	 if(form.elements['mailing_list_type'][1].checked){
		var ref_survey = false;
		var other_checked = 0;
		var other_value = "";
		
		var interest_survey = false;
		var other2_checked = 0;
		var other2_value = "";
		
		for(x=0; x<form.elements['ref_type'].length; x++){
			if(form.elements['ref_type'][x].checked){
				if(form.elements['ref_type'][x].value == "Other"){
					other_checked = 1;
					other_value = form.elements['ref_type_other'].value.trim();
					other_value = (other_value == "(please specify)")?"":other_value;
				}
				ref_survey = true;
			}
		}
		
		for(x=0; x<form.elements['interests[]'].length; x++){
			if(form.elements['interests[]'][x].checked){
				if(form.elements['interests[]'][x].value == "Other Services"){
					other2_checked = 1;
					other2_value = form.elements['interests_other'].value.trim();
					other2_value = (other2_value == "(please specify)")?"":other2_value;
				}
				interest_survey = true;
			}
		}
	}
	
	if(form.elements['fname'].value.trim() == ""){ 	 form.elements['fname'].focus(); alert('Please provide your first name.'); return false; }
	if(form.elements['lname'].value.trim() == ""){ 	 form.elements['lname'].focus(); alert('Please provide your last name.'); return false; }
	if(form.elements['company'].value.trim() == ""){	 form.elements['company'].focus(); alert('Please provide your company\'s name.'); return false; }
	if(form.elements['address1'].value.trim() == ""){ form.elements['address1'].focus(); alert('Please provide an address (line 1).'); return false; }
	if(form.elements['city'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a city.'); return false; }
	if(form.elements['state'].value.trim() == ""){ 	 form.elements['state'].focus(); alert('Please provide a state.'); return false; }
	if(form.elements['zipcode'].value.trim() == ""){  form.elements['zipcode'].focus(); alert('Please provide your zip code.'); return false; }
	
	if(form.elements['email'].value.trim() == "" || !form.elements['email'].value.isEmail()){
		form.elements['email'].focus(); alert('Please provide a valid email address'); return false;
	}
	
	if(form.elements['phone1'].value.trim() == ""){ 	 form.elements['phone1'].focus(); alert('Please provide a valid phone number.'); return false; }
	if(form.elements['phone2'].value.trim() == ""){ 	 form.elements['phone2'].focus(); alert('Please provide a valid phone number.'); return false; }
	if(form.elements['phone3'].value.trim() == ""){ 	 form.elements['phone3'].focus(); alert('Please provide a valid phone number.'); return false; }
	
	if(form.elements['quote_materials'].value.trim() == ""){ form.elements['quote_materials'].focus(); alert('Please explain your testing or calibration needs.'); return false; }
	
	if(form.elements['mailing_list_type'][1].checked && !ref_survey){ form.elements['ref_type'][0].focus(); alert('Please tell us how you heard about us'); return false; }
	if(other_checked && other_value == ""){ form.elements['ref_type_other'].focus(); alert('Please specify where you heard about us.'); return false; }
	if(other2_checked && other2_value == ""){ form.elements['interests_other'].focus(); alert('Please specify your other interests.'); return false; }
	
	
	if(form.elements['quote_size1'].value.trim() != "" || form.elements['quote_type1'].value.trim() != "" || form.elements['quote_quantity1'].value.trim() != ""){
		if(form.elements['use_sample2'].checked){	
			if(form.elements['quote_size2'].value.trim() == ""){ 	 form.elements['quote_size2'].focus(); alert('Please provide the size / model number of your second sample.'); return false; }
			if(form.elements['quote_type2'].value.trim() == ""){ 	 form.elements['quote_type2'].focus(); alert('Please provide a service type for your second sample.'); return false; }
			if(form.elements['quote_quantity2'].value.trim() == ""){ form.elements['quote_quantity2'].focus(); alert('Please provide the number of items / pieces for your second sample.'); return false; }
		}
		
		if(form.elements['use_sample3'].checked){
			if(form.elements['quote_size3'].value.trim() == ""){ 	 form.elements['quote_size3'].focus(); alert('Please provide the size / model number of your third sample.'); return false; }
			if(form.elements['quote_type3'].value.trim() == ""){ 	 form.elements['quote_type3'].focus(); alert('Please provide a service type for your third sample.'); return false; }
			if(form.elements['quote_quantity3'].value.trim() == ""){ form.elements['quote_quantity3'].focus(); alert('Please provide the number of items / pieces for your third sample.'); return false; }
		}
	}
	
	return true;
}

function validateLitReqForm(){
	var form = document.getElementById('litReqForm');
	
	if(form.elements['mailing_list_type'][1].checked){
		var ref_survey = false;
		var other_checked = 0;
		var other_value = "";
		
		var interest_survey = false;
		var other2_checked = 0;
		var other2_value = "";
		
		for(x=0; x<form.elements['ref_type'].length; x++){
			if(form.elements['ref_type'][x].checked){
				if(form.elements['ref_type'][x].value == "Other"){
					other_checked = 1;
					other_value = form.elements['ref_type_other'].value.trim();
					other_value = (other_value == "(please specify)")?"":other_value;
				}
				ref_survey = true;
			}
		}
		
		for(x=0; x<form.elements['interests[]'].length; x++){
			if(form.elements['interests[]'][x].checked){
				if(form.elements['interests[]'][x].value == "Other Services"){
					other2_checked = 1;
					other2_value = form.elements['interests_other'].value.trim();
					other2_value = (other2_value == "(please specify)")?"":other2_value;
				}
				interest_survey = true;
			}
		}
	}
	
	if(form.elements['fname'].value.trim() == ""){ 	 form.elements['fname'].focus(); alert('Please provide your first name.'); return false; }
	if(form.elements['lname'].value.trim() == ""){ 	 form.elements['lname'].focus(); alert('Please provide your last name.'); return false; }
	if(form.elements['company'].value.trim() == ""){	 form.elements['company'].focus(); alert('Please provide your company\'s name.'); return false; }
	if(form.elements['address1'].value.trim() == ""){ form.elements['address1'].focus(); alert('Please provide an address (line 1).'); return false; }
	if(form.elements['city'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a city.'); return false; }
	if(form.elements['state'].value.trim() == ""){ 	 form.elements['state'].focus(); alert('Please provide a state.'); return false; }
	if(form.elements['zipcode'].value.trim() == ""){  form.elements['zipcode'].focus(); alert('Please provide your zip code.'); return false; }
	
	if(form.elements['email'].value.trim() == "" || !form.elements['email'].value.isEmail()){
		form.elements['email'].focus(); alert('Please provide a valid email address'); return false;
	}
	
	if(form.elements['phone1'].value.trim() == ""){ 	 form.elements['phone1'].focus(); alert('Please provide a valid phone number.'); return false; }
	if(form.elements['phone2'].value.trim() == ""){ 	 form.elements['phone2'].focus(); alert('Please provide a valid phone number.'); return false; }
	if(form.elements['phone3'].value.trim() == ""){ 	 form.elements['phone3'].focus(); alert('Please provide a valid phone number.'); return false; }
	
	var lit_checked = false;
	var accred_checked = false;
	for(x=0; x<form.elements['literature[]'].length; x++){ if(form.elements['literature[]'][x].checked){ lit_checked = true; }}
	for(x=0; x<form.elements['accreditations[]'].length; x++){ if(form.elements['accreditations[]'][x].checked){ accred_checked = true; }}
	if(!lit_checked && !accred_checked){ form.elements['literature'].focus(); alert('To request literature or accreditation information, please check at least one item in the list.'); return false; }
	
	if(form.elements['mailing_list_type'][1].checked && !ref_survey){ form.elements['ref_type'][0].focus(); alert('Please tell us how you heard about us'); return false; }
	if(other_checked && other_value == ""){ form.elements['ref_type_other'].focus(); alert('Please specify where you heard about us.'); return false; }
	if(other2_checked && other2_value == ""){ form.elements['interests_other'].focus(); alert('Please specify your other interests.'); return false; }
	
	return true;
}

function validateSurveyForm(f){
	
	var form = document.getElementById(f);
	
	var ref_survey = false;
	var other_checked = 0;
	var other_value = "";
	
	var interest_survey = false;
	var other2_checked = 0;
	var other2_value = "";
	
	for(x=0; x<form.elements['ref_type'].length; x++){
		if(form.elements['ref_type'][x].checked){
			if(form.elements['ref_type'][x].value == "Other"){
				other_checked = 1;
				other_value = form.elements['ref_type_other'].value.trim();
				other_value = (other_value == "(please specify)")?"":other_value;
			}
			ref_survey = true;
		}
	}
	
	for(x=0; x<form.elements['interests[]'].length; x++){
		if(form.elements['interests[]'][x].checked){
			if(form.elements['interests[]'][x].value == "Other Services"){
				other2_checked = 1;
				other2_value = form.elements['interests_other'].value.trim();
				other2_value = (other2_value == "(please specify)")?"":other2_value;
			}
			interest_survey = true;
		}
	}
	
	if(form.elements['fname'].value.trim() == ""){ 	 form.elements['fname'].focus(); alert('Please provide your first name.'); return false; }
	if(form.elements['lname'].value.trim() == ""){ 	 form.elements['lname'].focus(); alert('Please provide your last name.'); return false; }
	if(form.elements['company'].value.trim() == ""){	 form.elements['company'].focus(); alert('Please provide your company\'s name.'); return false; }
	
	if(form.elements['email'].value.trim() == "" || !form.elements['email'].value.isEmail()){
		form.elements['email'].focus(); alert('Please provide a valid email address'); return false;
	}
	
	//if(!ref_survey){ form.elements['ref_type'][0].focus(); alert('Please tell us how you heard about us'); return false; }
	if(other_checked && other_value == ""){ form.elements['ref_type_other'].focus(); alert('Please specify where you heard about us.'); return false; }
	if(other2_checked && other2_value == ""){ form.elements['interests_other'].focus(); alert('Please specify your other interests.'); return false; }
	
	/* Survey Answers */
	/*if(f == 'newCustomerSurveyForm'){
		for(q=1; q<=5; q++){
			if(!document.getElementById('q'+q+'a').checked &&
			   !document.getElementById('q'+q+'b').checked){
				document.getElementById('q'+q+'a').focus();
				alert('Please answer question #'+q+' before submitting.');
				return false;
			}
		}
		
		var ta_text = "Please explain...";
		for(q=1; q<=5; q++){
			if($('#q'+q+'b').is(':checked') && ($('#q'+q+'text').get(0).value == ta_text || $('#q'+q+'text').get(0).value.trim() == "")){ $('#q'+q+'text').focus(); alert('Please provide a reason why you chose "No" for question #'+q); return false; }
		}
	}*/
	//------
	
	return true;
}

function validateControlNumForm(){
	var form = document.getElementById('controlForm');
	var valid = false;
		
		if(form.elements['fname'].value.trim() == ""){ 	 form.elements['fname'].focus(); alert('Please provide your first name.');
	} else if(form.elements['lname'].value.trim() == ""){ 	 form.elements['lname'].focus(); alert('Please provide your last name.');
	} else if(form.elements['company'].value.trim() == ""){	 form.elements['company'].focus(); alert('Please provide your company\'s name.');
	} else if(form.elements['address1'].value.trim() == ""){ form.elements['address1'].focus(); alert('Please provide an address (line 1).');
	} else if(form.elements['city'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a city.');
	} else if(form.elements['state'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a state.');
	} else if(form.elements['zipcode'].value.trim() == ""){  form.elements['zipcode'].focus(); alert('Please provide your zip code.');
	
	} else if(form.elements['email'].value.trim() == "" || 
		   !form.elements['email'].value.isEmail()){ 	 form.elements['email'].focus(); alert('Please provide a valid email address');
	
	} else if(form.elements['phone1'].value.trim() == ""){ 	 form.elements['phone1'].focus(); alert('Please provide a valid phone number.');
	} else if(form.elements['phone2'].value.trim() == ""){ 	 form.elements['phone2'].focus(); alert('Please provide a valid phone number.');
	} else if(form.elements['phone3'].value.trim() == ""){ 	 form.elements['phone3'].focus(); alert('Please provide a valid phone number.');
	
	/*} else if(form.elements['fax1'].value.trim() == ""){ 	 form.elements['fax1'].focus(); alert('Please provide your fax number\'s area code.');
	} else if(form.elements['fax2'].value.trim() == ""){ 	 form.elements['fax2'].focus(); alert('Please provide a valid fax number.');
	} else if(form.elements['fax3'].value.trim() == ""){ 	 form.elements['fax3'].focus(); alert('Please provide a valid fax number.');*/
	
	} else if(form.elements['control_number'].value.trim() == ""){ form.elements['control_number'].focus(); alert('Please provide the control number you received with your manual.');
	} else if(!form.elements['verify'].checked){ form.elements['verify'].focus(); alert('Please acknowledge the above information is correct.');
	
	} else { valid = true; }
	
	return valid;
}

function validateNewsletterSignupForm(){
	var form = document.getElementById('newsletterForm');
	var valid = false;
		
		if(form.elements['fname'].value.trim() == ""){ 	 form.elements['fname'].focus(); alert('Please provide your first name.');
	} else if(form.elements['lname'].value.trim() == ""){ 	 form.elements['lname'].focus(); alert('Please provide your last name.');
	} else if(form.elements['company'].value.trim() == ""){	 form.elements['company'].focus(); alert('Please provide your company\'s name.');
	} else if(form.elements['address1'].value.trim() == ""){ form.elements['address1'].focus(); alert('Please provide an address (line 1).');
	} else if(form.elements['city'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a city.');
	} else if(form.elements['state'].value.trim() == ""){ 	 form.elements['city'].focus(); alert('Please provide a state.');
	} else if(form.elements['zipcode'].value.trim() == ""){  form.elements['zipcode'].focus(); alert('Please provide your zip code.');
	
	} else if(form.elements['email'].value.trim() == "" || 
		   !form.elements['email'].value.isEmail()){ 	 form.elements['email'].focus(); alert('Please provide a valid email address');	
	} else { valid = true; }
	
	return valid;
}

function validateLoginForm(){
	var form = document.getElementById('loginForm');
	var valid = false;
		
		if(form.elements['username'].value.trim() == ""){ form.elements['username'].focus(); alert('Please provide your username.');
	} else if(form.elements['password'].value.trim() == ""){ form.elements['password'].focus(); alert('Please provide a password.');
	} else { valid = true; }
	
	return valid;
}

function confirmRemoveFormInfo(formName, action){
	
	var valid = false;
	
		if(action == "Remove Requests"){
			if(confirm("Are you sure you want to remove these requests from the database?")){ valid = true; }
	} else if(action == "Remove Emails"){
			if(confirm("Are you sure you want to remove these emails from the database?")){ valid = true; }
	} else if(action == "Remove Surveys"){
			if(confirm("Are you sure you want to remove these survey results from the database?")){ valid = true; }
	} else { valid = true; }
	
	if(valid){
		document[formName].elements['action'].value = "remove";
		document[formName].submit();	
	}
}