$(document).ready(function()
{
	initMissingFieldsBox();

	initTooltip1();

	initTooltip2();

	if ($("#error").val() == "unknown")
	{
		$("#error_message2").dialog("open");
	}

	if ($("#error").val() == "duplicate")
	{
		$("#error_message3").dialog("open");
	}

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

		var f_kind = $("#pg").val();

		var bError = checkDatas(f_kind);

		if (!bError)
		{
			loadingMask();
			$("#form-photovoltaique").submit();
		}
	});
	
	$("#submit_form2").click(function(){

		var f_kind = $("#pg").val();

		var bError = checkDatas2(f_kind);

		if (!bError)
		{
			loadingMask();
			$("#form-photovoltaique2").submit();
		}
	});

	$(".error").live("click", function(){
		$(this).removeClass("error");
	});

});

function checkDatas(f_kind)
{
	var bError = false;

	if ($("#f_civility").val() == "")
	{
		$("#f_civility").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_last_name").val() == "")
	{
		$("#f_last_name").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_home_phone").val() == "")
	{
		$("#f_home_phone").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_address").val() == "")
	{
		$("#f_address").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#email").val() == "")
	{
		$("#email").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_post_code1").val() == "")
	{
		$("#f_post_code1").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_post_code2").val() == "")
	{
		$("#f_post_code2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_delay").val() == "")
	{
		$("#f_delay").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if (f_kind == "particulier" && !Check_Tel($("#f_home_phone").val()) && $("#f_home_phone").val() != "")
	{
		$("#f_home_phone").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	if (!Check_Mail($("#email").val()) && $("#email").val() != "")
	{
		$("#email").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	if (!Check_CP($("#f_post_code1").val()+' '+$("#f_post_code2").val()) && $("#f_post_code1").val() != "")
	{
		$("#f_post_code1").addClass("error");
		$("#f_post_code2").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	return bError;
}

function checkDatas2(f_kind)
{
	var bError = false;

	if ($("#f_civility2").val() == "")
	{
		$("#f_civility2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_last_name2").val() == "")
	{
		$("#f_last_name2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_home_phone2").val() == "")
	{
		$("#f_home_phone2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_address2").val() == "")
	{
		$("#f_address2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#email2").val() == "")
	{
		$("#email2").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_post_code12").val() == "")
	{
		$("#f_post_code12").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	if ($("#f_post_code22").val() == "")
	{
		$("#f_post_code22").addClass("error");
		$("#error_message").dialog("open");
		bError = true;
	}
	
	if (f_kind == "particulier" && !Check_Tel($("#f_home_phone2").val()) && $("#f_home_phone2").val() != "")
	{
		$("#f_home_phone2").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	if (!Check_Mail($("#email2").val()) && $("#email").val() != "")
	{
		$("#email2").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	if (!Check_CP($("#f_post_code12").val()+' '+$("#f_post_code22").val()) && $("#f_post_code12").val() != "")
	{
		$("#f_post_code12").addClass("error");
		$("#f_post_code22").addClass("error");
		$("#error_message7").dialog("open");
		bError = true;
	}
	return bError;
}

/**
 * Datas missing fields lightbox
 */
function initMissingFieldsBox() {

	$("#error_message").dialog("destroy");

	$("#error_message").dialog({
		autoOpen: false,
		height: 200,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});

	$("#error_message2").dialog("destroy");

	$("#error_message2").dialog({
		autoOpen: false,
		height: 200,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});


	$("#error_message3").dialog("destroy");

	$("#error_message3").dialog({
		autoOpen: false,
		height: 120,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});

	$("#error_message4").dialog("destroy");

	$("#error_message4").dialog({
		autoOpen: false,
		height: 120,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});

	$("#error_message5").dialog("destroy");

	$("#error_message5").dialog({
		autoOpen: false,
		height: 120,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});

	$("#error_message6").dialog("destroy");

	$("#error_message6").dialog({
		autoOpen: false,
		height: 120,
		width: 400,
		modal: false,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});

	$("#error_message7").dialog({
		autoOpen: false,
		height: 120,
		width: 400,
		modal: true,
		dialogClass: 'alert',
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});
}

function loadingMask()
{
	$("#loading-mask").dialog("destroy");

	$("#loading-mask").dialog({
		modal: true,
		resizable: false,
		height: 150,
		open: function(event, ui)
		{
			$(this).parent().children().children('.ui-dialog-titlebar-close').hide();
		}
	});
}

function initTooltip1()
{
	if($("#tooltip_mise_rel").data("qtip")) $("#tooltip_mise_rel").qtip("destroy");

	$("#tooltip_mise_rel").qtip({
      content:  '<img src="/img/tooltip_img_mise_en_relation.jpg" alt="free quotations" />', // Set the tooltip content to the current corne
      position: {
          corner: {
             target: 'bottomMiddle',
             tooltip: 'topRight'
          }
       },
      style: {
		width: 680,
		border: {
           width: 5,
           radius: 10
        },
        padding: 10,
        textAlign: 'center',
        tip: true, // Give it a speech bubble tip with automatic corner detection
        name: 'cream' // Style it according to the preset 'cream' style
     }
    });
    return false;
}

function initTooltip2()
{
	if($("#tooltip_installateurs").data("qtip")) $("#tooltip_installateurs").qtip("destroy");

	$("#tooltip_installateurs").qtip({
      content:  '<img src="/img/tooltip_img_installateurs.jpg" alt="qualified solar panel installers" />', // Set the tooltip content to the current corne
      position: {
          corner: {
             target: 'bottomMiddle',
             tooltip: 'topMiddle'
          }
       },
      style: {
		width: 680,
		border: {
           width: 5,
           radius: 10
        },
        padding: 10,
        textAlign: 'center',
        tip: true, // Give it a speech bubble tip with automatic corner detection
        name: 'cream' // Style it according to the preset 'cream' style
     }
    });
    return false;
}

function Check_CP(cp) {
	//check postcode format is valid
	test = cp;
	size = test.length
	if (size < 6 || size > 8){ //Code length rule
		return false;
	}
	if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
		return false;
	}
	if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
		return false;
	}
	if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
		return false;
	}
	if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
		return false;
	}
	if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
		return false;
	}
	count1 = test.indexOf(" ");
	count2 = test.lastIndexOf(" ");
	if (count1 != count2){//only one space rule
		return false;
	}
	return true;
}

function Check_Mail(sEmail)
{
    var ret = true;
    var reg = /^[\&a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/;
    if (reg.exec(sEmail) == null)
    {
    	ret = false;
    }
    return ret;
}

function Check_Tel(tel)
{
    var ret = true;
    tel = tel.replace(/\D/g,'');
	var reg = /^0[1|2|3|4|5|6|7|8|9][0-9]{9}$/;
	if (reg.exec(tel)==null) ret = false;
    return ret;
}
