$(document).ready(function() {
	
	// --------------------------------------------
	// Etape 1
	// --------------------------------------------

	$('#nb_enfants').change(
		function() {
			$('.enfant').hide();
			for (var i = 1 ; i <= $('#nb_enfants').val() ; i++) {
				$('#zenfant' + i).show();
			}
		}
	);
	$('#nb_enfants').change();

	$('.date, .date_required, .date_not_required').focus(
		function() {
			if ($(this).val() == 'jj/mm/aaaa') $(this).val(''); 	
		}
	).blur(
		function() {
			if ($(this).val() == '') $(this).val('jj/mm/aaaa'); 	
		}
	);

	toggleStatut('date_de_naissance', 'zstatut', false);
	toggleStatut('date_de_naissance_conjoint', 'zstatut_conjoint', false);
	toggleStatut('enfant1', 'zstatut_enfant1', true);
	toggleStatut('enfant2', 'zstatut_enfant2', true);
	toggleStatut('enfant3', 'zstatut_enfant3', true);
	toggleStatut('enfant4', 'zstatut_enfant4', true);
	toggleStatut('enfant5', 'zstatut_enfant5', true);
	toggleStatut('enfant6', 'zstatut_enfant6', true);
	toggleStatut('enfant7', 'zstatut_enfant7', true);
	toggleStatut('enfant8', 'zstatut_enfant8', true);
	toggleMessageEnfants();
	
	$('#formDevis1').validate(
		{
            errorClass: "validation_error",
			rules: {
				code_postal: 'code_postal',
				date_de_naissance: 'date_required',
				date_de_naissance_conjoint: 'date_not_required',
				enfant1: 'date_enfant',
				enfant2: 'date_enfant',
				enfant3: 'date_enfant',
				enfant4: 'date_enfant',
				enfant5: 'date_enfant',
				enfant6: 'date_enfant',
				enfant7: 'date_enfant',
				enfant8: 'date_enfant'
			}
		}
	);
	
	//Redirection vers la page Professionnel Contact si le choix est "Artisans, commerçants et chefs d'entreprise
	$('#profession').change(
			function(){
				if($(this).val()==2){
					$(location).attr('href', '/pages/vous-etes-un-professionnel-independant/contactez-nous.php?redirect');
				}
			});
	
	
	
	// --------------------------------------------
	// Etape 2
	// --------------------------------------------
	
	$("#rescouv1_1, #rescouv2_1, #rescouv3_1").hide();
	$("#zrescouv2_2").hide();
	$("#zrescouv3").hide();
	
	// ***************** Couv 1 ********************
	$("#star0_1").click(
			function() {
				console.log('in $("#star0_1").click()')
				$("#slider_couv").slider({ value: 0 });
				$("#garantie_niv1").val('');
				;
				$("#star1_1, #star2_1, #star3_1").removeClass("active");
				$(".star_content1").removeClass("star2").removeClass("star3").removeClass("star1");
				$("#rescouv1_1, #rescouv2_1, #rescouv3_1").hide();
				if (!$("#zrescouv2_1").is(":visible"))
				{
					$("#zrescouv2_1").hide();
					$("#zrescouv2_2").hide();
					$("#zrescouv3").hide();
				}
			}
		);
	$("#star1_1").click(
		function() {
			$("#slider_couv").slider({ value: 25 });
			$("#garantie_niv1").val(1);
			$(this).addClass("active");
			$("#star2_1, #star3_1").removeClass("active");
			$(".star_content1").removeClass("star2").removeClass("star3").addClass("star1");
			$("#rescouv1_1").show();
			$("#rescouv2_1, #rescouv3_1").hide();
			
			if (!$("#zrescouv2_1").is(":visible"))
			{
				$("#zrescouv2_1").show();
				$("#zrescouv2_2").hide();
				$("#zrescouv3").hide();
			}

		}
	);
	$("#star2_1").click(
		function() {
			$("#slider_couv").slider({ value: 50 });
			$("#garantie_niv1").val(2);
			$(this).addClass("active");
			$("#star1_1, #star3_1").removeClass("active");
			$(".star_content1").removeClass("star1").removeClass("star3").addClass("star2");
			$("#rescouv2_1").show();
			$("#rescouv1_1, #rescouv3_1").hide();
			
			if ($("#zrescouv2_1").is(":visible"))
			{
				$("#zrescouv2_2").show();
				$("#zrescouv2_1").hide();
				$("#rescouv1_2_2, #rescouv2_2_2, #rescouv3_2_2").hide();
			}
			$("#zrescouv3").hide();

		}
	);
	$("#star3_1").click(
		function() {
			$("#slider_couv").slider({ value: 100 });
			$("#garantie_niv1").val(3);
			$(this).addClass("active");
			$("#star1_1, #star2_1").removeClass("active");
			$(".star_content1").removeClass("star1").removeClass("star2").addClass("star3");
			$("#rescouv3_1").show();
			$("#rescouv1_1, #rescouv2_1").hide();
			
			if ($("#zrescouv2_1").is(":visible"))
			{
				$("#zrescouv2_2").show();
				$("#zrescouv2_1").hide();
				$("#rescouv1_2_2, #rescouv2_2_2, #rescouv3_2_2").hide();
			}
			$("#zrescouv3").show();
		}
	);
	
	// *********************************************
	
	// ***************** Couv 2 ********************
	$("#star0_2_1").click(
			function() {
				$("#slider_op2_1").slider({ value: 0 });
				$("#garantie_niv2").val('');
				
				$("#star1_2_1, #star2_2_1").removeClass("active");
				$(".star_content2_1").removeClass("star2").removeClass("star3").removeClass("star1");
				$("#rescouv1_2_1").hide();
				$("#rescouv2_2_1").hide();
			}
		);
	$("#star1_2_1").click(
		function() {
			$("#slider_op2_1").slider({ value: 50 });
			$("#garantie_niv2").val(1);
			$(this).addClass("active");
			$("#star2_2_1").removeClass("active");
			$(".star_content2_1").removeClass("star2").removeClass("star3").addClass("star1");
			$("#rescouv1_2_1").show();
			$("#rescouv2_2_1").hide();
		}
	);
	$("#star2_2_1").click(
		function() {
			$("#slider_op2_1").slider({ value: 100 });
			$("#garantie_niv2").val(2);
			$(this).addClass("active");
			$("#star1_2_1").removeClass("active");
			$(".star_content2_1").removeClass("star1").removeClass("star3").addClass("star2");
			$("#rescouv2_2_1").show();
			$("#rescouv1_2_1").hide();
		}
	);
	$("#star0_2_2").click(
			function() {
				$("#slider_op2_2").slider({ value: 0 });
				$("#garantie_niv2").val('');
				$("#star1_2_2, #star2_2_2, #star3_2_2").removeClass("active");
				$(".star_content2_2").removeClass("star2").removeClass("star3").removeClass("star1");
				$("#rescouv1_2_2, #rescouv2_2_2, #rescouv3_2_2").hide();
			}
		);
	$("#star1_2_2").click(
		function() {
			$("#slider_op2_2").slider({ value: 33 });
			$("#garantie_niv2").val(3);
			$(this).addClass("active");
			$("#star2_2_2, #star3_2_2").removeClass("active");
			$(".star_content2_2").removeClass("star2").removeClass("star3").addClass("star1");
			$("#rescouv1_2_2").show();
			$("#rescouv2_2_2, #rescouv3_2_2").hide();
		}
	);
	$("#star2_2_2").click(
		function() {
			$("#slider_op2_2").slider({ value: 66 });
			$("#garantie_niv2").val(4);
			$(this).addClass("active");
			$("#star1_2_2, #star3_2_2").removeClass("active");
			$(".star_content2_2").removeClass("star1").removeClass("star3").addClass("star2");
			$("#rescouv2_2_2").show();
			$("#rescouv1_2_2, #rescouv3_2_2").hide();
		}
	);
	$("#star3_2_2").click(
		function() {
			$("#slider_op2_2").slider({ value: 99 });
			$("#garantie_niv2").val(5);
			$(this).addClass("active");
			$("#star1_2_2, #star2_2_2").removeClass("active");
			$(".star_content2_2").removeClass("star1").removeClass("star2").addClass("star3");
			$("#rescouv3_2_2").show();
			$("#rescouv1_2_2, #rescouv2_2_2").hide();
		}
	);
	
	// *********************************************
	
	// ***************** Couv 3 ********************
	$("#star0_3").click(
			function() {
				$("#slider_op3").slider({ value: 0 });
				$("#garantie_niv3").val('');
				$("#star1_3, #star2_3").removeClass("active");
				$(".star_content3").removeClass("star2").removeClass("star1");
				$("#rescouv1_3").hide();
				$("#rescouv2_3").hide();
			}
		);
	$("#star1_3").click(
		function() {
			$("#slider_op3").slider({ value: 50 });
			$("#garantie_niv3").val(1);
			$(this).addClass("active");
			$("#star2_3").removeClass("active");
			$(".star_content3").removeClass("star2").addClass("star1");
			$("#rescouv1_3").show();
			$("#rescouv2_3").hide();
		}
	);
	$("#star2_3").click(
		function() {
			$("#slider_op3").slider({ value: 100 });
			$("#garantie_niv3").val(2);
			$(this).addClass("active");
			$("#star1_3").removeClass("active");
			$(".star_content3").removeClass("star1").addClass("star2");
			$("#rescouv2_3").show();
			$("#rescouv1_3").hide();
		}
	);
	
	// *********************************************
	
	if ($("#garantie_niv1").val() != "") $("#star" + $("#garantie_niv1").val() + "_1").click();
	if ($("#garantie_niv2").val() == "1") $("#star1_2_1").click();
	if ($("#garantie_niv2").val() == "2") $("#star2_2_1").click();
	if ($("#garantie_niv2").val() == "3") $("#star1_2_2").click();
	if ($("#garantie_niv2").val() == "4") $("#star2_2_2").click();
	if ($("#garantie_niv2").val() == "5") $("#star3_2_2").click();
	if ($("#garantie_niv3").val() != "") $("#star" + $("#garantie_niv3").val() + "_3").click();
		
	// --------------------------------------------
	// Etape 3
	// --------------------------------------------
	
	$('#tel').focus(
		function() {
			if ($(this).val() == 'ex: 0123456789') $(this).val(''); 	
		}
	).blur(
		function() {
			if ($(this).val() == '') $(this).val('ex: 0123456789'); 	
		}
	);
	
	$('#formDevis3').validate(
		{
            errorClass: "validation_error",
			rules: {
			    civilite: { required: true },
				tel: 'tel'
			}
		}
	);
	
	// --------------------------------------------
	// Etape 4
	// --------------------------------------------
	$('#agence').click(
		function() {
			Fenetre($(this).attr('href'), 'adresses', '490', '560')
			return false;		
		}
	);
	
	
	// budget malin
	$('.call_bm').click(
		function() {

			$(this).hide();
			$(this).after('<img id="loader_bm" src="/global/images/devis/ajax-loader.gif" alt="Chargement ..." />');

			var request = { 
				formuleBM: $formuleBM,
				sessionId: $session_id
		    };

			$.post("/global/include/devis/devis_xhr.php",
				request,
				function(data) {
					if (data.tarifBM != "") {
						$(".tarif_bm").html(data.tarifBM);
						$('#loader_bm').hide();
						$('.call_bm').show();
						$("#harmonie_xiti_step4").html('' +
								'<script type="text/javascript">'+
								'<!--'+
								'xtnv = document;'+      
								'xtsd = "http://logi7";'+
								'xtsite = "394273";'+
								'xtn2 = "18";'+   
								'xtpage = "Popin rac pharma";'+
								'xtdi = "";'+
								'xt_multc = "";'+             
								'xt_an = "";'+ 
								'xt_ac = "";'+   
								'' +
								'if (window.xtparam!=null){window.xtparam+="&ac="+xt_ac+"&an="+xt_an+xt_multc;}' +
								'else{window.xtparam="&ac="+xt_ac+"&an="+xt_an+xt_multc;};' +
								'//-->'+
								'</script>'+
								'<script type="text/javascript" src="http://www.harmonie-mutualite.fr/global/js/xtcore.js"></script>'+
								'<noscript>'+
								'<img width="1" height="1" alt="" src="http://logi7.xiti.com/hit.xiti?s=394273&s2=18&p=Popin rac pharma&di=&an=&ac=" >'+
								'</noscript>');
						$("#bloc_bm").show();
						
					}
				},
				"json"
			);
	
		}
	);
	
	$('.closed').click(
		function() {
			$("#bloc_bm").hide();
		}
	);
	
});

$.validator.addMethod('code_postal', function(value) {
	var regexp = new RegExp('^([0-9]{5})$');
	return regexp.test(value);
}, 'Veuillez entrer un code postal valide');

$.validator.addMethod('date_required', function(value) {
	if ((value != '') && (value != 'jj/mm/aaaa'))
		return o2s.isDate(value, 'dd/mm/yyyy') && (dateDiffFromToday(value, 'days') > 0);
	else
		return false;
}, 'Veuillez entrer une date valide');

$.validator.addMethod('date_not_required', function(value) {
	if ((value != '') && (value != 'jj/mm/aaaa'))
		return o2s.isDate(value) && (dateDiffFromToday(value, 'days') > 0);
	else
		return true;
}, 'Veuillez entrer une date valide');

$.validator.addMethod('date_enfant', function(value, element) {
	if ($('#nb_enfants').val() >= element.name.replace('enfant', ''))
		return o2s.isDate(value);
	else
		return true;
}, 'Veuillez entrer une date valide');

$.validator.addMethod('tel', function(value) {
	var regexp = new RegExp('^([0-9]{10})$');
	return regexp.test(value);
}, 'Veuillez entrer votre n° de téléphone sous la forme : 0123456789');

toggleStatut = function(fieldDate, fieldStatut, fieldIsEnfant) {
	var ageMax = 27;
	var ageMin = 15;
	$('#' + fieldDate).blur(
		function() {
			var age = dateDiffFromToday($(this).val(), 'years');
			if (age != null) $('#' + fieldStatut).toggle(((!fieldIsEnfant) && (age < ageMax)) || ((fieldIsEnfant) && (age >= ageMin) && (age < ageMax)))   ; else $('#' + fieldStatut).hide();
			if (fieldIsEnfant) toggleMessageEnfants();
		}
	);
	$('#' + fieldDate).blur();
}

toggleMessageEnfants = function() {
	var ageLimite = 28;
	var toggle = false;
	var naissance;
	for (var i = 1 ; i <= 8 ; i++)
	{
		naissance = $('#enfant' + i).val();
		if ((naissance != null) && (naissance != 'jj/mm/aaaa') && (dateDiffFromToday(naissance, 'years') > ageLimite)) toggle = true;
	}
	$('#msg_enfants').toggle(toggle);
}

dateDiffFromToday = function(date1, interval)  {
    var second = 1000, minute = second * 60, hour = minute * 60, day = hour * 24, week = day * 7;
    
    if (o2s.isDate(date1))
    {
        var parts = date1.split('/');
        date1 = new Date(parts[1] + '/' + parts[0] + '/' + parts[2]);
        date2 = new Date();
        var timediff = date2 - date1;
        if (isNaN(timediff)) return NaN;
        switch (interval) {
            case 'years': return date2.getFullYear() - date1.getFullYear();
            case 'months': return (
                ( date2.getFullYear() * 12 + date2.getMonth() )
                -
                ( date1.getFullYear() * 12 + date1.getMonth() )
            );
            case 'weeks'  : return Math.floor(timediff / week);
            case 'days'   : return Math.floor(timediff / day); 
            case 'hours'  : return Math.floor(timediff / hour); 
            case 'minutes': return Math.floor(timediff / minute);
            case 'seconds': return Math.floor(timediff / second);
            default: return undefined;
        }
    }
    else
        return undefined;
}


