if(!dojo._hasResource["mq.widget.FuelCost"]){
dojo._hasResource["mq.widget.FuelCost"]=true;
dojo.provide("mq.widget.FuelCost");
dojo.declare("mq.widget.FuelCost",[mq.widget.MQPopup],{constructor:function(){
debug("FuelCost: constructor");
},closeOnBackGroundClick:true,closeButtonRequired:true,popupArrowPlacement:11,executeFlag:false,promoLoginContent:"",postMixInProperties:function(){
this.popupContent=this.promoLoginContent;
this.inherited(arguments);
},postCreate:function(){
var _1=dojo.hitch(this,"handlePromoPopupCallback");
UIService.generatePromo("mainui-fuel-popup",_1);
this.inherited(arguments);
setTimeout(function(){
mq.focus($d("mpgInput"));
if($w("dijit_DialogUnderlay_0")){
$w("dijit_DialogUnderlay_0").layout();
}
},500);
},handlePromoPopupCallback:function(_2){
if($d("fuelPromo")){
}else{
debug("couldnt load promo");
}
}});
}
if(!dojo._hasResource["mq.fuelcostcalculator"]){
dojo._hasResource["mq.fuelcostcalculator"]=true;
dojo.provide("mq.fuelcostcalculator");
mq.calcFuelCost=function(_3){
try{
mq.showLoadingFuelImage();
var _4=controller._model.routeResults.sessionId;
var _5=dojo.hitch(mq,"handleFuel",_3);
UIService.calculateFuelFromProfile(_4,_5);
ua.a(":MQ08FuelCalc");
}
catch(e){
logDebug("mq.calcFuelCost",e);
}
};
mq.calcFuelCostWithMPG=function(_6){
if(_6){
_6.preventDefault();
}
var w=$w("mqFuelPopup");
var _8=$d("mpgInput").value;
if(_8!=parseFloat(_8)){
var _9=mq.getMessage("ERROR_INVALID_NUMBER");
var _a="<div style='color:#CC0000;font-weight:bold;'><div class='fltl'>"+mq.setImagePng(mqPrefix+"/cdn/dotcom/images/icon-warn-sm.png",18,18)+"</div>"+_9+"</div>";
$d("fuelError").innerHTML=_a;
if(dojox.fx.highlight){
dojox.fx.highlight({node:$d("fuelError"),duration:2000}).play();
}
return;
}
mq.showLoadingFuelImage();
w.executeFlag=true;
if(w){
w.executeFlag=true;
w.close();
}
try{
var _b=controller._model.routeResults.sessionId;
var _c=dojo.hitch(mq,"handleFuel",_6);
UIService.calculateFuelWithMPG(_b,_8,_c);
ua.a(":MQ08FuelCalcMPG");
}
catch(e){
logDebug("mq.calcFuelCostWithMPG",e);
}
};
mq.handleFuel=function(_d,_e){
try{
mq.hideLoadingFuelImage();
window.fuelResponse=_e;
if(_e.cost>0){
$d("dirFuelSummary").innerHTML="$"+_e.cost.toFixed(2);
$d("dirFuelSummary2").innerHTML="$"+_e.cost.toFixed(2);
mq.hide($d("fuelButton"));
mq.hide($d("fuelButton2"));
}else{
if((!_e.loggedIn||!_e.vehicleAvailable)&&_e.priceAvailable&&_e.sessionAvailable){
var _f=_d;
var _10=dojo.coords(_f,true);
var _11=m2.util.Content.execFtl("/promo/fuelcost");
var _12=new mq.widget.FuelCost({id:"mqFuelPopup",promoLoginContent:_11,xoffset:_10.x+110,yoffset:_10.y-28,onClose:dojo.hitch(mq,"closeFuelPopup")});
dojo.connect($d("fuelCostForm"),"onsubmit",mq,"calcFuelCostWithMPG");
}else{
if(!_e.sessionAvailable){
mq.handleFormErrorPopups(null,"<span class=\"redavoid\">"+mq.getMessage("ERROR_SESSION_EXPIRED")+"</span>");
}else{
if(!_e.priceAvailable){
mq.handleFormErrorPopups(null,"<span class=\"redavoid\">"+mq.getMessage("ERROR_PRICE_NOTAVAILABLE")+"</span>");
}
}
}
}
}
catch(e){
logDebug("mq.handleFuel",e);
}
};
mq.closeFuelPopup=function(){
if(!$w("mqFuelPopup").executeFlag){
ua.a(":MQ08FuelCalcClose");
}
};
mq.showLoadingFuelImage=function(){
var l=$d("loadingFuel");
if(!l){
var div=document.createElement("div");
div.id="loadingFuel";
div.style.position="absolute";
div.style.zIndex="1002";
var img=document.createElement("img");
img.src=mqPrefix+"/cdn/dotcom/images/load_fuel.gif";
div.appendChild(img);
document.body.appendChild(div);
l=div;
}
var _16=mq.calcCenterPosition(155,36);
l.style.left=_16.x+"px";
l.style.top=_16.y+"px";
mq.show(l);
};
mq.hideLoadingFuelImage=function(){
var l=$d("loadingFuel");
mq.hide(l);
};
}
if(!dojo._hasResource["mq.maptabview"]){
dojo._hasResource["mq.maptabview"]=true;
dojo.provide("mq.maptabview");
var resultsOptions=null;
dojo.declare("mq.MapTabView",mq.TabView,{constructor:function(_18,_19,_1a){
try{
debug("MapTabView.constructor");
this.manMapList={};
var _1b=dijit.getViewport().w-30-dojo.coords($d("rightrailad"),true).w;
($d("mapWindow")).style.width=_1b+"px";
($d("mapWindow")).style.height="540px";
this._locationListId=this._idList["locationList"];
var _1c=_18._model.viewType;
if(!_1c){
_1c=mq.savedandrecent.getDefaultMapType();
}
debug(">> "+this.getDefaultMapLocation().longitude+", "+_1c+", "+_18._model.zoomLevel);
var _1d=false;
if(serverResults&&_18._model.searchLocation){
if(serverResults.length<2){
if(serverResults[0].resultCode=="SEARCH_RESULTS"){
_1d=true;
}
}else{
if(serverResults[1].resultCode=="SEARCH_RESULTS"){
_1d=true;
}
}
}
if(!_1d){
this.loadMap(_18,_19,_1a,_1c,_1d);
}
this.tabView=this.tabState.map;
if(_18._model.locations){
var _1e=false;
if(_18._model.printerFriendly){
_1e=true;
_18._model.printerFriendly=false;
}
var _1f=mq.getQueryString(window.location.href,"ua");
if(_1f&&_1f.toUpperCase()=="TRAFFIC"){
ua.a(":MQ08TrafficOn");
}
if(_19){
ua.a(":pv");
this.handleServerRender();
ua.commit();
}else{
this.updateView(_18._model);
}
if(_1e){
_18._model.printerFriendly=true;
}
}else{
if(!_1d){
this.handleServerRender();
}
}
if($d("rblOverviewTab")){
if(rbltabview=="overview"){
mq.rbl.changeTab("Overview");
}else{
if(rbltabview=="reviews"){
mq.rbl.changeTab("Reviews");
}else{
mq.rbl.changeTab("Map");
}
}
}
}
catch(e){
logDebug("maptabview.constructor",e);
}
},loadMap:function(_20,_21,_22,_23){
this.initMap(this.getDefaultMapLocation(),_23,_20._model.zoomLevel,_21);
this._tileMap.addControl(new MQA.LargeZoomControl3(),new MQA.MapCornerPlacement(MQA.MapCorner.TOP_LEFT,new MQA.Size(5,5)));
this._tileMap.addControl(new MQA.ViewControl3(),new MQA.MapCornerPlacement(MQA.MapCorner.TOP_RIGHT,new MQA.Size(-5,5)));
var _24=new MQA.TrafficToggleControl();
this._tileMap.addControl(_24,new MQA.MapCornerPlacement(MQA.MapCorner.TOP_RIGHT,new MQA.Size(-180,5)));
if(model&&model.trafficEnabled){
_24.toggle(true);
}
var me=this;
MQA.withModule("dragtrack",function(){
if(MQA.DragTracker){
var _26=new MQA.DragTracker(me._tileMap);
me.dragTracker=_26;
_26.onChange=MQA.EventUtil.hitch(me,"onMapChange");
}
});
try{
MQA.EventManager.addListener(this._tileMap,"routeRefresh",dojo.hitch(this,"onRouteRefresh"));
MQA.EventManager.addListener(this._tileMap,"redrawoveralys",dojo.hitch(this,"onRedrawOveralys"));
if(!this.zoomHandler){
this.zoomHandler=dojo.hitch(this,"onZoomEnd");
}
this.sizeHandler=null;
MQA.EventManager.addListener(this._tileMap,"moveend",dojo.hitch(this,"onMoveEnd"));
}
catch(e){
logDebug("maptabview.loadMap-listeners",e);
}
},bestFit:function(evt){
if(this.draggableRoute){
this.draggableRoute.onZoomEnd(null);
}
},onRouteRefresh:function(evt){
model.routeNeedsUpdate=true;
},onRedrawOveralys:function(evt){
model.routeNeedsUpdate=true;
},onZoomEnd:function(evt){
if(this.draggableRoute){
this.draggableRoute.onZoomEnd(null);
}
},onMoveEnd:function(evt){
if(model.routeNeedsUpdate){
if(this.draggableRoute){
this.draggableRoute.onZoomEnd(null);
}
model.routeNeedsUpdate=false;
}
},onSetSize:function(evt){
if(this.draggableRoute){
this.draggableRoute.onZoomEnd(null);
}
model.routeNeedsUpdate=false;
},imagePath:mqPrefix+"/cdn/dotcom/images",iconPattern:"stop_{VAR}.png",VARIANCE_LIMIT:0.1,updateView:function(_2d){
ScrollLock.lock();
try{
if(typeof (this._tileMap)=="undefined"||!this._tileMap){
var _2e=controller._model.viewType;
if(!_2e){
_2e=mq.savedandrecent.getDefaultMapType();
}
this.loadMap(controller,false,this._idList,_2e);
}
debug("MapTabView.updateView");
mq.hideLoadingImage();
ua.a(":pv");
if(!!(view)){
if(_2d.mode){
view.contentModeHandler(_2d.mode);
}else{
if(view.getCurrentMode()!="MAPS"){
view.contentModeHandler("MAPS");
}
}
view.resizeLayout();
}
if(!_2d.printerFriendly&&mq.isShowing($d("printDisplay"))){
window.backToMap();
}
var _2f="";
var _30="";
try{
if(_2d.routeResults!=null&&_2d.routeResults.resultMessages!=null&&!_2d.routeResults.wasAvoidError){
var _31=_2d.routeResults.resultMessages;
debug("Route messages found: "+_31.length);
for(var i=0;i<_31.length;i++){
debug("Message "+i+": "+_31[i]);
var tmp=mq.getMessage(_31[i].match(/^[A-Z,_]*/));
(mq.startsWith(_31[i],"WARN"))?_30+=(tmp+"<br/>"):_2f+=(tmp+"<br/>");
}
_2f=(_2f!="")?_2f.substring(0,_2f.lastIndexOf("<br/>")):_2f;
_30=(_30!="")?_30.substring(0,_30.lastIndexOf("<br/>")):_30;
}
}
catch(e){
logDebug("maptabview.updateView-dispRouteErrors",e);
}
if(_2f.length<=0){
if(_2d.routeResults){
_2d.routeResults.wasAvoidError=null;
}
this.updateShowHideRoutingLnk(_2d.showRoute);
(_2d.viewType!=null)?this._tileMap.setMapType(_2d.viewType):this._tileMap.setMapType(mq.savedandrecent.getDefaultMapType());
var _34=_2d.locations;
var _35=$d("mapWindow");
if(_34!=null&&_34.length>0){
try{
mq.show($d("itin"));
_35.style.borderTopWidth="1px";
this.updateMap(_2d);
if(_34.length==1){
mq.hide($d("routingOptions"));
dojo.removeClass("MAPSborder","routeWin");
mq.hide($d("infoMessage"));
}else{
mq.show($d("dirSummary"));
mq.show($d("routingOptions"));
dojo.addClass("MAPSborder","routeWin");
}
if(!!(view)){
view.resizeLayout();
}
}
catch(e){
logDebug("maptabview.updateView-Locs>Zero",e);
}
}else{
try{
mq.hide($d("itin"));
_35.style.borderTopWidth="0px";
this.removeRouteHighlight();
mq.util.clearPoiListeners(this._tileMap.getShapeCollection(""));
this._tileMap.removeShapeCollection("");
this.setDefaultMap(this.getDefaultMapLocation());
mq.hide($d("dirSummary"));
mq.hide($d("routingOptions"));
mq.hide($d("routingOptions2"));
}
catch(e){
logDebug("maptabview.updateView-Locs<=Zero",e);
}
}
try{
debug("Calling tileMap.saveState");
this._tileMap.saveState();
this.cleanLocationList();
var _36=controller.numLocs();
if(_36>1){
this.drawLocations(_2d);
}
if(_36>0){
this.addLocationForm(_36,"loc",this._locationListId);
if(_36==1){
mq.hide($d("findLoc"));
}else{
if(_36>1){
view.updateFindNBLocList();
}
}
}
this.updateDirSummary();
mq.util.updateBrowserTitle();
this.updateRouteOptions(true);
if(serverResults&&view.mapView){
serverResults=null;
}
if(dirForm&&dirForm.results){
dirForm.results=null;
}
(_30.length>0)?this.showRouteWarningMessage(_30):this.hideRouteWarningMessage();
this.scrollIntoView();
view.scrollToElement=null;
}
catch(e){
logDebug("maptabview.updateView-finishing",e);
}
}else{
this.updateShowHideRoutingLnk(_2d.showRoute);
this.showGenericPopup(_2f);
}
if(!_2d.showPrint){
ua.commit();
}
debug("Before showPrint");
if(_2d.printerFriendly){
window.showPrint();
}
}
catch(e){
logDebug("maptabview.updateView-generic",e);
}
finally{
ScrollLock.unlock();
}
},updateMap:function(_37){
try{
this._tileMap.removeShapeCollection("");
var _38=true;
this.addPoisToMap(_37.locations);
var _39=true;
if(_37.zoomLevel!=null&&_37.zoomLevel){
debug("MapTabView.updateView: restoring map center, zoom level, and best fit");
if(_37.showRoute){
if(!_37.routeResults){
controller.rerunRoute();
}else{
_39=false;
this.addRouteHighlight(_37,_38);
}
}
this._tileMap.setCenter(new MQA.LatLng(_37.centerLatitude,_37.centerLongitude),_37.zoomLevel);
}else{
if(_37.showRoute&&_37.routeResults!=null){
debug("MapTabView.updateView: adding route");
_39=false;
this.addRouteHighlight(_37,_38&&!this._isDragRecompute);
}else{
if(_37.locations.length==1){
var loc=_37.locations[0].location;
if(loc.geocodeQuality){
debug("MapTabView.updateView: setting zoom based on geocode quality");
var _3b=this._tileMap.getZoomLevel();
this._tileMap.setCenter(new MQA.LatLng(loc.latitude,loc.longitude),this.zoomLevels[loc.geocodeQuality]);
if(this._tileMap.getZoomLevel()==_3b){
controller.panZoomChange(_3b,this._tileMap.getCenter());
}
}else{
debug("Geocoder did not return a geocodeQuality");
this._tileMap.bestFit(false,this.zoomLevels["MIN"],this.zoomLevels["MAX"]);
}
}else{
debug("MapTabView.updateView: calling best fit");
this._tileMap.bestFit(false,this.zoomLevels["MIN"],this.zoomLevels["MAX"]);
}
}
}
if(_39){
debug("MapTabView: removing route highlight");
this.removeRouteHighlight();
}
if(!this._isDragRecompute&&controller.numLocs()>1&&_37.blId&&_37.blOption=="route"&&_37.searchResults&&_37.searchResults.searchResults.length>0){
this._tileMap.bestFit(false,this.zoomLevels["MIN"],this.zoomLevels["MAX"]);
}
_37.resultsAlreadyDrawn=null;
this._isDragRecompute=false;
}
catch(e){
logDebug("maptabview.updateMap",e);
}
},scrollIntoView:function(){
try{
var _3c=controller._model;
var _3d;
if((typeof (view.scrollToElement)!="undefined")&&view.scrollToElement!=null){
if(view.scrollToElement==0){
if(window.ScrollLock){
window.ScrollLock.clear();
}
window.scrollTo(0,0);
view.scrollToElement=null;
return;
}
_3d=$d(view.scrollToElement);
view.scrollToElement=null;
}
if(_3d){
var _3e=dijit.getViewport();
if(!mq.util.isElementInView(_3d)){
mq.util.scrollElemToView(_3d,_3e.h-200);
}
}
}
catch(e){
logDebug("maptabview.scrollIntoView",e);
}
},modelToRouteData:function(_3f){
var _40=_3f.routeResults,_41=_3f.routeOptions,i,_43,_44={sessionId:_40.sessionId,mapServerUrl:_40.mapServerUrl,boundingBox:{ul:{lat:_40.upperLeft.latitude,lng:_40.upperLeft.longitude},lr:{lat:_40.lowerRight.latitude,lng:_40.lowerRight.longitude}}},_45={avoid:[],unit:(_41.distanceUnit||"m").toLowerCase(),routeType:(_41.routeType||"fastest").toLowerCase()},_46=[];
_44.options=_45;
if(_41.avoidTollRoads){
_45.avoid.push("tollroad");
}
if(_41.avoidSeasonal){
_45.avoid.push("seasonal");
}
if(_41.avoidFerries){
_45.avoid.push("ferries");
}
if(_41.avoidUnpaved){
_45.avoid.push("unpaved");
}
_44.locations=_46;
for(i=0;i<_3f.locations.length;i++){
_43=_3f.locations[i].location;
_46.push({modelLoc:_3f.locations[i],gefId:_40.locationGEFIDs[i],latLng:{lat:_43.latitude,lng:_43.longitude},type:(_43.locationType==2?"v":"s")});
}
return _44;
},removeRouteHighlight:function(){
var _47=this._routeController;
if(_47){
_47.dispose();
this._routeController=null;
}
},routeCustomizePoi:function(poi){
var _49=poi.location,_4a;
if(!_49){
return;
}
_4a=_49.modelLoc.location;
var c=controller;
poi.setDeclutter(true);
poi.setDeclutterFixed(true);
if(_49.type=="v"){
if(poi.getInfoTitleHTML&&poi.getInfoTitleHTML.length>0){
$a("MQ08DRMoveVia","r");
}else{
ua._userAction=null;
ua.a(":MQ08DRAddVia");
}
poi.setInfoTitleHTML("Via: "+_4a.addressLine1);
poi.setInfoContentHTML(mq.util.getViaInfoPopupContent(poi.locationIndex,_4a,poi.locationIndex,false,true,false));
poi.setKey("vias-"+poi.locationIndex);
}else{
var _4c=function(_4d,_4e){
poi.setInfoTitleHTML(mq.util.getMiniPopupContent(_4d));
poi.setInfoContentHTML(mq.util.getInfoPopupContent(_4d,_4e,false,true,false));
poi.setRolloverContent(m2.util.Bubble.formatRolloverContent(_4d));
poi.setKey("stops-"+_4e);
};
if((_4a.city==""&&_4a.state=="")){
var _4f=this;
var _50=function(_51){
_4a.city=_51.city;
_4a.state=_51.state;
_4a.country=_51.country;
_4c(_4a,poi.locationIndex);
var loc=controller._model.locations[poi.locationIndex].location;
loc.city=_51.city;
loc.state=_51.state;
loc.country=_51.country;
if(_51.country!="CA"){
setTimeout(function(){
_4f.cleanLocationList();
_4f.drawLocations(model);
_4f.addLocationForm(controller.numLocs(),"loc",_4f._locationListId);
},500);
$a("MQ08DRMoveStop","r");
}
};
try{
UIService.reverseGeocodeMapLocation(_4a.latitude,_4a.longitude,_50);
}
catch(e){
_4c(_4a,poi.locationIndex);
console.error("Error in mq.reverseGeocodeMapLocation:",e);
}
}else{
_4c(_4a,poi.locationIndex);
}
}
MQA.EventManager.addListener(poi,"infowindowopen",dojo.hitch(this,"openInfoWindow"));
MQA.EventManager.addListener(poi,"infowindowclose",dojo.hitch(this,"clickCloseInfoWindow"));
},avoidManeuversLostPopup:function(){
var _53=new dojox.string.Builder();
_53.append("<div class=\"alert-warning\">");
_53.append(" <img src=\""+mqPrefix+"/cdn/dotcom/images/icon-warn.gif\" height=\"25\" width=\"24\">");
_53.append(" <span>"+mq.getMessage("MSG_DRAG_LOSE_AVOIDS")+"</span><br/><br/>");
_53.append(" <div class=\"textc\">");
_53.append("  <input type=\"button\" value=\"OK\" onclick=\"Javascript:$w('confirmAvoidManeuversLost').close();view.mapView.avoidManeuversLostPopupOK();\"");
_53.append(" class=\"btn\" id=\"routeClearOk\"/>&nbsp;&nbsp;&nbsp;");
_53.append("  <input type=\"button\" value=\"Cancel\" onclick=\"Javascript:$w('confirmAvoidManeuversLost').handleCancel();view.mapView.avoidManeuversLostPopupCancel();\"");
_53.append(" class=\"btn\" id=\"routeClearCancel\"/>");
_53.append(" </div>");
_53.append("</div>");
_53=_53.toString();
var _54=new mq.widget.MQPopup({id:"confirmAvoidManeuversLost",position:"center",popupContent:_53});
},avoidManeuversLostPopupOK:function(){
var _55=this._controller._model;
_55.routeOptions.avoidGEFIDList=null;
this.routeRecomputeChangedRoute(_55,this._tmpRdLocations);
delete this._tmpRdLocations;
},avoidManeuversLostPopupCancel:function(){
var _56=this._controller._model;
delete this._tmpRdLocations;
this._controller.rerunRoute();
},routeRecomputeChangedRoute:function(_57,_58){
if(_57.routeOptions.avoidGEFIDList&&_57.routeOptions.avoidGEFIDList.length>0){
this._tmpRdLocations=_58;
this.avoidManeuversLostPopup();
return;
}
var _59=_57.locations,i,j=0,_5c=[],_5d,_5e;
for(i=0;i<_58.length;i++){
_5e=_58[i];
_5d=_5e.modelLoc;
if(_5d){
_5c.push(_5d);
}else{
_5c.push({location:{name:"",addressLine1:_5e.street,city:_5e.city,state:_5e.state,postalCode:_5e.postalCode,county:"",country:_5e.country,latitude:_5e.latLng.lat,longitude:_5e.latLng.lng,geocodeQuality:"",phoneNumber:"",latLngPrecision:"6",locationType:(_5e.type=="s"?1:2),dragPoint:0}});
}
}
_57.locations=_5c;
this._isDragRecompute=true;
this._controller.rerunRoute();
},canStartDrag:function(){
if(this._controller.numVias()>=draggable_max_viastops){
var _5f=new dojox.string.Builder();
_5f.append("<div class=\"alert-warning\" style=\"display: block;width: 130px;\">");
_5f.append("<span class=\"avoid b\">You have reached the maximum number of route editing points allowed.</span>");
_5f.append("</div>");
var _60=this._tileMap.display,_61=0,_62=0,_63=MQA.Util.getParentOffset(_60.elt),_64=_60.currentDrag;
if(_64){
_61=_64.startXY.x-_60.ulX+_63.x;
_62=_64.startXY.y-_60.ulY+_63.y;
}
var _65=mq.getPopupContentWidthHeight(_5f.toString()),_66=new mq.widget.MQPopup({id:"draggableBubble",xoffset:_61-63,yoffset:_62+30,bgOpacity:0,fadingBg:false,closeButtonRequired:false,closeOnBackGroundClick:false,popupArrowPlacement:0,arrowOffsetX:60,popupImage:"sprt-pop-ylw",bgRequired:true,popupMinHeight:50,popupContent:_5f.toString()});
$d("draggableBubble").focus();
setTimeout("$w('draggableBubble').close()",1500);
return false;
}
return true;
},addRouteHighlight:function(_67,_68){
var _69=this._routeController,io,_6b,_6c;
if(!_69){
io=new MQA.RouteIO("/_svc/routeio");
_6b=new MQA.Route.RouteDelegate();
_6b.customizePoi=dojo.hitch(this,"routeCustomizePoi");
_6b.recomputeChangedRoute=dojo.hitch(this,"routeRecomputeChangedRoute",_67);
_6b.canStartDrag=dojo.hitch(this,"canStartDrag");
_69=this._tileMap.createRoute(_6b,io);
this._routeController=_69;
}
_6c=this.modelToRouteData(_67);
if(_68&&_6c.boundingBox){
this._tileMap.zoomToRect(_6c.boundingBox);
}else{
if(this._tileMap.searchManager){
this._tileMap.searchManager.refresh();
}
}
_69.setRouteData(_6c);
},rolloverManeuver:function(evt){
debug("TabView.rolloverManeuver: "+evt.eventName);
var _6e=evt.srcObject;
if(evt.eventName=="MQA.LineOverlay.mouseOut"){
_6e.setAltStateFlag(false);
}else{
_6e.setAltStateFlag(true);
}
},showGenericPopup:function(_6f){
try{
debug("MapTabView.showGenericPopup: "+_6f);
var sb=new dojox.string.Builder();
sb.append("<div class=\"alert-warning\" style=\"width: 220px\">").append("<img src=\""+mqPrefix+"/cdn/dotcom/images/icon-warn.gif\" height=\"25\" width=\"24\">").append("<div class=\"avoid\">"+_6f+"</div></div>");
var _71=new mq.widget.MQPopup({id:"mqErrorPopup",position:"center",popupImage:"sprt-pop-ylw",popupContent:sb.toString(),closeButtonRequired:true});
}
catch(e){
logDebug("maptabview.genericError:"+(_6f)?_6f:"",e);
}
},cleanLocationList:function(){
try{
debug("MapTabView.cleanLocationList");
var _72=10+parseInt(draggable_max_viastops);
for(var i=0;i<=_72;i++){
if(window["loc"+i+"Form"]){
mq.destroyForm(window["loc"+i+"Form"]);
window["loc"+i+"Form"]=null;
}
}
dijit.registry.byClass("mq.widget.LocationListItem").forEach(function(w){
debug("destory widget: "+w.id);
w.destroy();
});
$d(this._locationListId).innerHTML="";
if(this.manMapList){
for(var i in this.manMapList){
var map=this.manMapList[i];
if(!dojo.isSafari){
map.dispose();
}
map=null;
delete this.manMapList[i];
}
}
}
catch(e){
logDebug("maptabview.cleanLocationList",e);
}
},drawLocations:function(_76){
try{
if(_76.locations!=null){
debug("MapTabView.drawLocations: "+_76.locations.length);
var ul=document.createElement("div");
ul.setAttribute("id","locationList");
ul.setAttribute("class","locationList");
$d(this._locationListId).appendChild(ul);
if(_76.showRoute&&_76.routeResults!=null&&_76.locations.length>1){
var div=document.createElement("div");
dojo.addClass(div,"dirTitle");
var _79=new dojox.string.Builder();
_79.append("Directions Details");
_79.append("<div id=\"avoidRestore\" style=\"display:none;\">");
_79.append("<div class=\"fltl\"><img src=\""+mqPrefix+"/cdn/dotcom/images/icons/icon-alert-info.gif\" height=\"15\" width=\"15\"></div>");
_79.append("<a title=\"Click to restore avoided maneuvers\" id=\"restoreAvoidsLnk\" onclick=\"controller.removeAvoidSegments();\">Click to restore avoided maneuvers</a>");
_79.append("</div>");
_79.append("<div class=\"clearb\"></div>");
div.innerHTML=_79.toString();
$d(this._locationListId).appendChild(div);
}
var _7a=0;
for(i=0;i<_76.locations.length;i++){
loc=_76.locations[i].location;
if(!loc.locationType||loc.locationType==1){
_7a++;
}
}
var _7c=0;
for(i=0;i<_76.locations.length;i++){
loc=_76.locations[i].location;
if(!loc.locationType||loc.locationType==1){
this.showLocationListItem(loc,_7c,_7a,ul);
_7c++;
}
}
if(_76.showRoute){
for(i=0;i<_76.routeResults.treks.length;i++){
this.showNarrative(_76,i);
}
$d(this._locationListId).appendChild(ul);
}
if(_76.showRoute&&_76.routeResults!=null&&_76.locations.length>1){
debug("Show Total Time and Distance");
var div=document.createElement("div");
dojo.addClass(div,"routeResults");
var _7d=new dojox.string.Builder();
_7d.append("<div class=\"narrTotal\">");
_7d.append("Total Travel Estimates: <span class=\"timeSpan\">Time:</span>&nbsp;"+_76.routeResults.time+"&nbsp;&nbsp;&nbsp;&nbsp;");
_7d.append("<span id=\"dirDistanceSummary\">Distance:</span>&nbsp;"+_76.routeResults.distance+"");
_7d.append("&nbsp;&nbsp;&nbsp;&nbsp;<span>Fuel Cost:</span>&nbsp;<span id=\"dirFuelSummary2\"></span>");
_7d.append("<span id=\"fuelButton2\" onclick=\"mq.calcFuelCost();\" style=\"font-weight:bold;\">");
_7d.append("Calculate");
_7d.append("</span>");
_7d.append("</div>");
div.innerHTML=_7d.toString();
$d(this._locationListId).appendChild(div);
if(_76.routeResults.informationAreas){
var msg=new dojox.string.Builder();
for(var i=0;i<_76.routeResults.informationAreas.length;i++){
var _7f=_76.routeResults.informationAreas[i];
msg.append("<div class=\"infoicon\"><img src=\""+mqPrefix+"/cdn/dotcom/images/icon-info.gif\" height=\"18\" width=\"18\"></div>");
msg.append("<div class=\"infomsg\"><span>"+_7f.title+"</span><br/>");
msg.append(_7f.message);
msg.append("</div>");
msg.append("<div class=\"clearb\"></div>");
}
$d("infoMessage").innerHTML=msg.toString();
mq.show($d("infoMessage"));
}else{
$d("infoMessage").innerHTML="";
mq.hide($d("infoMessage"));
}
}
}
}
catch(e){
logDebug("maptabview.drawLocations",e);
}
},reorder:function(){
var _80=[];
var _81=$d("locationList").childNodes;
for(i=0;i<_81.length;i++){
id=_81[i].id;
index=id[id.length-1];
_80[i]=$w("listItem"+index).location;
}
this._controller.reorder(_80);
},showNarrative:function(_82,_83){
try{
debug("MapTabView.showNarrative: "+_83);
if(_82.routeResults==null||!_82.routeResults.treks||_82.routeResults.treks.length==0||(_83>(_82.routeResults.treks.length-1))){
return;
}
var _84=$d("routeNarrative"+_83);
if(_84){
if($d("dirHide"+_83)){
dojo.disconnect($d("dirHide"+_83),"onclick",this,"toggleNarrative");
}
var sb=new dojox.string.Builder();
sb.append("<div class=\"routeNarrative\"><div class=\"narrHeader\"><img class=\"alignm\" title=\"Hide/Show Route\" alt=\"Hide/Show Route\" id=\"dirHide"+_83+"\" src=\""+this.imagePath+"/arw-dir_open.png\">&nbsp;&nbsp;Directions from ");
sb.append(this.alphabet[_83]+" to "+this.alphabet[_83+1]+":</div>");
var _86=_82.routeResults.treks[_83];
sb.append(this.createNarrativeTableExpand(_86,_83,_82.routeResults.variance));
if(_82.routeResults.treks.length>1){
sb.append("<div class=\"narrTotalEst\"><span class=\"timeSpan\">"+this.alphabet[_83]+"</span> to <span class=\"timeSpan\">"+this.alphabet[_83+1]+" Travel Estimates: </span> Time: <span class=\"timeSpan\">"+_86.time+"</span>&nbsp;&nbsp;");
sb.append("Distance: <span class=\"timeSpan\">"+_86.distance+"</span></div></div>");
}
_84.innerHTML=sb.toString();
dojo.connect($d("dirHide"+_83),"onclick",this,"toggleNarrative");
if(this.tabView==this.tabState.text){
for(var i=0;i<_86.maneuvers.length;i++){
var man=_86.maneuvers[i];
if(man.showMap){
this.showManeuverMap(_83,i);
}
}
}
}
debug("Index at end of showNarrative: "+_83);
}
catch(e){
logDebug("maptabview.showNarriative",e);
}
},hasVariance:function(loc){
flag=false;
if(loc.distance!=null&&loc.distance>this.VARIANCE_LIMIT){
flag=true;
}
return flag;
},displayVarianceMessage:function(_8a,_8b){
var _8c=controller._model.routeOptions.distanceUnit;
var msg=(_8b==0)?mq.getMessage("VARIANCE_BEGIN",[mq.util.formatDistance(_8a,_8c)]):mq.getMessage("VARIANCE_END",[mq.util.formatDistance(_8a,_8c)]);
return msg;
},createNarrativeTableExpand:function(_8e,_8f,_90){
debug("MapTabView.createNarrativeTableExpand");
var sb=new dojox.string.Builder();
sb.append("<div id=\"narrative"+_8f+"\">");
if(_90[_8f]>this.VARIANCE_LIMIT){
sb.append("<div class=\"evenRow error\">");
sb.append(this.displayVarianceMessage(_90[_8f],0));
sb.append("</div>");
}
sb.append("<table width=\"100%\">");
sb.append("<tr>");
sb.append("<td>");
for(k=0;k<_8e.maneuvers.length;k++){
var man=_8e.maneuvers[k];
sb.append("<table class=\"rtRow\" width=\"100%\" id=\"maneuver"+_8f+"-"+k+"\">");
sb.append("<tr>");
sb.append("<td class=\"rtCol1\" valign=\"top\"><img src=\""+man.roadSignUrl+"\"/></div></td>");
sb.append("<td class=\"rtCol2\" valign=\"top\">"+(k+1)+":&nbsp;</td>");
sb.append("<td class=\"rtCol3\" valign=\"top\">").append(man.narrative.replace(/\//g,"/<span class=\"sm\"> </span>"));
if(man.message!=null&&man.message!=""){
sb.append("<div class=\"red\">(").append(mq.getMessage(man.message)).append(")</div>");
}
sb.append("</td>");
sb.append("<td align=\"right\" valign=\"top\">");
sb.append("<table>");
sb.append("<tr>");
sb.append("<td class=\"rtCol4\">&nbsp;");
if(man.distance!=null){
sb.append(man.distance);
}
sb.append("</td>");
sb.append("<td class=\"rtCol5\">");
sb.append("<ul class=\"bLinks\">");
if(k>0&&k<_8e.maneuvers.length-1){
if(man.message&&man.message=="MSG_UNABLE_TO_AVOID"){
sb.append("<li class=\"singleli\" id=\"manMapLink"+_8f+"-"+k+"\"><a href=\"javascript:view.mapView.showManeuverMap("+_8f+","+k+");\">"+mq.getMessage("MAP")+"</a></li>");
}else{
sb.append("<li class=\"firstli\" id=\"manMapLink"+_8f+"-"+k+"\"><a href=\"javascript:view.mapView.showManeuverMap("+_8f+","+k+");\">"+mq.getMessage("MAP")+"</a></li>");
sb.append("<li class=\"lastli\"><a href=\"javascript:view.mapView.avoidSegmentPopup("+_8f+","+k+");\">"+mq.getMessage("AVOID")+"</a></li>");
}
}else{
sb.append("<li class=\"singleli\" id=\"manMapLink"+_8f+"-"+k+"\"><a href=\"javascript:view.mapView.showManeuverMap("+_8f+","+k+");\">"+mq.getMessage("MAP")+"</a></li>");
}
sb.append("</ul>");
sb.append("</td>");
sb.append("</tr>");
sb.append("</table>");
sb.append("</td>");
sb.append("</tr>");
sb.append("<tr>");
sb.append("<td colspan=\"5\">");
sb.append("<div style=\"width:400px;height:200px;\" class=\"manMapHide\" id=\"manMap"+_8f+"-"+k+"\"></div>");
sb.append("</td>");
sb.append("</tr>");
sb.append("</table>");
}
sb.append("</td>");
sb.append("</tr>");
sb.append("</table>");
if(_90[_8f+1]>this.VARIANCE_LIMIT){
sb.append("<div class=\"evenRow error\">");
sb.append(this.displayVarianceMessage(_90[_8f+1],1));
sb.append("</div>");
}
sb.append("</div>");
return sb.toString();
},toggleNarrative:function(evt){
debug("toggleNarrative: "+evt.currentTarget.id);
id=evt.currentTarget.id.substring(7);
if($d("narrative"+id).style.display=="none"){
ua.a(":MQ08MaxRouteMan");
$d("narrative"+id).style.display="block";
document.getElementById("dirHide"+id).src=this.imagePath+"/arw-dir_open.png";
}else{
ua.a(":MQ08MinRouteMan");
$d("narrative"+id).style.display="none";
document.getElementById("dirHide"+id).src=this.imagePath+"/arw-dir_clsd.png";
}
},chooseAmbigLocation:function(_94){
debug("MapTabView.chooseAmbigLocation: "+_94);
var _95=$w("ambigWin");
var loc=_95.resultList[_94];
debug("loc-addressInput: "+loc.addressInput);
if(loc.query!=null&&loc.query!=""){
this._controller._model.searchLocation=loc;
this._controller.search(loc,_95.position);
}else{
this._controller.addLocation(loc,_95.position);
}
_95.close();
},removeLocation:function(_97){
debug("MapTabView.removeLocation: "+_97);
var _98=new dojox.string.Builder();
_98.append("<div class=\"alert-warning\">");
_98.append("<img src=\""+mqPrefix+"/cdn/dotcom/images/icon-warn.gif\" height=\"25\" width=\"24\">");
_98.append("<span>"+mq.getMessage("MSG_CLEAR_LOCATION")+"</span><br/><br/>");
_98.append("<div class=\"textc\">");
_98.append("<input type=\"button\" value=\"OK\" onclick=\"Javascript:view.mapView.confirmRemoveLocation("+_97+");\" class=\"btn\" id=\"locationClearOk\"/>&nbsp;&nbsp;&nbsp;");
_98.append("<input type=\"button\" value=\"Cancel\" onclick=\"Javascript:$w('removeLocation').handleCancel();\" class=\"btn\" id=\"locationClearCancel\"/>");
_98.append("</div>");
_98.append("</div>");
_98=_98.toString();
var _99=new mq.widget.MQPopup({id:"removeLocation",position:"center",popupContent:_98});
},confirmRemoveLocation:function(_9a){
$w("removeLocation").handleAccept();
if(controller.numStops()==2){
var _9b=controller._model;
var _9c=document.getElementById("mapIdHidden");
if(_9c!=null){
var _9d=_9c.value;
_9d=_9d.replace(",","");
}
controller.removeVias(_9a);
var _9e=controller.getLocIndexOfStop(_9a);
_9b.locations.splice(_9e,1);
mq.createUrlFromModel(_9b,"",_9d);
}else{
this.cleanLocationList();
mq.showLoadingImage();
controller.removeLocation(_9a);
}
},acceptHandler:function(evt){
var _a0=this._controller._model.routeOptions;
if(_a0==null){
_a0={routeType:"FASTEST"};
}
($d("aoh")&&$d("aoh").checked)?_a0.avoidHighways=true:_a0.avoidHighways=false;
($d("aot")&&$d("aot").checked)?_a0.avoidTollRoads=true:_a0.avoidTollRoads=false;
($d("aos")&&$d("aos").checked)?_a0.avoidSeasonal=true:_a0.avoidSeasonal=false;
($d("aof")&&$d("aof").checked)?_a0.avoidFerries=true:_a0.avoidFerries=false;
($d("aou")&&$d("aou").checked)?_a0.avoidUnpaved=true:_a0.avoidUnpaved=false;
($d("fastest").checked)?_a0.routeType="FASTEST":_a0.routeType="SHORTEST";
if($d("rev")&&($d("rev").value=="true")){
_a0.reverseRoute=true;
$d("rev").value=false;
}else{
_a0.reverseRoute=false;
}
view.scrollToElement=0;
this.setAdvancedRoutingOptions();
},reverseRoute:function(evt){
$d("rev").value=true;
this.acceptHandler();
},reverseRouteQuick:function(evt){
$d("rev").value=true;
var _a3=this._controller._model.routeOptions;
if(_a3==null){
_a3={routeType:"FASTEST"};
}
($d("aoh")&&$d("aoh").checked)?_a3.avoidHighways=true:_a3.avoidHighways=false;
($d("aot")&&$d("aot").checked)?_a3.avoidTollRoads=true:_a3.avoidTollRoads=false;
($d("aos")&&$d("aos").checked)?_a3.avoidSeasonal=true:_a3.avoidSeasonal=false;
($d("aof")&&$d("aof").checked)?_a3.avoidFerries=true:_a3.avoidFerries=false;
($d("aou")&&$d("aou").checked)?_a3.avoidUnpaved=true:_a3.avoidUnpaved=false;
($d("fastest").checked)?_a3.routeType="FASTEST":_a3.routeType="SHORTEST";
if($d("rev")&&($d("rev").value=="true")){
_a3.reverseRoute=true;
$d("rev").value=false;
}else{
_a3.reverseRoute=false;
}
view.scrollToElement=0;
ua.a(":MQ08StartEndSwitch");
mq.showLoadingImage();
this._controller.rerunRoute();
},editLocation:function(_a4){
debug("MapTabView.editLocation: "+_a4);
var idx=this._controller.getLocIndexOfStop(_a4);
ua.a(":MQ08Edit");
var _a6=$d("location"+_a4);
mq.hide($d("locDiv"+_a4));
var _a7="loc"+_a4;
window[_a7+"Form"]=new mq.editlocationform({template:"editLocation",jsId:_a7+"Form",prefix:_a7,formType:"edit",mode:"ajax",tmpStartLocation:$w("listItem"+_a4).location,parentElem:$d("locEditDiv"+_a4),searchBoxStartId:_a7+"0-query",locationBoxStartId:_a7+"0-addressInput",locNum:_a4});
},showLocationListItem:function(loc,_a9,_aa,_ab){
debug("MapTabView.showLocationList: "+_a9);
loc.addressInput=mq.formatLocationSingleLine(loc);
var w=new mq.widget.LocationListItem({id:"listItem"+_a9,position:_a9,listSize:_aa,location:loc});
dojo.connect(w,"onRemove",this,"removeLocation");
dojo.connect(w,"onMoveUp",this._controller,"moveUp");
dojo.connect(w,"onMoveDown",this._controller,"moveDown");
dojo.connect(w,"onEdit",this,"editLocation");
_ab.appendChild(w.domNode);
},chooseSavedRecent:function(_ad,_ae){
var _af=$w("savedRecent"+_ad);
_af.close();
var _b0=dojo.cookie.getCookie("locationhistory");
var _b1=mq.util.parseLocations(_b0);
var loc=_b1[_ae].location;
this._controller.addLocation(loc,_ad);
},showManeuverMap:function(_b3,_b4){
debug("Showing maneuver map: "+_b3+","+_b4);
ua.a(":MQ08ManMap");
var _b5=$d("manMap"+_b3+"-"+_b4);
dojo.removeClass(_b5,"manMapHide");
dojo.addClass(_b5,"manMapShow");
routeResults=this._controller._model.routeResults;
var man=routeResults.treks[_b3].maneuvers[_b4];
var l1=man.shapePoints[0];
man.showMap=true;
var _b8=-3;
var _b9=-27;
var _ba=new MQA.ShapeCollection();
var _bb=new MQA.Icon(this.imagePath+"/icons/mapPin-purple-"+(_b4+1)+".png",26,27,true,false);
var _bc=new MQA.Icon("http://img.mqcdn.com/mqtoolkit/shadow.png",23,7);
if(!l1){
var loc=controller._model.locations[_b3+1].location;
l1={latitude:loc.latitude,longitude:loc.longitude};
}
var pt1=new MQA.Poi(new MQA.LatLng(l1.latitude,l1.longitude));
pt1.setValue("iconOffset",new MQA.Point(_b8,_b9));
pt1.setValue("shadow",_bc);
pt1.setValue("shadowOffset",new MQA.Point(5,-4));
pt1.setIcon(_bb);
pt1.setKey("pois-"+(_b4+1));
_ba.add(pt1);
if(_b4<routeResults.treks[_b3].maneuvers.length-1){
var l2=man.shapePoints[1];
if(l2){
var _c0=new MQA.Icon(this.imagePath+"/icons/mapPin-purple-"+(_b4+2)+".png",26,27,true,false);
var pt2=new MQA.Poi(new MQA.LatLng(l2.latitude,l2.longitude));
pt2.setValue("iconOffset",new MQA.Point(_b8,_b9));
pt2.setValue("shadow",_bc);
pt2.setValue("shadowOffset",new MQA.Point(5,-4));
pt2.setIcon(_c0);
pt2.setKey("pois-"+(_b4+2));
_ba.add(pt2);
}
}
if(_ba.getSize()>1){
var _c2={};
_c2.bestFitRect=_ba.getBoundingRect();
}
var _c3=new MQA.TileMap(_b5,12,new MQA.LatLng(l1.latitude,l1.longitude),"map",_c2||null);
MQA.withModule("zoomcontrol",function(){
var _c4=new MQA.ZoomControl(_c3);
_c3.addControl(_c4,new MQA.MapCornerPlacement(MQA.MapCorner.TOP_LEFT,new MQA.Size(5,15)));
});
var _c5=new MQA.Icon(this.imagePath+"/via-red-circle.png",11,11);
var _c6=0;
for(var i=0;i<controller._model.locations.length;i++){
var _c8=new MQA.Icon(this.imagePath+"/icons/stop_"+_c6+".png",27,27,true,false);
var l=controller._model.locations[i].location;
var pt=new MQA.Poi(new MQA.LatLng(l.latitude,l.longitude));
if(l.locationType==1){
pt.setKey("stops-"+unescape("%"+(_c6+65).toString(16)));
pt.setIcon(_c8);
pt.setValue("shadow",_bc);
pt.setValue("shadowOffset",new MQA.Point(5,-4));
_c6++;
}else{
pt.setKey(i);
pt.setIcon(_c5);
pt.setValue("iconOffset",new MQA.Point(-4,-4));
pt.setValue("shadow",null);
}
_ba.add(pt);
}
_c3.addShapeCollection(_ba);
MQA.EventManager.addListener(_c3,"dragend",dojo.hitch(this,"dragManeuverMap"));
MQA.EventManager.addListener(_c3,"zoomend",dojo.hitch(this,"zoomManeuverMap"));
var ul=controller._model.routeResults.upperLeft;
var lr=controller._model.routeResults.lowerRight;
var _cd=new MQA.RectLL(new MQA.LatLng(ul.latitude,ul.longitude),new MQA.LatLng(lr.latitude,lr.longitude));
debug("Maneuver map session id: "+routeResults.sessionId);
MQA.withModule("rasterroutehighlight",function(){
_c3.addRouteHighlight(_cd,routeResults.mapServerUrl,routeResults.sessionId,false);
});
this.manMapList["manMap"+_b3+"-"+_b4]=_c3;
var _ce=$d("manMapLink"+_b3+"-"+_b4);
_ce.innerHTML="<a href=\"javascript:view.mapView.hideManeuverMap("+_b3+","+_b4+");\">"+mq.getMessage("HIDE")+"</a>";
},handleSTOClick:function(){
$a("MQ08S2O");
},handleSTGClick:function(){
ua.a(":MQ08S2G");
mq.showLoadingImage();
$d("gps").innerHTML="<iframe name=\"iframe_gps\" id=\"iframe_gps\" src=\"/controller/mainui/gps?popup\" style=\"width:0;height:0;visibility:hidden;\"></iframe>";
},updateSTGConnects:function(){
dojo.connect($d("gpsNotDetectedClose"),"onclick",$w("mqSTGPopup"),"handleCancel");
dojo.connect($d("gpsNoPluginClose"),"onclick",$w("mqSTGPopup"),"handleCancel");
dojo.connect($d("STGSendButton"),"onclick",$w("mqSTG"),"handleSend");
dojo.connect($d("STGCancelButton"),"onclick",$w("mqSTGPopup"),"handleCancel");
dojo.connect($d("gpsNotDetectedRetry"),"onclick",$w("mqSTG"),"requestReload");
dojo.connect($d("routeCheck"),"onclick",$w("mqSTG"),"handleNameToggle");
dojo.connect($d("waypointCheck"),"onclick",$w("mqSTG"),"handleNameToggle");
dojo.connect($d("gpsInfoImage"),"onclick",$w("mqSTG"),"showMoreInfoPopup");
},showSTG:function(_cf,loc){
if(_cf.result&&_cf.result.loadError){
var _d1=dojo.hitch(this,"processShowSTG",_cf,loc);
UIService.generatePromo("stg-NoPlugin-promo",_d1);
}else{
if(_cf.gpsController.getDevicesCount()==0){
var _d1=dojo.hitch(this,"processShowSTG",_cf,loc);
UIService.generatePromo("stg-NoDevice-promo",_d1);
}else{
this.processShowSTG(_cf,loc);
}
}
},processShowSTG:function(_d2,loc,_d4){
mq.hideLoadingImage();
if(!_d4){
_d4="";
}
var _d5=new mq.widget.SendToGPS({id:"mqSTG",location:loc,gps:_d2,PromoResult:_d4});
var _d6=new mq.widget.MQPopup({id:"mqSTGPopup",popupWidget:_d5,position:"center",closeButtonRequired:true,onClose:dojo.hitch(_d5,"handleCancel")});
this.updateSTGConnects();
},reloadSTGCallback:function(_d7){
if($w("mqSTG")){
$w("mqSTG").reload();
}
if($w("mqSTGPopup")){
$w("mqSTGPopup").changeContent($d("mqSTGPopupContent").innerHTML);
}
this.updateSTGConnects();
},completeSTG:function(_d8){
var stg=$w("mqSTG");
if(!stg){
return;
}
if(_d8.msg){
stg.showError(_d8.msg);
return;
}
stg.deviceWriteResults.push(_d8);
if(stg.deviceWriteResults.length==stg.selectedDevices.length){
var _da=false;
for(i=0;i<stg.deviceWriteResults.length;i++){
if(!stg.deviceWriteResults[i].success){
_da=true;
}
}
if(!_da){
var _db=new dojox.string.Builder();
if(controller._model.locations.length==1||stg.gps.waypointsOnly){
ua.a(":MQ08S2GSuccessWP");
_db.append("You have successfully sent the waypoints to the following devices(s)");
}else{
ua.a(":MQ08S2GSuccessRte");
_db.append("You have successfully sent the route to the following devices(s)");
}
_db.append("<br/><br/><ul>");
for(i=0;i<stg.selectedDevices.length;i++){
_db.append("<li>").append("<span class='b'>").append(stg.selectedDevices[i].displayName).append("</span></li>");
}
_db.append("<ul>");
$d("gpsSuccessMessage").innerHTML=_db;
$w("mqSTGPopup").changeContent($d("mqSTGConfirmationSuccess").innerHTML);
}else{
var _db=new dojox.string.Builder();
for(i=0;i<stg.deviceWriteResults.length;i++){
_db.append(stg.deviceWriteResults[i].msg).append("<br/>");
}
$d("stgError").innerHTML=_db+"<br/>";
}
dojo.connect($d("closeButton"),"onclick",$w("mqSTGPopup"),"handleCancel");
}else{
if(stg.deviceWriteResults.length<stg.selectedDevices.length){
stg.prepareAndWrite(stg.selectedDevices[stg.deviceWriteResults.length]);
}else{
}
}
},hideManeuverMap:function(_dc,_dd){
ua.a(":MQ08ManMapHide");
var _de=$d("manMap"+_dc+"-"+_dd);
_de.innerHTML="";
dojo.removeClass(_de,"manMapShow");
dojo.addClass(_de,"manMapHide");
var _df=$d("manMapLink"+_dc+"-"+_dd);
_df.innerHTML="<a href=\"javascript:view.mapView.showManeuverMap("+_dc+","+_dd+");\">"+mq.getMessage("MAP")+"</a>";
var man=routeResults.treks[_dc].maneuvers[_dd];
man.showMap=false;
var _e1="manMap"+_dc+"-"+_dd;
var map=this.manMapList[_e1];
map.dispose();
map=null;
delete this.manMapList[_e1];
},avoidSegmentPopup:function(_e3,_e4){
var _e5=new dojox.string.Builder();
_e5.append("<div class=\"alert-warning\">");
_e5.append(" <img src=\""+mqPrefix+"/cdn/dotcom/images/icon-warn.gif\" height=\"25\" width=\"24\">");
_e5.append(" <span>"+mq.getMessage("MSG_AVOID_AND_RECALC")+"</span><br/><br/>");
_e5.append(" <div class=\"textc\">");
_e5.append("  <input type=\"button\" value=\"OK\" onclick=\"Javascript:view.mapView.avoidSegment("+_e3+","+_e4+");\" class=\"btn\" id=\"routeClearOk\"/>&nbsp;&nbsp;&nbsp;");
_e5.append("  <input type=\"button\" value=\"Cancel\" onclick=\"Javascript:$w('confirmAvoidAndRecalculate').handleCancel();\" class=\"btn\" id=\"routeClearCancel\"/>");
_e5.append(" </div>");
_e5.append("</div>");
_e5=_e5.toString();
var _e6=new mq.widget.MQPopup({id:"confirmAvoidAndRecalculate",position:"center",popupContent:_e5});
},avoidSegment:function(_e7,_e8){
$w("confirmAvoidAndRecalculate").close();
debug("MapTabView.avoidSegment");
ua.a(":MQ08AvoidMan");
this._controller.avoidRouteSegment(_e7,_e8);
},setAdvancedRoutingOptions:function(){
debug("MapTabView.setAdvancedRoutingOptions");
if(this._controller._model.routeOptions.reverseRoute==false){
ua.a(":MQ08RouteOptionsGo");
}else{
ua.a(":MQ08ReverseRoute");
}
mq.showLoadingImage();
this._controller.rerunRoute();
},showRouteWarningMessage:function(_e9){
var _ea=$d("routeWarningMsg");
var _eb=new dojox.string.Builder();
var _ec=_e9.split("<br/>");
_eb.append("<div class='alert-warning' style='width:auto;height:auto;'>");
_eb.append("<img width='24' height='25' src='"+this.imagePath+"/icon-warn.gif' />");
if(_ec.length==1){
_eb.append("<div style='padding-top:4px;color:#990000;font-weight:bold;float:left;'>"+_e9+"</div>");
}else{
_eb.append("<div style='padding-top:4px;color:#990000;font-weight:bold;float:left;'>Some Road Types cannot be avoided in order to build your route.</div>");
_eb.append("<div class='red clearb' style='text-align:left;padding-top:0px;'><ul class='list clearb' style='list-style-position:inside;padding:0px 0px 0px 30px'>");
for(var i=0;i<_ec.length;i++){
_eb.append("<li style='maring-left:0px;'>"+_ec[i]+"</li>");
}
_eb.append("</ul></div>");
}
_eb.append("</div>");
var _ee=mq.getPopupContentWidthHeight(_eb);
_ea.innerHTML=_eb.toString();
_ea.style.display="block";
},hideRouteWarningMessage:function(){
var _ef=$d("routeWarningMsg");
if(_ef){
_ef.style.display="none";
}
},updateShowHideRoutingLnk:function(_f0){
if(mqPageContext!="results"){
return;
}
var _f1=$d("routeShowHideLnk");
if(_f0){
_f1.innerHTML="<span>"+mq.getMessage("HIDE_ROUTING")+"</span>";
_f1.title=mq.getMessage("HIDE_ROUTING");
}else{
_f1.innerHTML="<span>"+mq.getMessage("SHOW_ROUTING")+"</span>";
_f1.title=mq.getMessage("SHOW_ROUTING");
}
},isShowRoute:function(){
var _f2=$d("routeShowHideLnk");
var _f3=false;
if(_f2.title==mq.getMessage("HIDE_ROUTING")){
_f3=true;
}
return _f3;
},toggleRoute:function(){
mq.showLoadingImage();
this._controller.toggleRoute();
},closeInfoWindow:function(evt){
if(mqPageContext=="rblprofile"){
}
},dragManeuverMap:function(evt){
$a("MQ08ManMapDrag");
},zoomManeuverMap:function(evt){
$a("MQ08ManMapZoom");
},updateDirSummary:function(){
debug("maptabview.updateDirSummary");
var _f7=this._controller._model;
var _f8=_f7.locations;
if(_f8&&_f8.length==1){
var _f9=$d("dirStartAddrSummary");
$d("dirStartAddrSummary").innerHTML=(_f7.name&&_f7.name!="null")?"<div class='addrLine'>"+_f7.name+"</div>":mq.util.formatLocationSummary(_f8[0].location,true,true);
dojo.query(".narrTopTotal",$d("dirSummary")).style("display","block");
mq.show($d("dirSummary"));
mq.hide($d("dirEndBlock"));
mq.hide($d("dirTimeSumm"));
mq.show($d("mapA"));
mq.show($d("locSumDirUl0"));
mq.show($d("locSumRevise0"));
this.showHideContentTabBar2("hide");
mq.hide($d("dirStart"));
}else{
if(_f8&&_f8.length>=2){
$d("dirStartAddrSummary").innerHTML=mq.util.formatLocationSummary(_f8[0].location,true);
mq.show($d("dirEndBlock"));
$d("dirEndAddrSummaryAddress").innerHTML=mq.util.formatLocationSummary(_f8[_f8.length-1].location,true);
if(_f7.routeResults){
mq.show($d("dirTimeSumm"));
mq.hide($d("mapA"));
this.showHideContentTabBar2("show");
if($d("send2")){
$d("send2").onclick=function(){
ua.a(":MQ08Send2");
};
}
mq.show($d("dirStart"));
mq.hide($d("locSumDirUl0"));
mq.hide($d("locSumRevise0"));
$d("dirTimeSummary").innerHTML=_f7.routeResults.time;
$d("dirDistanceSummary").innerHTML=_f7.routeResults.distance;
if(_f7.routeResults.fuelCost>0){
$d("dirFuelSummary").innerHTML="$"+_f7.routeResults.fuelCost.toFixed(2);
$d("dirFuelSummary2").innerHTML="$"+_f7.routeResults.fuelCost.toFixed(2);
mq.hide($d("fuelButton"));
mq.hide($d("fuelButton2"));
}else{
$d("dirFuelSummary").innerHTML="";
$d("dirFuelSummary2").innerHTML="";
$d("fuelButton").style.display="inline";
$d("fuelButton2").style.display="inline";
}
}
dojo.query(".narrTotalTop",$d("dirSummary")).style("display","block");
this.updateLocalLinks(_f8);
}else{
mq.hide($d("dirSummary"));
dojo.query(".narrTotalTop",$d("dirSummary")).style("display","block");
}
}
},showHideContentTabBar2:function(_fa){
if(_fa&&_fa=="show"){
mq.show($d("contentTabBar2"));
}else{
mq.hide($d("contentTabBar2"));
}
},popularSearch:function(_fb,_fc,pos,_fe){
debug("MapView.popularSearch");
var loc=controller._model.locations[_fc].location;
mq.executeSearchNearby(loc,_fb,pos,_fe);
},addNextLocFromBtn:function(){
var _100=controller.numLocs();
if(!mq.validateLocationsCount()){
var _101=new dojox.string.Builder();
_101.append("<div class=\"alert-warning\" style=\"display: block;width: 220px;\">");
_101.append("<img src=\""+mqPrefix+"/cdn/dotcom/images/icon-warn.gif\" height=\"25\" width=\"24\">");
_101.append(mq.getMessage("ERROR_MAX_STOPS")+"<br/><br/>");
_101.append("</div>");
_101=_101.toString();
mq.handleFormErrorPopups(null,_101);
mq.hideLoadingImage();
ua.a(":MQ08MaxStops");
return;
}
var _102=$d("loc"+_100+"0-addressInput");
if(_102){
var _103=dojo.query(".lcAddNext")[0];
mq.util.scrollElemToView(_103,"center");
_102.focus();
dojox.fx.highlight({node:_103,duration:2000}).play();
ua.a(":MQ08LOCAddNext");
}
},findNearby:function(){
var _104=$d("findSrchTerm");
var _105=$d("findCat");
var _106="";
if(_105.value!=""){
_106=_105.value;
}else{
if(_104&&dojo.trim(_104.value)!=""){
_106=dojo.trim(_104.value);
}
}
if(_106){
var _107=controller.numLocs();
if(_107>0){
var loc,_109;
if(_107==1){
loc=controller._model.locations[0].location;
loc.query=null;
}else{
var _10a=$d("findLoc").value;
loc=controller._model.locations[_10a].location;
loc.query=null;
}
ua.a(":MQ08SearchNearbyBar");
mq.executeSearchNearby(loc,_106,_107);
}
}else{
var _10b=[];
_10b.push("<div class=\"alert-warning\">");
_10b.push("<img width=\"24\" height=\"25\" src=\""+this.imagePath+"/icon-warn.gif\" />");
_10b.push("<span class=\"redavoid\">Please enter search term or select category.</span></div>");
var _10c=$d("findSrchTerm");
var _10d=dojo.coords(_10c,true);
new mq.widget.MQPopup({id:"findNearByWarn",popupContent:_10b.join(""),xoffset:(_10d.x+_10c.offsetWidth-135),yoffset:_10d.y+30,closeButtonRequired:true,popupArrowPlacement:1,popupImage:"sprt-pop-ylw"});
}
},zoomToStreetHandler:function(_10e){
var loc=controller._model.locations[_10e].location;
this.zoomToStreet(loc);
},updateLocalLinks:function(locs){
var _111=locs[0].location;
if(enableLocal=="true"&&$d("localSummary0")){
mq.show($d("localSummary0"));
$d("localSummary0").innerHTML="<a onclick=\"mq.goLocal(0,'MQ08LOCLocalLinkStart');\"><img src=\""+mqPrefix+"/cdn/dotcom/images/icon-local.png\" alt=\"MapQuest Local\" title=\"MapQuest Local\" height=\"19\" width=\"20\" /></a><a onclick=\"mq.goLocal(0,'MQ08LOCLocalLinkStart');\">See Local Events, Movies, News &amp; More</a>";
}else{
mq.hide($d("localSummary0"));
}
var end=locs[locs.length-1].location;
if(enableLocal=="true"&&$d("localSummary1")){
mq.show($d("localSummary1"));
$d("localSummary1").innerHTML="<a onclick=\"mq.goLocal(mq.util.lastLocationIndex(),'MQ08LOCLocalLinkEnd');\"><img src=\""+mqPrefix+"/cdn/dotcom/images/icon-local.png\" alt=\"MapQuest Local\" title=\"MapQuest Local\" height=\"19\" width=\"20\" /></a><a onclick=\"mq.goLocal(mq.util.lastLocationIndex(),'MQ08LOCLocalLinkEnd');\">See Local Events, Movies, News &amp; More</a>";
}else{
mq.hide($d("localSummary1"));
}
},handleServerRender:function(){
debug("Connecting events for server render");
dojo.query(".narrHeader img","locationWindow").connect("onclick",this,"toggleNarrative");
var me=this;
dijit.registry.byClass("mq.widget.LocationListItem").forEach(function(w){
debug("Connections for: "+w.position);
var loc=w.location;
var pos=w.position;
dojo.connect($d("listItemEdit"+pos),"onclick",me,dojo.hitch(me,"editLocation",pos));
dojo.connect($d("listItemRemove"+pos),"onclick",me,dojo.hitch(w,"removeHandler",pos));
dojo.connect(w,"onRemove",me,"removeLocation");
dojo.connect(w,"onMoveUp",me._controller,"moveUp");
dojo.connect(w,"onMoveDown",me._controller,"moveDown");
});
var _117=controller.numLocs();
if(_117==0){
mq.hide($d("fNearby"));
mq.hide($d("loc0Form"));
}
if(_117==1){
mq.hide($d("findLoc"));
this.showHideContentTabBar2("hide");
}else{
if(_117>1){
view.updateFindNBLocList();
this.showHideContentTabBar2("show");
this.updateRouteOptions(false);
}
}
if(_117==0&&controller._model.trafficEnabled){
ua.a(":MQ08TrafficOn");
}
this.initTraffic();
ua.commit();
},initTraffic:function(){
debug("maptabview.initTraffic: "+model.trafficEnabled);
if(window.IsTrafficEnabled=="true"){
debug("init traffic");
if(window["trafficPopupContent"]&&!$w("mqErrorPopup")){
window.initTrafficPopup("mapTrafficHelp");
}
}
},updateRouteOptions:function(_118){
debug("maptabview.updateRouteOptions: "+_118);
if(mqPageContext!="results"){
return;
}
try{
if(_118){
var ro=controller._model.routeOptions;
$d("aoh").checked=ro&&ro.avoidHighways;
$d("aot").checked=ro&&ro.avoidTollRoads;
$d("aos").checked=ro&&ro.avoidSeasonal;
$d("aoh").disabled=(controller.isLongRoute())?true:false;
try{
$d(ro.routeType.toLowerCase()).checked=true;
}
catch(e){
$d("fastest").checked=true;
}
if(ro&&(ro.avoidHighways||ro.avoidTollRoads||ro.avoidSeasonal)){
controller.saveState();
}
}
if(controller.isLongRoute()){
$d("aoh").disabled=true;
dojo.addClass($d("aoh").parentNode,"grey");
}else{
$d("aoh").disabled=false;
dojo.removeClass($d("aoh").parentNode,"grey");
}
}
catch(e){
logDebug("maptabview.updateRouteOptions",e);
}
},openHotwireWindow:function(){
var x=model.locations.length-1;
var _11b=model.locations[x].location.city;
var _11c=model.locations[x].location.state;
var _11d=model.locations[0].location.city;
var _11e=model.locations[0].location.state;
var _11f="S293";
var _120="B310055";
var _121=hotWireAdUrlHotel;
var _122=hotWireAdUrlCar;
var _123=hotWireAdUrlFlight;
var _124="";
var _125="http://www.hotwire.com/";
var _126=_125;
if(document.getElementById("hotwireHotel").checked){
_126+="hotel/search-options.jsp?sid="+_11f+"&bid="+_120+"&inputId=hotel-index";
_126+="&destCity="+_11b+","+_11c;
_124=_121;
}else{
if(document.getElementById("hotwireCar").checked){
_126+="car/search-options.jsp?startLocation="+_11b+","+_11c;
_126+="&startSearchType=N&inputId=index&selectedCarTypes=ECAR";
_126+="&sid="+_11f+"&bid="+_120;
_124=_122;
}else{
if(document.getElementById("hotwireFlight").checked){
_126+="air/search-options.jsp?sid="+_11f+"&bid="+_120+"&inputId=index";
_126+="&originCity="+_11d+","+_11e;
_126+="&destinationCity="+_11b+","+_11c;
_124=_123;
}
}
}
if(_126!=_125){
ua.a(":MQ08HotwireBook");
if(_124){
_126=_124+escape(_126);
}
window.open(_126,"_blank","height=800,width=800,directories=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1,titlebar=1,toolbar=1");
}
}});
}

mq._loader._layerLoaded('mq.maptabview');