var map=null,gCurrentTrace=null,gWptMarkers=null,gRefTrace=null,goMarker=null,stopMarker=null,gInfoWindow=null,gCurrentPosition=null,gMyPosition=null,gaLatLngTraceToDisplay=[],gTracePath=null,lockMap=false,timerLock=null,gZoom=15,lockLongClick=true,latlngNewPoi=null,tempMarker=null,tempPoi=null,currentPoi=null;function detectBrowser(){var a=navigator.userAgent,b=document.getElementById("map_canvas")}function initialize(){detectBrowser();var b=new google.maps.LatLng(46.7,2.5),a={zoom:5,center:b,mapTypeId:google.maps.MapTypeId.ROADMAP,mapTypeControl:true,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},navigationControl:true,navigationControlOptions:{style:google.maps.NavigationControlStyle.ANDROID,position:google.maps.ControlPosition.TOP}};map=new google.maps.Map(document.getElementById("map_canvas"),a);if(gCurrentPosition){gCurrentPosition.setMap(map);map.setCenter(gCurrentPosition.getPosition());map.setZoom(15)}if(gModeSport&&gModeSport.isRunning&&gaLatLngTraceToDisplay.length>1){gTracePath&&gTracePath.setMap(null);gTracePath=new google.maps.Polyline({path:gaLatLngTraceToDisplay,strokeColor:"#FF0000",strokeOpacity:1,strokeWeight:2});gTracePath.setMap(map)}drawPois();timerLock=new Timer;timerLock.Init(10,releaseLockMap);google.maps.event.addListener(map,"dragstart",function(){timerLock.TimerRunning&&timerLock.StopTimer();timerLock.StartTimer();setLockMap()});google.maps.event.addListener(map,"click",function(b){if(!lockLongClick){var a=null;currentPoi!=null?(a=confirm(newPoiPlace+currentPoi.name+" ?")):(a=confirm(newPoiPlace+"?"));if(a){latlngNewPoi=b.latLng;$("#newPoiTitle").data("idPoi")!=""&&display_update_poi();hideDiv("mapFromPoiButtonId");jQT.goBack()}}})}function releaseLockMap(){lockMap=false}function setLockMap(){lockMap=true}function clearMap(){gCurrentTrace&&deleteHistoryTrace();gModePosition&&stopModePosition()}function drawLoc(a){var d="img/device_mobifamily.png",c=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),b=new google.maps.Marker({position:c,icon:d});map&&b.setMap(map);return b}function drawGood(a,c){var c="img/"+c,d=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),b=new google.maps.Marker({position:d,icon:c});map&&b.setMap(map);return b}function drawMyPosition(a){gMyPosition&&gMyPosition.setMap(null);if(a){gMyPosition=drawLoc(a);!lockMap&&map.setCenter(gMyPosition.getPosition())}else gMyPosition=null}function drawTrace(b){var a=gCurrentPosition;map&&a&&a.setMap(null);gCurrentPosition=drawLoc(b);map&&!lockMap&&map.setCenter(gCurrentPosition.getPosition());gaLatLngTraceToDisplay.length==0&&a&&gaLatLngTraceToDisplay.push(a.getPosition());gaLatLngTraceToDisplay.push(gCurrentPosition.getPosition());if(map&&gaLatLngTraceToDisplay.length>1){gTracePath&&gTracePath.setMap(null);gTracePath=new google.maps.Polyline({path:gaLatLngTraceToDisplay,strokeColor:"#FF0000",strokeOpacity:1,strokeWeight:2});gTracePath.setMap(map)}}function drawRefTrace(b){if(b.length>1){var a=[];for(i in b){var d=new google.maps.LatLng(b[i].coords.latitude,b[i].coords.longitude);a.push(d)}var c=new google.maps.LatLngBounds;for(i in a)c.extend(a[i]);map.fitBounds(c);gRefTrace=new google.maps.Polyline({path:a,strokeColor:"#60961C",strokeOpacity:1,strokeWeight:5});gRefTrace.setMap(map)}}function removeTrace(){if(gTracePath){gTracePath.setMap(null);gTracePath=null}if(gCurrentPosition){gCurrentPosition.setMap(null);gCurrentPosition=null}if(gRefTrace){gRefTrace.setMap(null);gRefTrace=null}if(gaLatLngTraceToDisplay)gaLatLngTraceToDisplay=[];if(gModeSport&&gModeSport.arrayPositions)for(i in gModeSport.arrayPositions)gModeSport.arrayPositions[i].marker&&gModeSport.arrayPositions[i].marker.setMap(null)}function drawHistoryTrace(a){if(a.length>1){var b=[];gWptMarkers=[];for(i in a){var j=new google.maps.LatLng(a[i].coords.latitude,a[i].coords.longitude);b.push(j);a[i].isWaypoint&&gWptMarkers.push(addWptMarker(a[i]))}var d=new google.maps.LatLngBounds;for(i in b)d.extend(b[i]);map.fitBounds(d);gCurrentTrace=new google.maps.Polyline({path:b,strokeColor:"#FF0000",strokeOpacity:1,strokeWeight:2});gCurrentTrace.setMap(map);var h="img/go.png",g=new google.maps.LatLng(a[0].coords.latitude,a[0].coords.longitude);goMarker=new google.maps.Marker({position:g,icon:h});goMarker.setMap(map);var c=a[a.length-1],f="img/stop.png",e=new google.maps.LatLng(c.coords.latitude,c.coords.longitude);stopMarker=new google.maps.Marker({position:e,icon:f});stopMarker.setMap(map)}}function deleteHistoryTrace(){gCurrentTrace.setMap(null);goMarker.setMap(null);stopMarker.setMap(null);for(i in gWptMarkers)gWptMarkers[i].setMap(null)}function drawPois(){for(i in gPois){var a=gPois[i];addPoiMarker(a)}}function removePois(){for(i in gPois){var a=gPois[i];removePoiMarker(a)}}function addPoiMarker(a){a.marker.setMap(map);google.maps.event.addDomListener(a.marker,"click",function(){a.infoWindow.open(map,a.marker)})}function removePoiMarker(a){a.marker.setMap(null)}function showPoiInfos(a){if(gInfoWindow==null)gInfoWindow=new google.maps.InfoWindow;var c=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),b={position:c,content:a.name};gInfoWindow.setOptions(b);gInfoWindow.open(map)}function center_poi(a){var b=new google.maps.LatLng(a.coords.latitude,a.coords.longitude);map.setCenter(b)}function displayTempMarker(c){tempMarker&&tempMarker.setMap(null);var b=document.forms.f.listTypePoi.options[document.forms.f.listTypePoi.selectedIndex].value,a=null;switch(b){case"0":a="img/POI_0.png";break;case"1":a="img/POI_1.png";break;case"2":a="img/POI_2.png";break;case"3":a="img/POI_3.png";break;case"20":a="img/POI_20.png";break;case"21":a="img/POI_21.png";break;case"22":a="img/POI_22.png";break;case"23":a="img/POI_23.png"}tempMarker=new google.maps.Marker({position:c,icon:a})}function lockClickOnMap(){lockLongClick=true}function addWptMarker(a){var c="img/Waypoint.png",b=new google.maps.LatLng(a.coords.latitude,a.coords.longitude);a.marker=new google.maps.Marker({position:b,icon:c});a.marker.setMap(map);return a.marker}function processBackToRef(a){var c="img/lostZone.png",b=new google.maps.LatLng(gModeSport.arrayPositionsRef[a].coords.latitude,gModeSport.arrayPositionsRef[a].coords.longitude);position.marker=new google.maps.Marker({position:b,icon:c});position.marker.setMap(map);on_map();return position.marker}
