var fillTypeInputText = function()
{
  var type_array = [];
  for(var i = 0, j = document.getElementById("liste-types").getElementsByTagName("input").length; i < j; i++)
  {
    if(document.getElementById("liste-types").getElementsByTagName("input")[i].checked === true)
    {
      type_array[type_array.length] = document.getElementById("liste-types").getElementsByTagName("input")[i].parentNode.getElementsByTagName("label")[0].firstChild.nodeValue;
    }
  }
  for(var i = 0, j = document.getElementById("dl_immo_entreprise").getElementsByTagName("input").length; i < j; i++)
  {
    if(document.getElementById("dl_immo_entreprise").getElementsByTagName("input")[i].checked === true)
    {
      type_array[type_array.length] = document.getElementById("dl_immo_entreprise").getElementsByTagName("input")[i].parentNode.getElementsByTagName("label")[0].firstChild.nodeValue;
    }
  }
  if(document.getElementById("recap_types"))
  {
    document.getElementById("recap_types").value = type_array.join(", ");
  }
}
var checkTypeTransac = function()
{
  $("#dl_type_recherche dd").each(
    function()
    {
      $(this).removeClass("checked");
      if($("input", this).attr("checked") == true)
      {
        $(this).addClass("checked");
        var liste_types = [];
        $("#liste-types input").each(
          function()
          {
            if(this.checked === true)
            {
              liste_types[liste_types.length] = this.name;
            }
          }
        );
        if(liste_types.length != 1 || liste_types[0] != "NEU")
        {
          checkTypeTransac.liste_types_cache = liste_types;
        }
        if($("input", this).attr("id") == "type_transac_n")
        {
          $("#liste-types input").each(
            function()
            {
              if(this.name != "NEU")
              {
                this.checked = false;
              }
              else
              {
                this.checked = true;
              }
            }
          );
          if (document.getElementById("recap_types"))
          {
               document.getElementById("recap_types").disabled = true;
          }
          // $("#ou_chercher p.legend").text("Où rechercher ?");
          // $("#ou_chercher .ou label").css("display", "block");
          $("#ou_chercher .ou label").text("par ville, département, codes postaux :");
        }
        else if($("input", this).attr("value") == "C")
        {
          $("#facultatifs_annonces").hide();
          // $("#ou_chercher p.legend").text("Code postal :");
          // $("#ou_chercher .ou label").css("display", "none");
          $("#ou_chercher .ou label").text("Code postal :");
        }
        else
        {
          if(typeof(checkTypeTransac.liste_types_cache) != "undefined")
          {
            $("#liste-types input").each(
              function()
              {
                this.checked = false;
                for (var i = checkTypeTransac.liste_types_cache.length - 1; i >= 0; i--)
                {
                  if(checkTypeTransac.liste_types_cache[i] == this.name)
                  {
                    this.checked = true;
                  }
                }
              }
            );
            if (document.getElementById("recap_types"))
            {
                 document.getElementById("recap_types").disabled = false;
            }
          }
          // $("#ou_chercher p.legend").text("Où rechercher ?");
          // $("#ou_chercher .ou label").css("display", "block");
          $("#ou_chercher .ou label").text("par ville, département, codes postaux :");
        }
        fillTypeInputText();
        document.getElementById("form_recherche").className = "type_transac_"+$("input:first", this).attr("value");
      }
    }
  );
}
var dernieresParuTab = function()
{
  //On utilise les liens relatifs pour cibler les listes à masquer / afficher
  var listes_id = [];
  $("ul.menu a").each(
    function()
    {
      $(this).removeClass("checked");
      listes_id[listes_id.length] = $(this).attr("href");
    }
  );
  $(this).addClass("checked");//Seul l'ongle actif possède la classe "checked"
  for (var i = listes_id.length - 1; i >= 0; i--)
  {
    if(listes_id[i] !== $(this).attr("href"))
    {
      $("#"+listes_id[i].replace("#", "")).hide();//on masque tous les éléments ciblés par les liens du menu...
    }
    else
    {
      $("#"+listes_id[i].replace("#", "")).show();//...sauf celui du lien cliqué
      setCookie("dernieresParuTab", this.parentNode.id);
    }
  }
  return false;
}
function getCookie(name)
{
  var start = document.cookie.indexOf( name + "=" );
  var len = start + name.length + 1;
  if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
  {
    return null;
  }
  if ( start == -1 ) return null;
  var end = document.cookie.indexOf( ';', len );
  if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure )
{
  var today = new Date();
  today.setTime( today.getTime() );
  if ( expires )
  {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );
  document.cookie = name+'='+escape( value ) +
  ( ( expires ) ? ';expires='+expires_date.toGMTString() : '') + //expires.toGMTString()
  ( ( path ) ? ';path=' + path : '' ) +
  ( ( domain ) ? ';domain=' + domain : '' ) +
  ( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain )
{
  if ( getCookie( name ) ) document.cookie = name + '=' +
  ( ( path ) ? ';path=' + path : '') +
  ( ( domain ) ? ';domain=' + domain : '' ) +
  ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
jQuery(document).ready(
  function()
  {
    document.getElementsByTagName("body")[0].className += " javascript-on";
    $("#dl_type_recherche").append('<dd><a href="http://www.officiel-commerce.com" target="_blank">Fonds de commerce</a></dd>');
    $("#dl_type_recherche dd.neuf").after('<dd class=\"international\"><a class=\"label_international\" href="recherche-europe/">International <span class="elt1"></span><span class="elt2"></span></a></dd>');
    //$("#ou_chercher .ou").before('<dl id="gotroom"><dt>Vous recherchez :</dt><dd><label><input type="radio" class="input_radio" name="gotroom" value="1" checked="checked" /> Une chambre</label></dd><dd><label><input type="radio" class="input_radio" name="gotroom" value="O" /> Un colocataire</label></dd></dl>');
    checkTypeTransac();
    var recap_types = document.createElement("input");
    recap_types.type = "text";
    recap_types.readOnly = true;
    recap_types.className = "input_text";
    recap_types.id = "recap_types";
    document.getElementById("selec-type-bien").appendChild(recap_types);
    fillTypeInputText();
    $("#type_bien").mouseover(
      function()
      {
        if (!document.getElementById("recap_types") || document.getElementById("recap_types").disabled == false)
        {
          $("#liste-types").css("display","block");
        }
      }
    ).mouseout(
      function()
      {
        $("#liste-types").css("display","none");
      }
    );
    $("#liste-types").click(fillTypeInputText);
    var detail_text = document.createTextNode("Affiner la recherche");
    var detail_a = document.createElement("a");
    detail_a.href = "#";
    detail_a.appendChild(detail_text);
    document.getElementById("detail_p").appendChild(detail_a);
    $("#facultatifs_annonces").css("display", "none");
    $("#detail_p a").click(function(){$("#facultatifs_annonces").toggle("fast"); return false;});
    $("#dl_type_recherche dd").click(checkTypeTransac);
    $("ul.menu a").click(dernieresParuTab);
    if(getCookie("dernieresParuTab"))
    {
      $("#"+getCookie("dernieresParuTab")+" a").click();
    }
    else
    {
      $("ul.menu a:first").click();
    }
    $("#budget_mini").keypress(function(e){return limiterSaisie(this, e);});
    $("#budget_maxi").keypress(function(e){return limiterSaisie(this, e);});
    $("#surface_mini").keypress(function(e){return limiterSaisie(this, e);});
    $("#surface_maxi").keypress(function(e){return limiterSaisie(this, e);});
    localisationCP1 = new autocompletionLocalisation('cp1');
    $("#form_recherche").submit(
      function()
      {
        if(document.getElementById("type_transac_c").checked == true)
        {
          $("#form_recherche input").attr("disabled", true);
          $("#form_recherche select").attr("disabled", true);
          $("#form_recherche").attr("name", "search_quick").attr("method", "post").attr("action", "http://www.colocationfrance.fr//search_results/searchresults.asp?uid=&room=&la=&name=&hidden=&rid=pro&leadiid=&payiid=&userzip=");
          $("#form_recherche").append('<input type="hidden" name="radius" value="10" />');
          $("#form_recherche").append('<input type="hidden" name="gender" value="3" />');
          $("#form_recherche").append('<input type="hidden" name="minAge" value="18" />');
          $("#form_recherche").append('<input type="hidden" name="maxAge" value="99" />');
          $("#form_recherche").append('<input type="hidden" name="state" value="0" />');
          $("#form_recherche").append('<input type="hidden" name="city" value="" />');
          $("#form_recherche").append('<input type="hidden" name="zip" value="'+document.getElementById("cp1").value+'" />');
          $("#gotroom input").attr("disabled", false);
        }
      }
    );
  }
);