var $j = jQuery.noConflict();

function initRA(){
	peuplerEntreprise();
	if($j('#Adresse_PersoD'))
    	listPersoD('D');
    listCovivoD();
	if($j('#Adresse_PersoD'))
    	listPersoA('A');
    listCovivoA();
    deplierReplier('covi', 'orange');
	
    peuplerPays('Ville_Depart');
    peuplerPays('Ville_Depart_Aire');
    peuplerPays('Ville_Arrivee');
    peuplerPays('Ville_Arrivee_Aire');
	
	if ($j('#typerecherche').val()== 'D')
		$j('#TypeRecherche-D').attr('checked', true);
	else
		$j('#TypeRecherche-O').attr('checked', true);
	
	autoVille('on',document.getElementById('Ville_Depart'));
	autoVille('on',document.getElementById('Ville_Depart_Aire'));
	autoVille('on',document.getElementById('Ville_Arrivee'));
	autoVille('on',document.getElementById('Ville_Arrivee_Aire'));
	
	if(document.getElementById('TRNom_Depart'))
		document.getElementById('TRNom_Depart').style.display = 'none';
	if (document.getElementById('TRNom_Arrivee'))
    	document.getElementById('TRNom_Arrivee').style.display = 'none';
	
    document.getElementById('Type_daller-A').checked = 'checked';
    document.getElementById('TypeTrajet-O').checked = 'checked';
    document.getElementById('onglet_depart').style.display = 'block';
//	if(document.getElementById('onglet_depart_perso'))
   		document.getElementById('onglet_depart_perso').style.display = 'none';
    document.getElementById('onglet_depart_aire').style.display = 'none';
    document.getElementById('onglet_arrivee').style.display = 'block';
//	if(document.getElementById('onglet_arrivee_perso'))
    	document.getElementById('onglet_arrivee_perso').style.display = 'none';
    document.getElementById('onglet_arrivee_aire').style.display = 'none';

    document.getElementById('TOccasionnelR').style.display = 'none';
}

$j.validator.addMethod("regex", function(value, element, regexp){
    if (regexp.constructor != RegExp) 
        regexp = new RegExp(regexp);
    else 
        if (regexp.global) 
            regexp.lastIndex = 0;
    return this.optional(element) || regexp.test(value);
});


var acc = "La saisie doit &ecirc;tre comprise entre {0} et {1}.";
var msg_required = "Ce champ est obligatoire.";
var date_str = "Le format doit être jj/mm/aaaa.";
var heure_str = "Le format doit être hh:mm.";
$j().ready(function(){
    $j("#formRecherche").validate({
		errorLabelContainer:$j("#ErrorContainer"),wrapper: "p",
        rules: {
            Ville_Depart: {
                required: function(element){
                    return $j("#tab_onglet_depart").hasClass("in");
                },
                minlength: 3,
                maxlength: 26
            },
            CP_Depart: {
                required: function(element){
                    return $j("#tab_onglet_depart").hasClass("in") && ($j('#ListePays-Ville_Depart option:selected').val()==1);
                },
                digits: true,
                minlength: 4,
                maxlength: 5
            },
            Adresse_Depart: {
                required: false,
                minlength: 0,
                maxlength: 50
            },
            Ville_Depart_Aire: {
                required: function(element){
                    return $j("#tab_onglet_depart_aire").hasClass("in");
                },
                minlength: 3,
                maxlength: 26
            },
            CP_Depart_Aire: {
                required: function(element){
                    return $j("#tab_onglet_depart_aire").hasClass("in")&& ($j('#ListePays-Ville_Depart_Aire option:selected').val()==1);
                },
                digits: true,
                minlength: 4,
                maxlength: 5
            },
            Ville_Arrivee: {
                required: function(element){
                    return $j("#tab_onglet_arrivee").hasClass("in");
                },
                minlength: 3,
                maxlength: 26
            },
            CP_Arrivee: {
                required: function(element){
                    return $j("#tab_onglet_arrivee").hasClass("in")&& ($j('#ListePays-Ville_Arrivee option:selected').val()==1);
                },
                digits: true,
                minlength: 4,
                maxlength: 5
            },
            Adresse_Arrivee: {
                required: false,
                minlength: 0,
                maxlength: 50
            },
            Ville_Arrivee_Aire: {
                required: function(element){
                    return $j("#tab_onglet_arrivee_aire").hasClass("in");
                },
                minlength: 3,
                maxlength: 26
            },
            CP_Arrivee_Aire: {
                required: function(element){
                    return $j("#tab_onglet_arrivee_aire").hasClass("in")&& ($j('#ListePays-Ville_Arrivee_Aire option:selected').val()==1);
                },
                digits: true,
                minlength: 4,
                maxlength: 5
            },
			TypeRecherche:{
				required: true
			},
            Etape: {
                required: true
            },/*
            Date_Validite: {
                required: "#DepartImmediat-N:checked"
            },
            Heure_validite: {
                required: function(element){
                    return $j('#TypeTrajet-O').is(':checked') && $j('#DepartImmediat-N').is(':checked');
                }
            },*/
            Type_daller: {
                required: true
            },
            TypeTrajet: {
                required: true
            },
            DepartImmediat: {
                required: true
            },
            DateDeDepartMini: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked');
                },
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            DateDeDepartMaxi: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked');
                },
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            HeureMiniDepart: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked');
                },
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            HeureMaxiDepart: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked');
                },
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            DateArriveeMini: {
                required: false,
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            DateArriveeMaxi: {
                required: false,
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            Heure_Mini_Arrivve: {
                required: false,
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_Maxi_arrivee: {
                required: false,
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            RDateDeDepartMini: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked') && $j('#Type_daller-R').is(':checked');
                },
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            RDateDeDepartMaxi: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked') && $j('#Type_daller-R').is(':checked');
                },
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            RHeureMiniDepart: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked') && $j('#Type_daller-R').is(':checked');
                },
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            RHeureMaxiDepart: {
                required: function(element){
                    return $j('#DepartImmediat-N').is(':checked') && $j('#Type_daller-R').is(':checked');
                },
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            RDateArriveeMini: {
                required: false,
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            RDateArriveeMaxi: {
                required: false,
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            RHeure_Mini_Arrivve: {
                required: false,
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            RHeure_Maxi_arrivee: {
                required: false,
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Date_Debut: {
                required: "#TypeTrajet-R:checked",
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            Date_Fin: {
                required: "#TypeTrajet-R:checked",
				regex: /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/
            },
            Lundi: {
                required: false
            },
            Mardi: {
                required: false
            },
            Mercredi: {
                required: false
            },
            Jeudi: {
                required: false
            },
            Vendredi: {
                required: false
            },
            Samedi: {
                required: false
            },
            Dimanche: {
                required: false
            },
            Heure_LunMini: {
                required: "#Lundi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_MarMini: {
                required: "#Mardi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_MerMini: {
                required: "#Mercredi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_JeuMini: {
                required: "#Jeudi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_VenMini: {
                required: "#Vendredi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_SamMini: {
                required: "#Samedi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_DimMini: {
                required: "#Dimanche:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_LunMaxi: {
                required: "#Lundi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_MarMaxi: {
                required: "#Mardi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_MerMaxi: {
                required: "#Mercredi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_JeuMaxi: {
                required: "#Jeudi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_VenMaxi: {
                required: "#Vendredi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_SamMaxi: {
                required: "#Samedi:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            },
            Heure_DimMaxi: {
                required: "#Dimanche:checked",
				regex: /^(([0-1][0-9])|2[0-3]):([0-5][0-9])$/
            }
        },
        messages: {
            Ville_Depart: {
                required: "La ville de d&eacute;part est obligatoire.",
                minlength: "La ville de d&eacute;part doit &ecirc;tre compris entre 3 et 26 caract&egrave;res.",
                maxlength: "La ville de d&eacute;part doit &ecirc;tre compris entre 3 et 26 caract&egrave;res."
            },
            CP_Depart: {
                required: "Le code postal de la ville de d&eacute;part est obligatoire.",
                minlength: "Le code postal de la ville de d&eacute;part doit &ecirc;tre &eacute;gal à 5 chiffres.",
                maxlength: "Le code postal de la ville de d&eacute;part doit &ecirc;tre &eacute;gal à 5 chiffres.",
                digits: "Le code postal de la ville de d&eacute;part doit &ecirc;tre uniquement composé de chiffres."
            },
            Ville_Depart_Aire: {
                required: "La ville de d&eacute;part est obligatoire.",
                minlength: "La ville de d&eacute;part doit &ecirc;tre compris entre 3 et 26 caract&egrave;res.",
                maxlength: "La ville de d&eacute;part doit &ecirc;tre compris entre 3 et 26 caract&egrave;res."
            },
            CP_Depart_Aire: {
                required: "Le code postal de la ville de d&eacute;part est obligatoire.",
                minlength: "Le code postal de la ville de d&eacute;part doit &ecirc;tre &eacute;gal à 5 chiffres.",
                maxlength: "Le code postal de la ville de d&eacute;part doit &ecirc;tre &eacute;gal à 5 chiffres.",
                digits: "Le code postal de la ville de d&eacute;part doit &ecirc;tre uniquement composé de chiffres."
            },
            Ville_Arrivee: {
                required: "La ville d'arriv&eacute;e est obligatoire.",
                minlength: "La ville d'arriv&eacute;e doit &ecirc;tre compris entre 3 et 26 caract&egrave;res.",
                maxlength: "La ville d'arriv&eacute;e doit &ecirc;tre compris entre 3 et 26 caract&egrave;res."
            },
            CP_Arrivee: {
                required: "Le code postal de la ville d'arriv&eacute;e est obligatoire.",
                minlength: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre &eacute;gal à 5 chiffres.",
                maxlength: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre &eacute;gal à 5 chiffres.",
                digits: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre uniquement composé de chiffres."
            },
            Ville_Arrivee_Aire: {
                required: "La ville d'arriv&eacute;e est obligatoire.",
                minlength: "La ville d'arriv&eacute;e doit &ecirc;tre compris entre 3 et 26 caract&egrave;res.",
                maxlength: "La ville d'arriv&eacute;e doit &ecirc;tre compris entre 3 et 26 caract&egrave;res."
            },
            CP_Arrivee_Aire: {
                required: "Le code postal de la ville d'arriv&eacute;e est obligatoire.",
                minlength: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre &eacute;gal à 5 chiffres.",
                maxlength: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre &eacute;gal à 5 chiffres.",
                digits: "Le code postal de la ville d'arriv&eacute;e doit &ecirc;tre uniquement composé de chiffres."
            },
			TypeRecherche:{
				require :msg_required
			},/*
            Date_Validite: {
                required: "La date de validit&eacute; est obligatoire."
            },
            Heure_validite: {
                required: "L'heure de validit&eacute; est obligatoire."
            },*/
            DateDeDepartMini: {
                required: "La date de d&eacute;part minimale est obligatoire.",
				regex: date_str
            },
            DateDeDepartMaxi: {
                required: "La date de d&eacute;part maximale est obligatoire.",
				regex: date_str
            },
            HeureMiniDepart: {
                required: "L'heure de d&eacute;part minimale est obligatoire.",
				regex: heure_str
            },
            HeureMaxiDepart: {
                required: "L'heure de d&eacute;part maximale est obligatoire.",
				regex: heure_str
            },
			DateArriveeMini: {
				regex: date_str
            },
            DateArriveeMaxi: {
				regex: date_str
            },
            Heure_Mini_Arrivve: {
				
				regex: heure_str
            },
            Heure_Maxi_arrivee: {
				
				regex: heure_str
            },
            HeureMiniDepart: {
                required: "L'heure de d&eacute;part minimale est obligatoire.",
				regex: heure_str
            },
            HeureMaxiDepart: {
                required: "L'heure de d&eacute;part maximale est obligatoire.",
				regex: heure_str
            },
            Date_Debut: {
                required: "La date de d&eacute;but est obligatoire.",
				regex: date_str
            },
            Date_Fin: {
                required: "La date de fin est obligatoire.",
				regex: date_str
            },
            RDateDeDepartMini: {
                required: "La date de retour minimale est obligatoire."
            },
            RDateDeDepartMaxi: {
                required: "La date de retour maximale est obligatoire."
            },
            RHeureMiniDepart: {
                required: "L'heure de retour minimale est obligatoire.",
				regex: heure_str
            },
            RHeureMaxiDepart: {
                required: "L'heure de retour maximale est obligatoire.",
				regex: heure_str
            },
            Heure_LunMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_MarMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_MerMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_JeuMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_VenMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_SamMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_DimMini: {
                required: msg_required,
				regex: heure_str
            },
            Heure_LunMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_MarMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_MerMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_JeuMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_VenMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_SamMaxi: {
                required: msg_required,
				regex: heure_str
            },
            Heure_DimMaxi: {
                required: msg_required,
				regex: heure_str
            }
        }
    });
});

function validation(){
    if ($j('#formRecherche').valid()) {
       var retour = verifHeures();
		if (retour != 0) {
			if (retour == 1) {
				alert("Le moment de votre départ doit être postérieur à l'heure actuelle.");
				$j('#DateDeDepartMini').focus();
			}
			if (retour == 2) {
				alert("Le moment de votre départ maximal doit être postérieur au moment de votre départ minimal.");
				$j('#DateDeDepartMaxi').focus();
			}
			else 
				if (retour == 3) {
					alert("Le moment de votre départ de trajet retour maximal doit être postérieur au moment de votre départ de trajet retour minimal.");
					$j('#RDateDeDepartMaxi').focus();
				}
				else 
					if (retour == 5) {
						alert("Le moment de votre trajet minimal doit être potérieur au moment de votre départ maximal");
						$j('#DateDeDepartMaxi').focus();
					}
					else
						if (retour == 6) {
							alert("Le moment de votre départ doit être postérieur à l'heure actuelle.");
							$j('#DateDeDepartMini').focus();
						}
		}
		else 
			if (retour === 0) {
				geocoder= new GClientGeocoder();
//				$j('.boutons').hide();
//				$j("#contentLoading").show();
//				$j('#formRecherche').submit();
if ($j('#Lat_Depart').val() == '' && $j('#Lat_Arrivee').val() == "") {
						var adresse = $j('#Adresse_Depart').val();
						var ville = $j('#Ville_Depart').val();
						var cp = $j('#CP_Depart').val();
						var adresse = adresse + "," + cp + "," + ville;
						//					var geocoder = new GClientGeocoder();
						//					console.log("avant le geo");
						geocoder.getLocations(adresse, function(response){
							if (response) {
								if (response.Status.code == 200) {
									$j('#Lat_Depart').val(response.Placemark[0].Point.coordinates[1]);
									$j('#Lon_Depart').val(response.Placemark[0].Point.coordinates[0]);
									var adresse = $j('#Adresse_Arrivee').val();
									var ville = $j('#Ville_Arrivee').val();
									var cp = $j('#CP_Arrivee').val();
									var adresse = adresse + "," + cp + "," + ville;
									var geocoder = new GClientGeocoder();
									geocoder.getLocations(adresse, function(response){
										if (response) {
											if (response.Status.code == 200) {
												$j('#Lat_Arrivee').val(response.Placemark[0].Point.coordinates[1]);
												$j('#Lon_Arrivee').val(response.Placemark[0].Point.coordinates[0]);
												$j('.boutons').hide();
												$j("#contentLoading").show();
												refond($j('#contenu').height());
												$j('#formRecherche').submit();
											}
											else {
												alert("Le système n'est pas en mesure de localiser votre destination, merci de vérifier vos données.");
												$j('#Adresse_Arrivee').focus();
											}
										}
										else {
											alert("Le système n'est pas en mesure de localiser votre destination, merci de vérifier vos données.");
											$j('#Adresse_Arrivee').focus();
										}
									});
								}
								else {
									alert("Le système n'est pas en mesure de localiser votre point de départ, merci de vérifier vos données.");
									$j('#Adresse').focus();
								}
							}
							else {
								alert("Le système n'est pas en mesure de localiser votre départ, merci de vérifier vos données.");
								$j('#Adresse').focus();
							}
						});
					}else{
						if($j('#Lat_Depart').val()=="" && $j('#Lat_Arrivee').val() != ""){
							var adresse = $j('#Adresse_Depart').val();
							var ville = $j('#Ville_Depart').val();
							var cp = $j('#CP_Depart').val();
							var adresse = adresse + "," + cp + "," + ville;
							//					var geocoder = new GClientGeocoder();
							//					console.log("avant le geo");
							geocoder.getLocations(adresse, function(response){
								if (response) {
									if (response.Status.code == 200) {
										$j('#Lat_Depart').val(response.Placemark[0].Point.coordinates[1]);
										$j('#Lon_Depart').val(response.Placemark[0].Point.coordinates[0]);
										$j('.boutons').hide();
										$j("#contentLoading").show();
										$j('#formRecherche').submit();
									}
									else {
										alert("Le système n'est pas en mesure de localiser votre point de départ, merci de vérifier vos données.");
										$j('#Adresse').focus();
									}
								}
								else {
									alert("Le système n'est pas en mesure de localiser votre départ, merci de vérifier vos données.");
									$j('#Adresse').focus();
								}
							});
						}else if($j('#Lat_Depart').val()!=""&&$j('#Lat_Arrivee').val()==""){
							var adresse = $j('#Adresse_Arrivee').val();
							var ville = $j('#Ville_Arrivee').val();
							var cp = $j('#CP_Arrivee').val();
							var adresse = adresse + "," + cp + "," + ville;
							var geocoder = new GClientGeocoder();
							geocoder.getLocations(adresse, function(response){
								if (response) {
									if (response.Status.code == 200) {
										$j('#Lat_Arrivee').val(response.Placemark[0].Point.coordinates[1]);
										$j('#Lon_Arrivee').val(response.Placemark[0].Point.coordinates[0]);
										$j('.boutons').hide();
										$j("#contentLoading").show();
										$j('#formRecherche').submit();
									}
									else {
										alert("Le système n'est pas en mesure de localiser votre destination, merci de vérifier vos données.");
										$j('#Adresse_Arrivee').focus();
									}
								}
								else {
									alert("Le système n'est pas en mesure de localiser votre destination, merci de vérifier vos données.");
									$j('#Adresse_Arrivee').focus();
								}
							});
						}else{
							if($j('#Lat_Depart').val()!=""&&$j('#Lat_Arrivee').val()!="")
								$j('.boutons').hide();
								$j("#contentLoading").show();
								$j('#formRecherche').submit();
						}
					}
			}
    }
}

function verifHeures()
{
	var VdateDepartMini = $j('#DateDeDepartMini').val();
	var VheureMini = $j('#HeureMiniDepart').val();
	var VdateDepartMaxi = $j('#DateDeDepartMaxi').val();
	var VheureMaxi = $j('#HeureMaxiDepart').val();
	var VRdateDepartMini = $j('#RDateDeDepartMini').val();
	var VRheureMini = $j('#RHeureMiniDepart').val();
	var VRdateDepartMaxi = $j('#RDateDeDepartMaxi').val();
	var VRheureMaxi = $j('#RHeureMaxiDepart').val();
	
	var TdateDepartMini = VdateDepartMini.split('/');
	var TheureMini = VheureMini.split(':');
	var TdateDepartMaxi = VdateDepartMaxi.split('/');
	var TheureMaxi = VheureMaxi.split(':');
	var TRdateDepartMini = VRdateDepartMini.split('/');
	var TRheureMini = VRheureMini.split(':');
	var TRdateDepartMaxi = VRdateDepartMaxi.split('/');
	var TRheureMaxi = VRheureMaxi.split(':');
	
	var FdateDepartMini = new Date(TdateDepartMini[2], (TdateDepartMini[1]-1), TdateDepartMini[0], TheureMini[0], TheureMini[1], 0);
    var FdateDepartMaxi = new Date(TdateDepartMaxi[2], (TdateDepartMaxi[1]-1), TdateDepartMaxi[0], TheureMaxi[0], TheureMaxi[1], 0);
    var FRdateDepartMini = new Date(TRdateDepartMini[2], (TRdateDepartMini[1]-1), TRdateDepartMini[0], TRheureMini[0], TRheureMini[1], 0);
    var FRdateDepartMaxi = new Date(TRdateDepartMaxi[2], (TRdateDepartMaxi[1]-1), TRdateDepartMaxi[0], TRheureMaxi[0], TRheureMaxi[1], 0);
    var dateActuelle = new Date();
	
	var retour = 0;
	if(FdateDepartMini.getTime()< dateActuelle.getTime()){
		retour +=1;
	}
	
	if(FdateDepartMaxi.getTime() < FdateDepartMini.getTime()){
		retour += 2;
	}
	if(FRdateDepartMaxi.getTime() < FRdateDepartMini.getTime()){
		retour += 3;
	}

	return retour;
}


function allerRetourRecherche(value){if(value=='A'){if(document.getElementsByName('TypeTrajet')[0].checked==true){document.getElementById('Occasionnel').style.display='block';document.getElementById('TOccasionnelA').style.display='block';document.getElementById('TOccasionnelR').style.display='none';}}
if(value=='R')
{if(document.getElementsByName('TypeTrajet')[0].checked==true){document.getElementById('Occasionnel').style.display='block';document.getElementById('TOccasionnelA').style.display='block';document.getElementById('TOccasionnelR').style.display='block';}}}
function departImmediatONRecherche(id){if(id=='DepartImmediat-O'){document.getElementById('calendrier').style.display='none';document.getElementById('Occasionnel').style.display='none';}
else{document.getElementById('calendrier').style.display='block';if(document.getElementsByName('TypeTrajet')[0].checked){if(document.getElementsByName('Type_daller')[0].checked){document.getElementById('Occasionnel').style.display='block';document.getElementById('TOccasionnelA').style.display='block';document.getElementById('TOccasionnelR').style.display='none';}
else if(document.getElementsByName('Type_daller')[1].checked){document.getElementById('Occasionnel').style.display='block';document.getElementById('TOccasionnelA').style.display='block';document.getElementById('TOccasionnelR').style.display='block';}}}}

