$(function(){

	$("#f_year").attr("disabled", "disabled");
	$("#f_make").attr("disabled", "disabled");
	$("#f_model").attr("disabled", "disabled");
	$("#f_trim").attr("disabled", "disabled");
	/* Find available years from db */
	$.post("form.php?action=get_years", function(data) {
		var _years = eval("(" + data + ")"); 
		$.each(_years, function(i,v){
			$("#f_year").append("<option value='" + i + "'>" + v + "</option>")
		});
		$("#f_year").attr("disabled", "");
	});

	/* Select make by year when year is selected */
	$("#f_year").bind("change", function() {
		/* Disable all next selects */
		$("#f_make").find("option:not([value=])").remove();
		$("#f_make").attr("disabled", "disabled");

		$("#f_model").find("option:not([value=])").remove();
		$("#f_model").attr("disabled", "disabled");

		$("#f_trim").find("option:not([value=])").remove();
		$("#f_trim").attr("disabled", "disabled");

		var _year = $("#f_year").val();
		$.post("form.php?action=make_by_year", { year : _year}, function(data){
			var _makes = eval("(" + data + ")"); 
			$.each(_makes, function(i,v){
				$("#f_make").append("<option value='" + i + "'>" + v + "</option>")
			});
			$("#f_make").attr("disabled", "");
		});
	});

	/* Select model by make when make is selected */
	$("#f_make").bind("change", function() {

		$("#f_model").find("option:not([value=])").remove();
		$("#f_model").attr("disabled", "disabled");

		$("#f_trim").find("option:not([value=])").remove();
		$("#f_trim").attr("disabled", "disabled");

		var _make = $("#f_make").val();
		var _year = $("#f_year").val();
		$.post("form.php?action=model_by_make", { make : _make, year : _year }, function(data){
			var _models = eval("(" + data + ")"); 
			$.each(_models, function(i,v){
				$("#f_model").append("<option value='" + i + "'>" + v + "</option>")
			});
			$("#f_model").attr("disabled", "");
		});
	});	

	/* Select trim by model when mmodel is selected */
	$("#f_model").bind("change", function() {

		$("#f_trim").find("option:not([value=])").remove();
		$("#f_trim").attr("disabled", "disabled");

		var _make = $("#f_make").val();
		var _year = $("#f_year").val();
		var _model = $("#f_model").val();
		
		$.post("form.php?action=trim_by_model", { make : _make, year : _year, model : _model }, function(data){
			var _trims = eval("(" + data + ")"); 
			$.each(_trims, function(i,v){
				$("#f_trim").append("<option value='" + i + "'>" + v + "</option>")
			});
			$("#f_trim").attr("disabled", "");
		});
	});	

	// Submit online estimate form
	$("form#online_estimate_form #btn_submit").click(function(evt) {
		evt.stopPropagation();
		evt.preventDefault();

		$(".contact_form #year").attr("readonly", "readonly");
		$(".contact_form #make").attr("readonly", "readonly");
		$(".contact_form #model").attr("readonly", "readonly");
		$(".contact_form #trim").attr("readonly", "readonly");
		$(".contact_form #county").attr("readonly", "readonly");

		var _ns_text = "Not specified";
		// Fill fields from previous form
		if ($("#f_year option:selected").val() != ""){
			$(".contact_form #year").val($("#f_year option:selected").text());
		} else {
			$(".contact_form #year").val(_ns_text);
		}

		if ($("#f_make option:selected").val() != ""){
			$(".contact_form #make").val($("#f_make option:selected").text());
		} else {
			$(".contact_form #make").val(_ns_text);
		}

		if ($("#f_model option:selected").val() != ""){
			$(".contact_form #model").val($("#f_model option:selected").text());
		} else {
			$(".contact_form #model").val(_ns_text);
		}

		if ($("#f_trim option:selected").val() != ""){
			$(".contact_form #trim").val($("#f_trim option:selected").text());
		} else {
			$(".contact_form #trim").val(_ns_text);
		}
		if ($("#f_county option:selected").val() != ""){		
			$(".contact_form #county").val($("#f_county option:selected").text());
		} else {
			$(".contact_form #county").val(_ns_text);
		}

		$("#modal").modal({
			opacity: 70,
			position: ['50px', null],
			onOpen: function (dialog) {
			  dialog.overlay.fadeIn('fast', function () {
			    dialog.container.fadeIn('fast', function () {

			      dialog.data.slideDown('slow');
			    });
			  });
			},

			onClose: function (dialog) {
			  dialog.data.slideUp('slow', function () {
			    dialog.container.fadeOut('slow', function () {
			      dialog.overlay.fadeOut('slow', function () {
			        $.modal.close(); // must call this!
			      });
			    });

			  });
			}
		});

		return false;
	});

var nm=new RegExp("^[a-zA-Z ]{3,30}$");
var em=new RegExp("^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$");
var ph=new RegExp("(^\\d{10}$)|(^\\d{11}$)|(^[01]?[- .]?(\\([2-9]\\d{2}\\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}$)");

	$("form#sendmail_form").bind("keyup", function() {
		if(($("#name").val().search(nm)!=-1) && ($("#phone").val().search(ph)!=-1) && ($("#email").val().search(em)!=-1))
		{
		//if ($("#name").val() && $("#phone").val() && $("#email").val()) {
			$("#submit_final").attr("disabled", "");
		}
	});

	// Send mail 
	$("form#sendmail_form").submit(function(evt) {
		evt.stopPropagation();
		evt.preventDefault();
		
		var json_for_posting = {};
		$.each($(this).serializeArray(), function(i,v){
			json_for_posting[this.name] = this.value;
		})
//		console.log(json_for_posting);
		$.post("form.php?action=send_mail", json_for_posting, function(data){
			$(".container").fadeOut("fast");
			$(".thankyoupage").show("slow");
		});

		return false;
	});

	// Raise form for get a quote link
	$(".get_quote_link").click(_show_modal_form);
});

function _show_modal_form () {
//	evt.stopPropagation();

	$(".contact_form *").attr("readonly", "");

	$(".contact_form #year").val("");
	$(".contact_form #make").val("");
	$(".contact_form #model").val("");
	$(".contact_form #trim").val("");
	$(".contact_form #county").val("");

	$("#modal").modal({
		opacity: 70,
		position: ['50px', null],
		onOpen: function (dialog) {
		  dialog.overlay.fadeIn('fast', function () {
		    dialog.container.fadeIn('fast', function () {

		      dialog.data.slideDown('slow');
		    });
		  });
		},

		onClose: function (dialog) {
		  dialog.data.slideUp('slow', function () {
		    dialog.container.fadeOut('slow', function () {
		      dialog.overlay.fadeOut('slow', function () {
		        $.modal.close(); // must call this!
		      });
		    });

		  });
		}
	});

	return false;
}
