document.write("<script type='text/javascript' src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&mkt=fr-FR'></script>");function YPGMapControl(controlId)
{this.controlId=controlId;this.mapInstance=null;this.pushPinIcon=null;this.customIconSpecification=null;this.distanceUnits=VEDistanceUnit.Kilometers;this.HideVEControls=function()
{if(this.mapInstance!=null)
{this.mapInstance.HideDashboard();}}
this.ShowVEControls=function()
{if(this.mapInstance!=null)
{this.mapInstance.ShowDashboard();}}
this.SetCenterAndZoom=function(latLong,zoomLevel){if(this.mapInstance!=null)
{this.mapInstance.SetCenterAndZoom(latLong,zoomLevel);}}
this.CreateAndLoadMap=function(latLong,zoom,style,fixed,mode,showSwitch,clientToken)
{this.mapInstance=new VEMap(controlId);if(clientToken!=''){this.mapInstance.SetClientToken(clientToken);}
this.mapInstance.LoadMap(latLong,zoom,style,fixed,mode,showSwitch);this.mapInstance.SetScaleBarDistanceUnit(this.distanceUnits);this.AddCompassRose();}
this.AddCompassRose=function()
{var targetMap=document.getElementById(controlId);var target=findPos(targetMap);var targetWidth=targetMap.style.width;var d=document.createElement("DIV");d.style.backgroundColor='transparent';d.style.zIndex='999';d.style.right='10px';d.style.top='7px';d.style.backgroundImage='url(/++resource++canadaplus.theme.images/North_icon.gif)';d.style.width='18px';d.style.height='25px';d.style.backgroundRepeat='no-repeat';d.style.position='absolute';targetMap.appendChild(d);}
this.Create=function(){this.mapInstance=new VEMap(controlId);}
this.LoadMap=function(latLong,zoom,style,fixed,mode,showSwitch){this.mapInstance.LoadMap(latLong,zoom,style,fixed,mode,showSwitch);}
this.DashboardTranslateFR=function()
{}
this.SetCustomIcon=function(shape,imageUrl)
{if(shape!=null)
{if(imageUrl!=null&&imageUrl!='')
{shape.SetCustomIcon(imageUrl);}}}
this.AddPushpin=function(pushPin)
{if(this.mapInstance!=null)
{this.mapInstance.AddShape(pushPin);}}
this.AddLocation=function(lat,lon,coyName,address,city,prov,postalCode,phone,customIconSpecification)
{var newPin=null;if(this.mapInstance!=null)
{var newPin=new VEShape(VEShapeType.Pushpin,new VELatLong(lat,lon));newPin.SetTitle(coyName);var contactBlock="";if(address!=''){contactBlock+=address+"<br/>";}
if(city!=''){contactBlock+=city+"<br/>";}
if(prov!=''){contactBlock+=prov+"<br/>";}
if(postalCode!=''){contactBlock+=postalCode+"<br/>";}
if(phone!=''){contactBlock+=phone+"<br/>";}
if(contactBlock!=''){newPin.SetDescription(contactBlock);}
if(customIconSpecification==null||customIconSpecification=='undefined')
{if(this.pushPinIcon!=null)
{this.SetCustomIcon(newPin,this.pushPinIcon);}
if(this.customIconSpecification!=null)
{this.SetCustomIcon(newPin,this.customIconSpecification);}}
else
{this.SetCustomIcon(newPin,customIconSpecification);}
this.AddPushpin(newPin);}}
this.AddLocations=function(locations)
{var lat;var lon;var coyName;var address;var city;var prov;var postalCode;var phone;var customIconSpecification;var pointArray=new Array();if(this.mapInstance!=null){for(var i=0;i<locations.length;i++)
{lat=locations[i][0];lon=locations[i][1];coyName=locations[i][2];address=locations[i][3];city=locations[i][4];prov=locations[i][5];postalCode=locations[i][6];phone=locations[i][7];customIconSpecification=locations[i][8];this.AddLocation(lat,lon,coyName,address,city,prov,postalCode,phone,customIconSpecification);pointArray.push(new VELatLong(lat,lon));}
if(pointArray.length>0){this.mapInstance.SetMapView(this.mapInstance.GetShapeLayerByIndex(0).GetBoundingRectangle());}}}
this.DeleteAllShapes=function()
{this.mapInstance.DeleteAllShapes();}
this.DeleteShape=function(shape)
{this.mapInstance.DeleteShape(shape);}
this.Get_dm=function()
{return this.mapInstance._dm;}
this.FindLocation=function(address,city,prov,postalCode)
{var searchAddress='';var what=null;var findType=null;var shapeLayer=null;var startIndex=null;var numberOfResults=null;var showResults=false;var createResults=false;var useDefaultDisambiguation=false;var setBestMapView=true;if(address!=null&&address!='')
{searchAddress=searchAddress+address;}
searchAddress=searchAddress+', ';if(city!=null&&city!='')
{searchAddress=searchAddress+city;}
searchAddress=searchAddress+', ';if(prov!=null&&prov!='')
{searchAddress=searchAddress+prov;}
searchAddress=searchAddress+', ';if(postalCode!=null&&postalCode!='')
{searchAddress=searchAddress+postalCode;}
if(this.mapInstance!=null)
{this.mapInstance.Find(what,searchAddress,findType,shapeLayer,startIndex,numberOfResults,showResults,createResults,useDefaultDisambiguation,setBestMapView,onGotFindResults);}}
this.GetRoute=function(start,end,units,routeType,callback)
{if(this.mapInstance!=null)
{if(callback==null)callback=onGotRoute;this.mapInstance.GetRoute(start,end,units,routeType,callback);}}
this.GetDirections=function(locations,options)
{options.DistanceUnit=VERouteDistanceUnit.Kilometer;if(this.mapInstance!=null)
{this.mapInstance.GetDirections(locations,options);}}
this.GetRouteTranslateFR=function(route)
{var len=route.Itinerary.Segments.length;for(var i=0;i<(len);i++)
{route.Itinerary.Segments[i].Instruction=TranslateFR(route.Itinerary.Segments[i].Instruction);}
return route;}
this.GetDirectionsTranslateFR=function(route)
{map.DeleteAllShapes();var routeinfo="";var steps="";var legs=route.RouteLegs;var leg=null;var legCount=0;var shape=null;var totalDistance=route.Distance;totalDistance=totalDistance.toFixed(1);var totalTime=route.Time;totalTime=totalTime*1000;totalTime=time(totalTime);for(var i=0;i<legs.length;i++)
{leg=legs[i];for(var j=0;j<leg.Itinerary.Items.length;j++)
{var turn=leg.Itinerary.Items[j];var turnDistance=turn.Distance;legCount=j+1;turnDistance=turnDistance.toFixed(1);turn=TranslateFR(turn.Text);shape=new VEShape(VEShapeType.Pushpin,leg.Itinerary.Items[j].LatLong)
if(legCount==1)
{shape.SetDescription(turn);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/mapicon_start.gif");}
else if(legCount==leg.Itinerary.Items.length)
{shape.SetDescription(turn);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/mapicon_end.gif");}
else
{shape.SetDescription(turn);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/RedCircle"+legCount+".gif");}
map.AddPushpin(shape);steps+=GenerateResults([turn,turnDistance,totalDistance,totalTime],j,leg.Itinerary.Items.length);}}
routeinfo=steps;var ourDiv=document.getElementById('drivingDirections');ourDiv.innerHTML=routeinfo;___lastRoute=route;}
this.GetDirectionsEN=function(route)
{map.DeleteAllShapes();var routeinfo="";var steps="";var legs=route.RouteLegs;var leg=null;var legCount=0;var shape=null;var totalDistance=route.Distance;totalDistance=totalDistance.toFixed(1);var totalTime=route.Time;totalTime=totalTime*1000;totalTime=time(totalTime);for(var i=0;i<legs.length;i++)
{leg=legs[i];for(var j=0;j<leg.Itinerary.Items.length;j++)
{var turn=leg.Itinerary.Items[j];var turnDistance=turn.Distance;legCount=j+1;turnDistance=turnDistance.toFixed(1);shape=new VEShape(VEShapeType.Pushpin,leg.Itinerary.Items[j].LatLong)
if(legCount==1)
{shape.SetDescription(turn.Text);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/mapicon_start.gif");}
else if(legCount==leg.Itinerary.Items.length)
{shape.SetDescription(turn.Text);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/mapicon_end.gif");}
else
{shape.SetDescription(turn.Text);shape.SetCustomIcon("http://dev.virtualearth.net/mapcontrol/v6/i/bin/1.0.20070926140324.39/pins/RedCircle"+legCount+".gif");}
map.AddPushpin(shape);steps+=GenerateResults([turn.Text,turnDistance,totalDistance,totalTime],j,leg.Itinerary.Items.length);}}
routeinfo=steps;var ourDiv=document.getElementById('drivingDirections');ourDiv.innerHTML=routeinfo;___lastRoute=route;}
function TranslateFR(itineraryText)
{itineraryText=itineraryText.replace(/At roundabout take exit number/gi,'Au carrefour giratoire, prenez la sortie n&deg;');itineraryText=itineraryText.replace(/Exit roundabout at exit number/gi,'Sortez du carrefour giratoire &agrave; la sortie n&deg;');itineraryText=itineraryText.replace(/Road name changes to/gi,'Le nom de la rue devient');itineraryText=itineraryText.replace(/Turn is potentially restricted/gi,'Il se peut que le virage soit interdit');itineraryText=itineraryText.replace(/Stop for toll booth/gi,'Arr&ecirc;tez au poste de p&eacute;age');itineraryText=itineraryText.replace(/Check the time table/gi,'Consultez l&rsquo;horaire');itineraryText=itineraryText.replace(/and then immediately bear/gi,'et continuez imm&eacute;diatement vers');itineraryText=itineraryText.replace(/and then immediately turn/gi,'et tournez imm&eacute;diatement');itineraryText=itineraryText.replace(/Enter roundabout and take/gi,'Prenez le carrefour giratoire, puis prenez');itineraryText=itineraryText.replace(/Pass through 1 roundabout/gi,'Traversez un carrefour giratoire');itineraryText=itineraryText.replace(/to stay on/gi,'pour rester sur');itineraryText=itineraryText.replace(/on the right/gi,'&agrave; votre droite');itineraryText=itineraryText.replace(/on the left/gi,'&agrave; votre gauche');itineraryText=itineraryText.replace(/Gate access required/gi,'Il vous faut un droit d&rsquo;acc&egrave;s');itineraryText=itineraryText.replace(/Road name changes/gi,'Rue change de nom');itineraryText=itineraryText.replace(/and follow signs/gi,'et suivez la signalisation');itineraryText=itineraryText.replace(/and then immediately/gi,'puis imm&eacute;diatement');itineraryText=itineraryText.replace(/and then bear/gi,'puis continuez');itineraryText=itineraryText.replace(/Take ramp toward/g,'Prenez la bretelle vers');itineraryText=itineraryText.replace(/take ramp toward/g,'prenez la bretelle vers');itineraryText=itineraryText.replace(/Exit roundabout at/gi,'Sortez du carrefour giratoire &agrave;');itineraryText=itineraryText.replace(/Exit roundabout onto/gi,'Sortez du carrefour giratoire vers');itineraryText=itineraryText.replace(/to stay/gi,'pour rester');itineraryText=itineraryText.replace(/and then/gi,'et ensuite');itineraryText=itineraryText.replace(/Keep straight/g,'Continuez tout droit');itineraryText=itineraryText.replace(/keep straight/g,'continuez tout droit');itineraryText=itineraryText.replace(/Keep left/g,'Gardez la gauche');itineraryText=itineraryText.replace(/keep left/g,'gardez la gauche');itineraryText=itineraryText.replace(/Keep right/g,'Gardez la droite');itineraryText=itineraryText.replace(/keep right/g,'gardez la droite');itineraryText=itineraryText.replace(/1st exit/gi,'la 1<sup>re</sup> sortie');itineraryText=itineraryText.replace(/2nd exit/gi,'la 2<sup>e</sup> sortie');itineraryText=itineraryText.replace(/3rd exit/gi,'la 3<sup>e</sup> sortie');itineraryText=itineraryText.replace(/4th exit/gi,'la 4<sup>e</sup> sortie');itineraryText=itineraryText.replace(/Local road\(s\)/gi,'voie r&eacute;gionale');itineraryText=itineraryText.replace(/Toll road/gi,'Route &agrave; p&eacute;age');itineraryText=itineraryText.replace(/Arrive At/gi,'Arriv&eacute;e &agrave;');itineraryText=itineraryText.replace(/Depart from/gi,'D&eacute;part de');itineraryText=itineraryText.replace(/and keep/gi,'puis gardez');itineraryText=itineraryText.replace(/Turn back/gi,'Faites demi-tour');itineraryText=itineraryText.replace(/Merge onto/gi,'&Agrave; la jonction, continuez sur / vers');itineraryText=itineraryText.replace(/Stay on/gi,'Restez sur');itineraryText=itineraryText.replace(/At exit/gi,'&Agrave; la sortie n&deg;');itineraryText=itineraryText.replace(/Take ramp/g,'Prenez la bretelle');itineraryText=itineraryText.replace(/take ramp/g,'prenez la bretelle');itineraryText=itineraryText.replace(/Exit onto/gi,'Sortez sur');itineraryText=itineraryText.replace(/Enter roundabout/gi,'Prenez le carrefour giratoire');itineraryText=itineraryText.replace(/Pass through/gi,'Traversez');itineraryText=itineraryText.replace(/At roundabout,/gi,'Au carrefour giratoire,');itineraryText=itineraryText.replace(/\bnortheast\b/gi,'nord-est');itineraryText=itineraryText.replace(/\bnorthwest\b/gi,'nord-ouest');itineraryText=itineraryText.replace(/\bsoutheast\b/gi,'sud-est');itineraryText=itineraryText.replace(/\bsouthwest\b/gi,'sud-ouest');itineraryText=itineraryText.replace(/\bwest\b/gi,'ouest');itineraryText=itineraryText.replace(/\bsouth\b/gi,'sud');itineraryText=itineraryText.replace(/\beast\b/gi,'est');itineraryText=itineraryText.replace(/\bnorth\b/gi,'nord');itineraryText=itineraryText.replace(/LEFT/gi,'&agrave; gauche');itineraryText=itineraryText.replace(/RIGHT/gi,'&agrave; droite');itineraryText=itineraryText.replace(/STRAIGHT/gi,'tout droit');itineraryText=itineraryText.replace(/Unknown/gi,'Inconnu');itineraryText=itineraryText.replace(/Ferry/gi,'Traversier');itineraryText=itineraryText.replace(/Entering/gi,'Entr&eacute;e');itineraryText=itineraryText.replace(/\bfor\b/gi,'pour');itineraryText=itineraryText.replace(/\bAt\b/gi,'&Agrave;');itineraryText=itineraryText.replace(/onto/gi,'sur');itineraryText=itineraryText.replace(/exit/g,'sortie');itineraryText=itineraryText.replace(/\bto\b/gi,'vers');itineraryText=itineraryText.replace(/\bon\b/gi,'sur');itineraryText=itineraryText.replace(/Turn/g,'Tournez');itineraryText=itineraryText.replace(/turn/g,'tournez');itineraryText=itineraryText.replace(/Return/gi,'Retournez vers');itineraryText=itineraryText.replace(/Take/g,'Prenez');itineraryText=itineraryText.replace(/take/g,'prenez');itineraryText=itineraryText.replace(/toward/gi,'vers');itineraryText=itineraryText.replace(/Exit/g,'Sortie');itineraryText=itineraryText.replace(/Arrive/gi,'Arriv&eacute;e');itineraryText=itineraryText.replace(/Bear/gi,'Continuez');itineraryText=itineraryText.replace(/Ramp/gi,'Bretelle');itineraryText=itineraryText.replace(/Depart/gi,'D&eacute;part');itineraryText=itineraryText.replace(/\bContinue\b/gi,'Continuez');itineraryText=itineraryText.replace(/Keep/g,'Gardez');itineraryText=itineraryText.replace(/keep/g,'gardez');itineraryText=itineraryText.replace(/Stay/gi,'Restez');itineraryText=itineraryText.replace(/Start/gi,'Commencez');itineraryText=itineraryText.replace(/\bthe\b/gi,'');itineraryText=itineraryText.replace(/\bW\b/gi,' O ');itineraryText=itineraryText.replace(/Hwy/gi,'Aut');itineraryText=itineraryText.replace(/roundabouts/gi,'carrefours giratoires');return itineraryText;}
this.Pan=function(deltaX,deltaY)
{if(this.mapInstance!=null)
{this.mapInstance.Pan(deltaX,deltaY);}}
this.SetCenter=function(latLong)
{if(this.mapInstance!=null)
{this.mapInstance.SetCenter(latLong);}}
this.GetCenter=function()
{var center=null;if(this.mapInstance!=null)
{center=this.mapInstance.GetCenter();}
return center;}
this.GetZoomLevel=function()
{var level=null;if(this.mapInstance!=null)
{level=this.mapInstance.GetZoomLevel();}
return level;}}
function onGotFindResults(shapeLayer,findResults,locations,hasMoreResults)
{}
function onGotRouteNOP(){}
function GenerateDDMap(route,stepNumber)
{var ddMap=new YPGMapControl("ddmap"+stepNumber);var legs=route.RouteLegs;for(var i=0;i<legs.length;i++)
{leg=legs[i];try{___lastStepNumber=stepNumber;___lastCenter=leg.Itinerary.Items[stepNumber].LatLong;ddMap.CreateAndLoadMap(leg.Itinerary.Items[stepNumber].LatLong,17,VEMapStyle.Road,true,null,false);ddMap.HideVEControls();___lastMap=ddMap;var routeShape=leg.Itinerary.Items[stepNumber].Shape;ddMap.AddPushpin(routeShape);}catch(ex){alert(ex.message);}}}
function OpenMapDiv(route)
{var stepNumber=___lastStepNumber;var center=route.Itinerary.Segments[stepNumber].LatLong;var ddMap=___lastMap;ddMap.SetCenterAndZoom(center,17);var ourDiv=document.getElementById('ddmap'+stepNumber);var linkElement=document.getElementById('text'+stepNumber);linkElement.setAttribute('onclick',"CloseMapDiv("+stepNumber+")");}
function CloseMapDiv(stepNumber)
{var ourDiv=document.getElementById('ddmap'+stepNumber);var linkElement=document.getElementById('text'+stepNumber);linkElement.setAttribute('onclick',"GenerateDDMap(___lastRoute, "+stepNumber+")");}
IsBrowserVECompliant=function()
{var firefox_index=navigator.userAgent.indexOf(FIREFOX_AGENTID);if(firefox_index!=-1)
{var firefox_version=parseFloat(navigator.userAgent.substring(firefox_index+FIREFOX_AGENTID.length));return firefox_version>=1.5;}
var ie_index=navigator.userAgent.indexOf(IE_AGENTID);if(ie_index!=-1)
{var ie_version=parseFloat(navigator.userAgent.substring(ie_index+IE_AGENTID.length));return ie_version>=6;}
return false;}
function findPos(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft
curtop=obj.offsetTop
while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}}
return[curleft,curtop];}
var ___lastCenter=null;var ___lastRoute=null;var ___lastStepNumber=0;var ___lastMap=null;function two(x){return((x>9)?"":"0")+x}
function three(x){return((x>99)?"":"0")+((x>9)?"":"0")+x}
function time(ms){var sec=Math.floor(ms/1000)
ms=ms%1000
var min=Math.floor(sec/60)
sec=sec%60
t=two(sec)+"sec"
var hr=Math.floor(min/60)
min=min%60
t=two(min)+"min "+t
var day=Math.floor(hr/60)
hr=hr%60
hr=two(hr)
if(hr!=00){t=two(hr)+"h "+t}
if(day!=0){t=day+"day "+t}
return t}
