function MasternautMapInterface(P,O,Q,Y){var S=this;var E=P;var c=O;var D=Q;var H=Y;var C=null;var F=null;var W=null;var T=null;var X=null;var M=null;function V(){c.SuppressShim=true;c.onBeforePrint=function(){E.SetPrintOptions(new VEPrintOptions(true))};E.AttachEvent("onviewchanged",e);E.AttachEvent("onmouseout",function(){C.innerHTML=""});E.AttachEvent("onmouseover",function(h){if(E.NoMouseOver){return }var g=lang["map.nam"]+":";var m=lang["map.det"]+":";var f="";var l="";var i=(h.GetCustomIcon()==null?"":(h.GetCustomIcon().Image?"<img src='"+h.GetCustomIcon().Image+"'>":h.GetCustomIcon()).toLowerCase());if(i.indexOf("circle_")>=0||i.indexOf("<span ")>=0){return true}if(h.GetShapeLayer()._isClusterLayer){f=h.GetTitle().replace("locations near here",lang["map.vehs"]);l=lang["map.ctx.det"];g="";m=""}else{f=h.GetTitle();l=h.GetDescription();if(f==""&&l==""){return true}var j=h.GetShapeLayer().GetTitle();switch(j){case"Locator":g=lang["map.veh"]+":";m=lang["map.dri"]+":";break;case"Mvi":g=lang["map.hour"]+":";m=lang["map.evt"]+":";break;case"Journey":g=lang["map.dri"]+":";m=lang["map.hour"]+":";break;case"Contact":g=lang["map.nam"]+":";m=lang["map.con.ref"]+":";break;case"Territory":g=lang["map.nam"]+":";m=lang["map.con.ref"]+":";break;case"RouteGeofence":g=lang["map.time"]+":";m="";break;case"Alert":g=lang["map.time"]+":";m=lang["map.dri"]+":";break;case"Traffic":g=lang["map.add"]+":";m=lang["map.desc"]+":";break;case"Job":g=lang["map.con"]+":";m="";break;case"Watch":g=lang["map.user"]+":";m=lang["map.time"]+":";case"Alarm":g=lang["map.veh"]+":";m=lang["map.time"]+":"}}var k="<table cellspacing=0 cellpadding=0 border=0><tr><td valign=top>"+i+"</td><td style='font-size:7pt;' valign=top><b>"+g+"</b> "+unescape(f)+"<br>"+(l!=""?"<b>"+m+"</b> "+unescape(l):"")+"</td></tr></table>";C.innerHTML=k});c.onResize=function(){E.Resize(parseInt(this.divContent.style.width,10),parseInt(this.divContent.style.height,10));G();if(S.chkMiniMap&&S.chkMiniMap.checked){E.ShowMiniMap()}};E.AttachEvent("onmapclick",function(g,i){var f=Z("map");if(f==undefined){return }var h=(f.seeAddContact?'<menuItem text="'+lang["map.ctx.con"]+'" action="AddEditContactFromMap([param]);" />':"");new MasternautContextMenu(g,E,lang["map.head.point"],'<menu><header value="" height="30" changeAfterCallback="true" />'+h+b(i.Latitude,i.Longitude,"Point on map")+"</menu>",[i.Latitude,i.Longitude]);addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+i.Latitude+"&reverseLon="+i.Longitude,3,false,I)});E.AttachEvent("onlocatorclick",function(f,q,o){if(Z("vehicle")==undefined){return }if(q.length&&q.length>1){var p=addChildObj("table");var k=addChildObj("tbody",p);var l=addChildObj("tr",k);var m=[];for(var j=0;j<q.length;j++){m.push("@mcuC='"+q[j].MasternautId+"'")}var n=o.selectNodes("locator/group/loc["+m.join(" or ")+"]");var h=3;for(var j=0;j<n.length;j++){var g=addChildObj("td",l,"text-align:center","<img src='/common/images/map/vehicle_"+n[j].getAttribute("typ")+"_"+n[j].getAttribute("evn")+(n[j].getAttribute("isAsset")==null?"_"+getDegresGifVehicle(n[j].getAttribute("dir"),"north"):"")+".gif'><br>"+n[j].getAttribute("mcu"));g.mcuCode=n[j].getAttribute("mcuC");g.oncontextmenu=function(i){S.ShowVehicleContextMenu(o.selectNodes("locator/group/loc[@mcuC="+this.mcuCode+"]")[0],f.clientX,f.clientY);window.event.returnValue=false;window.event.cancelBubble=true;return false};if(!document.all){g.onmouseup=g.oncontextmenu}else{g.onclick=g.oncontextmenu}if((j+1)%h==0){l=addChildObj("tr",k)}}new MasternautContextMenuWithWidth(f,null,q.length+" "+lang["map.vehs"],260,'<menu><header value="'+escape('<div id="divCluster" style="height:180px; overflow-y:scroll;"></div>')+'" /></menu>');document.getElementById("divCluster").appendChild(p)}else{if(window.event.shiftKey){E.LoadJourney(new Date(),q.MasternautId)}else{S.ShowVehicleContextMenu(o.selectNodes("locator/group/loc[@mcuC="+q.MasternautId+"]")[0],f.clientX,f.clientY)}}});E.AttachEvent("oncontactclick",function(k,g,m){var f=m.getAttribute("lock")=="1";if(!f&&window.event.shiftKey){E.AddEditContact(g);return }var i=Z("contact");if(i==undefined){return }var j=(i.seeEdit&&!f?'<menuItem text="'+lang["map.ctx.conE"]+'" action="AddEditContact('+g+');" />':"");var l=(i.seeDelete&&!f?'<menuItem text="'+lang["map.ctx.conD"]+'" action="DeleteContact('+g+');" />':"");var h=(i.seeJob?'<menuItem text="'+lang["map.ctx.job"]+'" action="CreateJob('+g+');" />':"");new MasternautContextMenu(k,E,lang["map.con"],'<menu><header value="'+escape("<b>"+lang["map.nam"]+":</b> "+m.getAttribute("name")+"<br><b>"+lang["map.con.ref2"]+":</b> "+m.getAttribute("ref")+"<br><br>")+'" /><header value="" height="30" changeAfterCallback="true" />'+j+l+h+b(m.getAttribute("lat"),m.getAttribute("lon"),escape(m.getAttribute("name")))+"</menu>",[m.getAttribute("lat"),m.getAttribute("lon")]);addToQueue("map_xml.aspx?mode=loadContactDetail&locCode="+g,3,false,function(n){U(n.getElementsByTagName("loc")[0])})});E.AttachEvent("onjourneyclick",function(f,q,m){var g=m.GetPoiDetail(q.MasternautId);var h=g[0];var k=g[1];var n=g[2];var p=g[3];var l=g[4];var o=m.GetTemperatureAtTime(h);var j="<b>"+lang["map.hour"]+": </b>"+h+"<br><b>"+lang["map.dri"]+": </b>"+g.driver+"<br>";if(!m.hideMileageAndSpeed){j+=(k&&k>0?"<b>"+lang["map.speed"]+": </b>"+Speed(k)+"<br>":"")+(n?"<b>"+lang["map.dist.from"]+": </b>"+Distance(n)+"<br>":"")}j+=(p?(q.GetCustomIcon().Image.indexOf("idling")==-1?"<b>"+lang["map.stop.dur"]+": </b>":"<b>"+lang["map.idl.dur"]+": </b>")+p+"<br>":"");if(o.length>0){j+="<table border=0 cellspacing=0 cellpading=0><tr><td valign=top><b>"+lang["map.temp"]+":&nbsp;</b></td><td><table style='border:1px dashed #5555AA' border=0 cellspacing=0 cellpading=1><tr><td rowspan=2><img src='/common/images/temperature.gif' border=0></td><td align=right><font size=-2>&nbsp;&nbsp;1</font></td><td align=right><font size=-2>&nbsp;&nbsp;2</font></td><td align=right><font size=-2>&nbsp;&nbsp;3</font></td><td align=right><font size=-2>&nbsp;&nbsp;4&nbsp;</font></td></tr><tr><td align=right><font size=-2>"+o[0]+"</font></td><td align=right><font size=-2>"+o[1]+"</font></td><td align=right><font size=-2>"+o[2]+"</font></td><td align=right><font size=-2>"+o[3]+"&nbsp;</font></td></tr></table></td></tr></table>"}var i='<menuItem text="'+lang["map.ctx.con"]+'" action="AddEditContactFromMap([param]);" />';var r='<menuItem text="'+lang["map.ctx.tra"]+escape(" <font color=red>new</font>")+'" action="ShowTrafficPushpin(1, 1, \''+m.date+" "+h+"');\" />";new MasternautContextMenu(f,E,lang["map.head.journey"],'<menu><header value="'+escape(j+"<br>")+'" /><header value="'+(l?escape(l):"")+'" height="30" changeAfterCallback="'+(l?"false":"true")+'" />'+i+r+b(g.lat,g.lon,escape(h))+"</menu>",[g.lat,g.lon]);if(!l){addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+g.lat+"&reverseLon="+g.lon+"&vehicleDirection="+g.direction+"&vehicleSpeed="+k,3,false,I)}});E.AttachEvent("onmviclick",function(f,h){if(!h.getAttribute("type")){var g="<b>"+lang["map.hour"]+": </b>"+h.getAttribute("dat")+"<br><b>"+lang["map.evt"]+": </b>"+h.getAttribute("cap")+"<br>";new MasternautContextMenu(f,E,lang["map.evt"],'<menu><header value="'+escape(g)+'" /><header value="" height="30" changeAfterCallback="true" />'+b(h.getAttribute("lat")+","+h.getAttribute("lon"),escape(h.getAttribute("cap")))+"</menu>")}else{var g="<b>Hour: </b>"+h.getAttribute("dat")+"<br><br>"+L(h)+"<br>";new MasternautContextMenu(f,E,lang["map.evt"],'<menu><header value="'+escape(g)+'" /><header value="" height="30" changeAfterCallback="true" />'+b(h.getAttribute("lat")+","+h.getAttribute("lon"),escape(h.getAttribute("dat")))+"</menu>")}addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+h.getAttribute("lat")+"&reverseLon="+h.getAttribute("lon"),3,false,I)});E.AttachEvent("onroutegeofenceclick",function(h,g,f){var i="<b>"+lang["map.time"]+": </b>"+g.GetTitle()+"<br>"+g.GetDescription();new MasternautContextMenu(h,E,lang["map.rteGeo"],'<menu><header value="'+escape(i)+'" /><header value="" height="30" changeAfterCallback="true" /></menu>');addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+f[g.MasternautId].getAttribute("lat")+"&reverseLon="+f[g.MasternautId].getAttribute("lon"),3,false,I)});E.AttachEvent("onjobclick",function(j,i,f){var g=Z("job");if(g==undefined){return }var h=(g.seeEdit&&f.getAttribute("edit")?'<menuItem text="'+lang["map.ctx.jobE"]+'" action="EditJob('+i.MasternautId+');" />':"");var k=(g.seeAddContact?'<menuItem text="'+lang["map.ctx.con"]+'" action="AddEditContactFromMap([param]);" />':"");var l=(f.getAttribute("rte")?"<b>"+lang["map.rte"]+": </b>"+f.getAttribute("rte")+"<br>":"")+"<b>"+lang["map.emp"]+": </b>"+i.GetDescription().substring(14)+(f.getAttribute("JobMcu")?"<br><b>"+lang["map.veh"]+": </b>"+f.getAttribute("JobMcu"):"")+"<br><b>"+lang["map.con"]+": </b>"+i.GetTitle()+"<br><b>"+lang["map.time"]+": </b>"+i.GetDescription().substring(0,13);new MasternautContextMenu(j,E,lang["map.head.job"],'<menu><header value="'+escape(l)+'" /><header value="" height="30" changeAfterCallback="true" />'+h+k+b(f.getAttribute("lat"),f.getAttribute("lon"),escape(i.GetTitle()))+"</menu>",[f.getAttribute("lat"),f.getAttribute("lon")]);addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+f.getAttribute("lat")+"&reverseLon="+f.getAttribute("lon"),3,false,I)});E.AttachEvent("onterritoryclick",function(h,g){var f=g.MasternautId;var i="<b>"+lang["map.nam"]+":</b> "+g.GetTitle()+"<br><b>"+lang["map.con.ref2"]+":</b> "+g.GetDescription();new MasternautContextMenu(h,E,lang["map.ter"],'<menu><header value="'+escape(i)+'" /><menuItem text="'+lang["map.ctx.terE"]+'" action="EditTerritory('+f+');" /><menuItem text="'+lang["map.ctx.terD"]+'" action="DeleteTerritory('+f+');" /></menu>')});E.AttachEvent("ontrafficclick",function(g,f){var h="<b>"+lang["map.add"]+":</b> "+f.GetTitle()+"<br><b>"+lang["map.desc"]+":</b> "+f.GetDescription();new MasternautContextMenu(g,E,lang["map.head.traffic"],'<menu><header value="'+escape(h)+'" /><menuItem text="'+lang["map.sms2"]+'" action="SendSMS([param]);" />'+b(f.Latitude,f.Longitude,"Traffic")+"</menu>",["Masternaut traffic update: "+f.GetTitle()+". "+f.GetDescription()])});E.AttachEvent("onpoiclick",function(g,f){var h="<b>"+lang["map.nam"]+"</b>: "+f.GetTitle()+"<br><b>"+lang["map.info"]+"</b>: "+f.GetDescription();new MasternautContextMenu(g,E,lang["map.poi"],'<menu><header value="'+escape(h)+'" />'+b(f.Latitude,f.Longitude,escape(f.GetTitle()))+"</menu>")});E.AttachEvent("onrestrictionclick",function(g,f){var h="<b>"+lang["map.add"]+"</b>: "+f.GetTitle()+"<br><b>"+lang["map.restrict"]+"</b>: "+f.GetDescription();new MasternautContextMenu(g,E,lang["map.restrict"],'<menu><header value="'+escape(h)+'" /><menuItem text="'+lang["map.sms2"]+'" action="SendSMS([param]);" />'+b(f.Latitude,f.Longitude,escape(f.GetTitle()))+"</menu>",[escape("Restriction alert. Road: "+f.GetTitle()+" - "+f.GetDescription())])});E.AttachEvent("onalertclick",function(g,f,i){var h="<b>Date: </b>"+f.GetTitle()+"<br><b>Employee: </b>"+f.GetDescription()+"<br><b>"+lang["map.mess"]+": </b><br>"+i.getAttribute("mes");new MasternautContextMenu(g,E,lang["map.head.alert"],'<menu><header value="'+escape(h)+'" />'+b(f.Latitude,f.Longitude,"Alert")+"</menu>")});E.AttachEvent("ontrafficcamclick",function(h,g){var f="<img width='352' height='288' src='map_xml.aspx?mode=loadTrafficCamImage&id="+g.MasternautId+"&uid="+escape(new Date())+"'>";new MasternautContextMenuWithWidth(h,E,lang["map.head.cam"],340,'<menu><header value="'+escape(g.GetTitle()+"<br><center>"+(g.MasternautId!=0?f:"")+"</center>")+'" /></menu>')});E.AttachEvent("onalarmclick",function(g,f){var h="<b>"+lang["map.veh"]+": </b>"+f.GetTitle()+"<br><b>"+lang["map.dat"]+": </b>"+f.GetDescription()+"<br><br>";new MasternautContextMenu(g,E,lang["map.head.alarm"],'<menu><header value="'+escape(h)+'" /><header value="" height="30" changeAfterCallback="true" />'+b(f.Latitude,f.Longitude,lang["map.head.alarm"])+"</menu>");addToQueue("map_xml.aspx?mode=reverseGeocode&reverseLat="+f.Latitude+"&reverseLon="+f.Longitude,3,false,I)});E.AttachEvent("onsearcheditemclick",function(f,r){if(r.GetTitle()=="Edited Location"&&r.GetDescription()==""){return }var l=r.GetPoints()[0];var j="<b>"+lang["map.nam"]+": </b>"+r.GetTitle()+"<br><b>"+lang["map.det"]+": </b>"+r.GetDescription();if(r.GetDescription()!=""&&r.GetDescription().indexOf("<br>")>-1){var p=r.GetDescription().split("<br>")[1];var g=p.split(",");var k=g[g.length-1].split(" ");var q=k[k.length-2]+" "+k[k.length-1];var m=g[g.length-2];m=m.substring(1,m.length);var i=p.substring(0,p.indexOf(", "+m+","));var h="0, '"+escape(r.GetTitle())+"', [param], '"+escape(i)+"', '"+escape(m)+"', '"+escape(q)+"', ''"}else{var h="0, '', [param], '"+escape(r.GetTitle())+"', '', '', ''"}var n=Z("search");if(n==undefined){return }var o=(n.seeAddContact?'<menuItem text="'+lang["map.ctx.con"]+'" action="AddEditContact('+h+');" />':"");new MasternautContextMenu(f,E,lang["map.search.res"],'<menu><header value="'+escape(j)+'" />'+o+b(l.Latitude,l.Longitude,escape(r.GetTitle()))+"</menu>",[l.Latitude,l.Longitude])});E.AttachEvent("oncontactloaded",function(g){if(F==null){F=addChildObj("div",c.divContent,"z-index:1000; position:absolute; top:0px; right:0px; padding-bottom:1px; opacity:0.70; filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=70); background-color:white; border:black 1px solid; font-size:7pt")}F.innerHTML=g.getElementsByTagName("loc").length+"/"+g.getElementsByTagName("location")[0].getAttribute("nb")+" "+lang["map.con.disp"];if(g.getElementsByTagName("location")[0].getAttribute("maxResult")!="50"){var f=addChildObj("span",F,"text-decoration:underline; margin-left:4px; cursor:pointer",lang["map.less"]);f.onclick=function(){E.ShowAllContacts(null,null,parseInt(g.getElementsByTagName("location")[0].getAttribute("maxResult"),10)-150)}}var h=addChildObj("span",F,"text-decoration:underline; margin-left:4px; cursor:pointer",lang["map.more"]);h.onclick=function(){E.ShowAllContacts(null,null,parseInt(g.getElementsByTagName("location")[0].getAttribute("maxResult"),10)+150)};F.style.visibility="visible";if(T&&!T.checked){T.checked=true;T.div.style.display="inline";T.offsetParent.offsetParent.objRef.updateContentSize()}});E.AttachEvent("oncontacthidden",function(){if(F){F.style.visibility="hidden"}if(T){T.checked=false;T.div.style.display="none"}});E.AttachEvent("onminimapdisplayed",function(){if(S.chkMiniMap){S.chkMiniMap.checked=true}createCookie("masternautMiniMap",1,60)});E.AttachEvent("onminimaphidden",function(){if(S.chkMiniMap){S.chkMiniMap.checked=false}createCookie("masternautMiniMap",0,60)});E.AttachEvent("onnearestcontactloaded",function(h){var g={lat:h.getElementsByTagName("nearestVehicle")[0].getAttribute("lat"),lon:h.getElementsByTagName("nearestVehicle")[0].getAttribute("lon")};if(X==null){var j=new MasternautWindows(document.body,0,0,350,300,"z-index:1001;",null,true,lang["map.ctx.nearC"],true,true,true,false,true,false,false,4,true,false,true);j.onClose=function(){E.DeleteShapes(MasternautMapLayer.Misc);X=null};addChildObj("span",j.divContent,null,lang["map.con.group"]+" ");var f=new MasternautCombo(addChildObj("input",j.divContent,"width:87px;"),230);f.SetComboToAutoLoad("loadContactFamily","fLoc","id","name",lang["map.any"]);f.onchange=function(){E.ShowNearestContact(g.lat,g.lon,this.value)};X=addChildObj("div",j.divContent)}var i=MasternautTable(X,h,"loc",[lang["map.nam"],lang["map.con.ref2"],lang["map.dist"]],["nam","ref","dist"],0,E.ZoomIn,[{type:"field",attribute:"lat"},{type:"field",attribute:"lon"},{type:"value",value:17},{type:"value",value:true}]);MasternautETACalculator(E,i,g,h,"loc")});E.AttachEvent("onrouteplannerset",function(f){M=f});E.AttachEvent("onstopaddedtoplanner",function(f,g){if(M==null){var h=new MasternautWindows(c.container,8,48,230,420,"z-index:1001; font-size:8pt",null,false,lang["map.rtePlan"],true,true,true,false,true,false,false,0,false,false,true);h.onClose=function(){E.DeleteRoute();M.RemoveAllStop();M=null};LazyLoad("/common/javascript/2.3/MasternautRoutePlanner.js","MasternautRoutePlanner",function(){M=new MasternautRoutePlanner(E,h.divContent);M.AddStop(g[0],g[1],unescape(f))})}else{M.AddStop(g[0],g[1],unescape(f))}});E.AttachEvent("onnewcontactinterfaceneeded",function(m,k,l,g,n,f,h,i){var j=new MasternautWindows(c.container,8,48,260,360,"z-index:1001;",null,false,lang["map.con.det"],false,true,true,false,true,false,false,0);j.onClose=function(){E.UnsetNewContact(true);E.ShowAllContacts()};LazyLoad("/common/javascript/2.3/MasternautNewContact.js","MasternautNewContact",function(){var o=new MasternautNewContact(E,j.divContent);o.onsave=j.close;E.AddEditContact(m,k,l,g,n,f,h,i)})});E.SetContainers(c.divContent,c.container);R();if(readCookie("masternautMiniMap")==1){E.ShowMiniMap()}new MasternautBirdsEyeBox(E,E.GetVEMap(),c.container)}function b(m,g,q){var n=Z("common");if(n==undefined){return }var i=(n.seeNearestVehicle?'<menuItem text="'+lang["map.nearV"]+'" action="ShowNearestVehicle('+m+","+g+');" />':"");var l=n.seeNearestContact?'<menuItem text="'+lang["map.ctx.nearC"]+'" action="ShowNearestContact('+m+","+g+');" />':"";var h=(n.seeVicinity?'<menuItem text="'+lang["map.ctx.vic"]+'" action="ShowLocationVicinity('+m+","+g+');" />':"");var o=(n.seeBusinesses&&_defaultCountry=="UK"?'<menuItem text="'+lang["map.ctx.nearB"]+'" action="FindNearby('+m+","+g+');" />':"");var p=(n.seeDriveZone&&_defaultCountry=="UK"?'<menuItem text="'+lang["map.DTZ"]+escape(" <font color=red>beta</font>")+'" action="ShowDriveTimeZone('+m+","+g+', 10)" />':"");var f=(n.seeTag&&readCookie("customerWithTags")=="True"?'<menuItem text="'+lang["map.tag.near"]+'" action="ShowNearestTags(0, 0, -1, -10000, 1, '+m+","+g+');" />':"");var k=(n.seeWeather?'<menuItem text="'+lang["map.wea"]+'" action="ShowWeather('+m+","+g+')" />':"");var r=(n.seeCoord?'<menuItem text="'+lang["map.ctx.coord"]+'" action="ShowCoordinate('+m+","+g+');" />':"");var j=(n.seeRoutePlanner?'<menuItem text="'+lang["map.ctx.rte"]+'" action="AddStopToRoutePlanner(\''+q+"', ["+m+","+g+']);" />':"");return'<menuItem split="1" />'+i+l+h+o+f+p+k+r+j}function Z(f){for(var g=0;g<H.length;g++){if(f==H[g].name){return H[g].subMenus}}}this.ShowVehicleContextMenu=function(o,k,j){var n=Z("vehicle");if(n==undefined){return }var p=o.getAttribute("mcuC");var q=n.seeHistory?'<menuItem text="'+lang["map.ctx.hist"]+'" action="LoadJourney(\''+new Date()+"', "+p+');" />':"";var h=n.seeHistory?'<menuItem text="'+lang["map.ctx.pre"]+encodeURI(" <font color=red>new</font>")+'" action="PredictNextStop('+p+","+o.getAttribute("lat")+","+o.getAttribute("lon")+","+o.getAttribute("dir")+',false);" />':"";var l=(n.seeSMS&&o.getAttribute("phone")?'<menuItem text="'+lang["map.sms"]+"\"  action=\"SendSMS('', '"+o.getAttribute("phone")+"');\" />":"");var i=(n.seeVDT&&o.getAttribute("vdt")?'<menuItem text="'+lang["map.vdt"]+'"  action="SendVDT('+p+');" />':"");var f=(n.seeTag&&o.getAttribute("tag")?'<menuItem text="'+lang["map.ctx.tag"]+'" action="ShowTags('+p+', 0, -1, -10000, 1);" />':"");var g="<b>"+lang["map.nam"]+":</b> "+o.getAttribute("mcu")+(o.getAttribute("dri")!=""?"<br><b>"+lang["map.dri"]+":</b> "+o.getAttribute("dri"):"")+"<br><b>"+lang["map.menu.DT"]+":</b> "+o.getAttribute("time")+(o.getAttribute("hideMileageAndSpeed")?"":"<br><b>"+lang["map.speed"]+":</b> "+Speed(o.getAttribute("mph")))+(o.getAttribute("phone")?"<br><b>"+lang["map.phone"]+":</b> "+o.getAttribute("phone"):"");if(o.getAttribute("temp")){var m=o.getAttribute("temp").split("|");g+="<table border=0 cellspacing=0 cellpading=0><tr><td valign=top><b>Temperature:&nbsp;</b></td><td><table style='border:1px dashed #5555AA' border=0 cellspacing=0 cellpading=1><tr><td rowspan=2><img src='/common/images/temperature.gif' border=0></td><td align=right><font size=-2>&nbsp;&nbsp;1</font></td><td align=right><font size=-2>&nbsp;&nbsp;2</font></td><td align=right><font size=-2>&nbsp;&nbsp;3</font></td><td align=right><font size=-2>&nbsp;&nbsp;4&nbsp;</font></td></tr><tr><td align=right><font size=-2>"+m[0]+"</font></td><td align=right><font size=-2>"+m[1]+"</font></td><td align=right><font size=-2>"+m[2]+"</font></td><td align=right><font size=-2>"+m[3]+"&nbsp;</font></td></tr></table></td></tr></table>"}new MasternautContextMenu(k&&j?{clientX:k,clientY:j}:event,E,lang["map.veh"],'<menu><header value="'+escape(g)+'" /><header value="" changeAfterCallback="true" />'+q+h+l+i+f+b(o.getAttribute("lat"),o.getAttribute("lon"),escape(o.getAttribute("mcu")))+"</menu>",[o.getAttribute("lat"),o.getAttribute("lon")]);addToQueue("map_xml.aspx?mode=loadVehicleDetail&mcuCode="+p,3,false,function(r){N(r.getElementsByTagName("vehicle")[0])})};function I(f){addressNode=(f.childNodes[0].tagName?f.childNodes[0]:f.childNodes[1]);if(document.divToChangeAfterCallback&&addressNode){document.divToChangeAfterCallback.innerHTML="<table cellspacing=0 cellpadding=2 border=0 width=100%><tr><td>"+addressNode.getAttribute("rd")+", "+addressNode.getAttribute("tow")+" "+addressNode.getAttribute("pc")+"</td>"+(addressNode.getAttribute("sp")!="0"?"<td align=right><div class='limit'>"+Math.round(addressNode.getAttribute("sp")*_defaultCoef)+"</div></td>":"")+"</tr></table>";document.divToChangeAfterCallback.Road=addressNode.getAttribute("rd");document.divToChangeAfterCallback.Town=addressNode.getAttribute("tow");document.divToChangeAfterCallback.PostCode=addressNode.getAttribute("pc");document.divToChangeAfterCallback.Country=addressNode.getAttribute("cy");if(document.divToChangeAfterCallback.innerHTML==" ,  "){document.divToChangeAfterCallback.innerHTML="<i>No address available</i>"}}}function N(h){var k="";var g=h.getElementsByTagName("skill");if(g.length>0){k+="<b>"+lang["map.skill"]+": </b>";for(var j=0;j<g.length;j++){k+=g[j].text+", "}k=k.substring(0,k.length-2)+"<br>"}k+="<br><table cellspacing=0 cellpadding=2 border=0 width=100%><tr><td>"+h.getAttribute("add")+"</td>"+(h.getAttribute("sp")!="0"?"<td align=right><div class='limit'>"+Math.round(h.getAttribute("sp")*_defaultCoef)+"</div></td>":"")+"</tr></table>";var f=h.getElementsByTagName("attribute");if(f.length>0){k+="<br><b>Attributes: </b>";for(var j=0;j<f.length;j++){k+=f[j].getAttribute("name");k+=", "}k=k.substring(0,k.length-2)}if(document.divToChangeAfterCallback){document.divToChangeAfterCallback.innerHTML=k;document.divToChangeAfterCallback.offsetParent.offsetParent.objRef.updateContentSize()}}function U(g){var f=g.getAttribute("rd")+", "+g.getAttribute("tow")+" "+g.getAttribute("pc");f+="<br>"+(g.getAttribute("cust1")?"<br><br>"+g.getAttribute("cust1"):"")+(g.getAttribute("cust2")?"<br>"+g.getAttribute("cust2"):"")+(g.getAttribute("cust3")?"<br>"+g.getAttribute("cust3"):"")+(g.getAttribute("cust4")?"<br>"+g.getAttribute("cust4"):"");if(document.divToChangeAfterCallback){document.divToChangeAfterCallback.innerHTML=f}}function L(g){switch(g.getAttribute("type")){case"Econ":var f="<b>Spread</b>: "+g.getAttribute("sp")+"<br>";f+="<b>No Salt Flow</b>: "+g.getAttribute("ns")+"<br>";f+="<b>Blast</b>: "+g.getAttribute("bt")+"<br>";f+="<b>Auto Mode</b>: "+g.getAttribute("am")+"<br>";f+="<b>Pre Wet</b>: "+g.getAttribute("pw")+"<br>";f+="<b>Plough Float</b>: "+g.getAttribute("pf")+"<br>";f+="<b>Spinner</b>: "+g.getAttribute("sn")+"<br>";f+="<b>Rate</b>: "+g.getAttribute("ra")+"<br>";return f;case"Whale":var f="<b>Spread</b>: "+g.getAttribute("sp")+"<br>";f+="<b>Salt Flow</b>: "+g.getAttribute("sf")+"<br>";f+="<b>Unload</b>: "+g.getAttribute("ul")+"<br>";f+="<b>Blast</b>: "+g.getAttribute("bt")+"<br>";f+="<b>Floats</b>: "+g.getAttribute("ft")+"<br>";f+="<b>Width</b>: "+g.getAttribute("wd")+"<br>";f+="<b>Density</b>: "+g.getAttribute("ds")+"<br>";f+="<b>Distance</b>: "+g.getAttribute("dt")+"<br>";return f;case"Schmidt":var f="<b>Pre Wet</b>: "+g.getAttribute("pw")+"<br>";f+="<b>Blast</b>: "+g.getAttribute("bt")+"<br>";f+="<b>No Salt Flow</b>: "+g.getAttribute("ns")+"<br>";f+="<b>Spread</b>: "+g.getAttribute("sp")+"<br>";f+="<b>Spinner</b>: "+g.getAttribute("sn")+"<br>";f+="<b>Rate</b>: "+g.getAttribute("ra")+"<br>";return f;case"Giletta":var f="<b>Pre Wet</b>: "+g.getAttribute("pw")+"<br>";f+="<b>Blast</b>: "+g.getAttribute("bt")+"<br>";f+="<b>Control Box</b>: "+g.getAttribute("cb")+"<br>";f+="<b>Spread</b>: "+g.getAttribute("sp")+"<br>";f+="<b>Spinner</b>: "+g.getAttribute("sn")+"<br>";f+="<b>Rate</b>: "+g.getAttribute("ra")+"<br>";return f}}function G(){var f=(c.divHeader.offsetWidth>105+10+200+10+D.length*75);for(var g=0;g<D.length;g++){D[g].resize(c.divHeader,D.length,g,f)}J(c.divHeader,f)}function R(){var f=(c.divHeader.offsetWidth>105+10+200+10+D.length*75);K(c.divHeader);d(c.divHeader,f);B(c.divHeader,f)}function B(g,f){C=addChildObj("div",g,"position:absolute; top:0px; font-size:7pt;");J(g,f)}function J(h,g){var i=(g?75:20)*D.length;var f=105+(h.offsetWidth-105-i-150)/2;if(f<105){f=110}C.style.left=f+"px";if(h.offsetWidth-105-i<120){C.style.visibility="hidden"}else{C.style.visibility="visible"}}function e(){if(W){W.style.left=(W.minLeft+(W.maxLeft-W.minLeft)/19*E.GetZoomLevel())+"px"}}function K(h){var f=addChildObj("div",h,"position:absolute; left:5px; top:2px;");var i=addChildObj("img",f,"position:absolute; cursor:pointer;");i.src="/common/images/map2/mapZoomBack.gif";i.onclick=function(l){var k=(l?l:window.event);E.SetZoomLevel(Math.round((k.offsetX-W.minLeft-5)*19/(W.maxLeft-W.minLeft)))};var g=addChildObj("img",f,"position:absolute; left:0px; top:2px; cursor:pointer;");g.src="/common/images/map2/mapZoomOut.gif";g.onclick=function(){E.ZoomOut()};var j=addChildObj("img",f,"position:absolute; left:83px; top:2px; cursor:pointer;");j.src="/common/images/map2/mapZoomIn.gif";j.onclick=function(){E.ZoomIn()};W=addChildObj("img",f,"position:absolute; cursor:col-resize;");W.src="/common/images/map2/mapZoomCursor.gif";W.minLeft=16;W.maxLeft=73;e();W.onmousedown=function(l){var k=(l?l:window.event);document.leftBeforeDrag=this.offsetLeft;document.initMouseLeft=k.clientX;document.onmousemove=function(o){var m=(o?o:window.event);var n=this.leftBeforeDrag+m.clientX-this.initMouseLeft;W.style.left=(n<W.minLeft?W.minLeft:(n>W.maxLeft?W.maxLeft:n))+"px";return false};document.onmouseup=function(){E.SetZoomLevel(Math.round((parseInt(W.style.left,10)-W.minLeft)*19/(W.maxLeft-W.minLeft)));this.onmousemove=null;this.onmouseup=null};return false}}function d(k,h){for(var j=D.length-1;j>=0;j--){var g=D[j].name;var l=D[j].subMenus;var f=document.createElement("div");D[j]=new MasternautMapMenu(D,k,j,g,f,D.length,h);switch(g){case"view":a(f,l);break;case"overlays":A(f,l);break;case"search":MasternautMapSearch(E,f,l);break;case"help":f.innerHTML="<img src='/common/images/map2/help"+readCookie("lang")+".gif' width=177 height=147>";break}D[j].win.updateContentSize()}}function a(i,h){var r=addCheckbox(i,false,lang["map.menu.aerial"]+"&nbsp;&nbsp;&nbsp;");r.onclick=function(){E.SetMapStyle(this.checked?VEMapStyle.Hybrid:VEMapStyle.Shaded)};S.chkMiniMap=addCheckbox(i,false,lang["map.menu.mini"]+"<br>");S.chkMiniMap.onclick=function(){if(this.checked){E.ShowMiniMap()}else{E.HideMiniMap()}};if(h.seeChk3D){var s=addCheckbox(i,false,"3D<br>");s.onclick=function(){E.SetMapMode(this.checked?VEMapMode.Mode3D:VEMapMode.Mode2D)};E.AttachEvent("onmodechanged",function(){s.checked=E.Is3D()})}if(h.seeFavourites){addChildObj("span",i,null,"&nbsp;"+lang["map.menu.fav"]+" ");var m=new MasternautCombo(addChildObj("input",i,"width:101px;"),160);m.SetComboToAutoLoad("loadFavourite","fav","id","name");m.onContentLoaded=function(y){E.favourite=y};m.onchange=function(){E.ZoomToFavouriteView(this.value)};var q=new MasternautCombo(addChildObj("input",addChildObj("div",i,"margin-top:1px","","arrow"),"width:161px"),null,null,null,true);q.options.addBatch([new Option(lang["map.menu.favM"],"0"),new Option(lang["map.menu.favA"],"1"),new Option(lang["map.menu.favR"],"2"),new Option(lang["map.menu.favD"],"3"),new Option(lang["map.menu.favS"],"4"),new Option(lang["map.menu.favC"],"5")]);q.selectItem(0);q.onchange=function(){switch(this.value){case"1":E.AddViewToFavourite();break;case"2":E.RenameFavouriteView(m.value,m.options[m.selectedIndex].text);break;case"3":E.DeleteViewFromFavourite(m.value,m.options[m.selectedIndex].text);break;case"4":E.SetViewAsDefault();break;case"5":eraseCookie("defaultMapView");break}if(this.value!="0"){q.selectItem(0)}};E.AttachEvent("onviewlistchanged",function(){m.SetComboToRefreshContent()})}addChildObj("span",i,null,"<hr>");if(h.seeChkVehicles){var o=addCheckbox(i,false,lang["map.menu.liv"]+"<br>");o.onclick=function(){if(this.checked){E.ShowVehicleLive();this.divOptions.style.display="inline"}else{E.HideVehicleLive();this.divOptions.style.display="none"}i.parentNode.objRef.updateContentSize()};E.AttachEvent("onlocatorloaded",function(){o.checked=true;o.divOptions.style.display="inline";i.parentNode.objRef.updateContentSize()});o.divOptions=addChildObj("div",i);addChildObj("span",o.divOptions,"",lang["map.menu.lab"]+" ","arrow");var g=new MasternautCombo(addChildObj("input",o.divOptions,"width:107px"));g.options.addBatch([new Option("None","none"),new Option(lang["map.menu.livR"],"mcu"),new Option(lang["map.dri2"],"dri"),new Option(lang["map.menu.DT"],"time"),new Option(lang["map.speed"],"mph"),new Option(lang["map.temp"],"temp")]);if(readCookie("masternautVehicleCaption")){g.selectItem(readCookie("masternautVehicleCaption"));E.SetVehicleCaption(g.value)}else{g.selectItem(0)}g.onchange=function(){E.RedrawVehicleLivePushpin(this.value);createCookie("masternautVehicleCaption",this.selectedIndex,60)};var w=addCheckbox(addChildObj("div",o.divOptions,"","","arrow"),false,lang["map.menu.livC"]);if(readCookie("masternautVehicleCluster")=="1"){w.checked=true;E.SetLocatorCluster(true)}w.onclick=function(){E.SetLocatorCluster(this.checked);E.RedrawVehicleLivePushpin();createCookie("masternautVehicleCluster",(this.checked?"1":"0"),60)};o.divOptions.style.display="none"}if(h.seeChkContacts){var u=null;T=addCheckbox(i,false,lang["map.cons"]+" ");T.onclick=function(){if(this.checked){this.div.style.display="inline";E.ShowAllContacts(u.values)}else{this.div.style.display="none";E.HideContact()}i.parentNode.objRef.updateContentSize()};T.div=addChildObj("span",i);u=new MasternautCombo(addChildObj("input",T.div,"width:86px;"),205,true);u.SetComboToAutoLoad("loadContactFamily","fLoc","id","name",lang["map.all"],"gif");u.onchange=function(){if(this.options[0].chkBox.checked){this.selectItem(0)}else{E.ShowAllContacts(this.values)}};var j=new MasternautCombo(addChildObj("input",addChildObj("div",T.div,null,lang["map.menu.lab"]+" ","arrow"),"width:108px"));j.options.addBatch([new Option(lang["map.none"],"none"),new Option(lang["map.nam"],"name"),new Option(lang["map.con.ref"],"ref"),new Option(lang["map.con.cust"]+" 1","cust1"),new Option(lang["map.con.cust"]+" 2","cust2"),new Option(lang["map.con.cust"]+" 3","cust3"),new Option(lang["map.con.cust"]+" 4","cust4")]);j.selectItem(0);j.onchange=function(){E.ShowAllContacts(null,this.value)};T.div.style.display="none";addChildObj("span",i,"","<br>")}if(h.seeChkAlerts){addChildObj("span",i,"","<hr>");var l=addCheckbox(i,false,lang["map.menu.alert"]+"<br>");l.onclick=function(){if(this.checked){this.div.style.display="inline";E.ShowAlert(this.cal.selectedDate,this.alertType.value)}else{this.div.style.display="none";E.HideAlert()}i.parentNode.objRef.updateContentSize()};l.div=addChildObj("div",i);addChildObj("span",l.div,null,lang["map.menu.lab"]+" ","arrow");var p=new MasternautCombo(addChildObj("input",l.div,"width:108px"));p.options.addBatch([new Option(lang["map.none"],"none"),new Option(lang["map.menu.DT"],"dat"),new Option(lang["map.emp"],"dri")]);p.selectItem(0);p.onchange=function(){E.ShowAlert(null,null,this.value)};l.cal=new MasternautCalendar(addChildObj("input",addChildObj("div",l.div,"",lang["map.dat"]+" ","arrow"),"width:111px;"));l.cal.selectCal(new Date());l.cal.onSelectDate=function(){E.ShowAlert(this.selectedDate,l.alertType.value)};l.alertType=new MasternautCombo(addChildObj("input",addChildObj("div",l.div,"",lang["map.typ"]+" ","arrow"),"width:110px"),180);l.alertType.SetComboToAutoLoad("loadAlertTypeList","alertType","id","name",lang["map.any"]);l.alertType.onchange=function(){E.ShowAlert(l.cal.selectedDate,this.value)};l.div.style.display="none";E.AttachEvent("onalertloaded",function(){if(l!=null){l.checked=true;l.div.style.display="inline"}});E.AttachEvent("onalerthidden",function(){if(l!=null){l.checked=false}})}if(h.seeChkJobs){var x=addCheckbox(i,false,lang["map.menu.job"]+"<br>");x.onclick=function(){if(this.checked){E.ShowJob(this.cal.selectedDate,this.cmbEngineer.value,this.cmbMcu.value)}else{E.HideJob()}};E.AttachEvent("onjobhidden",function(){x.checked=false;x.div.style.display="none";i.parentNode.objRef.updateContentSize()});E.AttachEvent("onjobloaded",function(z){x.checked=true;x.div.style.display="inline";i.parentNode.objRef.updateContentSize();x.cmbEngineer.options.length=0;x.cmbEngineer.options.add(new Option(lang["map.all"],0));var AC="*";var y=z.getElementsByTagName("job");for(var AB=0;AB<y.length;AB++){var AD=y[AB].getAttribute("engId");if(AD!=null&&AC.indexOf("*"+AD+"*")==-1){x.cmbEngineer.options.add(new Option(y[AB].getAttribute("eng"),AD));AC+=AD+"*"}}x.cmbEngineer.sortByText();x.cmbMcu.options.length=0;x.cmbMcu.options.add(new Option(lang["map.all"],0));var AA="*";var y=z.getElementsByTagName("job");for(var AB=0;AB<y.length;AB++){var AD=y[AB].getAttribute("MCUId");if(AD!=null&&AA.indexOf("*"+AD+"*")==-1){x.cmbMcu.options.add(new Option(y[AB].getAttribute("JobMcu"),AD));AA+=AD+"*"}}x.cmbMcu.sortByText()});x.div=addChildObj("div",i);var k=new MasternautCombo(addChildObj("input",addChildObj("div",x.div,"",lang["map.menu.lab"]+" ","arrow"),"width:108px"));k.options.addBatch([new Option(lang["map.none"],"none"),new Option(lang["map.con"],"loc"),new Option(lang["map.eng"],"eng"),new Option(lang["map.menu.jobS"],"sta"),new Option(lang["map.menu.jobF"],"end")]);k.selectItem(0);k.onchange=function(){E.ShowJob(null,null,this.value)};x.cal=new MasternautCalendar(addChildObj("input",addChildObj("div",x.div,"",lang["map.dat"]+" ","arrow"),"width:111px;"));x.cal.selectCal(new Date());x.cal.parent=x;x.cal.onSelectDate=function(){E.ShowJob(this.selectedDate)};x.cmbEngineer=new MasternautCombo(addChildObj("input",addChildObj("div",x.div,"",lang["map.eng"]+" ","arrow"),"width:82px;"),160);x.cmbEngineer.value=0;x.cmbEngineer.setText(lang["map.all"]);x.cmbEngineer.parent=x;x.cmbEngineer.onchange=function(){E.ShowJob(this.parent.cal.selectedDate,this.value,x.cmbMcu.value)};x.cmbMcu=new MasternautCombo(addChildObj("input",addChildObj("div",x.div,"",lang["map.veh"]+" ","arrow"),"width:97px;"),160);x.cmbMcu.value=0;x.cmbMcu.setText(lang["map.all"]);x.cmbMcu.parent=x;x.cmbMcu.onchange=function(){E.ShowJob(this.parent.cal.selectedDate,x.cmbEngineer.value,this.value)};x.div.style.display="none"}if(h.seeChkInfo){addChildObj("span",i,"","<hr>"+lang["map.poi"]+" ");var v=new MasternautCombo(addChildObj("input",i,"width:140px;"),200,true);v.SetComboToAutoLoad("loadPOIType","type","id","nam");v.onchange=function(){E.ShowPOI(this.values)};if(_defaultCountry=="UK"){addChildObj("span",i,"","<br>Restrictions ");var t=new MasternautCombo(addChildObj("input",i,"width:95px;"),200,true);t.SetComboToAutoLoad("loadHGVRestrictionType","type","id","nam",null,"gif");t.onchange=function(){E.ShowHGVRestriction(this.values)};addChildObj("span",i,null,"<br>Traffic ");var f=new MasternautCombo(addChildObj("input",i,"width:125px"),212,true);f.options.addBatch([new Option("<img src='/common/images/map2/i_traffic.gif'> Traffic incidents",1),new Option("<img src='/common/images/map2/i_traffic.gif'> Traffic delays",2),new Option("<img src='/common/images/map2/i_cam.png'> "+lang["map.trafficCam"]+" <font color='red'>new!</font>",3)]);f.onchange=function(y){var z=this.options[y].chkBox.checked;switch(this.options[y].value){case"1":if(z){E.ShowTrafficPushpin(true)}else{E.HideTrafficPushpin(true)}break;case"2":if(z){E.ShowTrafficPushpin(null,true)}else{E.HideTrafficPushpin(null,true)}break;case"3":if(z){E.ShowTrafficCam()}else{E.HideTrafficCam()}break}};E.AttachEvent("ontrafficinfoloaded",function(y,z){f.options[0].chkBox.checked=y;f.options[1].chkBox.checked=z;f.setSelectedText()})}else{var n=addCheckbox(i,false,lang["map.trafficCam"]+" <font color='red'>new!</font>");n.onclick=function(){if(this.checked){E.ShowTrafficCam()}else{E.HideTrafficCam()}}}}}function A(i,k){if(k.seeChkTerritories){var m=addCheckbox(i,false,lang["map.ters"]+"<br>");m.onclick=function(){if(this.checked){E.ShowTerritory()}else{E.HideTerritory()}};E.AttachEvent("onterritoryloaded",function(){m.checked=true});E.AttachEvent("onterritoryhidden",function(){m.checked=false})}if(k.seeChkCustom){var j=addCheckbox(i,false,lang["map.menu.lay"]+"<br>");j.onclick=function(){if(this.checked){E.ShowCustomLayer()}else{E.HideCustomLayer()}}}if(k.seeChkZone&&_defaultCountry=="UK"){addChildObj("span",i,null,"<hr>Zones ");var g=new MasternautCombo(addChildObj("input",i,"width:126px"),212,true);g.options.addBatch([new Option("<img src='/common/images/map2/i_lcc.gif'> London Congestion Charging",3),new Option("<img src='/common/images/map2/i_lez.gif'> London Low Emission Zone",4)]);g.onchange=function(n){var o=this.options[n].chkBox.checked;switch(this.options[n].value){case"3":if(o){E.LoadKMZ("https://www.masternaut.co.uk/common/kmz/lcc.kmz",E.GetShapeLayer(MasternautMapLayer.ZoneLCC),"/common/images/trans.gif")}else{E.DeleteShapes(MasternautMapLayer.ZoneLCC)}break;case"4":if(o){E.LoadKMZ("https://www.masternaut.co.uk/common/kmz/lez.kmz",E.GetShapeLayer(MasternautMapLayer.ZoneLEZ),"/common/images/trans.gif")}else{E.DeleteShapes(MasternautMapLayer.ZoneLEZ)}break}}}if(k.seeRouteGeofence){addChildObj("span",i,null,"<hr> "+lang["map.rteGeo"]+" ");var l=new MasternautCombo(addChildObj("input",i,"width:71px;"),160);l.SetComboToAutoLoad("loadRouteGeofenceList","description","id","name");l.onchange=function(){E.ShowRouteGeofence(this.value)};addChildObj("span",i,null,"<br>&nbsp;");var f=addChildObj("span",i,null,lang["map.rteGeo.create"],"linkSmall");f.onclick=function(){var n=window.open("redirect.aspx?url=/mweb/sec_alertRoute.aspx","newRoute","toolbar=no,location=no,status=no,directories=no,menubar=no,resizable=no,scrollbars=no,width=600,height=450");n.routeGeofenceCombo=l};addChildObj("span",i,null,"&nbsp;-&nbsp;");var h=addChildObj("span",i,null,lang["map.del"],"linkSmall");h.onclick=function(){E.DeleteRouteGeofence(l.value)};E.AttachEvent("onroutegeofencedeleted",function(){l.SetComboToRefreshContent()})}}V()}function MasternautMapMenu(B,F,A,I,E,H,G){var J=this;var D=B;this.caption=I;this.win=new MasternautWindows(document.body,0,0,200,null,"z-index:1001; visibility:hidden; ",E,false,lang["map.menu."+this.caption],false,false,false,false,false,false,false,0);this.win.container.onmouseover=function(){clearTimeout(this.closeTimeoutId);this.mouseOnDiv=true;J.show()};this.win.container.onmouseout=function(L){var K=(L?L:window.event);if(this.contains&&K.toElement&&this.contains(K.toElement)){return }if(K.relatedTarget&&K.relatedTarget==this){return }this.mouseOnDiv=false;if(!this.mouseOnGif){this.closeTimeoutId=setTimeout(J.hide,500)}};this.resize=function(M,L,N,K){C.txt.style.display=(K?"block":"none")};var C=addChildObj("div",F,"","","menu_"+this.caption);C.div=this.win.container;C.mapHeader=F;C.onmouseover=function(){clearTimeout(this.div.closeTimeoutId);this.div.mouseOnDiv=false;this.div.mouseOnGif=true;this.div.style.left=(this.offsetLeft+this.mapHeader.parentElement.offsetLeft-50)+"px";if(this.div.offsetLeft+this.div.offsetWidth>this.mapHeader.parentElement.offsetLeft+this.mapHeader.offsetWidth){this.div.style.left=(this.mapHeader.parentElement.offsetLeft+this.mapHeader.offsetWidth-this.div.offsetWidth)+"px"}this.div.style.top=(this.mapHeader.offsetTop+this.mapHeader.parentElement.offsetTop+this.mapHeader.offsetHeight-3)+"px";J.show()};C.onmouseout=function(){this.div.mouseOnGif=false;if(!this.div.mouseOnDiv){this.div.closeTimeoutId=setTimeout(J.hide,1000)}};C.txt=addChildObj("span",C,"",lang["map.menu."+this.caption],"menuText");this.resize(F,H,A,G);this.show=function(){if(J.win.container.shimElement){J.win.container.shimElement.style.visibility="visible"}J.win.container.style.visibility="visible";for(var K=0;K<D.length;K++){if(D[K]!=J){D[K].hide()}}};this.hide=function(M,N){if(J.win.container.shimElement){J.win.container.shimElement.style.visibility="hidden"}if(N==null){J.win.container.style.visibility="hidden";J.hide(null,J.win.divContent)}else{var L=N.childNodes.length;for(var K=0;K<L;K++){if(N.childNodes[K].hideWithParent){N.childNodes[K].style.visibility="hidden"}if(N.childNodes[K].childNodes.length>0){J.hide(null,N.childNodes[K])}}}}}function MasternautGeoSearch(A,K){var I=addRadio(K,"searchType","address",true,lang["map.add"]+" &nbsp;");var C=addRadio(K,"searchType","POI",false,lang["map.poi"]+"<br>");var E=addRadio(K,"searchType","Contact",false,lang["map.con"],"margin-right:10px");if(_defaultCountry=="UK"){var G=addRadio(K,"searchType","OSGrid",false,"OS grid");G.onclick=function(){D(false)}}var B=addChildObj("div",K,"display:block; height:30px;");var L=addChildObj("input",B,"display:block; width:150px; margin-right:5px; float:left");L.alertType="text";L.onkeypress=function(N){if(enterKeyPressed(N)){J()}};var H=addChildObj("div",B,"","","btnSearch");H.onclick=J;var F=addChildObj("div",K,"display:none; height:30px;");var M=new MasternautCombo(addChildObj("input",F,"width:170px; margin-right:5px"),250);M.SetComboToAutoComplete("map_xml.aspx?mode=loadContactList&locName=[value]&limitResult=50&codeLocSearch=CONCAT(locCode, ':', LocLatitude, ':', LocLongitude)","loc","id","nam");M.onchange=function(){A.ShowContact(this.value.split(":")[0],this.options[this.selectedIndex].text,this.value.split(":")[1],this.value.split(":")[2])};I.onclick=function(){D(false)};E.onclick=function(){D(true)};C.onclick=function(){D(false)};function D(N){B.style.display=(N?"none":"block");F.style.display=(N?"block":"none")}function J(){if(I.checked||C.checked){A.ShowAddress(L.value,I.checked,C.checked)}if(G&&G.checked){A.ShowOsGridRef(L.value)}}}function MasternautResourceSearch(T,E,B){var N=this;var R=null;var P=null;var F=null;var L=null;var K=null;var Q=null;var D=null;var C=null;this.onvehiclegroupselected=function(){};this.onvehicleselected=function(){};this.ondrivergroupselected=function(){};this.ondriverselected=function(){};function O(){if(B.vehicleSection&&B.driverSection){S()}if(B.vehicleSection){I()}if(B.driverSection){H()}if(B.vehicleSection&&B.driverSection){if(readCookie("mapResourceTab")=="driver"){J()}else{M()}}}this.GetSelectedVehiclegroup=function(){return(P.value==0||P.values.length==0?null:P.values)};this.GetSelectedDrivergroup=function(){return(L.value==0||L.values.length==0?null:L.values)};function G(V){if(R.xmlSource==null){return }var U=R.xmlSource.getElementsByTagName("veh");R.options.length=0;R.options.add(new Option(lang["map.all"],0));for(var W=0;W<U.length;W++){if(indexOfValueInArray(0,V)!=-1||indexOfValueInArray(U[W].getAttribute("gr"),V)!=-1){R.options.add(new Option(U[W].getAttribute("name"),U[W].getAttribute("id")))}}}function A(W){if(F.xmlSource==null){return }var U=F.xmlSource.getElementsByTagName("dri");F.options.length=0;F.options.add(new Option(lang["map.all"],0));for(var V=0;V<U.length;V++){if(indexOfValueInArray(0,W)!=-1||indexOfValueInArray(U[V].getAttribute("gr"),W)!=-1){F.options.add(new Option(U[V].getAttribute("name"),U[V].getAttribute("id")))}}}function S(){addChildObj("div",E,"width:100%; height:16px; cursor:pointer; border-bottom:1px solid #888888");Q=addChildObj("div",E,"position: absolute; top:0px; left:3px; width:80px; height:16px; cursor:pointer; background-repeat:no-repeat; padding-top:2px; text-align:center",lang["map.vehs"]);Q.onclick=function(){M();E.parentNode.objRef.updateContentSize()};C=addChildObj("div",E,"position: absolute; top:0px; left:77px; width:80px; height:16px; cursor:pointer; background-repeat:no-repeat; padding-top:2px; text-align:center;",lang["map.dris"]);C.onclick=function(){J();E.parentNode.objRef.updateContentSize()}}function H(){D=addChildObj("div",E,"display:inline"," "+lang["map.driG"]+" ");L=new MasternautCombo(addChildObj("input",D,"width:85px;"),200,true);L.SetComboToAutoLoad("loadDriverGroup","group","id","name",lang["map.all"]);L.onchange=function(){if(this.options[0].chkBox.checked){this.selectItem(0)}else{A(this.values);if(T){T.FilterDriversOfSelectedGroup(this.values)}F.selectItem(0);N.ondrivergroupselected()}};addChildObj("span",D,null,"<br> "+lang["map.driL"]+" ");F=new MasternautCombo(addChildObj("input",D,"width:102px;"),200,false,true);F.options.add(new Option(lang["map.all"],0));F.selectValue(0);F.loadDriver=function(U){addToQueue("map_xml.aspx?mode=loadDriverList",3,false,function(V){F.loaded=true;F.xmlSource=V;A(L.values);if(U){F.selectValue(U,true)}else{F.show()}})};F.onclick=function(){L.close();if(!this.loaded){F.loaded=true;F.options.length=0;F.options.add(new Option("<i>"+lang["map.wait"]+"</i>",0));F.show();F.loadDriver()}};F.onchange=function(){if(T){T.SelectDriver(this.value)}N.ondriverselected(this.value)}}function I(){K=addChildObj("div",E,"display:inline"," "+lang["map.vehG"]+" ");P=new MasternautCombo(addChildObj("input",K,"width:85px;"),200,true);P.SetComboToAutoLoad("loadVehicleGroup","group","id","name",lang["map.all"]);P.onchange=function(){if(this.options[0].chkBox&&this.options[0].chkBox.checked){this.selectItem(0)}else{G(this.values);if(T){T.FilterVehiclesOfSelectedGroup(this.values)}R.selectItem(0);N.onvehiclegroupselected()}};addChildObj("span",K,null,"<br> "+lang["map.vehL"]+" ");R=new MasternautCombo(addChildObj("input",K,"width:102px;"),200,false,true);R.options.add(new Option(lang["map.all"],0));R.selectValue(0);R.loadVehicle=function(V){addToQueue("map_xml.aspx?mode=loadVehicleList",3,false,function(W){R.loaded=true;R.xmlSource=W;G(P.values);if(V){R.selectValue(V,true)}else{R.show()}})};R.onclick=function(){P.close();if(!this.loaded){R.loaded=true;R.options.length=0;R.options.add(new Option("<i>"+lang["map.wait"]+"</i>",0));R.show();R.loadVehicle()}};R.onchange=function(){if(T){T.SelectVehicle(this.value)}N.onvehicleselected(this.value)};if(B.autoPan&&T){addChildObj("span",K,"","<br>");var U=addCheckbox(K,false,lang["map.menu.pan"]);U.onclick=function(){if(this.checked){T.EnableTrackMode()}else{T.DisableTrackMode()}};T.ontrackmodeenable=function(){U.checked=true};T.ontrackmodedisable=function(){U.checked=false}}if(T){T.AttachEvent("onlocatorfilterchanged",function(Y){var Z=Y.groupMCUCode.length!=1||(Y.groupMCUCode.length==1&&Y.groupMCUCode[0]>0);var W=Y.mcuCode>0;var X=Y.groupDriverCode.length!=1||(Y.groupDriverCode.length==1&&Y.groupDriverCode[0]>0);var V=Y.driverCode>0;if(P&&!P.loaded&&Z){P.loadContent(false,Y.groupMCUCode)}if(R&&!R.loaded&&W){R.loadVehicle(Y.mcuCode)}if(L&&!L.loaded&&X){L.loadContent(false,Y.groupDriverCode)}if(F&&!F.loaded&&V){F.loadVehicle(Y.driverCode)}if(Z||W){if(L&&L.loaded){L.selectItem(0,true);A([0])}if(F&&F.loaded){F.selectItem(0,true)}}if(X||V){if(P&&P.loaded){P.selectItem(0,true);G([0])}if(R&&R.loaded){R.selectItem(0,true)}}})}}function J(){D.style.display="inline";K.style.display="none";C.style.zIndex="1";Q.style.zIndex="0";C.style.backgroundImage="url('/common/images/tab_on.gif')";Q.style.backgroundImage="url('/common/images/tab_off.gif')";createCookie("mapResourceTab","driver",31)}function M(){D.style.display="none";K.style.display="inline";C.style.zIndex="0";Q.style.zIndex="1";C.style.backgroundImage="url('/common/images/tab_off.gif')";Q.style.backgroundImage="url('/common/images/tab_on.gif')";createCookie("mapResourceTab","vehicle",31)}O()}function MasternautMapSearch(C,A,B){this.ResourceFilter=null;if(B.vehicleSection||B.driverSection){this.ResourceFilter=new MasternautResourceSearch(C,A,B)}if(B.addressSection){if(B.driverSection||B.vehicleSection){addChildObj("span",A,"","<hr>")}MasternautGeoSearch(C,A)}}function MasternautJourneyMenu(C,D){var K=null;var M=null;var P=null;var L=null;var F=C.Journey.GetSummaryXML();var E=null;var B=null;function O(){K=new MasternautWindows(D,8,48,177,null,"z-index:1001;",null,false,lang["map.head.journey"],false,true,true,false,true,false,false,0,false,false,true);var a=K.divContent;K.onClose=function(){C.ClearJourney()};addChildObj("span",a,null,"<b>"+lang["map.veh"]+"</b>: "+C.Journey.mcuName+"<br><b>"+lang["map.dat"]+"</b>: ");var S=addChildObj("input",a,"width:98px;");S.value=C.Journey.date;var R=new MasternautCalendar(S);R.onSelectDate=function(){C.LoadJourney(this.selectedDate,C.Journey.mcuCode,C.Journey.withSpeedInfringement,C.Journey.shiftStart)};var c=new MasternautTimePicker(a,"<br><b>"+lang["map.box.shift"]+"</b>: ",false,false,C.Journey.shiftStart+":00");c.onchange=function(){C.LoadJourney(C.Journey.date,C.Journey.mcuCode,C.Journey.withSpeedInfringement,this.value.substr(0,2))};addChildObj("div",a,"","<hr>");addChildObj("span",a,null,lang["map.box.seeS"]+" ");addImage(a,"/common/images/map/arrowLeft.gif","",function(){if(E.selectedIndex>0){G(E.selectedIndex-1)}},"width:15px; height:17px");E=new MasternautCombo(addChildObj("input",a,"width:28px;"));E.options.add(new Option(lang["map.all2"],0));G(0);E.onchange=function(){C.Journey.ZoomToStop(this.value,P)};for(var V=0;V<C.Journey.stopsNb;V++){E.options.add(new Option(V+1,V+1))}addImage(a,"/common/images/map/arrowRight.gif","",function(){if(E.selectedIndex<E.options.length-1){G(E.selectedIndex+1)}},"width:15px; height:17px");var Q=new MasternautTimePicker(a,"<br>"+lang["map.time"]+" ",true,false,"00:00");Q.onchange=function(){C.Journey.ZoomToTime(this.value,b.value)};var b=new MasternautTimePicker(a,"&nbsp;"+lang["map.to"]+"&nbsp;",true,true,"24:00");b.onchange=function(){C.Journey.ZoomToTime(Q.value,this.value)};var d="<br><b>"+lang["map.dur"]+"</b>: "+C.Journey.info.getAttribute("duration");if(!C.Journey.hideMileageAndSpeed){d+="<br><b>"+lang["map.box.dist"]+"</b>: "+Distance(C.Journey.info.getAttribute("dist"))+"<br>"+(C.Journey.info.getAttribute("cost")>0?"<b>"+lang["map.box.shiftC"]+"</b>: "+Cost(C.Journey.info.getAttribute("cost"))+"<br>":"")}P=addChildObj("span",a,null,d);addChildObj("div",a,"","<hr>");if(C.Journey.HasMVI()){var Z=addCheckbox(a,C.GetShapeLayer(MasternautMapLayer.Mvi).Visibility,lang["map.box.mvi"]+"<br><hr>");Z.onclick=function(){if(this.checked){C.GetShapeLayer(MasternautMapLayer.Mvi).Show()}else{C.GetShapeLayer(MasternautMapLayer.Mvi).Hide()}}}var Y=addChildObj("div",a,"",lang["map.box.play"],"linkMenu bullet");Y.onclick=function(){C.SimulateJourney()};addChildObj("div",a,"",lang["map.box.comp"],"bullet");var W=addChildObj("span",a,"",lang["map.box.quick"]+" ","linkMenu arrow");W.onclick=function(){C.Journey.CalculateBestRoute(false)};addChildObj("span",a,null," or ");var U=addChildObj("span",a,"",lang["map.box.short"],"linkMenu");U.onclick=function(){C.Journey.CalculateBestRoute(true)};B=addChildObj("div",a,"margin-left:24px");var T=addChildObj("span",a,"",(C.Journey.withSpeedInfringement?lang["map.box.speedH"]:lang["map.box.speed"])+" ","linkMenu bullet");T.onclick=function(){C.LoadJourney(C.Journey.date,C.Journey.mcuCode,!C.Journey.withSpeedInfringement,C.Journey.shiftStart)};if(_defaultCountry=="UK"){var e=new MasternautCombo(addChildObj("input",a,"height:10px; width:40px;"),null,null,null,true);e.options.addBatch([new Option(lang["map.box.speedC"],"car"),new Option(lang["map.box.speedB"],"bus"),new Option(lang["map.box.speedV"],"van"),new Option(lang["map.box.speedL"],"lgv")]);e.selectValue(C.Journey.vehicleSpeedCategory);e.onchange=function(){C.LoadJourney(C.Journey.date,C.Journey.mcuCode,true,C.Journey.shiftStart,this.value)}}K.updateContentSize();var X=(D.offsetWidth<700?D.offsetWidth-180:520);M=new MasternautWindows(D,D.offsetWidth-X-5,D.offsetHeight-150,X,130,"z-index:1001;",null,true,lang["map.box.jSum"],true,true,true,false,true,false,false,0,false,false,true);M.onResize=function(){if(readCookie("mapJourneySummary")=="gantt"){I()}else{A()}};M.onResize()}this.UpdateBestRouteDetail=function(Q,R){B.innerHTML="<b>"+lang["map.dur"]+": </b>"+Q+"<br><b>"+lang["map.box.dist"]+": </b>"+Distance(R);K.updateContentSize()};this.Dispose=function(){K.onClose=function(){};K.close();K=null;C.DeleteRoute();M.close();M=null};this.GetBottom=function(){return K.container.offsetHeight+K.container.offsetTop};function G(Q){E.selectItem(Q)}function A(){M.divContent.innerHTML="";var Q=(C.Journey.hideMileageAndSpeed?["#",lang["map.dri"],lang["map.start"],lang["map.stop"],lang["map.dur"],lang["map.add"]]:["#",lang["map.dri"],lang["map.start"],lang["map.stop"],lang["map.dur"],lang["map.dist"],lang["map.add"]]);var S=(C.Journey.hideMileageAndSpeed?["no","dri","start","stop","duration","add"]:["no","dri","start","stop","duration","dist","add"]);MasternautTable(M.divContent,F,"stop",Q,S,0,G,[{type:"field",attribute:"no"}]);var R=addChildObj("div",M.divContent,"position:absolute; top:0px; right:3px; background-image:url(/common/images/map/arrowRight.gif); background-repeat:no-repeat; padding-left: 15px; height:15px",lang["map.box.jGant"],"link");R.onclick=I;createCookie("mapJourneySummary","detailed",30)}function I(){M.divContent.innerHTML="";var R=new MasternautGantt(M.divContent.offsetWidth-14,100,"#B3BDCA");var V=R.AddBar(F.getElementsByTagName("journey")[0].getAttribute("mcuName"),"orange",20,10,"#B3BDCA",H,N);var U=F.getElementsByTagName("stop");for(var S=0;S<U.length;S++){R.AddSection(V,"5_"+U[S].getAttribute("start"),U[S].getAttribute("start"),U[S].getAttribute("duration"),"blue");if(S<U.length-1){R.AddSection(V,"3_"+U[S+1].getAttribute("start"),U[S].getAttribute("stop"),SecondsToTime(TimeToSeconds(U[S+1].getAttribute("start"))-TimeToSeconds(U[S].getAttribute("stop"))),(U[S].lastChild.getAttribute("work")?"red":"green"))}}var Q=F.selectNodes("journey/stop/item[@type='idling']");for(var S=0;S<Q.length;S++){R.AddSection(V,"2_"+Q[S].getAttribute("det"),Q[S].getAttribute("det").split("~")[0],Q[S].getAttribute("det").split("~")[3],"yellow")}R.Draw(addChildObj("div",M.divContent,"position:absolute; margin-top:17px;"));var T=addChildObj("div",M.divContent,"position:absolute; top:0px; right:3px; background-image:url(/common/images/map/arrowRight.gif); background-repeat:no-repeat; padding-left: 15px; height:15px",lang["map.box.jDet"],"link");T.onclick=A;L=addChildObj("div",M.divContent,"position:absolute; top:62px; left:100px");createCookie("mapJourneySummary","gantt",30)}function H(R){var T=R.substr(2);switch(R.substr(0,1)){case"2":J(lang["map.box.jIdle"],T.split("~")[4],null,T.split("~")[0],T.split("~")[3]);break;case"3":var S=F.selectNodes("journey/stop[@start='"+T+"']")[0].firstChild.getAttribute("det").split("~");J(lang["map.box.jStop"],S[4],null,TimeSub(S[0],S[3]),S[3]);break;case"5":var Q=F.selectNodes("journey/stop[@start='"+T+"']")[0];J(lang["map.box.jDrove"],Q.firstChild.getAttribute("det").split("~")[4],Q.lastChild.getAttribute("det").split("~")[4],Q.firstChild.getAttribute("det").split("~")[0],Q.getAttribute("duration"));break}}function J(Q,S,R,U,T){L.innerHTML=Q+" "+S.replace("<br>",", ")+(R?" "+lang["map.to"]+" "+R.replace("<br>",", "):"")+" ("+U.substr(0,5)+"/"+TimeAdd(U,T).substr(0,5)+" - "+T.split(":")[0]+"h"+T.split(":")[1]+"m)"}function N(R){var S=R.substr(2);switch(R.substr(0,1)){case"2":var Q=F.selectNodes("journey/stop/item[@det='"+S+"']")[0];C.ZoomIn(Q.getAttribute("lat"),Q.getAttribute("lon"),15);break;case"3":var Q=F.selectNodes("journey/stop[@start='"+S+"']")[0];C.ZoomIn(Q.firstChild.getAttribute("lat"),Q.firstChild.getAttribute("lon"),15);break;case"5":var Q=F.selectNodes("journey/stop[@start='"+S+"']")[0];G(parseInt(Q.getAttribute("nb"),10)+1);break}}O()}function MasternautBirdsEyeBox(B,D,E){var I=B;var H=D;var A=H.GetMapStyle();var F=null;C();function C(){F=new MasternautWindows(E,(E.offsetWidth-140)/2,48,140,null,"z-index:1000;",null,false,lang["map.BE"],false,false,false,false,true,false,false,0,false,false,true);var K=addChildObj("div",F.divContent,"",lang["map.BE.see"],"linkMenu bullet");K.onclick=function(){if(H.GetMapStyle()!=VEMapStyle.BirdseyeHybrid){if(I.GetFilterNearestVehicle()==null){A=H.GetMapStyle();H.SetMapStyle(VEMapStyle.BirdseyeHybrid);this.innerHTML=lang["map.BE.back"];J.style.display="inline"}else{alert(lang["map.BE.err"])}}else{H.SetMapStyle(A);this.innerHTML=lang["map.BE.see"];J.style.display="none";I.RedrawVehicleLivePushpin()}F.updateContentSize()};F.updateContentSize();var J=addChildObj("div",F.divContent,"display:none;",lang["map.BE.rotate"]+" &nbsp;&nbsp;&nbsp;","bullet");addImage(J,"/common/images/map2/rotate_cw.gif",lang["map.BE.clock"],function(){switch(H.GetBirdseyeScene().GetOrientation()){case VEOrientation.North:H.SetBirdseyeOrientation(VEOrientation.West);break;case VEOrientation.East:H.SetBirdseyeOrientation(VEOrientation.North);break;case VEOrientation.South:H.SetBirdseyeOrientation(VEOrientation.East);break;case VEOrientation.West:H.SetBirdseyeOrientation(VEOrientation.South);break}});addImage(J,"/common/images/map2/rotate_ccw.gif",lang["map.BE.anti"],function(){switch(H.GetBirdseyeScene().GetOrientation()){case VEOrientation.North:H.SetBirdseyeOrientation(VEOrientation.East);break;case VEOrientation.East:H.SetBirdseyeOrientation(VEOrientation.South);break;case VEOrientation.South:H.SetBirdseyeOrientation(VEOrientation.West);break;case VEOrientation.West:H.SetBirdseyeOrientation(VEOrientation.North);break}});H.AttachEvent("onobliqueenter",G);H.AttachEvent("onobliqueleave",G);H.AttachEvent("oninitmode",G)}function G(){if(H.IsBirdseyeAvailable()&&(H.GetMapMode()!=VEMapMode.Mode3D)){C()}else{F.close()}}G()}document.write('<script type="text/javascript" src="map_xml.aspx?mode=loadCaptions&app=map"><\/script>');