$(document).ready(function(){
	//Hide stuff
	$("#otherField").hide();
	$("#success").hide();
	$("#billingFields").hide();
	
	//Show / Hide the "How did you hear about us section"
	$('#origin').change(function() {
 	if ($(this).val() == 'other') { 
		// do this
		$("#otherField").show(500);
 	 	}
	});
	//Show / Hide Billing field
	$('#no').click(function() {
		$("#billingFields").show(500);
	});
	
	$('#yes').click(function() {
		$("#billingFields").hide(500);
	});

	//Run this code when the "Submit" button is pressed
	$("#submit").click(function(){					   				   
		$(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var positiveInt = /^\d\d*$/;
		var zipCheck = /^\d{5}(-\d{4})?$/;
		//var phoneCheck = /^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/;
		var digits3reg = /\d{3}/;
		var digits4reg = /\d{4}/;

		//FIRST NAME error checking	
		var firstNameVal = $("#firstName").val();
		if (firstNameVal =='')	{
			$("#firstName").before('<span class="error">Please enter your first name.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}
		
		
		//LAST NAME error checking
		var lastNameVal = $("#lastName").val();
		if (lastNameVal =='')	{
			$("#lastName").before('<span class="error">Please enter your last name.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}
	
		//EMAIL error checking	
		var emailVal = $("#email").val();
		if(emailVal == '') {
			$("#email").before('<span class="error">Please enter your email address.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		} else if(!emailReg.test(emailVal)) {	
			$("#email").before('<span class="error">Enter a valid email address.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}

		//EMAIL CONFORMATION error checking	
		var emailConfVal = $("#emailConf").val();
		if(emailConfVal == '') {
			$("#emailConf").before('<span class="error">Please re-enter your email address.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		} else if(emailConfVal !== emailVal ) {
			$("#emailConf").before('<span class="error">Your email address did not match.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}		
		
		//PHONE Error checking
		/*
		var phoneVal = $("#phone").val();
		if (phoneVal =='')	{
			$("#phone").before('<span class="error right">Please enter your phone number.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		} else if(!phoneCheck.test(phoneVal)) {	
			$("#phone").before('<span class="error right">Enter a valid phone number.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}
		
		//PHONE ALTERNATIVE 
		var phoneAltVal = $("#phoneAlt").val();
		
		//PHONE ALTERNATIVE EXT 
		var extAltVal = $("#extAlt").val();
		*/
		
		//AREA CODE
		var areaCodeVal = $("#areaCode").val();
		//3 DIGIT VALUE
		var digit3Val = $("#digits3").val();
		//4 DIGIT VALUE
		var digit4Val = $("#digits4").val();
		
		if(areaCodeVal == '' || digit3Val == '' || digit4Val == '') {
			$("#ext").after('<span class="error">Please enter your phone number.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		} else if(!digits3reg.test(areaCodeVal) || !digits3reg.test(digit3Val) || !digits4reg.test(digit4Val)) {	
			$("#areaCode").before('<span class="error">Enter a valid phone number.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}
		
		
		//EXTENSION 
		var extVal = $("#ext").val();
		
		//alternate AREA CODE
		var areaCodeAltVal = $("#areaCodeAlt").val();
		
		//alternate 3 DIGIT VALUE
		var digit3AltVal = $("#digits3Alt").val();
		
		//alternate 4 DIGIT VALUE
		var digitAlt4Val =  $("#digits4Alt").val();
		
		//alternate EXTENSION 
		var extAltVal = $("#extAlt").val();
		
		//SCHOOL ORG. NAME Error checking
		var schoolOrgNameVal = $("#schoolOrgName").val();
		if (schoolOrgNameVal =='')	{
			$("#schoolOrgName").before('<span class="error">Please enter the name of your school or organization.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}
			
		//DISTRICT NAME Error checking
		var districtVal = $("#district").val();
		//if (districtVal =='')	{
			//$("#district").before('<span class="error">You forgot to enter your school district.</span>');
			//hasError = true;
		//}

		//ADDRESS Error checking
		var addressVal = $("#address").val();
		if (addressVal =='')	{
			$("#address").before('<span class="error">Please enter your address.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}

		//CITY Error checking
		var cityVal = $("#city").val();
		if (cityVal =='')	{
			$("#city").before('<span class="error">Please enter your city.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}	
			
		//STATE Error checking
		//var stateVal = $("#state :selected").text();
		var stateVal = $("#state").val();
				
		//ZIP Error checking
		var zipVal = $("#zip").val();
		if (zipVal =='')	{
			$("#zip").before('<span class="error">Please enter your ZIP code.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		} else if(!zipCheck.test(zipVal)) {	
			$("#zip").before('<span class="error">Enter a valid ZIP code.</span>');
			$("#finish").css('display', 'block');
			hasError = true;
		}

//BILLING 
		
		//FIRST NAME BILLING error checking	
			var firstNameBillingVal = $("#firstNameBilling").val();
			if ($("#yes").is(':checked'))	{
				
				firstNameBillingVal = firstNameVal;
				
				} else {
			
					if (firstNameBillingVal =='')	{
						$("#firstNameBilling").before('<span class="error">Please enter your first name.</span>');
						$("#finish").css('display', 'block');
						hasError = true;
					}
				}

		//LAST NAME BILLING error checking	
			var lastNameBillingVal = $("#lastNameBilling").val();
			if ($("#yes").is(':checked'))	{
				
				lastNameBillingVal = lastNameVal;
				
				} else {
				if (lastNameBillingVal =='')	{
					$("#lastNameBilling").before('<span class="error">Please enter your last name.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				}
			}
						
		//SCHOOL ORG. NAME BILLING error checking	
			var schoolOrgNameBillingVal = $("#schoolOrgNameBilling").val();
			if ($("#yes").is(':checked'))	{
				
				schoolOrgNameBillingVal = schoolOrgNameVal;
				
				} else {
				if (schoolOrgNameBillingVal =='')	{
					$("#schoolOrgNameBilling").before('<span class="error">Please enter your school or organization.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				}
			}
		
		//ADDRESS BILLING error checking	
			var addressBillingVal = $("#addressBilling").val();
			if ($("#yes").is(':checked'))	{
				
				addressBillingVal = addressVal;
				
			} else {
				if (addressBillingVal =='')	{
					$("#addressBilling").before('<span class="error">Please enter your address.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				}
			}
			
		//CITY BILLING error checking	
			var cityBillingVal = $("#cityBilling").val();
			if ($("#yes").is(':checked'))	{
				
				cityBillingVal = cityVal;
				
			} else {
				if (cityBillingVal =='')	{
					$("#cityBilling").before('<span class="error">Please enter your address.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				}
			}
			
		//STATE BILLING error checking	
			var stateBillingVal = $("#stateBilling").val();
			if ($("#yes").is(':checked'))	{
				
				stateBillingVal = stateVal;
				
			} 
		
		//ZIP BILLING error checking	
			var zipBillingVal = $("#zipBilling").val();
			if ($("#yes").is(':checked'))	{
				
				zipBillingVal = zipVal;
				
			} else {
			
				if (zipBillingVal =='')	{
					$("#zipBilling").before('<span class="error">Please enter your ZIP code.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				} else if(!zipCheck.test(zipBillingVal)) {	
					$("#zipBilling").before('<span class="error">Enter a valid ZIP code.</span>');
					$("#finish").css('display', 'block');
					hasError = true;
				}
			}

		
//HOW DID YOU HEAR ABOUT PACENT

				
		//ORIGIN Error checking
		var originVal = $("#origin :selected").text();
		var originSelected = $("#origin").val();
		if (originSelected =='') {
			$("#origin").before('<span class="error">Please select an answer.</span>');
			hasError = true;
		}
		
		//OTHER
		var otherVal = $("#other").val();

		//MESSAGE
		var messageVal = $("#message").val();

		var rememberVal = $("#remember").val();
		var rememberNoVal = $("#no").val();
		var rememberYesVal = $("#yes").val();

//PRODUCTS
	
		//ALGEBRA 1
		var algebra1_quantityVal = $("#qty_item_1").val();
		if(!positiveInt.test(algebra1_quantityVal)) {	
			$("#qty_item_1").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
				
		var algebra1_totalVal = $("#total_item_1").text();
		
		//ALGEBRA 1 TE
		var algebra1_quantityTEVal = $("#qty_item_2").val();
		if(!positiveInt.test(algebra1_quantityTEVal)) {	
			$("#qty_item_2").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
				
		var algebra1_totalTEVal = $("#total_item_2").text();		
		
				
	
		//MATH 7
		var math7_quantityVal = $("#qty_item_3").val();
		if(!positiveInt.test(math7_quantityVal)) {	
			$("#qty_item_3").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math7_totalVal = $("#total_item_3").text();
		
		
		//MATH 7 TE
		var math7_quantityTEVal = $("#qty_item_4").val();
		if(!positiveInt.test(math7_quantityTEVal)) {	
			$("#qty_item_4").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math7_totalTEVal = $("#total_item_4").text();

		
		//MATH 6
		var math6_quantityVal = $("#qty_item_5").val();
		if(!positiveInt.test(math6_quantityVal)) {	
			$("#qty_item_5").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math6_totalVal = $("#total_item_5").text();
		
		
		//MATH 6 TE
		var math6_quantityTEVal = $("#qty_item_6").val();
		if(!positiveInt.test(math6_quantityTEVal)) {	
			$("#qty_item_6").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math6_totalTEVal = $("#total_item_6").text();

		
		//MATH 5
		var math5_quantityVal = $("#qty_item_7").val();
		if(!positiveInt.test(math5_quantityVal)) {	
			$("#qty_item_7").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math5_totalVal = $("#total_item_7").text();
		
		//MATH  5 TE
		var math5_quantityTEVal = $("#qty_item_8").val();
		if(!positiveInt.test(math5_quantityTEVal)) {	
			$("#qty_item_8").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math5_totalTEVal = $("#total_item_8").text();
		
		
		//MATH 4
		var math4_quantityVal = $("#qty_item_9").val();
		if(!positiveInt.test(math4_quantityVal)) {	
			$("#qty_item_9").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math4_totalVal = $("#total_item_9").text();
		
		//MATH 4 TE
		var math4_quantityTEVal = $("#qty_item_10").val();
		if(!positiveInt.test(math4_quantityTEVal)) {	
			$("#qty_item_10").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math4_totalTEVal = $("#total_item_10").text();
		
				
		//MATH 3
		var math3_quantityVal = $("#qty_item_11").val();
		if(!positiveInt.test(math3_quantityVal)) {	
			$("#qty_item_11").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math3_totalVal = $("#total_item_11").text();
		
		//MATH 3
		var math3_quantityTEVal = $("#qty_item_12").val();
		if(!positiveInt.test(math3_quantityTEVal)) {	
			$("#qty_item_12").before('<span class="error">Positive whole numbers only.</span>');
			hasError = true;
		}
		var math3_totalTEVal = $("#total_item_12").text();
		
		
		
		//SHIPPING
		var shippingVal = $("#shipping").text();
						
		//TAX
		var taxVal = $("#tax").text();
		
		//TOTAL
		var totalVal = $("#grandTotal").text();
			if (totalVal === '$0.00') {
			$("#grandError").append('<span class="error"> Your forgot to select a product.</span>');
			hasError = true;
			}
			
		
		//DA HONEYPOT
		var daHoneyPot = $("#daHoneyPot").val();
		if (daHoneyPot !== '') {
			hasError = true;
		}
		
		if(hasError == false) {
			$(this).hide();
			$("#sendEmail li.buttons").append('<img src="/cst/quote/loader.gif" alt="Loading" id="loading" />');
			
			$.post("/cst/quote/sendemail.php",
   				{ 
   				
   				firstName: firstNameVal,
				lastName: lastNameVal, 
				email: emailVal,
				
				areaCode: areaCodeVal,
				digit3: digit3Val,
				digit4: digit4Val,
				ext: extVal,
				
				areaCodeAlt: areaCodeAltVal,
				digit3Alt: digit3AltVal,
				digitAlt: digitAlt4Val,
				extAlt: extAltVal,

				schoolOrgName: schoolOrgNameVal,
				district: districtVal,
				address: addressVal,
				city: cityVal,
				state: stateVal,
				zip: zipVal,
				origin: originVal,
				other: otherVal,
				
				firstNameBilling: firstNameBillingVal,
				lastNameBilling: lastNameBillingVal, 
				schoolOrgNameBilling: schoolOrgNameBillingVal,
				addressBilling: addressBillingVal,
				cityBilling: cityBillingVal,
				stateBilling: stateBillingVal,
				zipBilling: zipBillingVal,
				
				algebra1_quantity: algebra1_quantityVal,
				algebra1_total: algebra1_totalVal,
				algebra1_quantityTE: algebra1_quantityTEVal,
				algebra1_totalTE: algebra1_totalTEVal,
				
				math7_quantity: math7_quantityVal,
				math7_total: math7_totalVal,
				math7_quantityTE: math7_quantityTEVal,
				math7_totalTE: math7_totalTEVal,
				
				math6_quantity: math6_quantityVal,
				math6_total: math6_totalVal,
				math6_quantityTE: math6_quantityTEVal,
				math6_totalTE: math6_totalTEVal,
				
				math5_quantity: math5_quantityVal,
				math5_total: math5_totalVal,
				math5_quantityTE: math5_quantityTEVal,
				math5_totalTE: math5_totalTEVal,
				
				math4_quantity: math4_quantityVal,
				math4_total: math4_totalVal,
				math4_quantityTE: math4_quantityTEVal,
				math4_totalTE: math4_totalTEVal,
				
				math3_quantity: math3_quantityVal,
				math3_total: math3_totalVal,
				math3_quantityTE: math3_quantityTEVal,
				math3_totalTE: math3_totalTEVal,
				
				
				shipping: shippingVal,
				tax: taxVal,
				total: totalVal,

				remember: rememberVal,
				rememberYes: rememberYesVal,
				rememberNo: rememberNoVal,

				message: messageVal
   				
   				},
   					function(data){
						$("#sendEmail").slideUp("normal", function() {				   
							
							//$("#sendEmail").before('<h1>Success</h1><p>Thank you for your quote request. You will hear from us soon with more information on your Pacent CST review program. </p>');			
							$("#success").show(1000);								
						});
   					}
				 );
		}
		
		return false;
	});						   
});


