/* Version Shu.Gertdayum.1.9 */

$(function(){
  $("#submit").click(function(){

		/* Multi-use variables */
		var formError = false;
		var emailRegex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	    var urlRegex = /^(?:https?:\/\/)?([a-zA-Z0-9][-\w\d]*\.)*(?:[a-zA-Z0-9][-\w\d]*)(?:\.[a-zA-Z]+)+(?:\/.*)?$/;
		var alerttime = '0';
		var alertphone = '';
		var alertname = '';
		var alerthuman = '';
		var alertemail = '';
		var emailVar = $("#email").val();


		/* Validate phone - A required field */
		var phoneVar = $("#phone").val();
        var numerExp = /^[+]?(\d{1,3}\s*[-\/\.]?)?(\((\d{1,3})\)|(\d{1,3}))\s*[-\/\.]?\s*(\d{3,4})\s*[-\/\.]?\s*(\d{3,4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/;
        var numerFranceLocal = /^[+]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?$/;
        var numerFranceInternational = /^[+]?(\d{2})\s*[-\/\.]?(\d{1})\s*[-\/\.]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?(\d{2})\s*[-\/\.]?$/;
		if(phoneVar == '' | phoneVar == 'Please Enter Your Phone Number.') {
			alertphone = "Please enter your phone number";
			alerttime = '1';
			formError = true;
			$("#phone").addClass('required');
		} else if (!numerFranceLocal.test(phoneVar) && !numerFranceInternational.test(phoneVar) && !numerExp.test(phoneVar)) {
			alertphone = "Please only use numbers, dashes, and extension specification.";
			alerttime = '1';
			formError = true;
			$("#phone").addClass('required');
			}

		/* Validate email - A required field */
		if(emailVar == '' | !emailRegex.test(emailVar) | emailVar == 'Please Enter Your Email.') {
			alertemail = "Please enter your email";
		  	formError = true;
			$("#email").addClass('required');
			$("#phone").removeClass('required');
		}

		/* Validate name - A required field*/
		var nameVar = $("#name").val();
		var alphaExp = /^[a-zA-Z _]+$/;
		if(nameVar == '' | !alphaExp.test(nameVar) | nameVar== 'Please Enter Your Name.') {
			alertname = "Please enter your name";
			alerttime = '1';
			formError = true;
			$("#name").addClass('required');
			$("#phone").removeClass('required');
			$("#email").removeClass('required');
		}

		/* Validate human - A hidden requirement */
		var imahumanVar = $("#imahuman").val();
		if(imahumanVar == '0') {
			alerthuman = "Please fill in the form properly";
			alerttime = '1';
			formError = true;
			$("#name").addClass('required');
		}

		/* Test for client email. Email is sent to Shu notifying of the error for correction. */
		var clientemailVar = $("#clientemail").val();
		if(clientemailVar == '' | !emailRegex.test(clientemailVar)) {
			var clientemailVar = 'shu@usaseopros.com';
		} 


		/* Alert and hidden fields */
		if(alerttime == '1') {
			alert(alertemail + '\n' + alertphone + '\n' + alertname + '\n' + alerthuman);
			$('.required').focus();
			}
		var clientphoneVar = $("#clientphone").val();
		var clientnameVar = $("#clientname").val();
		var clienturlVar = $("#clienturl").val();
		var mathVar = $("#math").val();
		var messageVar = $("#message").val();
		
		
    	/* Store variables */
		if(formError == false) {
		$(this).hide();
		$("#formBottom").append('<img src="/content/images/loading.gif" alt="Loading" id="loading" />');

		/* Send info to contact.php */	
		$.post("/content/images/contact.php",
		   { email: emailVar, clientemail: clientemailVar, name: nameVar, phone: phoneVar, clientphone: clientphoneVar, message: messageVar, imahuman: imahumanVar, clientname: clientnameVar, clienturl: clienturlVar, math: mathVar },
			function(data){
				/* If you want the form redirect to go somewhere different than the weblink, that's what the line below is for. Remember to comment out or delete line 78 */
				/* window.location = "http://google.com" */
				window.location = clienturlVar
			}, 'text'
		);
		}
		return false;
	});
});
