
var markers = [];
var hmarkers = [];
var refreshmap=1;
var category="";
var what;
var filter;
var lastorder;
var lastfilter;
var lastzoom;
var lastlng;
var lastlat;
var firstlng;
var firstlat;
var lastwhat;
var distance;
   
function load(XMLUrl,SEARCH_LIMIT) {
                 
    if (GBrowserIsCompatible()) {
            
        var XMLMap=XMLUrl;
        var XMLUrlBase = XMLUrl;
        var curSearch = $('search_description');
         
        var mapdiv=document.getElementById("map");
        var map = new GMap2(mapdiv);
      
        //map.addControl(new GSmallMapControl());
        //map.addControl(new GMapTypeControl());
        //map.addControl(new GScaleControl());
        map.addControl(new GScaleControl());
        map.enableDoubleClickZoom() ;
        //Event Observer

        //Event.observe($('map_up'), "click", function() {map.panDirection(0,1);refreshmove()});
        //Event.observe($('map_down'), "click", function() {map.panDirection(0,-1);refreshmove()});
        //Event.observe($('map_left'), "click", function() {map.panDirection(1,0);refreshmove()});
        //Event.observe($('map_right'), "click", function() {map.panDirection(-1,0);refreshmove()});
        Event.observe($('map_in'), "click", function() {map.zoomIn()});
        Event.observe($('map_out'), "click", function() {map.zoomOut();});
  
        Event.observe($('map_satelitte'), "click", function() {
            map.setMapType(G_SATELLITE_MAP);
            $('map_satelitte').addClassName("active");
            $('map_hybrid').removeClassName("active");
            $('map_normal').removeClassName("active");
        });

        Event.observe($('map_hybrid'), "click", function() {
            map.setMapType(G_HYBRID_MAP);
            $('map_hybrid').addClassName("active");
            $('map_satelitte').removeClassName("active");
            $('map_normal').removeClassName("active");
        });

        Event.observe($('map_normal'), "click", function() {
            map.setMapType(G_NORMAL_MAP);
            $('map_normal').addClassName("active");
            $('map_satelitte').removeClassName("active");
            $('map_hybrid').removeClassName("active");

        });
   
        Event.observe($('map_enlarge'), "click", function() {
            mapdiv.style.height=600+"px";
            mapdiv.style.width=640+"px";
            mapdiv.style.left=-250+"px";
            $('map_reduce').show();
            $('map_enlarge').hide();
            map.checkResize();
            map.panDirection(0,+1)
            //refreshmove();
        });

        Event.observe($('map_reduce'), "click", function() {
            mapdiv.style.height=300+"px";
            mapdiv.style.width=340+"px";
            mapdiv.style.left=0+"px";
            $('map_enlarge').show();
            $('map_reduce').hide();
            map.checkResize();
            map.panDirection(0,-1)
            //refreshmove();
        });

        var map_slider=new Control.Slider('map_slider_handle','map_slider_track',{
            axis: 'vertical',

            range:$R(zoom_max,zoom_min),
            values:[17,16,15,14,13,12,11,10,9,8,7,6,5,4],
            onChange:function(v){
                zoom=v;
                map.setZoom(v);
            }});
  
            $$('#search_order select ').each( function(el) {

                Event.observe(el,'change',function(event) {

                    if (lastorder!=el.options[el.selectedIndex].value) {

                        XMLMap=qs(XMLUrl,"order",el.options[el.selectedIndex].value);
                        XMLMap=qs(XMLMap,"offset",0);
                        refreshMap(XMLMap);
                    }
                });
            });

            $$('#search_filter input').each( function(el) {

                Event.observe(el,'click',function(event) {

                    var f="";
                    if (lastfilter!=undefined) f=lastfilter+"|";

                    if (el.checked) XMLMap=qs(XMLUrl,"filter",f+el.value+"=1");
                    else XMLMap=qs(XMLUrl,"filter",f+el.value+"=0");

                    XMLMap=qs(XMLMap,"offset",0);
                    refreshMap(XMLMap);

                });
            });


            $$('#map_center').each( function(el) {

                Event.observe(el,'click',function(event) {

                    var point = new GLatLng(parseFloat(firstlat),parseFloat(firstlng));
                    map.setCenter(point,zoom);
                    refreshmove()
                });
            });
            
             $$('#search_filters input').each( function(el) {
                    Event.observe(el, "click", function(event) {

                      if(el.checked){                           
                        XMLMap=qs_2(XMLUrl,el.name,el.getValue()); 
                      }else{          
                        XMLMap=qs_2(XMLUrl,el.name,el.value,true); 
                      }
                      XMLMap=qs(XMLMap,"offset",0);
                      refreshMap(XMLMap,['C','F','P','D']);  
                    });
             });
             
             $$('#search_price_ranges input').each( function(el) {
                    Event.observe(el, "click", function(event) {

                      if(el.checked){                           
                        XMLMap=qs_2(XMLUrl,el.name,el.getValue()); 
                      }else{          
                        XMLMap=qs_2(XMLUrl,el.name,el.value,true); 
                      }
                      XMLMap=qs(XMLMap,"offset",0);
                      refreshMap(XMLMap,['C','F','P','D']);  
                    });
             });
             
                         
            $$('#search_related_categories input').each( function(el) {
                    Event.observe(el, "click", function(event) {

                      if(el.checked){                           
                        XMLMap=qs_2(XMLUrl,el.name,el.getValue()); 
                      }else{          
                        XMLMap=qs_2(XMLUrl,el.name,el.value,true); 
                      }
                      XMLMap=qs(XMLMap,"offset",0);
                      refreshMap(XMLMap,['C','F','P','D']);      
                    });
                });
            
            //onglet de tri des résultats de recherche
            var active = function(el){ el.addClassName('active'); };
            var deactive = function(el){ el.removeClassName('active'); };
            var unchecked = function(el) { el.checked = false; };
            function addClickSearch(el,filter,pro){
            	Event.observe(el,"click",function(event){
                	curSearch = el;
                	$$('#search_table span.desc').each(deactive);
                	active(el);
                	XMLMap = XMLUrlBase;
                	if(pro){
                		morecats.each( function(el){
                			XMLMap = qs_2(XMLMap,'categories[]',el);
                		});
                		XMLMap = qs(XMLMap,'what','');
                	}
                	XMLMap=qs_2(XMLMap,'filters[]',filter);
                	refreshMap(XMLMap,['C','F','P','D']);
                	//decocher tous les filtres
                	$$('#search_filters input').each(unchecked);
                	$$('#search_price_ranges input').each(unchecked);
                	$$('#search_related_categories input').each(unchecked);
                });
            }
            $$('#search_table span.desc').each( function(el) {
            	Event.observe(el,"mouseover", function(event){
            		el.addClassName('hover');
            	});
            	Event.observe(el,"mouseout", function(event){
            		el.removeClassName('hover');
            	});
            });
            addClickSearch($('search_description_item'), 'object.type:1', false);
            addClickSearch($('search_description_pro'), 'object.type:2', true);
            // changer les titres du tableau
            Event.observe($('search_description_item'),"click", function(event){
            	$('search_thead_loueur').hide();
        		$('search_thead_objet').show();
        	});
            Event.observe($('search_description_pro'),"click", function(event){
            	$('search_thead_objet').hide();
        		$('search_thead_loueur').show();
        	});
          


            /*--------------------------------------------
            refresh move
            refresh when the map if moved (because moveend
            takes window move into account
            ----------------------------------------------*/

            function refreshmove() {

                var center = map.getCenter();
                var lat= center.lat();
                var lng=center.lng();

                zoom=map.getZoom();
                newcenter=new GLatLng(parseFloat(lat),parseFloat(lng));
                lastcenter=new GLatLng(parseFloat(lastlat),parseFloat(lastlng));
                  
                if  ((newcenter.distanceFrom(lastcenter)>lastdistance/3)) {
                    XMLMap=qs(XMLUrl,"lat",Math.round(lat*100000)/100000);
                    XMLMap=qs(XMLMap,"lng",Math.round(lng*100000)/100000);
                    refreshMap(XMLMap,['C','F','P','D']);
                }
            }



            function refreshEvent() {   


                //Save in Cookies
                $$('a.link').each(function(el) {
                    Event.observe(el, "click", function() {
                        Set_Cookie('ZiXMLUrl',XMLUrl,1,'/');
                        //alert(XMLUrl);
                    });
                });

                 $$('#search_distance input').each( function(el) {
                    Event.observe(el, "click", function(event) {

                      if(el.checked){                           
                        XMLMap=qs(XMLUrl,el.name,el.getValue()); 
                        XMLMap=qs(XMLMap,"offset",0);
                        refreshMap(XMLMap,['C','F','P','D']);  
                      }
                      Event.stop(event);  
                    });
                 });
                 
                $$('#search_pages li').each( function(el) {    
                    Event.observe(el, "click", function(event) { 
                        var offset=el.title;
                        XMLMap=qs(XMLUrl,"offset",offset);
                        refreshMap(XMLMap);

                        Event.stop(event);
                    });
                });
                
                $$('#search_pages_10 li').each( function(el) {
                    Event.observe(el, "click", function(event) {
                        var offset=el.title;
                        XMLMap=qs(XMLUrl,"offset",offset);
                        refreshMap(XMLMap);

                        Event.stop(event);
                    });
                });
                
                $$('#search_pages_100 li').each( function(el) {
                    Event.observe(el, "click", function(event) {
                        var offset=el.title;
                        XMLMap=qs(XMLUrl,"offset",offset);
                        refreshMap(XMLMap);

                        Event.stop(event);
                    });
                });


                $$('#search_items .marker').each( function(el) {
                    Event.observe(el, "click", function(event) {
                        var position=el.id;
                        displayInfoWindow(position);
                    });
                });
                

                $$('#search_related_tags a').each( function(el) {
                    Event.observe(el, "click", function(event) {

                        var tag=el.title;
                        if (lastwhat) lastwhat=lastwhat+" "+tag;
                        else lastwhat=tag;

                        $('search_what').value=lastwhat;

                        $('search_what').value=lastwhat;
                        XMLMap=qs(XMLUrl,"what",lastwhat);
                        XMLMap=qs(XMLMap,"offset",0);

                        refreshMap(XMLMap);

                        Event.stop(event);
                    });
                });

            }




            // When Zoom is used, change distance and refresh map
            GEvent.addListener(map,"zoomend", function() {

                zoom=map.getZoom();
                  
                if ((lastzoom-zoom)!=0) {
                    map_slider.setValue(zoom);
                    XMLMap=qs(XMLUrl,"distance",zooms[zoom]);
                    refreshMap(XMLMap,['C','F','P','D']);
                }

            });



            //When map is draged, check if it has been dragged enough and refresh the map
            GEvent.addListener(map,"dragend", function() {
                refreshmove()

            });




            // Function to inialize
            GDownloadUrl(XMLMap, function(data) {         
                     
                var xml = GXml.parse(data);         
                var lat=xml.documentElement.getElementsByTagName("lat")[0].firstChild.nodeValue;     
                var lng=xml.documentElement.getElementsByTagName("lng")[0].firstChild.nodeValue;
                var distance=xml.documentElement.getElementsByTagName("distance")[0].firstChild.nodeValue;
                var order=xml.documentElement.getElementsByTagName("order")[0].firstChild.nodeValue;
                
                var categories=xml.documentElement.getElementsByTagName("categories");
                var features=xml.documentElement.getElementsByTagName("features");
                var priceRanges=xml.documentElement.getElementsByTagName("price_ranges");  
                var distanceRanges=xml.documentElement.getElementsByTagName("distance_ranges"); 
                var distance=xml.documentElement.getElementsByTagName("distance")[0].firstChild.nodeValue;
                
                updateCategories(categories);    
                updateFeatures(features);   
                updatePriceRanges(priceRanges); 
                updateDistanceRanges(distanceRanges,distance);
                
                
                if (xml.documentElement.getElementsByTagName("what")[0]) {
                    var what=xml.documentElement.getElementsByTagName("what")[0].firstChild.nodeValue;
                }

                if (xml.documentElement.getElementsByTagName("filter")[0]) {
                    var filter=xml.documentElement.getElementsByTagName("filter")[0].firstChild.nodeValue;
                }

                var group=xml.documentElement.getElementsByTagName("group")[0].firstChild.nodeValue;

                var point = new GLatLng(parseFloat(lat),parseFloat(lng));
                if(zoom==0) { zoom=distances[distance]; }

                lastlat=lat;
                lastlng=lng;
                firstlat=lat;
                firstlng=lng;
                lastdistance=distance;
                lastorder=order;
                lastwhat=what;
                lastzoom=zoom;

                lastfilter=filter;

                map.setCenter(point,zoom);
                map_slider.setValue(zoom);
                var markers = xml.documentElement.getElementsByTagName("item");
                                                                                             
                $('map_reduce').hide();
                $('map_normal').addClassName("active");
                displayMarker (markers);

                if(group=="location_id") {
                    displayInfoWindowsShop(markers);
                    refreshmap=0;
                }
                else {         
                    displayInfoWindows(markers);
                    refreshmap=1;
                }                              
                
                createMarker(point,0,'');
                refreshEvent();

            });

            function refreshMap(XMLMap,refreshFilters) {
                
                if(refreshmap==1) {

                XMLUrl=XMLMap;
                //Display Waiting
                $("loading_icon").show();


                //Remove Markers
                map.clearOverlays();

                //Remove Windows
                var element =$("info");
                while (element.firstChild) {
                    element.removeChild(element.firstChild);
                }

                //Remove Items
                var element = $("search_items");
                while (element.firstChild) {
                    element.removeChild(element.firstChild);
                }

                //Remove Pages
                var element = $("search_pages");
                while (element.firstChild) {
                    element.removeChild(element.firstChild);
                }
                
                var element = $("search_pages_10");
                while (element.firstChild) {
                    element.removeChild(element.firstChild);
                }
                
                var element = $("search_pages_100");
                while (element.firstChild) {
                    element.removeChild(element.firstChild);
                }

                //Update Search Feed
                //$("search_feed").href=XMLMap+"&format=rss";



                GDownloadUrl(XMLMap, function(data) {       

                    var xml = GXml.parse(data);
                    var markers = xml.documentElement.getElementsByTagName("item");
                    var pages = xml.documentElement.getElementsByTagName("page");
                    var total_result=xml.documentElement.getElementsByTagName("total_result")[0].firstChild.nodeValue;
                    var offset=xml.documentElement.getElementsByTagName("offset")[0].firstChild.nodeValue; 
                    var categories=xml.documentElement.getElementsByTagName("categories");
                    var features=xml.documentElement.getElementsByTagName("features");
                    var priceRanges=xml.documentElement.getElementsByTagName("price_ranges");  
                    var distanceRanges=xml.documentElement.getElementsByTagName("distance_ranges"); 
                    //var categories =related[0].getElementsByTagName("category");
                    //var related_tags =related[0].getElementsByTagName("tag");
                    var distance=xml.documentElement.getElementsByTagName("distance")[0].firstChild.nodeValue;

                    var title=xml.documentElement.getElementsByTagName("title")[0].firstChild.nodeValue;
                    var language=xml.documentElement.getElementsByTagName("language")[0].firstChild.nodeValue;
                    var description=xml.documentElement.getElementsByTagName("description")[0].firstChild.nodeValue;
                    var link=xml.documentElement.getElementsByTagName("link")[0].firstChild.nodeValue;
                    var order=xml.documentElement.getElementsByTagName("order")[0].firstChild.nodeValue;

                    if (xml.documentElement.getElementsByTagName("what")[0]) {
                        var what=xml.documentElement.getElementsByTagName("what")[0].firstChild.nodeValue;
                    }

                    if (xml.documentElement.getElementsByTagName("filter")[0]) {
                        var filter=xml.documentElement.getElementsByTagName("filter")[0].firstChild.nodeValue;

                    }
                        
                    if($('search_title')!=null){ $('search_title').update(title); }
                    //curSearch.update(curSearch.title + ' <span>' + description+'</span>');


                    displayMarker(markers);
                    displayItem(markers,language);
                    displayInfoWindows(markers);
             
                    if(Object.isArray(refreshFilters)){ 
                        refreshFilters.each(function(val){
                            if(val=='C') updateCategories(categories);    
                            if(val=='F') updateFeatures(features);   
                            if(val=='P') updatePriceRanges(priceRanges); 
                            if(val=='D') updateDistanceRanges(distanceRanges,distance);
                        });
                    }
                          
                    //displayPage(pages);
                    displayPage(total_result,offset);
                             
                   // displayRelatedTag(related_tags,link);

                    var lat=xml.documentElement.getElementsByTagName("lat")[0].firstChild.nodeValue;
                    var lng=xml.documentElement.getElementsByTagName("lng")[0].firstChild.nodeValue;
                    var point = new GLatLng(parseFloat(lat),parseFloat(lng));

                    //Create User Marker
                    createMarker(point,0,'');
                    lastlat=lat;
                    lastlng=lng;
                    lastzoom=zoom;
                    lastorder=order;
                    lastwhat=what;
                    lastfilter=filter;
                    lastdistance=distance;
                       
                    //remove Waiting

                    //drawCircle(map.getCenter(), 0.05+0.001, '#0000FF', 1, 0.8);
                    $("loading_icon").hide();
                                                
                    //Refresh Onclick Event ( Modifying by dom creation)
                    //activeMultiSelect("items");          
                    refreshEvent();
                    magnify();
                });
                }
                else {
                    return True;
                }
                
                scroll(0,200);
            }

            function updateCategories(categories){  
                    $('search_related_categories').getElementsBySelector('li').each(function(liElt){
                        liElt.getElementsBySelector('span')[0].hide();
                    });
                    var k=0;
                    for(var i=0;i<categories[0].getElementsByTagName("category").length;i++){ 
                        var category = categories[0].getElementsByTagName("category")[i];
                        var subcategories = category.getElementsByTagName("subcategories");
                        for(var j=0;j<subcategories[0].getElementsByTagName("subcategory").length;j++){
                            var subcategory = subcategories[0].getElementsByTagName("subcategory")[j];
                            if($('sc_'+subcategory.getAttribute('code'))!=null){
                                if(subcategory.getAttribute('number_item')==0){
                                    $('sc_'+subcategory.getAttribute('code')).getElementsBySelector('span')[0].hide();
                                }else{   
                                    k++;
                                    var k_subcategory=subcategory;    
                                    $('sc_'+subcategory.getAttribute('code')).getElementsBySelector('span')[0].show();
                                    $('sc_'+subcategory.getAttribute('code')).getElementsBySelector('span')[1].update(subcategory.getAttribute('number_item'));     
                                } 
                            }                                      
                        }
                     }   /*
                     if(k==1){
                        var img = new Element('img',{'style':'float:left; margin:5px 20px 5px 10px'});
                        img.src=k_subcategory.getElementsByTagName("image")[0].getAttribute('url');
                        img.title=k_subcategory.getElementsByTagName("image")[0].firstChild.nodeValue;
                      
                        var div = new Element('div',{'style':'display:block; padding-top:5px'});
                        var h2 = new Element('h2',{'style':'color:#000000; margin:0; border:0; padding:0'});
                        h2.update(k_subcategory.getElementsByTagName("name")[0].firstChild.nodeValue);
                        var p = new Element('p',{'style':'margin:0; padding:0'});
                        p.update(k_subcategory.getElementsByTagName("description")[0].firstChild.nodeValue);
                        div.insert(h2);
                        div.insert(p);
                        $('search_related_categories_one').update('');
                        $('search_related_categories_one').insert(img);
                        $('search_related_categories_one').insert(div);
                        $('search_related_categories').hide();
                        $('search_related_categories_one').show();                                 
                     }else{
                      $('search_related_categories_one').hide();
                      $('search_related_categories').show();
                     }
                     */   
            }

            function updateFeatures(features){             
              var featuresNameArr = new Array('items_with_image','items_without_deposit','members_pro','members_private');
              featuresNameArr.each(function(name){
                  if(features[0].getElementsByTagName(name)[0].getAttribute('number_item')==0){
                     //$("f_"+name).getElementsBySelector('span')[0].hide();
                     if($('f_cb_'+name) && !$('f_cb_'+name).disabled){
                       $('f_'+name).fade({ duration: 1.0, from: 1, to: 0.2 });  
                       $('f_'+name).getElementsBySelector('span')[1].update(0); 
                       $('f_cb_'+name).disabled=true;
                     }
                  }else{
                     if($('f_cb_'+name) && $('f_cb_'+name).disabled){ 
                        $('f_'+name).fade({ duration: 1.0, from: 0.2, to: 1 });   
                        $('f_cb_'+name).disabled=false; 
                     }  
                     //$("f_"+name).getElementsBySelector('span')[0].show(); 
                     if ($('f_cb_'+name)) $("f_"+name).getElementsBySelector('span')[1].update(features[0].getElementsByTagName(name)[0].getAttribute('number_item'));
                  }
              });                  
            }
            
            function updatePriceRanges(priceRanges){      
                    for(var i=0;i<priceRanges[0].getElementsByTagName("range").length;i++){      
                          var range = priceRanges[0].getElementsByTagName("range")[i];
                          if($('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max'))!=null){   
                              if(range.getAttribute('number_item')==0){
                                if(range.getAttribute('disabled')=='true'){
                                    if(!$('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled){   
                                        $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).getElementsBySelector('span')[1].update(0);
                                        $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).getElementsBySelector('span')[0].show(); 
                                        $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).fade({ duration: 1.0, from: 1, to: 0.2 }); 
                                        $('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled=true; 
                                    }
                                }else{
                                    if($('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled){
                                        $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).fade({ duration: 1.0, from: 0.2, to: 1 });
                                        $('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled=false;
                                    }
                                    $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).getElementsBySelector('span')[0].hide();    
                                }      
                              }else{    
                                if($('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled){
                                    $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).fade({ duration: 1.0, from: 0.2, to: 1 });
                                    $('pr_cb_'+range.getAttribute('min')+'-'+range.getAttribute('max')).disabled=false;
                                }else{
                                    $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).getElementsBySelector('span')[0].show();
                                }
                                $('pr_'+range.getAttribute('min')+'-'+range.getAttribute('max')).getElementsBySelector('span')[1].update(range.getAttribute('number_item'));
                              }      
                          }                          
                    }                        
            }
            
            function updateDistanceRanges(distanceRanges,distance){  
                 /*
                    $('search_distance').getElementsBySelector('li').each(function(liElt){
                        liElt.getElementsBySelector('span')[0].hide();
                    });
                   */ 
                   if ( $('search_distance')) $('search_distance').getElementsBySelector('ul')[0].update('');
                    
                    for(var i=0;i<distanceRanges[0].getElementsByTagName("range").length;i++){
                          var range = distanceRanges[0].getElementsByTagName("range")[i];
                          
                          var unit = distanceRanges[0].getAttribute('unit');
                          var dis = (Math.round((range.getAttribute('max')/distanceRanges[0].getAttribute('ratio'))*10))/10;
                            
                          var li = new Element('li');
                          var radio = new Element('input',{'name':'distance','type':'radio','value':range.getAttribute('max'), 'id':'dr_cb_'+range.getAttribute('max')});
                          if(range.getAttribute('selected')=='yes') radio.checked='checked';
                          var spanNumber = new Element('span');
                          spanNumber.update(range.getAttribute('number_item'));
                          li.insert(radio);
                            
                          var label = new Element('label',{'for':'dr_cb_'+range.getAttribute('max'),'title':'< '+dis+' '+unit});
                          label.insert('&nbsp;<&nbsp;'+dis+'&nbsp;'+unit);
                          
                          var span = new Element('span');
                          
                          span.insert('&nbsp;(');
                          span.insert(spanNumber);          
                          span.insert(')');
                          
                          label.insert(span);                                
                          li.insert(label);                                
                          
                          if ( $('search_distance')) $('search_distance').getElementsBySelector('ul')[0].insert(li); 
                      
                          if(range.getAttribute('disabled')=='true'){
                              if(range.getAttribute('number_item')==0){
                                 spanNumber.update(0);
                                 li.fade({ duration: 1.0, from: 1, to: 0.2 });
                                 radio.disabled=true;  
                              }  
                          }else{
                            if(range.getAttribute('number_item')==0) span.hide();
                          }
                      /*
                         if($('dr_'+range.getAttribute('max'))!=null){
                              if(range.getAttribute('number_item')==0){
                                  $('dr_'+range.getAttribute('max')).getElementsBySelector('span')[0].hide(); 
                              }else{
                                $('dr_'+range.getAttribute('max')).getElementsBySelector('span')[0].show();
                                $('dr_'+range.getAttribute('max')).getElementsBySelector('span')[1].update(range.getAttribute('number_item'));
                                if(distance==range.getAttribute('max')){ $('dr_cb_'+range.getAttribute('max')).checked=true;} 
                              }
                          }  
                          */                        
                    }   
                    
                    
            }
            
            function DisplayUser() {                 
            }
                        
            function displayPage(total_result,offset) {
                var search_pages = $('search_pages');             
                var search_pages_10 = $('search_pages_10');
                var search_pages_100 = $('search_pages_100');    
                
                var totalPage = Math.ceil(total_result/SEARCH_LIMIT);
                var current = Math.floor((offset*totalPage)/total_result)+1;
                var start = (Math.floor(current/10))*10;
                if(start==0){ start+=1; var end = start+9; }else{ var end = start+10; }
                if(end>totalPage) end = totalPage+1;
                
                if(current>1){
                  var offset2= ((current-2)*SEARCH_LIMIT);
                  var li_page=document.createElement('li');
                  if(current==p){ li_page.className='a active'; } else li_page.className='a';
                  li_page.innerHTML='&lt;';
                  li_page.title=offset2;
                  li_page.href="#";
                  search_pages.appendChild(li_page);  
                }
                for( var p = start; p<end; p++){
                  var offset2= ((p-1)*SEARCH_LIMIT);
                  var li_page=document.createElement('li');
                  if(current==p){ li_page.className='a active'; } else li_page.className='a';
                  li_page.innerHTML=p;
                  li_page.title=offset2;
                  li_page.href="#";
                  search_pages.appendChild(li_page);
                }
                if(current<totalPage){
                  var offset2= ((current)*SEARCH_LIMIT);
                  var li_page=document.createElement('li');
                  if(current==p){ li_page.className='a active'; } else li_page.className='a';
                  li_page.innerHTML='>';
                  li_page.title=offset2;
                  li_page.href="#";
                  search_pages.appendChild(li_page);                         
                }
                
                var endTotal10 = (Math.floor(totalPage/10)*10)+10;
                var current10 = Math.floor(current/10)*10;
                var start10 = (Math.floor(current/100)*100);
                if(start10==0) start10+=10; 
                var end10 = start10+90;
                if(end10>endTotal10) end10 = endTotal10;
                
                for( var p = start10; p<end10; p+=10){
                 if(p>0){
                  var offset2= ((p-1)*SEARCH_LIMIT);
                  var li_page=document.createElement('li');
                  if(current==p){ li_page.className='a active'; } else li_page.className='a';    
                  li_page.innerHTML=p;
                  li_page.title=offset2;
                  li_page.href="#";
                  search_pages_10.appendChild(li_page);
                 }
                }     
                
                var endTotal100 = (Math.floor(totalPage/10)*10)+10;
                var start100 = (Math.floor(current/100)*100);
                if(start100==0) start100+=100; 
                var end100 = start100+900;
                if(end100>endTotal100) end100 = endTotal100;
                
                for( var p = start100; p<end100; p+=100){
                 if(p>0){
                  var offset2= ((p-1)*SEARCH_LIMIT);
                  var li_page=document.createElement('li');
                  if(current==p){ li_page.className='a active'; } else li_page.className='a';    
                  li_page.innerHTML=p;
                  li_page.title=offset2;
                  li_page.href="#";
                  search_pages_100.appendChild(li_page);
                 }
                }           
            }
            
            function displayRelatedTag(related_tags,link) {
                var search_related_tags = $('search_related_tags');
                for (var i = 0; i < related_tags.length; i++) {        

                    var value = related_tags[i].getAttribute('value');
                    var tag = related_tags[i].firstChild.nodeValue;
                    var li_tag=document.createElement('li');
                    var a_tag=document.createElement('a');
                    a_tag.innerHTML=tag+" ("+value+")";
                    a_tag.href="#";
                    a_tag.title=tag;
                    li_tag.appendChild(a_tag);

                    search_related_tags.appendChild(li_tag);
                }

            }

            function displayMarker (markers) {

                // Create PlaceMark Marker
                for (var i = 0; i < markers.length; i++) {
                    var lat = markers[i].getElementsByTagName("lat")[0].firstChild.nodeValue;
                    var lng = markers[i].getElementsByTagName("lng")[0].firstChild.nodeValue;
                    var point = new GLatLng(parseFloat(lat),parseFloat(lng));
                    createMarker(point,i+1,'');

                }
            }


            /*-----------------------------------------
            displayInfoWindow (markers object)
            create inforWindow Div
            ------------------------------------------*/

            function displayInfoWindows(markers) {    

                var infodiv = document.getElementById('info');


                for (var i = 0; i < markers.length; i++) {      
                           

                    //Object

                    var title= markers[i].getElementsByTagName("title")[0].firstChild.nodeValue;
                    var link= markers[i].getElementsByTagName("link")[0].firstChild.nodeValue;
                    var distance= markers[i].getElementsByTagName("distance")[0].firstChild.nodeValue;
            
                    //Images
                    var img=markers[i].getElementsByTagName("thumb")[0];
                    var imgSrc= img.getAttribute('url');
                    var imgWidth= img.getAttribute('width');
                    var imgHeight= img.getAttribute('height');

                    var evaluation_rating= markers[i].getElementsByTagName("evaluation_rating")[0].firstChild.nodeValue;
                    var evaluation_number= markers[i].getElementsByTagName("evaluation_number")[0].firstChild.nodeValue;
                    var price= markers[i].getElementsByTagName("price")[0].firstChild.nodeValue;
                    var currency= markers[i].getElementsByTagName("price")[0].getAttribute('currency');
        
                    var newEl = document.createElement('div');
                    newEl.setAttribute('id','info_'+(i+1));
                    var imgHtml='<div class="image"><img src="'+imgSrc+'" width="'+imgWidth+'" height="'+imgHeight+'" /></div>';
                    newEl.innerHTML=imgHtml+'<a href="'+link+'" class="link"><b>'+title+'</b></a><p>'+formatRating(evaluation_rating)+' ('+formatEvaluationNumber(evaluation_number)+')</p><p>'+formatDistance(distance,distanceUnitValue,distanceUnit)+' - '+formatPrice(currencyPosition,price,currency)+"</p>";
                    infodiv.appendChild(newEl);


                    //User                                                           
                    var user=markers[i].getElementsByTagName("user")[0];     
                    var user_evaluation_rating= user.getElementsByTagName("evaluation_rating")[0].firstChild.nodeValue;
                    var user_evaluation_number= user.getElementsByTagName("evaluation_number")[0].firstChild.nodeValue;
                    var user_alias= user.getElementsByTagName("alias")[0].firstChild.nodeValue;
                    var user_link= user.getElementsByTagName("link")[0].firstChild.nodeValue;
                    var user_state= user.getElementsByTagName("state")[0].firstChild.nodeValue;
                   
                    //Images
                    var img=user.getElementsByTagName("thumb")[0];
                    var imgSrc= img.getAttribute('url');
                    var imgHtml='<div class="image"><img src="'+imgSrc+'" alt="" title="" /></div>';

                    var newEl = document.createElement('div');
                    newEl.setAttribute('id','user_'+(i+1));
                    newEl.innerHTML=imgHtml+'<a href="'+user_link+'" class="link"><b>'+user_alias+'</b></a><p>'+formatRating(user_evaluation_rating)+' ('+formatEvaluationNumber(user_evaluation_number)+')</p>'+'<p>'+formatUserState(user_state)+'</p>';

                    infodiv.appendChild(newEl);
                }

              
            }


            /*-----------------------------------------
            displayInfoWindowShop (markers object)
            create inforWindow Div
            ------------------------------------------*/

            function displayInfoWindowsShop(markers) {

                var infodiv = document.getElementById('info');


                for (var i = 0; i < markers.length; i++) {

                    //Shop
                    if(markers[i].getElementsByTagName("shop_title")[0]) {
                        var title= markers[i].getElementsByTagName("shop_title")[0].firstChild.nodeValue;
                        var link= markers[i].getElementsByTagName("shop_link")[0].firstChild.nodeValue;
                    }
                    
                    if(markers[i].getElementsByTagName("locality")[0].firstChild != null) {
                        var locality= markers[i].getElementsByTagName("locality")[0].firstChild.nodeValue;
                    }
                    if(markers[i].getElementsByTagName("postal_code")[0].firstChild != null) {
                        var postal_code= markers[i].getElementsByTagName("postal_code")[0].firstChild.nodeValue;
                    }
                    if(markers[i].getElementsByTagName("admin_area")[0] && markers[i].getElementsByTagName("admin_area")[0].firstChild != null) {
                        var admin_area= markers[i].getElementsByTagName("admin_area")[0].firstChild.nodeValue;
                    }
                    if(markers[i].getElementsByTagName("country_code")[0].firstChild != null) {
                        var country_code= markers[i].getElementsByTagName("country_code")[0].firstChild.nodeValue;
                    }
                    
                    //Images
                    var location=markers[i].getElementsByTagName("location")[0];
                    var img=location.getElementsByTagName("thumb")[0];
                    var imgSrc= img.getAttribute('url');
                    var imgWidth= img.getAttribute('width');
                    var imgHeight= img.getAttribute('height');

                    var newEl = document.createElement('div');
                    newEl.setAttribute('id','shop_'+(i+1));
                    var imgHtml='<div class="image"><img src="'+imgSrc+'" width="'+imgWidth+'" height="'+imgHeight+'" /></div>';
                    newEl.innerHTML=imgHtml+'<a href="'+link+'" class="link"><b>'+title+'</b></a><br />'+postal_code+' '+locality+'</p>';
                    infodiv.appendChild(newEl);
                    

                    //User
                    var user=markers[i].getElementsByTagName("user")[0];
                    var user_evaluation_rating= user.getElementsByTagName("evaluation_rating")[0].firstChild.nodeValue;
                    var user_evaluation_number= user.getElementsByTagName("evaluation_number")[0].firstChild.nodeValue;
                    var user_alias= user.getElementsByTagName("alias")[0].firstChild.nodeValue;
                    var user_link= user.getElementsByTagName("link")[0].firstChild.nodeValue;
                    var user_state= user.getElementsByTagName("state")[0].firstChild.nodeValue;
                    var user_type= user.getElementsByTagName("type")[0].getAttribute('label');  

                    //Images
                    var img=user.getElementsByTagName("thumb")[0];
                    var imgSrc= img.getAttribute('url');
                    var imgHtml='<div class="image"><img src="'+imgSrc+'" alt="" title="" /></div>';

                    var newEl = document.createElement('div');
                    newEl.setAttribute('id','user_'+(i+1));
                    newEl.innerHTML=imgHtml+'<a href="'+user_link+'" class="link"><b>'+user_alias+'</b></a><p>'+user_type+'</p>'+'<p>'+formatUserState(user_state)+'</p>';

                    infodiv.appendChild(newEl);
                    

                }
            }

            function displayShop (i,marker,table,language){
                var id= marker.getAttribute("id");
                var activitycat1= marker.getElementsByTagName("title")[0].firstChild.nodeValue;
                var activitycat2= marker.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
                var link= marker.getElementsByTagName("link")[0].firstChild.nodeValue;
                var link_book= marker.getElementsByTagName("link_book")[0].firstChild.nodeValue;  
                var distance= marker.getElementsByTagName("distance")[0].firstChild.nodeValue;

                //Location
                var location=marker.getElementsByTagName("location")[0];
                var location_id=location.getAttribute("id");
                if (location.getElementsByTagName("postal_code")[0]) var location_postal_code=location.getElementsByTagName("postal_code")[0].firstChild.nodeValue;
                if (location.getElementsByTagName("locality")[0]) var location_locality=location.getElementsByTagName("locality")[0].firstChild.nodeValue;
                else var location_locality='';
                if (location.getElementsByTagName("admin_area")[0]) var location_admin_area=location.getElementsByTagName("admin_area")[0].firstChild.nodeValue;
                if (location.getElementsByTagName("country_code")[0]) var location_country_code=location.getElementsByTagName("country_code")[0].firstChild.nodeValue;
                if (location.getElementsByTagName("title")[0]) var location_title=location.getElementsByTagName("title")[0].firstChild.nodeValue;

                //User
                var user=marker.getElementsByTagName("user")[0];
                var user_alias= user.getElementsByTagName("alias")[0].firstChild.nodeValue;
                var user_link= user.getElementsByTagName("link")[0].firstChild.nodeValue;

                //logo
                var img=marker.getElementsByTagName("thumb")[0];
                var imgSrc= img.getAttribute('url');
                var imgWidth= img.getAttribute('width');
                var imgHeight= img.getAttribute('height');
                var palm=marker.getElementsByTagName("palm")[0];
                var palmSrc= palm.getAttribute('url');

                //rendu
                var tr_item=document.createElement('tr');

                if ((i%2)==1) tr_item.className="alternate";

                var td_marker=document.createElement('td');
                td_marker.innerHTML='<a href="#map" class="marker" id="'+(i+1)+'"><img src="'+imageDirectory+'marker/marker_'+(i+1)+'.png" width="25" height="29" alt="" title=""/></a>';

                var td_image=document.createElement('td');
                var imgHtml='<a href="'+link+'" class="magnify link" id="'+palmSrc+'"><img src="'+imgSrc+'" width="'+imgWidth+'" height="'+imgHeight+'" /></a>';
                td_image.innerHTML=imgHtml;
                
                var td_user=document.createElement('td');
                td_user.innerHTML='<b><a href="'+user_link+'" class="link">'+user_alias+'</a></b>';

                var td_activity=document.createElement('td');
                td_activity.innerHTML='<ul><li><b>'+activitycat1+'</b></li><li>'+activitycat2+'</li></ul>';

                var td_address=document.createElement('td');
                if(location_locality=='') location_locink='Shop';else location_locink=location_locality;
                var link = '/membre/'+user_alias+'/'+location_id+'-'+location_locink;
                td_address.innerHTML='<a href="'+link+'"><ul>'+formatLocation(location_locality,location_postal_code,location_admin_area,location_country_code,location_title)+'</ul></a>';

                var td_distance=document.createElement('td');
                td_distance.innerHTML=formatDistance(distance,distanceUnitValue,distanceUnit);
                
                var td_action=document.createElement('td');
                td_action.innerHTML='<div style="cursor:pointer; margin-top:15px" onclick="top.location=\''+link_book+'\';"><img src="'+imageDirectory+'button/'+language+'/z_devis_now.png" alt="'+quotationTxt+'" /></div>';
             
                tr_item.appendChild(td_marker);
                tr_item.appendChild(td_image);
                tr_item.appendChild(td_user);
                tr_item.appendChild(td_activity);
                tr_item.appendChild(td_address);
                tr_item.appendChild(td_distance);
                tr_item.appendChild(td_action);  

                table.appendChild(tr_item);
            }

            function displayItem (markers,language) {
            	var search_items = $('search_items');
            	 
                // Create PlaceMark Marker
                for (var i = 0; i < markers.length; i++) {

                	//type d'objet
                	var objectType = markers[i].getElementsByTagName("objectType")[0].firstChild.nodeValue;
                	if(objectType==2) displayShop(i,markers[i],search_items,language);
                	else{
	                    //Item
	                    var id= markers[i].getAttribute("id");
	                    var title= markers[i].getElementsByTagName("title")[0].firstChild.nodeValue;
	                    if (markers[i].getElementsByTagName("subtitle")[0]) var subtitle= markers[i].getElementsByTagName("subtitle")[0].firstChild.nodeValue;  else var subtitle='';
	                    var link= markers[i].getElementsByTagName("link")[0].firstChild.nodeValue;
	                    var link_book= markers[i].getElementsByTagName("link_book")[0].firstChild.nodeValue;  
	                    var distance= markers[i].getElementsByTagName("distance")[0].firstChild.nodeValue;
	                    var price= markers[i].getElementsByTagName("price")[0].firstChild.nodeValue;
	                    var currency= markers[i].getElementsByTagName("price")[0].getAttribute('currency');
	
	                    var evaluation_rating= markers[i].getElementsByTagName("evaluation_rating")[0].firstChild.nodeValue;
	                    var evaluation_number= markers[i].getElementsByTagName("evaluation_number")[0].firstChild.nodeValue;
	
	                    //Location
	                    var location=markers[i].getElementsByTagName("location")[0];
	                    var location_id=location.getAttribute("id");
	                    if (location.getElementsByTagName("postal_code")[0]) var location_postal_code=location.getElementsByTagName("postal_code")[0].firstChild.nodeValue;
	                    if (location.getElementsByTagName("locality")[0]) var location_locality=location.getElementsByTagName("locality")[0].firstChild.nodeValue;
	                    if (location.getElementsByTagName("admin_area")[0]) var location_admin_area=location.getElementsByTagName("admin_area")[0].firstChild.nodeValue;
	                    if (location.getElementsByTagName("country_code")[0]) var location_country_code=location.getElementsByTagName("country_code")[0].firstChild.nodeValue;
	                    if (location.getElementsByTagName("title")[0]) var location_title=location.getElementsByTagName("title")[0].firstChild.nodeValue;
	
	                    //User
	                    var user=markers[i].getElementsByTagName("user")[0];
	                    var user_evaluation_rating= user.getElementsByTagName("evaluation_rating")[0].firstChild.nodeValue;
	                    var user_evaluation_number= user.getElementsByTagName("evaluation_number")[0].firstChild.nodeValue;
	                    var user_alias= user.getElementsByTagName("alias")[0].firstChild.nodeValue;
	                    var user_link= user.getElementsByTagName("link")[0].firstChild.nodeValue;
	                    var user_type= user.getElementsByTagName("type")[0].getAttribute('label'); 
	
	                    //Images
	                    var img=markers[i].getElementsByTagName("thumb")[0];
	                    var imgSrc= img.getAttribute('url');
	                    var imgWidth= img.getAttribute('width');
	                    var imgHeight= img.getAttribute('height');
	
	                    var palm=markers[i].getElementsByTagName("palm")[0];
	                    var palmSrc= palm.getAttribute('url');
	
	                   
	                    var tr_item=document.createElement('tr');
	
	                 
	
	                    if ((i%2)==1) tr_item.className="alternate";
	
	                    var td_marker=document.createElement('td');
	                    td_marker.innerHTML='<a href="#map" class="marker" id="'+(i+1)+'"><img src="'+imageDirectory+'marker/marker_'+(i+1)+'.png" width="25" height="29" alt="" title=""/></a>';
	
	
	                    var td_image=document.createElement('td');
	                    var imgHtml='<a href="'+link+'" class="magnify link" id="'+palmSrc+'"><img src="'+imgSrc+'" width="'+imgWidth+'" height="'+imgHeight+'" /></a>';
	                    td_image.innerHTML=imgHtml;
	
	                    var td_title=document.createElement('td');
	                    td_title.innerHTML='<ul><li><b><a href="'+link+'" class="link">'+title+'</a></b></li><li>'+subtitle+'</li></ul>';
	
	                    var td_user=document.createElement('td');
	                    td_user.innerHTML='<ul><b><a href="'+user_link+'" class="link">'+user_alias+'</a></b><li>'+user_type+'</li></ul>';
	
	                    var td_price=document.createElement('td');
	                    td_price.innerHTML=formatPrice(currencyPosition,price,currency);
	
	                    var td_address=document.createElement('td');
	                    td_address.innerHTML='<ul>'+formatLocation(location_locality,location_postal_code,location_admin_area,location_country_code,location_title)+'</ul>';
	
	                    var td_distance=document.createElement('td');
	                    td_distance.innerHTML=formatDistance(distance,distanceUnitValue,distanceUnit);
	                    
	                    var td_action=document.createElement('td');
	                    if(objectType==1) td_action.innerHTML='<div style="cursor:pointer; margin-top:15px" onclick="top.location=\''+link_book+'\';"><img src="'+imageDirectory+'button/'+language+'/booknow.jpg" alt="'+booknowTxt+'" /></div>';
	                    else td_action.innerHTML='<div style="cursor:pointer; margin-top:15px" onclick="top.location=\''+link_book+'\';"><img src="'+imageDirectory+'button/'+language+'/z_devis_now.png" alt="'+quotationTxt+'" /></div>';
	                 
	                    //  tr_item.appendChild(td_checkbox);
	                    tr_item.appendChild(td_marker);
	                    tr_item.appendChild(td_image);
	                    tr_item.appendChild(td_title);
	                    tr_item.appendChild(td_user);
	                    tr_item.appendChild(td_price);
	                    tr_item.appendChild(td_address);
	                    tr_item.appendChild(td_distance);
	                    tr_item.appendChild(td_action);     
	
	                    search_items.appendChild(tr_item);
                	}

                }
    
            }


            function createMarker(point,position) {


                var icon = new GIcon();
                icon.image = imageDirectory+"marker/marker_"+position+".png";

                icon.iconSize = new GSize(25,29);
                icon.iconAnchor = new GPoint(13.5, 40);
                icon.infoWindowAnchor = new GPoint(13.5, 10);

                var hicon = new GIcon();
                hicon.image = imageDirectory+"marker/marker_"+position+"_h.png";
                hicon.iconSize = new GSize(25,29);
                hicon.iconAnchor = new GPoint(13.5, 40);


                if (position==0) var marker = new GMarker(point,{draggable: true,icon:icon,zIndexProcess:inverseOrder});
                else var marker = new GMarker(point,{icon:icon,zIndexProcess:inverseOrder});

                var hmarker = new GMarker(point,{icon:hicon,zIndexProcess:firstOrder});

                markers[position]=marker;
                hmarkers[position]=hmarker;

                var obj = document.getElementById(position);


                GEvent.addListener(marker,"dragend", function(latlng) {

                    var latitude = marker.getPoint().lat()
                    var longitude = marker.getPoint().lng()
                    Set_Cookie("ZiLat",latitude,24,"/");
                    Set_Cookie("ZiLng",longitude,24,"/");
                    var point = new GLatLng(parseFloat(latitude),parseFloat(longitude));
                    map.setCenter(point,zoom);
                    XMLMap=XMLUrl+"&lat="+latitude+"&lng="+longitude;
                    refreshMap(XMLMap);
                    //markers[position].openInfoWindowHtml(latitude);

                });

                GEvent.addListener(marker,"click", function() {
                    displayInfoWindow(position);
                });


                GEvent.addListener(marker,"infowindowopen", function() {
                    //map.removeOverlay(marker);
                    map.addOverlay(hmarkers[position]);

                });

                GEvent.addListener(marker,"infowindowclose", function() {
                    map.removeOverlay(hmarkers[position]);
                    map.addOverlay(marker);

                });

                map.addOverlay(marker);
            }



    }


}


