var map=null;var geocoder=null;var latsgn=1;var lgsgn=1;var zm=9;var marker=null;var mapDir=null;var gDir=null;function intilazeMap(lattitude,longitude){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map_canvas"),{size:new GSize(254,314)});map.setMapType(G_NORMAL_MAP);map.addControl(new GSmallMapControl);var point=new GLatLng(lattitude,longitude);var baseIcon=new GIcon;baseIcon.iconSize=new GSize(46,38);baseIcon.iconAnchor=new GPoint(35,38);baseIcon.infoWindowAnchor=new GPoint(9,2);baseIcon.image="./images/blank.png";markerOptions={icon:baseIcon};map.addOverlay(new GMarker(point,markerOptions));map.setCenter(point,16);mapDir=new GMap2(document.getElementById("map_canvas_direction"),{size:new GSize(490,314)});mapDir.addControl(new GSmallMapControl);mapDir.setCenter(new GLatLng(lattitude,longitude),15);gDir=new GDirections(mapDir);GEvent.addListener(gDir,"load",function(){$("#dirErrorHtml").empty();$("#dirErrordiv").hide();$("#route").empty();mapDir.clearOverlays();setTimeout(function(){var dirRouteHtml="";var fromLatlng=null;var toLatlng=null;for(var i=0;i<gDir.getNumRoutes()+1;i++){var marker=gDir.getMarker(i);mapDir.removeOverlay(marker);var icon=new GIcon;if(i==0){icon.iconSize=new GSize(21,33);icon.iconAnchor=new GPoint(11,31);icon.image="./images/green_marker.gif";fromLatlng=marker.getLatLng()}if(i==gDir.getNumRoutes()){icon.iconSize=new GSize(34,31);icon.iconAnchor=new GPoint(18,34);icon.image="./images/red_flag.png";toLatlng=marker.getLatLng()}var newMarker=new GMarker(marker.getLatLng(),{icon:icon});mapDir.addOverlay(newMarker)}var dirRoute=gDir.getRoute(0);var noOfSteps=dirRoute.getNumSteps();dirRouteHtml="<div class=\"divleft mptit curs\" onclick=\"javascript:loadDirStepMap("+fromLatlng.lat()+","+fromLatlng.lng()+");\"><img src=\"images/green_marker.gif\" border=\"0\" class=\"popmak\" align=\"absmiddle\"/><strong>"+$("#dirFrom").val()+"</strong></div><div class=\"divleft boxm cll\"><div class=\"divright boxrg\">"+gDir.getDistance().html+" (environ "+gDir.getDuration().html+")</div></div>";for(i=0;i<noOfSteps;i++){dirRouteHtml+="<div class=\"divleft boxm cll curs\" onclick=\"javascript:loadDirStepMap("+dirRoute.getStep(i).getLatLng().lat()+","+dirRoute.getStep(i).getLatLng().lng()+");\"><a class=\"divleft\">"+(i+1)+"</a><span class=\"divleft fdot\">.</span><div class=\"divleft boxlf\">";dirRouteHtml+=dirRoute.getStep(i).getDescriptionHtml();dirRouteHtml+="</div><div class=\"divright boxrg\">"+dirRoute.getStep(i).getDistance().html+"</div></div>"}dirRouteHtml+="<div class=\"divleft cetit cll curs\" onclick=\"javascript:loadDirStepMap("+toLatlng.lat()+","+toLatlng.lng()+");\">"+$("#testcls").html()+"<strong>"+$("#posName").val()+"</strong></div>";$("#route").empty().html(dirRouteHtml);mapDir.showBounds(gDir.getBounds(),{top:30,right:20,left:50});$("#directionlist").show();setTimeout(function(){$.fancybox.resize()},0)},0)});GEvent.addListener(gDir,"error",onErrorHandler)}}function loadDirStepMap(stepDirlat,stepDirlng){mapDir.showMapBlowup(new GLatLng(stepDirlat,stepDirlng))}function onErrorHandler(){var statusCode=gDir.getStatus().code;var statusHtml="";if(statusCode==G_GEO_UNKNOWN_ADDRESS){statusHtml="La localisation \""+$("#dirFrom").val()+"\" n'est pas reconnue."}else if(statusCode==G_GEO_UNKNOWN_DIRECTIONS){statusHtml="L'itin\xE9raire pour l'adresse \""+$("#dirFrom").val()+"\" ne peut \xEAtre calcul\xE9."}else{statusHtml="Une erreur s'est produite."}if(statusHtml!=""){$("#dirErrorHtml").empty().html(statusHtml);$("#dirErrordiv").show();clearDirections()}else{$("#dirErrorHtml").empty();$("#dirErrordiv").hide()}}function loadDirection(){var fromAddr=$("#dirFrom").val();var toAddr=$("#dirTo").val();if(fromAddr==""||fromAddr=="Saisissez votre adresse"){alert("Saisissez votre adresse");$("#dirFrom").focus()}else{$("#fromTxtspan").html(fromAddr);gDir.load("from: "+fromAddr+" to: "+toAddr,{getSteps:true,locale:"fr"})}}function clearDirections(){$("#route").empty();$("#directionlist").hide();$.fancybox.resize();$("#dirFrom").val("Saisissez votre adresse").focus()}$(function(){$("#dirFrom").focus(function(){if($(this).val()=="Saisissez votre adresse"){$(this).val("")}});$("#dirFrom").blur(function(){if($(this).val()==""){$(this).val("Saisissez votre adresse")}});$("a#inline").fancybox({autoDimensions:false,width:980,height:355,overlayOpacity:0.6,autoScale:false,onComplete:function(){setTimeout(function(){$.fancybox.resize();$("#dirFrom").focus()},0);$(window).bind("scroll",function(){setScrollMap()})},onClosed:function(){$("#dirFrom").val("Saisissez votre adresse");$("#route").empty();$("#directionlist").hide();$("#dirErrorHtml").empty();$("#dirErrordiv").hide();$(window).unbind("scroll")}});$("#getdirbtn").click(function(){loadDirection()});$("#print_directions").click(function(){$("#mapdir").jqprint()})});function setScrollMap(){var scroll=$(document).scrollTop();var x=$("#directionlist").offset();var ht=$("#directionlist").height();var tops=x.top;var mapHt=$("#dirfloatmap").height();var topHt=0;var btm=ht-mapHt-10;if(scroll>tops){topHt=scroll-tops;if(topHt>btm){topHt=btm}}$("#dirfloatmap").animate({top:topHt},{duration:1000,easing:"easeOutQuint",queue:false})}function down(url){window.location.href=url}GMap2.prototype.showBounds=function(bounds_,opt_options){var opts=opt_options||{};opts.top=opt_options.top*1||0;opts.left=opt_options.left*1||0;opts.bottom=opt_options.bottom*1||0;opts.right=opt_options.right*1||0;opts.save=opt_options.save||true;opts.disableSetCenter=opt_options.disableSetCenter||false;opts.maxZoom=opt_options.maxZoom*1||30;var ty=this.getCurrentMapType();var port=this.getSize();if(!opts.disableSetCenter){var virtualPort=new GSize(port.width-opts.left-opts.right,port.height-opts.top-opts.bottom);var goodZoom=ty.getBoundsZoomLevel(bounds_,virtualPort);this.setZoom(Math.min(goodZoom,opts.maxZoom));var xOffs=(opts.left-opts.right)/2;var yOffs=(opts.top-opts.bottom)/2;var bPxCenter=this.fromLatLngToDivPixel(bounds_.getCenter());var newCenter=this.fromDivPixelToLatLng(new GPoint(bPxCenter.x-xOffs,bPxCenter.y-yOffs));this.setCenter(newCenter);if(opts.save){this.savePosition()}}var portBounds=new GLatLngBounds;portBounds.extend(this.fromContainerPixelToLatLng(new GPoint(opts.left,port.height-opts.bottom)));portBounds.extend(this.fromContainerPixelToLatLng(new GPoint(port.width-opts.right,opts.top)));return portBounds};
