var default_lat=46.4;var default_lng=3.2;var default_zoom=5;var map;var classifieds_list=[];var classifieds_data_table;var mouse_xy;var get_fresh=false;var pos=new Array("400","400");Dom.setXY("classified_info_window",pos);Dom.setStyle("classified_info_window","opacity",0.9);function map_search_init(){try{if(GBrowserIsCompatible()){create_advanced_search_sliders();map=new GMap2(Dom.get("map_search"));map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());map.addMapType(G_PHYSICAL_MAP);if(YAHOO.util.Cookie.get("epmaplat")!=null&&YAHOO.util.Cookie.get("epmaplng")!=null&&YAHOO.util.Cookie.get("epmapzoom")!=null){default_lat=YAHOO.util.Cookie.get("epmaplat",Number);default_lng=YAHOO.util.Cookie.get("epmaplng",Number);default_zoom=YAHOO.util.Cookie.get("epmapzoom",Number);get_fresh=true}var a=new GLatLng(default_lat,default_lng);map.setCenter(a,default_zoom);GEvent.addListener(map,"zoomend",function(){get_fresh_classifieds()});GEvent.addListener(map,"moveend",function(){get_fresh_classifieds()});GEvent.addListener(map,"zoomstart",function(){hide_classified_info_window(null)});GEvent.addListener(map,"movestart",function(){hide_classified_info_window(null)});map_search_city_change_init();Event.addListener("map_search","mouseover",get_mouse_position);Event.addListener("classified_map_search","submit",refine_search);Event.addListener("search_city","submit",stop_event);if(get_fresh){get_fresh_classifieds()}}else{alert("Votre navigateur ne permet pas l'utilisation de la recherche par carte.")}}catch(b){log_jse(b)}}function get_fresh_classifieds(){map.clearOverlays();var b=GXmlHttp.create();var a=base_url+"classified/map_search/map_data_json";var c=get_data_from_search_criteria();b.open("POST",a,true);b.setRequestHeader("Content-type","application/x-www-form-urlencoded");b.onreadystatechange=function(){if(b.readyState==1){Dom.get("nb_classifieds").innerHTML="Mise à jour des annonces ... ";Dom.get("nb_classifieds").innerHTML+=image_app("ajax/loading_animation_liferay.gif","mise à jour","mise à jour",null)}if(b.readyState==4){var e=b.responseText;try{resp=YAHOO.lang.JSON.parse(e);if(resp.reply_code=="error"){Dom.get("nb_classifieds").innerHTML=resp.reply_text}else{if(resp.reply_code=="form_error"){Dom.get("nb_classifieds").innerHTML=resp.reply_content.form_error_message}else{if(resp.reply_code=="ok"){classifieds_list=resp.reply_content.classifieds_list;show_classified_markers();indicate_classified_result_nb()}}}}catch(d){Dom.get("nb_classifieds").innerHTML="Erreur de communication, veuillez re-essayer.";return}}};b.send(c)}function show_classified_markers(){for(var c=0;c<classifieds_list.length;c++){var e=classifieds_list[c];var a=e.lng_dec;var d=e.lat_dec;if(a&&d){var f=new GLatLng(parseFloat(d),parseFloat(a));var b=create_marker(f,c);e.marker=b;map.addOverlay(e.marker)}}}function create_marker(f,a){var e=classifieds_list[a];var d=e.contract_cd;var c=new GIcon();if(d=="a"||d=="b"){c.image=base_url+"app/img/house_sr_a.png";c.iconSize=new GSize(20,20);c.iconAnchor=new GPoint(10,10);c.image=base_url+"app/img/icons/house_ico_w32.png";c.iconSize=new GSize(32,32);c.iconAnchor=new GPoint(16,16)}if(d=="c"){c.image=base_url+"app/img/house_sr_c.png";c.iconSize=new GSize(30,32);c.iconAnchor=new GPoint(16,16);c.image=base_url+"app/img/icons/house_ico_w48.png";c.iconSize=new GSize(48,48);c.iconAnchor=new GPoint(24,24)}if(d=="d"||d=="g"){c.image=base_url+"app/img/house_sr_d.png";c.iconSize=new GSize(45,48);c.iconAnchor=new GPoint(24,24);c.image=base_url+"app/img/icons/house_ico_w64.png";c.iconSize=new GSize(64,64);c.iconAnchor=new GPoint(32,32)}var b=new GMarker(f,c);b.id=a;GEvent.addListener(b,"click",function(){show_classified_info_window(b)});return b}function refine_search(a){stop_event(a);get_fresh_classifieds()}function reset_search_criteria(a){if(!Dom.get("cat_house").checked){Dom.get("cat_house").click()}if(!Dom.get("cat_flat").checked){Dom.get("cat_flat").click()}Dom.get("room_nbr_min").value="1";Dom.get("house_area_min").value="";Dom.get("price_max").value="";Dom.get("published_since").value="null";if(Dom.get("park").checked){Dom.get("park").click()}if(Dom.get("balcony").checked){Dom.get("balcony").click()}if(Dom.get("disabled_access").checked){Dom.get("disabled_access").click()}if(Dom.get("garden").checked){Dom.get("garden").click()}if(Dom.get("pool").checked){Dom.get("pool").click()}if(Dom.get("lift").checked){Dom.get("lift").click()}get_fresh_classifieds()}function get_data_from_search_criteria(){var i="";var b=map.getCenter();YAHOO.util.Cookie.set("epmaplat",b.lat());YAHOO.util.Cookie.set("epmaplng",b.lng());YAHOO.util.Cookie.set("epmapzoom",map.getZoom());var k=map.getBounds();var a=map.getBounds();var c=a.getSouthWest();var e=a.getNorthEast();i+="ne="+e.toUrlValue()+"&sw="+c.toUrlValue();var d=Dom.get("city_cd").value;if(d!=""){i+="&city_cd="+d}var n=Dom.get("city_name").value;if(n!=""){i+="&city_name="+n}if(Dom.get("cat_house").checked){i+="&cat_house=1"}if(Dom.get("cat_flat").checked){i+="&cat_flat=1"}var m=Dom.get("room_nbr_min").value;if(m!=""){i+="&room_nbr_min="+m}var g=Dom.get("room_nbr_max").value;if(g!=""){i+="&room_nbr_max="+g}var l=Dom.get("house_area_min").value;if(l!=""){i+="&house_area_min="+l}var f=Dom.get("house_area_max").value;if(f!=""){i+="&house_area_max="+f}var h=Dom.get("price_min").value;if(h!=""){i+="&price_min="+h}var j=Dom.get("price_max").value;if(j!=""){i+="&price_max="+j}var o=Dom.get("published_since").value;if(o!="null"){i+="&published_since="+o}if(Dom.get("park").checked){i+="&park=1"}if(Dom.get("balcony").checked){i+="&balcony=1"}if(Dom.get("disabled_access").checked){i+="&disabled_access=1"}if(Dom.get("garden").checked){i+="&garden=1"}if(Dom.get("pool").checked){i+="&pool=1"}if(Dom.get("lift").checked){i+="&lift=1"}i+="&form_id=666";return i}function indicate_classified_result_nb(){var a="";var b=classifieds_list.length;if(b==0){a="Ancune annonce trouvée"}else{if(b==1){a="1 annonce"}else{if(b>=100){a="plus de 100 annonces. (100 affichées)"}else{a=b+" annonces"}}}Dom.get("nb_classifieds").innerHTML="<strong>"+a+"</strong>"}function get_mouse_position(a){mouse_xy=Event.getXY(a)}function hide_classified_info_window(a){Dom.setStyle("classified_info_window","visibility","hidden")}function show_classified_info_window(a){Dom.setXY("classified_info_window",mouse_xy);var d=classifieds_list[a.id];var c="";c+="<strong>"+d.city_name+"</strong>";c+='<div style="float:left">';c+=d.type;c+="<br>";c+=d.surface+" m²";c+=" - ";c+=d.room_nbr+" pièces";if(d.price!=null&&d.price!=0){var b=FormatMoney(d.price,"","&nbsp;&euro;"," ",",",0,0);c+="<br>";c+=b}c+="<br>";c+='<a href="'+base_url+d.id+'" id="show_classified_details" >détails</a>';c+=" - ";c+='<a href="#" id="close_classified_info_window" >fermer</a>';c+="</div>";c+='<div style="float:right">';if(d.photo_uri!=null){c+=image_ext(d.photo_uri,"photo","photo",style="padding:2px;vertical-align:bottom;border:0px;")}c+="</div>";Dom.get("classified_info_window").innerHTML=c;Dom.setStyle("classified_info_window","visibility","visible");Event.addListener("close_classified_info_window","click",hide_classified_info_window)}function show_classifieds_list_table(){var j=function(m,l,n,o){m.innerHTML='<a href="'+base_url+l.getData("id")+'" id="show_classified_details" >'+o+"</a>"};var g=function(n,m,o,p){if(p!=null){var l=image_ext(p,"photo","photo",style="padding:2px;vertical-align:bottom;border:0px;");n.innerHTML='<a href="'+base_url+m.getData("id")+'" id="show_classified_details" >'+l+"</a>"}else{n.innerHTML=""}};var d=function(m,l,n,o){m.innerHTML=o+" m²"};var b=function(m,l,n,o){m.innerHTML=o+" p."};var k=function(n,m,o,p){if(p!=null&&p!=0){var l=FormatMoney(p,"","&nbsp;&euro;"," ",",",0,0);n.innerHTML=l}else{n.innerHTML="n.c."}};var f=function(n,m,o,p){var l=p;n.innerHTML="";if(l.charAt(0)=="1"){n.innerHTML+=image_app("icons/parking.jpg","parking","parking",null)}if(l.charAt(1)=="1"){n.innerHTML+=image_app("icons/balcony.jpg","balcon/terrasse","balcon/terrasse",null)}if(l.charAt(2)=="1"){n.innerHTML+=image_app("icons/garden.jpg","jardin","jardin",null)}if(l.charAt(3)=="1"){n.innerHTML+=image_app("icons/lift.jpg","ascenseur","ascenseur",null)}if(l.charAt(4)=="1"){n.innerHTML+=image_app("icons/pool.jpg","piscine","piscine",null)}if(l.charAt(5)=="1"){n.innerHTML+=image_app("icons/disabled_access.jpg","accès handicapé","accès handicapé",null)}};var i=[{key:"photo_uri",label:"Photo",formatter:g,sortable:false,resizeable:false,width:90},{key:"type",label:"Type",formatter:j,sortable:true,resizeable:false},{key:"surface",label:"Surface",formatter:d,sortable:true,resizeable:false},{key:"room_nbr",label:"Pièces",formatter:b,sortable:true,resizeable:false},{key:"city_name",label:"Ville",formatter:"text",sortable:true,resizeable:false},{key:"price",label:"Prix",formatter:k,sortable:true,resizeable:false},{key:"options",label:"Options",formatter:f,sortable:false,resizeable:false,width:250}];var c;c=new YAHOO.util.DataSource(classifieds_list);c.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;c.responseSchema={fields:[{key:"photo_uri",parser:"string"},{key:"type",parser:"string"},{key:"surface",parser:"number"},{key:"room_nbr",parser:"number"},{key:"city_name",parser:"string"},{key:"price",parser:"number"},{key:"options",parser:"string"},{key:"id",parser:"string"},{key:"contract_cd",parser:"string"}]};var a={rowsPerPage:10,containerClass:"yui-pg-container",template:'<p class="pg-nav">Pages : {PageLinks}</p>',alwaysVisible:false};var h=new YAHOO.widget.Paginator(a);var e={paginator:h};classifieds_data_table=new YAHOO.widget.DataTable("classifieds_list_table",i,c,e);classifieds_data_table.set("MSG_EMPTY","Il n'y a pas d'annonces correspondants à votre recherche")}function toto(a){}function map_search_city_change_init(){standard_city_ac_init("city_name","city_name_container","search")}function standard_city_ac_seletecd_action(e,a,d,f,c){Dom.get("city_cd").value=c;hide_classified_info_window(null);var b=new GLatLng(d,f);map.setCenter(b,13)};
