$(document).ready(function()
{     
      //préchargement des images ---
      var img_preloader = new Image;
      img_preloader.src = "images/interface/preloader.gif";
      
      // form type I > FRANCE =======================================================================================================
      
      //typetrans est definition par le bt qui a la class 'tchoice_sel'
       var typeTrans = parseInt($(".tchoice_sel").parent("li").prevAll().children("a").length)+1;
       
       var objData = {choice:null,typetrans:typeTrans,typelog:null};
       
        function verif_checkbox(objData)
        {
            var message="";
            if(objData.typelog == null)
            {
                message = "Veuillez cocher le type de produit qui vous intéresse.\n";
            }
            
            if(message != "")
            {
                alert(message);
                return "false";    
            } 
       }
       
        function to_url_value(str)
        {
             var charIn = ' ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ';
             var charOut = '-AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy';
             
             var tabCharIn = charIn.split("");
             var tabCharOut = charOut.split("");
             
             var tab = str.split("");
             var x;
             var y;
             for (x in tab)
             {  
                for (y in tabCharIn)
                {
                     if(tab[x] == tabCharIn[y])
                     {
                         tab[x] =  tab[x].replace(tabCharIn[y],tabCharOut[y]);
                     }
                }
                
             }
             str = (tab.toString()).replace(/,/g,"");
             return str;
      }

        function url_create(objData)
        {
            var urlDest = "";
            //recup des valeurs 4 possibilités
            
            if(objData.typetrans == 1 && objData.typelog == 1) //achat maison
            {
                urlDest = "http://www.trouver-une-residence-de-prestige.com/achat-maison-de-prestige-";
            }
            else if(objData.typetrans == 1 && objData.typelog == 2) //achat appart
            {
                urlDest = "http://www.trouver-une-residence-de-prestige.com/achat-immobilier-de-prestige-";
            }
            else if(objData.typetrans == 2 && objData.typelog == 1) //location maisons
            {
                urlDest = "http://www.trouver-une-residence-de-prestige.com/location-maison-de-prestige-";
            }
            else if(objData.typetrans == 2 && objData.typelog == 2) //location appart
            {
                urlDest = "http://www.trouver-une-residence-de-prestige.com/location-immobilier-de-prestige-";
            }
            
            /*
            switch(objData.choice)
            {
            case 1:
              urlDest = "maisons-de-prestige-";
              break;    
            case 2:
              urlDest = "residences-de-prestige-";
              break;
            case 3:
              urlDest = "appartements-de-prestige-";
              break;
            case 4:
              urlDest = "logements-de-prestige-";
              break;
            default:
              urlDest = "residence-de-prestige-";    
            } 
            */
            
            //vérif champs géoloc ---------------
          
            var pattern = /^[0-9]{5}/;
            var cp = pattern.exec(objData.geoloc);
            if(cp)
            {
                var ville = to_url_value(objData.geoloc.substring(6).toLowerCase());
                cp = cp.toString().substring(0,2);
                urlDest += ville+"-"+cp+".html";
            }
            else
            {
                var geoloc = ((objData.geoloc).toLowerCase()).replace(' ','-');
                urlDest += to_url_value(geoloc)+".html";         
            }

            //redirection page url rewriting
            //alert(urlDest);
            window.location.href = urlDest;     
      }
      
        $("#tchoice a:last").hover(
          function () {
            $(this).css({cursor:"not-allowed"}).append($("<div class='helpInfo'>Bientôt disponible</div>")).find(".helpInfo")
            .css({position:"absolute",color:"red",background:"white","z-index":"100",width:"150px",height:"25px"});
          }, 
          function () {
            $(this).css({cursor:"auto"}).find(".helpInfo").remove();
          }
        );

        
        $("#tchoice a").click(function()
        {
          /*
          $("#tchoice a").removeClass();
          $(this).addClass('tchoice_sel');
          */
          //vente ou location
          var index = parseInt($(this).parent("li").prevAll().children("a").length)+1; 
          if(index == 1)
          {
                objData.typetrans = 1;
          }
          else if(index == 2)
          {
                alert("Nos biens à louer ne sont pas actuellement disponible en ligne.");
                //objData.typetrans = 2;   
          }
               
          
        });                   
       
        $(".checkbox").click(function()
        {    
           var index = parseInt($(this).parent("dt").prevAll().children(".checkbox").length)+1;  
           if(index == objData.typelog)
           {
                objData.typelog = null;
                $(this).css({background:"url(http://www.trouver-une-residence-de-prestige.com/images/interface/checkbox2.gif) 0 0"});
           }   
           else
           {
                objData.typelog = index;
                $(".checkbox").css({background:"url(http://www.trouver-une-residence-de-prestige.com/images/interface/checkbox2.gif) 0 0"});
                $(this).css({background:"url(http://www.trouver-une-residence-de-prestige.com/images/interface/checkbox2.gif) 0 18px"});
           }
        });       
       
        $("input[@name='geoloc']").autocomplete("http://www.trouver-une-residence-de-prestige.com/recherche/advanced_search.php",
        {
          minChars: 3,
          max: 20,
          scroll: false,
          selectFirst: false,
          scrollHeight: 300
          /*
          ";
          if($id_this_region)
          { 
              echo 
              ",
              extraParams: {region:\"".$nomGETvalue_this_region."\"}";
          } */
        });
   
        //geoloc habiter gestion des résultats autocomplete 
        
        $("input[@name='geoloc']").result(function(event, data, formatted) 
        {  
           var test = verif_checkbox(objData);   
           if(test == "false"){ return false;}
           
           if(formatted)
           {
              objData.geoloc = formatted; 
              url_create(objData); 
           }
        }); 
       
        $("input[@name='geoloc']").click(function()
        {
         $(this).val("").css({border:"solid 1px #A7A6AA"});  
      });
            
      //masquer les propositions de villes ( afficher lors du click sur search avant autocomplete)
      $(":not(.choice)").click(function(){ $("#cont").remove(); });   
      
      $("#search").click(function()
      {     
            var test = verif_checkbox(objData);   
            if(test == "false"){ return false; }
            
            var message = "";    
            var geoloc = $("input[@name='geoloc']").val();
            
            if(geoloc == "" || geoloc == "Ville, département, code postal")
            {
                message += "Veuillez préciser la localisation (ville, déaprtement, code postal) qui vous intéresse.\n";
                $("input[@name='geoloc']").css({border:"solid 1px red"});
            }
            
            if(message != "")
            {
                alert(message); 
            }
            else
            {
                //envoi de la requete avec la valeur actuelle de geoloc
                var formData = {q:geoloc,limit:20}; 
                $.ajax(
                {
                    type: "GET",
                    url: "http://www.trouver-une-residence-de-prestige.com/recherche/advanced_search.php",   
                    data: formData,
                    dataType: "html",
                    success: function(data)
                    {   
                        var listRes = ""; 
                   
                        //positionnement
                        var offset = $("input[name='geoloc']").offset();
                        var eleft = offset.left+"px"; 
                        var etop = offset.top+"px";
                        var ewidth = $("input[@name='geoloc']").width(); 

                        //formatage des données 
                        var rows = data.split("\n");
                        var num = rows.length-1;
                        
                        if(num > 0)
                        {  
                            if(num == 1 )
                            {
                                objData.geoloc = rows[0];
                                url_create(objData); 
                            }
                            else
                            {     
                                  for (var i=0; i < rows.length; i++) 
                                  {
                                       var row = $.trim(rows[i]);
                                       if (row) { listRes += "<li class='choice'>"+row+"</li>"; };
                                  } 
                                  
                                  $("body").prepend("<div id='cont'><p class='mention'>Résultats possibles :</p>"+
                                  "<ul id='aj_callback'>"+listRes+"</ul></div>");
                                  
                                  $("#cont").css({position:"absolute","z-index":"1000",top:etop,left:eleft,
                                  padding:"2px",background:"white",border:"solid 1px #000","font-size":"11px"})
                                  .children().css({"list-style-type":"none",width:ewidth}).children().css({"font-size":"10px"});
                                  $(".mention").css({background:"#E1E5ED"});
                                
                                  $(".choice").hover(
                                    function(){
                                    $(this).css({cursor:"pointer",background:"#8695B6"});
                                  },
                                    function(){
                                    $(this).css({cursor:"defaut",background:"white"});  
                                  }
                                  );                             
                            }

                          $(".choice").click(function()
                          {
                                objData.geoloc = $(this).text(); 
                                url_create(objData); 
                          }); 
                        }
                        else
                        {
                            var msg = "Nous n'avons trouvé aucun résultat correspondant à votre requête.";
                            alert(msg);
                        }   
                    }
                }); 
            
            }
            
            return false;
      });
      
      // animation des dernières annonces ===========================================================================================
      
      $('#scroll_annonces').cycle({ 
            fx: 'turnRight',
            pause: 1, 
            speed:    500, 
            timeout:  3000
      });
      
      // ajoute un target = blank pour liens vers exterieur
      
      $("#list_site a:lt(2), #scroll_annonces a, #footer_menu a:eq(2),#footer_menu a:eq(3), .new_tools").attr({target:"_blank"});   
         

      
      //adapt hauteur de zoom_sur = form_recherche /!\ padding 2px
      var formH = $("#form_recherche").height();
      $("#zoom_sur").css({height:formH-4});
      
      //changement de pays
      $("select[name='pays']").change(function()
      {
          window.location.href = "http://www.trouver-une-residence-de-prestige.com/"+$(this).val();
      });
      
      
      // animation des visuels en slideshow
       
                         
       if($("#illu").length){   
       $("#illu").slideshow({timeout: 4000});
       }     
      
});