/** -----------------------------
  Mise en place du menu déroulant
------------------------------- */

// La liste des timers en cours.
timers = new Array(4);

// Le numéro du menu ouvert.
num_ouvert = 0;

// ferme instantanément le menu 'num'
function mclose(num) {
  $('#ong-'+num+'-off').show();
  $('#ong-'+num+'-on').hide();
  $('#menu-on-'+num).hide();
}

// ferme le menu 'num' après un délai.
function mclosetime(num) {
  timers[num] = setTimeout(function(){mclose(num)}, 250);
}

// annule le timer créé par la précédente.
function mctimer(num) {
  if(timers[num]) clearTimeout(timers[num]);
}

// ouvre instantanément le menu 'num'
function mopen(num) {
  mctimer(num);

  // Première ouverture
  if(num_ouvert == 0) num_ouvert = num;

  // Autres ouvertures
  if(num_ouvert != num) {
    mclose(num_ouvert);
    num_ouvert = num;
  }
  
  $('#ong-'+num+'-off').hide();
  $('#ong-'+num+'-on').show();
  $('#menu-on-'+num).show();
}



/** -----------------------------------------------
  Remplacement des liens pour la recherche d'annonce
  Il faut ajouter l'identifiant de la recherche.
------------------------------------------------ */
$(document).ready(function() {
  $('.ajout_id_recherche').each(function(i, e) {
    $(e).attr('href', e.href + '?recherche_id='+id_recherche);
  });
});






/***
  VALIDATION DU FORMULAIRE DE RECHERCHE SIMPLE PRÉSENT UN PEU PARTOUT SUR LE SITE.
*/
function lancer_recherche(form)
{
  ////////////////////////////////////////////////
  //DECLARATION VARIABLES
  ////////////////////////////////////////////////

  var motcle = form.elements['ANNONCE[mots-cles]'].value;
  motcle = motcle.replace(/^\s*|\s*$/,"");
  var id_geographie       = form.elements['ANNONCE[id_geographie]'].value;
  var id_secteur_activite = form.elements['ANNONCE[id_secteur_activite]'].value;
  var compte_criteres = 0;

  ////////////////////////////////////////////////
  //VERIFICATIONS
  ////////////////////////////////////////////////
  if(motcle!="")
          ++compte_criteres;
  if(id_geographie!="")
          ++compte_criteres;
  if(id_secteur_activite!="")
          ++compte_criteres;

  if (compte_criteres==0) {
    //alert('Veuillez remplir au moins un critère de recherche');
    affiche_message_erreur('Veuillez remplir au moins un critère de recherche');
  }
  else {
    form.submit();
  }
}




/***
  MÉTHODES EMPLOYÉES POUR LE BON FONCTIONNEMENT DU FORMULAIRE DE RECHERCHE AVANCÉE.
*/

$(document).ready(function() {

  /** ---------------------------------------------------------------------------
    Pour le slider du niveau de rémunération
  ---------------------------------------------------------------------------- */

  // L'échelle sous le slider ne correspond pas à la réalité des niveaux de rémunération
  // c'est pourquoi il faut dire explicitement comment les valeurs du slider et les checkboxes
  // sont liées. Par exemple : à la checkbox "- de 10" correspond la valeur 0 de l'échelle
  // mais pour 10 à 20 000 c'est les deux deuxièmes valeurs de l'échelle (en l'occurence 1 et 2)
  // et ainsi de suite.
  var etapes_remuneration = [0,1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6,7];

  function mise_a_jour_cb_remuneration() {
    var valeur_basse = $('#slider_niveau_remuneration').slider('value',0);
    var valeur_haute = $('#slider_niveau_remuneration').slider('value',1);

    // On désélectionne tout
    $("input[class='cb_niveau_remuneration']").attr('checked', false);

    for(i = valeur_basse ; i < valeur_haute ; i++) {
      $('#niveau_remuneration_' + etapes_remuneration[i]).attr('checked', true);
    }
  }

  sld=$('#slider_niveau_remuneration');
  if(sld.length != 0) {

    // Valeurs par défaut du slider (le plus étendu possible) :
    var valeur_de_depart = 0;
    var valeur_d_arrivee = 18;

    // Un interrupteur qui va nous aider plus loin.
    var sw = false;

    // On copie l'objet des étapes de rémunération pour ne pas travailler directement dessus.
    var er = etapes_remuneration.slice();

    // On parcourt les champs checkbox qui concernent les rémunérations.
    var checkboxes = $("input[type='checkbox'][name*='ANNONCE[id_niveau_remuneration][]']")
    checkboxes.each(function(id) {

      // On cherche d'abord la valeur basse de la sélection de l'utilisateur.
      if(this.checked && sw == false) {
        // L'id dans l'échelle de correspondance correspond à la première occurence.
        valeur_de_depart = jQuery.inArray(id, er);

        // On a notre valeur de départ, on va maintenant chercher la valeur d'arrivée.
        sw = true;
      }

      // Si l'élément n'est pas coché et qu'on a déjà notre valeur de départ,
      // c'est qu'on est en train de sortir de la sélection.
      if(!this.checked && sw == true) {
        // On retourne l'échelle, on trouve la première occurence de l'index précédent (puisque
        // le courant n'est déjà plus le bon - la case étant décochée.
        valeur_d_arrivee = er.length - jQuery.inArray(id - 1, er.reverse());
        // On a nos deux valeurs, on quitte la boucle each.
        return false;
      }

      // Si on arrive au dernier élément, c'est que c'est le dernier élément
      // qui est notre plus haute valeur (+ de 100 en l'occurence).
      if(id == checkboxes.length - 1) {
        valeur_d_arrivee =  er.length - jQuery.inArray(id, er.reverse());
      }
    });

    // Déclaration du slider
    sld.slider({
      min: 0,
      max: 18,
      handles: [ { start: valeur_de_depart }, { start: valeur_d_arrivee } ],
      steps: 18,
      range: true,
      change: mise_a_jour_cb_remuneration
    });

    mise_a_jour_cb_remuneration();
  }



  /** ---------------------------------------------------------------------------
    Chargement dynamique des métiers
  ---------------------------------------------------------------------------- */

  function chargement_metiers() {

    infos = new Querystring();

    var compteur_metier_choisi=0;

    $('#metier option').each(function(){
		  if($(this).val() == infos.get("ANNONCE[id_metier]")) {
				$(this).attr("selected",true);
				compteur_metier_choisi++;
			}
		});

    if(compteur_metier_choisi==0) {
	    //on va cherche l'id metier correspondant au sous-metier choisi
	    var parametres="id="+infos.get("ANNONCE[id_metier]");

		  $.ajax({
        type: "POST",
				url: "ajax/chargement-dynamique-metier.php",
				data: parametres,
				dataType: 'json',
				success: function(data, status) {
          $('#metier option').each(function(){
            if($(this).attr('value') == data.id_metier) {
					    $(this).attr("selected",true);
				    }
			    });

				  recherche_emploi_avancee_sous_metiers(data.id_metier);

				  $('#sous_metier option').each(function(){
            if($(this).val() == data.id_sous_metier) {
					    $(this).attr("selected",true);
				    }
		      });
        }
		  });
    }

  }
  //chargement_metiers();
  
  
  
  
  /** --------------------------------------------------------------------------
   * Cocher et décocher les cases de localisations dans le formulaire de recherche
     (ex si on coche France on décoche le reste, et vice versa).
  --------------------------------------------------------------------------- */
  
  // Si on clique sur "toute la france", on décoche les autres cases
  $('#checkbox_toute_la_france').click(function() {
    if($('#checkbox_toute_la_france').is(":checked")) {
      $("input[type='checkbox'][name*='ANNONCE[id_geographie][]'][id != 'checkbox_international'][id != 'checkbox_toute_la_france']").attr('checked', false);
    }
  });

  // Si on coche une région en particulier, on décoche toute la france
  $("input[type='checkbox'][name*='ANNONCE[id_geographie][]'][id != 'checkbox_international'][id != 'checkbox_toute_la_france']").click(function() {
    if ($('#checkbox_toute_la_france').is(":checked")) {
      $('#checkbox_toute_la_france').attr('checked', false);
    }
  });
  
});







