$(document).ready(function() {
	$('.bestupper').bestupper(); 
	$('.number').numeric(); 
	if ( $('#submitForm').length ) {
		var container = $('div.error_message');
		$("#submitForm").validate(
		{
			rules: {
				name: "required",
				phonePrefix: "required",
				phone: "required",
				email: "required",
				preferredState: "required",
				preferredDealer: "required"
			}, 		
			submitHandler: function(form) {
				var campaignVar= form.campaign.value;
				var nameVar= form.name.value;
				var emailVar = form.email.value;
				var phonePrefixVar= form.phonePrefix.value;
				var phoneVar = form.phone.value;
				var preferredStateVar= form.preferredState.value;
				var preferredDealerVar = form.preferredDealer.value;
				$.ajax({
				  type: "POST",
				  url: '/dotCMS/contactLead',
				  data:	'campaign='+campaignVar+'&name='+nameVar+'&email='+emailVar+'&phonePrefix='+phonePrefixVar+'&phone='+phoneVar+'&preferredState='+preferredStateVar+'&preferredDealer='+preferredDealerVar,
				  success: function(data) {
					if (data == "1") {
						$('#thankyou_msg').html("<div style='background-color:#ffffff;padding:10px;border-style:solid;border-width:5px;border-color:grey;'><p style='text-align:center;font-family:Arial;font-size:80%'><br/><br/><strong>Thank you!<br/><br/>We will be in touch with the latest updates soon</strong></p><a href='#' onClick='jQuery.prettyPhoto.close();return false;'><div id='closeButton'></div></a></div>");
					} else {
						$('#thankyou_msg').html("<div style='background-color:#ffffff;padding:10px;border-style:solid;border-width:5px;border-color:grey;'><p style='text-align:center;font-family:Arial;font-size:80%'><br/><br/><strong>This email address has been submitted before. Don't worry. We have added you into list of recipients for the latest update.</strong></p><a href='#' onClick='jQuery.prettyPhoto.close();return false;'><div id='closeButton'></div></a></div>");
					}
					
					$.prettyPhoto.open('#thankyou_msg');
					//to reset the form
					 form.name.value = "";
					 form.email.value = "";
					 form.phonePrefix.value = "";
					 form.phone.value = "";
					 form.preferredState.value = "";
					 form.preferredDealer.value = "";
					 form.preferredDealer.length = 0;

					 $("div.error_message").hide();
				  },
				  error: function(xmlHttpRequest, textStatus, errorThrown) {
					$('#thankyou_msg').html("<div style='background-color:#ffffff;padding:10px;border-style:solid;border-width:5px;border-color:grey;'><p style='text-align:center;font-family:Arial;font-size:80%'><strong>We are sorry.<br> Unfortunately our server is not able to handle your request at the moment.<br> Please try again later.</strong></p><a href='#' onClick='jQuery.prettyPhoto.close();return false;'><div id='closeButton'></div></a></div>");
					$.prettyPhoto.open('#thankyou_msg');
					$("div.error_message").hide();
				  }
				});
			},
			invalidHandler: function(e, validator) {
				var errors = validator.numberOfInvalids();
				if (errors) {
				//$('div.error_message').show();
					$.prettyPhoto.open('#validation_msg');
				} else {
				$("div.error_message").hide();
				}
			}
		});
	}
	
	$('#preferredState').change(function(){
		$.getJSON('/dotCMS/getDealersInJson', {'state':$(this).val(), 'action':'getDealerByState'}, function(data){
		var townOptions = [];
		var tmpTown = '';

		townOptions.push('<option value="">Please select</option>');
		$.each(data, function(index,town) {
			if (tmpTown == '') {
				tmpTown = town.town;
				//townOptions.push('<optgroup label="' + tmpTown + '">');
			}
			if (tmpTown != town.town) {
				//townOptions.push('</optgroup>');
				tmpTown = town.town;
				//townOptions.push('<optgroup label="' + tmpTown + '">');
			}
			townOptions.push('<option value="' + town.id + '">' + town.alternativeName + '</option>');
		});
		//townOptions.push('</optgroup>');
		$('#preferredDealer').html(townOptions.join(''));
		});
	});
	
	$('#name').keypress(
		function(e){
			var k;
			if (!e.charCode) {
				k = String.fromCharCode(e.which); 
			} else {
				k = String.fromCharCode(e.charCode);
			}
			var keyunicode= e.keyCode;
			var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
			var re = new RegExp('[a-zA-Z\\ ]+', 'gi');
			if(is_firefox){
				return (k.match(re) || k.match(re) != null || keyunicode==8 || keyunicode==46 || keyunicode==37 || keyunicode==39 || keyunicode==9 || e.charCode==45 || e.charCode==47 || e.charCode==64)? true : false
			}
			else{
				//if (!k.match(re) || k.match(re) == null)
					if ( keyunicode==45 || keyunicode==47 || keyunicode==64 ) 
						var keyunicode2= e.keyCode;
					else{
						if (!k.match(re) || k.match(re) == null)
							e.preventDefault();	
					}								
			}
	});
});
