var _map=null,_geocoder=null,_image=null,_user=null,_markers=null,_current=null,_infowindow=null,_address=null,_latlng=null,_addressInit=null,_latlngInit=null,_moreinfo=false,_page=null,_panorama=null,_service=null;
function geocode(){_address&&_geocoder&&_geocoder.geocode({address:_address},function(a,b){if(b==google.maps.GeocoderStatus.OK){if(a[0]){_latlng=a[0].geometry.location;_address=a[0].formatted_address;loadPage("/position?pos="+_address+"@"+_latlng.lat()+","+_latlng.lng())}}else alert("Adresse introuvable !")})}
function reverse(){if(_latlng)if(_geocoder){_address=_latlng.lat().toFixed(6)+", "+_latlng.lng().toFixed(6);_geocoder.geocode({latLng:_latlng},function(a,b){if(b==google.maps.GeocoderStatus.OK)if(a[1])_address=a[1].formatted_address;loadPage("/position?pos="+_address+"@"+_latlng.lat()+","+_latlng.lng())})}}function setUserPos(a,b){_user.setOptions({map:_map,title:a,position:b})}function onUserClick(){loadPage("/mobile")}function onUserDragend(){_latlng=_user.getPosition();reverse()}
function showUser(a){_infowindow.close();if(!a){a="<p>&agrave; proximit&eacute; de:<br/><b>"+_user.getTitle()+"</b></p>";if(_user.streetview){_panorama.setPosition(_user.getPosition());a+='<p><a href="javascript:streetview()">Vue de la rue</a></p>'}}_infowindow.setContent(a);_infowindow.open(_map,_user)}
function addMarker(a,b,f,d,h,g,i,l,m,n,o,p,q){for(var c=0;c<_markers.length;c++)if(_markers[c].id==d){_markers[c].getMap()!=_map&&_markers[c].setMap(_map);return}var j;j=g>0?"http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|12|r|00FF00|_|"+encodeURIComponent(a)+" ("+g+")||":"http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|12|r|FFFF00|_|"+encodeURIComponent(a)+"||";a=a.replace("&#039;","'");for(c=0;c<_markers.length;c++)if(_markers[c].getMap()==null){_markers[c].setOptions({map:_map,
title:a,position:b,icon:f,shadow:j});_markers[c].id=d;_markers[c].page=h;_markers[c].score=g;_markers[c].street=i;_markers[c].cp=l;_markers[c].city=m;_markers[c].phone=n;_markers[c].fax=o;_markers[c].mobile=p;_markers[c].url=q;_markers[c].streetview=false;_service.getPanoramaByLocation(b,50,function(r,k){if(k==google.maps.StreetViewStatus.OK)_markers[c].streetview=true});return}var e=new google.maps.Marker({map:_map,title:a,position:b,icon:f,shadow:j});e.id=d;e.page=h;e.score=g;e.street=i;e.cp=l;
e.city=m;e.phone=n;e.fax=o;e.mobile=p;e.url=q;e.streetview=false;_service.getPanoramaByLocation(b,50,function(r,k){if(k==google.maps.StreetViewStatus.OK)e.streetview=true});_markers.push(e);google.maps.event.addListener(e,"click",function(){onMarkerClick(e)})}function clearMarkers(){for(var a=0;a<_markers.length;a++)_markers[a].setMap(null)}function onMarkerClick(a){a.page?loadPage(a.page):loadPage("/mobile")}
function getMarkersCount(){for(var a=count=0;a<_markers.length;a++)_markers[a].getMap()!=null&&count++;return count}function getMarker(a){for(var b=0;b<_markers.length;b++)if(_markers[b].id==a)return _markers[b];return null}function streetview(){_infowindow.close();_panorama.setVisible(true)}
function showMarker(a){_infowindow.close();for(var b=0;b<_markers.length;b++)if(_markers[b].id==a){a="<div>";b=_markers[b];b.getPosition();a+='<p><a href="javascript:moreInfo()" title="Plus d&#39;information"><b>'+b.getTitle()+"</b></a></p>";if(b.street.length||b.city.length){a+="<p>";if(b.street.length){a+=b.street;a+="<br/>"}if(b.cp.length){a+=b.cp;a+=" "}if(b.city.length)a+=b.city;a+="</p>"}if(b.phone.length)a+="<p><b>"+b.phone+"</b></p>";if(b.mobile.length)a+="<p><b>"+b.phone+"</b></p>";if(b.streetview){_panorama.setPosition(b.getPosition());
a+='<p><a href="javascript:streetview()">Vue de la rue</a></p>'}a+="</div>";_infowindow.setContent(a);_infowindow.open(_map,b);break}}function zoomToFit(){var a=0,b=new google.maps.LatLngBounds;if(_user.getMap()!=null){b.extend(_user.getPosition());a++}for(var f=0;f<_markers.length;f++)if(_markers[f].getMap()!=null){b.extend(_markers[f].getPosition());a++}a>=2&&_map.fitBounds(b)}function ensureVisible(a){_map.getBounds().contains(a)||_map.setCenter(a)}
function CenterControl(a){var b=document.createElement("img");b.style.cursor="pointer";b.src="/images/pin-button.png";b.title="Nouvelle recherche au centre de la carte";b.style.margin="5px";a.appendChild(b);google.maps.event.addDomListener(b,"click",function(){_latlngInit=_latlng=_map.getCenter();reverse()});google.maps.event.addDomListener(b,"mouseover",function(){_infowindow.close();setUserPos("",_map.getCenter())});google.maps.event.addDomListener(b,"mouseout",function(){_addressInit&&_latlngInit?
setUserPos(_addressInit,_latlngInit):_user.setMap(null)})}function hidePopup(){google.maps.event.clearListeners(_map,"mouseover");google.maps.event.clearListeners(_map,"mouseout");document.getElementById("map-popup").style.display="none"}function showPopup(a){var b=document.getElementById("map-popup");b.innerHTML=a;b.style.display="block";google.maps.event.addListener(_map,"mouseover",hidePopup);google.maps.event.addListener(_map,"mouseout",hidePopup)}
function initialize(){var a={zoom:6,center:new google.maps.LatLng(46.8,2),mapTypeControl:true,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR},navigationControl:true,navigationControlOptions:{style:google.maps.NavigationControlStyle.LARGE},mapTypeId:google.maps.MapTypeId.ROADMAP,streetViewControl:true};_map=new google.maps.Map(document.getElementById("map"),a);_geocoder=new google.maps.Geocoder;_image=new google.maps.MarkerImage("/images/32/red-pin.png",new google.maps.Size(32,
39),new google.maps.Point(0,0),new google.maps.Point(7,34));_user=new google.maps.Marker({map:null,icon:_image,draggable:true});_markers=[];_infowindow=new google.maps.InfoWindow({content:"test"});_panorama=_map.getStreetView();_service=new google.maps.StreetViewService;google.maps.event.addListener(_map,"click",function(){_infowindow.close()});google.maps.event.addListener(_user,"click",function(){onUserClick()});google.maps.event.addListener(_user,"dragstart",function(){_infowindow.close()});google.maps.event.addListener(_user,
"dragend",function(){onUserDragend()});a=document.createElement("div");new CenterControl(a,_map);a.index=1;_map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(a);loadPage("/mobile")}function loadPage(a){frames["side-frame"].location.href=a}function currentPage(){return frames["side-frame"].location.href}
function onFrameChange(){if(frames["side-frame"].getUserName){var a=frames["side-frame"].getUserName();if(a.length>0)document.getElementById("connect").innerHTML="Deconnexion '"+a+"'";else document.getElementById("connect").innerHTML="Connexion"}if(_map){_current=null;_infowindow.close();_moreinfo&&close();hidePopup();if((a=eval("("+frames["side-frame"].getUserPos()+")"))&&a.pos!=undefined){_addressInit=a.pos.name;_latlngInit=new google.maps.LatLng(a.pos.lat,a.pos.lng);setUserPos(_addressInit,_latlngInit);
document.getElementById("address").value=_addressInit}else{_latlngInit=_addressInit=null;_user.setMap(null)}if((a=eval("("+frames["side-frame"].getMarkers()+")"))&&a.markers!=undefined){var b=frames["side-frame"].getCurrentMarkerId();b<=0&&clearMarkers();for(var f in a.markers){var d=a.markers[f],h=new google.maps.LatLng(d.lat,d.lng);addMarker(d.name,h,d.image,d.id,d.page,d.score,d.street,d.cp,d.city,d.phone,d.fax,d.mobile,d.url)}if(b>0){_current=getMarker(b);frames["side-frame"].setCommand("+Info");
showMarker(b)}else zoomToFit()}else{clearMarkers();_service.getPanoramaByLocation(_user.getPosition(),50,function(g,i){_user.streetview=i==google.maps.StreetViewStatus.OK?true:false;showUser()})}if(frames["side-frame"].getComment)(f=frames["side-frame"].getComment("desc"))&&showPopup(f)}}function search(a){_address=a?a:document.getElementById("address").value;geocode()}
function extmaps(){if(_current!=null)_moreinfo?close():moreInfo();else{_infowindow.close();if(getMarkersCount()>0)zoomToFit();else _latlngInit!=null&&_map.setOptions({center:_latlngInit,zoom:12})}}function moreInfo(){hidePopup();document.getElementById("title").innerHTML=_current.title;frames["browser-frame"].location.href=_current.url+"&btnI=I'm+feeling+lucky";maximize()}function searchInfo(){frames["browser-frame"].location.href=_current.url;maximize()}
function maximize(){style=document.getElementById("moreinfo").style;style.top="60px";style.display="block";_moreinfo=true;frames["side-frame"].setCommand("Carte")}
function minimize(){var a=0;if(typeof window.innerHeight=="number")a=window.innerHeight;else if(document.documentElement&&document.documentElement.clientHeight)a=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight)a=document.body.clientHeight;style=document.getElementById("moreinfo").style;style.top=a/2+40+"px";style.display="block";_moreinfo=true;frames["side-frame"].setCommand("Carte")}
function close(){style=document.getElementById("moreinfo").style;style.display="none";_moreinfo=false;frames["browser-frame"].location.href="about:blank";_current&&frames["side-frame"].setCommand("+Info")}function connect(){loadPage("/connexion")}function home(){loadPage("/mobile")}function help(){loadPage("/mobile/info")}function contact(){loadPage("/mobile/contact")};
