$(document).ready(function(){
  initSuggest(); // voir suggest.js
  
  // Gestion des toggles lors du clic sur les l�gendes
  $("#center legend").click(function() {
    toggleColonnes(this);
  });
  
  $('#nombreperso').keyup(activerOptionsNbPersonnages);
  activerOptionsNbPersonnages();

  // Au départ, on cache tous les blocs ne contenant pas de données renseignées
  $('#form-recherche fieldset').each(function() {
    var fieldsetVide = // on va tester s'il y a des champs remplis
      $(this)
      .find(':radio,:checkbox')
      .filter(':enabled:checked') // récupère toutes les checkbox cochées
      .add(
        $(this)
        .find(':text,select')
        .filter(':enabled:visible')
        .filter(function() {
          return $(this).val() != '';
        }) // et tous les autres champs remplis
      )
      .length == 0; // longueur 0 => yen a pas

      if(fieldsetVide) {
        toggleColonnes($(this).find('legend'), 1);
      }
  });

  // Si tout est fermé, on ouvre quand même la localisation
  if(!$('#form-recherche fieldset legend:not(.bloc-ferme)').length) {
    toggleColonnes("#localisation legend", 1);
  }
  
});

/**
 * Affiche ou cache les colonnes d'un bloc de la recherche
*/
function toggleColonnes(legend, effect) {
  $(legend).siblings(".colonne").slideToggle(effect);

  $(legend).toggleClass("bloc-ferme");
}

function activerOptionsNbPersonnages() {
  var nbPersosOk = isEntierPositif($('#nombreperso').val());
  var radios = $('input[name=cb_nombreperso]');
  if(nbPersosOk) {
    radios.removeAttr("disabled");
  }
  else {
    radios.attr("disabled","disabled");
  }
  
}

function isEntierPositif(s) {
  return s.toString().search(/^[0-9]+$/) == 0;
}


