var INRIXTravel=function(){function t(){tabSelected="Road",$("#btnCategoryRoad").removeClass("btn-warning-unselected").addClass("btn-warning"),$("#btnCategoryRail").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryTube").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryAirAndSea").removeClass("btn-warning").addClass("btn-warning-unselected"),$(".btn-warning").css("background-color",userDefinedColour).css("border-color",userDefinedColour).css("color",userDefinedColourContrast),$(".btn-warning-unselected").css("background-color","white").css("border-color","white").css("color","black"),$("#tabRail").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),$("#tabRoad").show(),google.maps.event.trigger(travelMap,"resize"),$("#chkCameras").is(":checked")&&(INRIXTravel_Data.cameraDataRefreshTimer(!1),INRIXTravel_Data.cameraDataRefreshTimer(!0),INRIXTravel_Data.doCameraRefresh())}function i(){tabSelected="Rail",$("#btnCategoryRoad").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryRail").removeClass("btn-warning-unselected").addClass("btn-warning"),$("#btnCategoryTube").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryAirAndSea").removeClass("btn-warning").addClass("btn-warning-unselected"),$(".btn-warning").css("background-color",userDefinedColour).css("border-color",userDefinedColour).css("color",userDefinedColourContrast),$(".btn-warning-unselected").css("background-color","white").css("border-color","white").css("color","black"),$("#tabTube").hide(),$("#tabRoad").hide(),$("#tabAirAndSea").hide(),$("#tabRail").show(),railData.length<1&&INRIXTravel_Data.refreshData(),INRIXTravel_Data.cameraDataRefreshTimer(!1)}function r(){tabSelected="Tube",$("#btnCategoryRoad").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryRail").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryTube").removeClass("btn-warning-unselected").addClass("btn-warning"),$("#btnCategoryAirAndSea").removeClass("btn-warning").addClass("btn-warning-unselected"),$(".btn-warning").css("background-color",userDefinedColour).css("border-color",userDefinedColour).css("color",userDefinedColourContrast),$(".btn-warning-unselected").css("background-color","white").css("border-color","white").css("color","black"),$("#tabRail").hide(),$("#tabRoad").hide(),$("#tabAirAndSea").hide(),$("#tabTube").show(),tubeData.length<1&&INRIXTravel_Data.refreshData(),INRIXTravel_Data.cameraDataRefreshTimer(!1)}function u(){tabSelected="AirAndSea",$("#btnCategoryRoad").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryRail").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryTube").removeClass("btn-warning").addClass("btn-warning-unselected"),$("#btnCategoryAirAndSea").removeClass("btn-warning-unselected").addClass("btn-warning"),$(".btn-warning").css("background-color",userDefinedColour).css("border-color",userDefinedColour).css("color",userDefinedColourContrast),$(".btn-warning-unselected").css("background-color","white").css("border-color","white").css("color","black"),$("#tabRail").hide(),$("#tabRoad").hide(),$("#tabTube").hide(),$("#tabAirAndSea").show(),airAndSeaData.length<1&&INRIXTravel_Data.refreshData(),INRIXTravel_Data.cameraDataRefreshTimer(!1)}function f(){windowHeight=$(window).height()-categoryBarHeight,windowWidth=$(window).width(),leftPanelWidth=$("#leftPanel").width(),$("#travelPluginMainWindow").height(windowHeight).width(windowWidth),windowWidth<600&&(INRIXTravel_Panels.leftPanelClose(),INRIXTravel_Panels.rightPanelClose()),rightPanelWidth>0&&INRIXTravel_Panels.rightPanelOpen(),windowWidth<465?$('[data-buttonLabel="text"]').hide():$('[data-buttonLabel="text"]').show()}function e(){n(".btn-warning","background-color: "+userDefinedColour+"; border-color: "+userDefinedColour+"; color: "+userDefinedColourContrast),n(".btn:hover","background-color: "+userDefinedColour+"; border-color: "+userDefinedColour+"; color: "+userDefinedColourContrast),n(".btn-warning-unselected:hover","background-color: "+userDefinedColour+"; border-color: "+userDefinedColour),n(".incident","background-color: "+userDefinedColour),n(".incidentTitle","color: "+userDefinedColourContrast),n(".leftPanelArrow","color: "+userDefinedColourContrast),n(".rightPanelArrow","color: "+userDefinedColourContrast)}function n(n,t){var i=$("#user-css-styles");i.length==0&&(i=$('<div id="user-css-styles"><\/div>'),i.hide(),i.appendTo($("body"))),userClassContainerDiv=i.find('div[data-class="'+n+'"]'),userClassContainerDiv.length==0&&(userClassContainerDiv=$('<div data-class="'+n+'"><\/div>'),userClassContainerDiv.appendTo(i)),userClassContainerDiv.html("<style>"+n+" {"+t+"}<\/style>")}function o(){var n=parseInt(userDefinedColour.substr(1,2),16),t=parseInt(userDefinedColour.substr(3,2),16),i=parseInt(userDefinedColour.substr(5,2),16),r=(n*299+t*587+i*114)/1e3;return r>=128?"black":"white"}function s(n,t){$.ajax({type:"POST",data:{userID:n},url:controller_Data_GetUserBoundingBox,success:function(n){if(controller_Data_MapType=="google")var i=new google.maps.LatLng(51.730327,-1.024462),r=new google.maps.LatLng(51.212634,.378276),u=i.lat(),f=i.lng(),e=r.lat(),o=r.lng();if(controller_Data_MapType=="here")var i=new H.geo.Point(51.730327,-1.024462),r=new H.geo.Point(51.212634,.378276),u=i.lat,f=i.lng,e=r.lat,o=r.lng;var s=parseFloat(n.LatNW),h=parseFloat(n.LngNW),c=parseFloat(n.LatSE),l=parseFloat(n.LngSE),a=Math.abs(f+o-h-l),v=Math.abs(u+e-s-c),y=o-f+l-h,p=u-e+s-c;a<=y&&v<=p?t.resolve(!0):t.resolve(!1)}})}function h(n,t){toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-bottom-right",preventDuplicates:!0,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:t,extendedTimeOut:t,showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},toastr.info(n)}function c(){toastr.clear()}function l(){var n=new Date;return new Date(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds())}function a(n,t){var i=t.getTime()-n.getTime();return Math.round(i/6e4)}function v(){$("#travelPluginCategoryButtons").hide(),$("#travelPluginMainWindow").hide(),$("#enableCookiesMessage").show().css("height",window.innerHeight).css("width",window.innerWidth),$("body").css("background-color","grey")}function y(){var n=!1;return document.cookie="INRIXTestCookie=OK",n=document.cookie.indexOf("INRIXTestCookie=OK")!=-1,document.cookie="INRIXTestCookie=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",n}return{btnCategoryRoadClick:t,btnCategoryRailClick:i,btnCategoryTubeClick:r,btnCategoryAirAndSeaClick:u,resizeTravelPluginWindow:f,userStylingContrast:o,setUserStyling:e,tubeBoxIntersect:s,showNotification:h,clearNotifications:c,currentDateTimeUTC:l,getMinutesInterval:a,displayNoCookiesMessage:v,cookiesEnabledCheck:y}}(),INRIXTravel_Map=function(){function l(){var t=new H.service.Platform({app_id:"w0r6Tow2cwLkS6einvmS",app_code:"ibva0wGTV3vFQKUqiLYQKg",useCIT:!1,useHTTPS:!0}),n=t.createDefaultLayers();travelMap=new H.Map(document.getElementById("mapCanvas"),n.normal.map),herebehavior=new H.mapevents.Behavior(new H.mapevents.MapEvents(travelMap)),hereui=H.ui.UI.createDefault(travelMap,n),bounds=new H.geo.Rect(userMapBounds.north,userMapBounds.west,userMapBounds.south,userMapBounds.east),initbounds=new H.geo.Rect(initialUserZoomBounds.north,initialUserZoomBounds.west,initialUserZoomBounds.south,initialUserZoomBounds.east),travelMap.setViewBounds(initbounds),a(travelMap),travelMap.addEventListener("mapviewchangeend",function(){b(),$(".H_btn").each(function(){$(this).text()!=""?$(this).hide():$(this).parent().text()!=""&&$(this).hide()})})}function a(n){n.getViewModel().addEventListener("sync",function(){var t=n.getCenter();bounds.containsPoint(t)||(t.lat>bounds.getTop()?t.lat=bounds.getTop():t.lat<bounds.getBottom()&&(t.lat=bounds.getBottom()),t.lng<bounds.getLeft()?t.lng=bounds.getLeft():t.lng>bounds.getRight()&&(t.lng=bounds.getRight()),n.setCenter(t))}),n.addObject(new H.map.Rect(bounds,{style:{fillColor:"rgba(55, 85, 170, 0.0)",strokeColor:"rgba(55, 85, 170, 0.6)",lineWidth:8}}))}function v(t){var o,e,a,h,c,l;controller_Data_MapType=="google"&&(o=new google.maps.InfoWindow,h=new google.maps.LatLngBounds,$.each(t,function(n,t){var c=r(t.Category),h=INRIXTravel_Data.getCategory(t.Category),v=u(t.Road,t.Region,t.Area),a=new google.maps.LatLng(t.PrimaryLat,t.PrimaryLng),l;e=new google.maps.Marker({icon:c,position:a,map:travelMap,title:"",id:h+"_"+t.Id,severity:t.Severity}),l=f(c,h,t.Message,t.RoadType,t.Road,t.Area,t.Region,t.Direction),google.maps.event.addListener(e,"click",function(n){return function(){infoWin.close(),o.setContent(l),o.open(travelMap,n),infoWin=o,s(n)}}(e,n)),i(h,e)}),c=new google.maps.LatLng(initialUserZoomBounds.south,initialUserZoomBounds.west),l=new google.maps.LatLng(initialUserZoomBounds.north,initialUserZoomBounds.east),h=new google.maps.LatLngBounds(c,l),travelMap.fitBounds(h)),controller_Data_MapType=="bing"&&(box=new Microsoft.Maps.LocationRect.fromEdges(initialUserZoomBounds.north,initialUserZoomBounds.west,initialUserZoomBounds.south,initialUserZoomBounds.east),travelMap.setView({bounds:box,padding:250}),$.each(t,function(n,t){var s=r(t.Category),o=INRIXTravel_Data.getCategory(t.Category),l=u(t.Road,t.Region,t.Area),h=new Microsoft.Maps.Location(t.PrimaryLat,t.PrimaryLng),c;e=new Microsoft.Maps.Pushpin(h,{icon:s}),e.metadata={title:"",id:o+"_"+t.Id,severity:t.Severity},c=new Microsoft.Maps.Infobox(h,{htmlContent:f(s,o,t.Message,t.RoadType,t.Road,t.Area,t.Region,t.Direction)}),Microsoft.Maps.Events.addHandler(e,"click",function(){$(".info-window-camera").mouseout(function(){$(".Infobox").parent().remove()}),c.setMap(travelMap)}),travelMap.entities.push(e),i(o,e)})),controller_Data_MapType=="here"&&(markers=new H.map.Group,$.each(t,function(n,t){var s=r(t.Category),c=new H.map.Icon(s),o=INRIXTravel_Data.getCategory(t.Category),l=u(t.Road,t.Region,t.Area),h,e;h=f(s,o,t.Message,t.RoadType,t.Road,t.Area,t.Region,t.Direction),e=new H.map.Marker({lat:t.PrimaryLat,lng:t.PrimaryLng},{icon:c}),e.setData({data:h,id:o+"_"+t.Id,severity:t.Severity}),i(o,e),e.addEventListener("tap",function(n){$(".H_ib").html(""),bubble=new H.ui.InfoBubble(n.target.getPosition(),{content:n.target.getData().data}),hereui.addBubble(bubble)},!1),travelMap.addObject(e)})),n("Incidents",$("#chkIncidents").is(":checked")),n("Congestion",$("#chkCongestion").is(":checked")),n("Events",$("#chkEvents").is(":checked")),n("Roadworks",$("#chkRoadworks").is(":checked"))}function o(n){if(controller_Data_MapType=="google"){var u=new google.maps.InfoWindow,t,f,o=new google.maps.LatLngBounds;$.each(n,function(n,f){var h=r("CAMERAS"),c="CAMERAS",l=new google.maps.LatLng(f.Latitude,f.Longitude),o;t=new google.maps.Marker({icon:h,position:l,map:travelMap,id:f.Id,copyright:f.Copyright,name:f.Name,imageUrl:f.ImageUrl}),o=e(h,f.Copyright,f.Name,f.ImageUrl),google.maps.event.addListener(t,"click",function(n){return function(){infoWin.close();var t=+new Date,i=o.indexOf("LastRefresh"),r=o.substring(0,i)+"LastRefresh="+t,f=o.substring(o.indexOf("milliseconds")),e=r+f;u.setContent(e),u.open(travelMap,n),infoWin=u,s(n)}}(t,n)),i(c,t)})}controller_Data_MapType=="bing"&&(box=new Microsoft.Maps.LocationRect.fromEdges(initialUserZoomBounds.north,initialUserZoomBounds.west,initialUserZoomBounds.south,initialUserZoomBounds.east),travelMap.setView({bounds:box,padding:250}),$.each(n,function(n,u){var f=r("CAMERAS"),c="CAMERAS",o=new Microsoft.Maps.Location(u.Latitude,u.Longitude),s,h;t=new Microsoft.Maps.Pushpin(o,{icon:f}),t.metadata={title:"",id:u.Id,copyright:u.Copyright,name:u.Name,imageUrl:u.ImageUrl},s=e(f,u.Copyright,u.Name,u.ImageUrl),h=new Microsoft.Maps.Infobox(o,{htmlContent:s}),Microsoft.Maps.Events.addHandler(t,"click",function(){$("#InfoboxCustom").parent().remove(),h.setMap(travelMap)}),travelMap.entities.push(t),i(c,t)})),controller_Data_MapType=="here"&&$.each(n,function(n,t){var f=r("CAMERAS"),s=new H.map.Icon(f),o="CAMERAS",u=new H.map.Marker({lat:t.Latitude,lng:t.Longitude},{icon:s}),h=e(f,t.Copyright,t.Name,t.ImageUrl);u.setData({data:h}),i(o,u),u.addEventListener("tap",function(n){$(".H_ib").html(""),bubble=new H.ui.InfoBubble(n.target.getPosition(),{content:n.target.getData().data}),hereui.addBubble(bubble)},!1),travelMap.addObject(u),i(o,u)})}function u(n,t,i){var r="";return n.trim().length>0&&(r+=n.trim()),t.trim().length>0&&(r+=", "+t.trim()),i.trim().length>0&&i!=t&&(r+=", "+i.trim()),r.substr(0,1)==","&&(r=r.substr(1).trim()),r}function y(){$(".Infobox").parent().remove()}function f(n,t,i,r,u,f,e,o){var c=INRIXTravel_Data.getHighlightClassForRoadName(r),h=u.split(" ")[0],a=u.replace(h,""),l=INRIXTravel_Data.getRoadNameRegionAreaDirection(a,f,e,o),s;return controller_Data_MapType=="google"?s='<div class="info-window"><img src="'+n+"\"<\/><span class='info-window-title'>"+t+'<\/span><\/br><span class="info-window-location '+c+'">'+h+'<\/span> <span class="info-window-location">'+l+"<\/span><\/br><span>"+i+"<\/span><\/div>":controller_Data_MapType=="bing"?s='<div class="info-window"><img src="'+n+"\"<\/><span class='info-window-title'>"+t+'<\/span><a href="javascript:INRIXTravel_Map.closeInfobox()" class="customInfoboxCloseButton"> X<\/a ><\/br><span class="info-window-location '+c+'">'+h+'<\/span> <span class="info-window-location">'+l+"<\/span><\/br><span>"+i+"<\/span><\/div>":controller_Data_MapType=="here"?s='<div class="info-window"><img src="'+n+"\"<\/><span class='info-window-title'>"+t+'<\/span><\/br><span class="info-window-location '+c+'">'+h+'<\/span> <span class="info-window-location">'+l+"<\/span><\/br><span>"+i+"<\/span><\/div>":void 0}function e(n,t,i,r){var u='<div class="info-window-camera"><img src="'+n+"\"<\/><\/br><span class='info-window-camera-name'>"+i+'<\/span><\/br><img class="info-window-camera-image" style="background-image: url(\''+INRIXTravelContent+'Images/CameraLoading.png\')" src="'+r+'"><\/img><\/br><p class="info-window-camera-copyright">'+t+"<\/p>";return u}function r(n){var t="";switch(n.toUpperCase()){case"ROADWORKS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Roadworks.png";break;case"DELAYS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Congestion.png";break;case"SPEEDS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Congestion.png";break;case"NON-SPORTING EVENTS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Event.png";break;case"SPORTING EVENTS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Event.png";break;case"ACCIDENTS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Incident.png";break;case"INCIDENTS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Incident.png";break;case"INCIDENTS AND HAZARDS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Incident.png";break;case"CLOSURES AND LANE RESTRICTIONS":t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Incident.png";break;case"CAMERAS":t=INRIXTravelContent+"Images/CameraSmall.png";break;default:t=INRIXTravelContent+"Images/IconStyles/Style"+iconStyle+"/Incident-Incident.png"}return t}function i(n,t){switch(n.toUpperCase()){case"ROADWORKS":markersRoadworks.push(t);break;case"CONGESTION":markersCongestion.push(t);break;case"EVENTS":markersEvents.push(t);break;case"INCIDENTS":markersIncidents.push(t);break;case"CAMERAS":markersCameras.push(t);break;default:markersIncidents.push(t)}}function n(n,t){if(controller_Data_MapType=="google"){switch(n.toUpperCase()){case"ROADWORKS":$.each(markersRoadworks,function(n){markersRoadworks[n].setVisible(t),highSeverityMarkersOnly&&markersRoadworks[n].severity<4&&markersRoadworks[n].setVisible(!1)});break;case"CONGESTION":$.each(markersCongestion,function(n){markersCongestion[n].setVisible(t),highSeverityMarkersOnly&&markersCongestion[n].severity<4&&markersCongestion[n].setVisible(!1)});break;case"EVENTS":$.each(markersEvents,function(n){markersEvents[n].setVisible(t),highSeverityMarkersOnly&&markersEvents[n].severity<4&&markersEvents[n].setVisible(!1)});break;case"INCIDENTS":$.each(markersIncidents,function(n){markersIncidents[n].setVisible(t),highSeverityMarkersOnly&&markersIncidents[n].severity<4&&markersIncidents[n].setVisible(!1)});break;case"CAMERAS":$.each(markersCameras,function(n){markersCameras[n].setVisible(t)})}infoWin.close()}if(controller_Data_MapType=="bing")switch(n.toUpperCase()){case"ROADWORKS":$.each(markersRoadworks,function(n){markersRoadworks[n].setOptions({visible:t}),highSeverityMarkersOnly&&markersRoadworks[n].metadata.severity<4&&markersRoadworks[n].setOptions({visible:!1})});break;case"CONGESTION":$.each(markersCongestion,function(n){markersCongestion[n].setOptions({visible:t}),highSeverityMarkersOnly&&markersCongestion[n].metadata.severity<4&&markersCongestion[n].setOptions({visible:!1})});break;case"EVENTS":$.each(markersEvents,function(n){markersEvents[n].setOptions({visible:t}),highSeverityMarkersOnly&&markersEvents[n].metadata.severity<4&&markersEvents[n].setOptions({visible:!1})});break;case"INCIDENTS":$.each(markersIncidents,function(n){markersIncidents[n].setOptions({visible:t}),highSeverityMarkersOnly&&markersIncidents[n].metadata.severity<4&&markersIncidents[n].setOptions({visible:!1})});break;case"CAMERAS":$.each(markersCameras,function(n){markersCameras[n].setOptions({visible:t})})}if(controller_Data_MapType=="here")switch(n.toUpperCase()){case"ROADWORKS":$.each(markersRoadworks,function(n){markersRoadworks[n].setVisibility(t),highSeverityMarkersOnly&&markersRoadworks[n].metadata.severity<4&&markersRoadworks[n].setVisibility(!1)});break;case"CONGESTION":$.each(markersCongestion,function(n){markersCongestion[n].setVisibility(t),highSeverityMarkersOnly&&markersCongestion[n].metadata.severity<4&&markersCongestion[n].setVisibility(!1)});break;case"EVENTS":$.each(markersEvents,function(n){markersEvents[n].setVisibility(t),highSeverityMarkersOnly&&markersEvents[n].metadata.severity<4&&markersEvents[n].setVisibility(!1)});break;case"INCIDENTS":$.each(markersIncidents,function(n){markersIncidents[n].setVisibility(t),highSeverityMarkersOnly&&markersIncidents[n].metadata.severity<4&&markersIncidents[n].setVisibility(!1)});break;case"CAMERAS":$.each(markersCameras,function(n){markersCameras[n].setVisibility(t)})}}function p(){n("Incidents",!1),n("Congestion",!1),n("Roadworks",!1),n("Events",!1),markersIncidents=[],markersCongestion=[],markersRoadworks=[],markersEvents=[]}function w(n){var i,r;if(controller_Data_MapType=="google"){for(i=0;i<markersIncidents.length;i++)markersIncidents[i].id.indexOf(n)!=-1&&(t(markersIncidents[i]),markersIncidents[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersCongestion.length;i++)markersCongestion[i].id.indexOf(n)!=-1&&(t(markersCongestion[i]),markersCongestion[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersRoadworks.length;i++)markersRoadworks[i].id.indexOf(n)!=-1&&(t(markersRoadworks[i]),markersRoadworks[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersEvents.length;i++)markersEvents[i].id.indexOf(n)!=-1&&(t(markersEvents[i]),markersEvents[i].setAnimation(google.maps.Animation.BOUNCE));setTimeout(function(){h(n)},3e3)}if(controller_Data_MapType=="bing"){for(i=0;i<markersIncidents.length;i++)markersIncidents[i].id.indexOf(n)!=-1&&(t(markersIncidents[i]),markersIncidents[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersCongestion.length;i++)markersCongestion[i].id.indexOf(n)!=-1&&(t(markersCongestion[i]),markersCongestion[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersRoadworks.length;i++)markersRoadworks[i].id.indexOf(n)!=-1&&(t(markersRoadworks[i]),markersRoadworks[i].setAnimation(google.maps.Animation.BOUNCE));for(i=0;i<markersEvents.length;i++)markersEvents[i].id.indexOf(n)!=-1&&(t(markersEvents[i]),markersEvents[i].setAnimation(google.maps.Animation.BOUNCE));setTimeout(function(){h(n)},3e3)}if(controller_Data_MapType=="here"){for(i=0;i<markersIncidents.length;i++)markersIncidents[i].getData().id.indexOf(n)!=-1&&($(".H_ib").html(""),r=new H.ui.InfoBubble(markersIncidents[i].getPosition(),{content:markersIncidents[i].getData().data}),travelMap.setCenter({lat:markersIncidents[i].getPosition().lat,lng:markersIncidents[i].getPosition().lng}),travelMap.setZoom(13));for(i=0;i<markersCongestion.length;i++)markersCongestion[i].getData().id.indexOf(n)!=-1&&(r=new H.ui.InfoBubble(markersCongestion[i].getPosition(),{content:markersCongestion[i].getData().data}),travelMap.setCenter({lat:markersCongestion[i].getPosition().lat,lng:markersCongestion[i].getPosition().lng}),travelMap.setZoom(13));for(i=0;i<markersRoadworks.length;i++)markersRoadworks[i].getData().id.indexOf(n)!=-1&&(r=new H.ui.InfoBubble(markersRoadworks[i].getPosition(),{content:markersRoadworks[i].getData().data}),travelMap.setCenter({lat:markersRoadworks[i].getPosition().lat,lng:markersRoadworks[i].getPosition().lng}),travelMap.setZoom(13));for(i=0;i<markersEvents.length;i++)markersEvents[i].getData().id.indexOf(n)!=-1&&(r=new H.ui.InfoBubble(markersEvents[i].getPosition(),{content:markersEvents[i].getData().data}),travelMap.setCenter({lat:markersEvents[i].getPosition().lat,lng:markersEvents[i].getPosition().lng}),travelMap.setZoom(13))}}function t(n){var t=Math.pow(2,travelMap.getZoom()),f=new google.maps.LatLng(travelMap.getBounds().getNorthEast().lat(),travelMap.getBounds().getSouthWest().lng()),i=travelMap.getProjection().fromLatLngToPoint(f),r=travelMap.getProjection().fromLatLngToPoint(n.getPosition()),u=new google.maps.Point(Math.floor((r.x-i.x)*t),Math.floor((r.y-i.y)*t));u.x<320&&controller_Data_MapType=="google"&&travelMap.panBy(-320+u.x-50,0)}function s(n){var t=Math.pow(2,travelMap.getZoom()),f=new google.maps.LatLng(travelMap.getBounds().getNorthEast().lat(),travelMap.getBounds().getSouthWest().lng()),i=travelMap.getProjection().fromLatLngToPoint(f),r=travelMap.getProjection().fromLatLngToPoint(n.getPosition()),u=new google.maps.Point(Math.floor((r.x-i.x)*t),Math.floor((r.y-i.y)*t));$("#incidentsWrapper").width()!=0&&u.x<500&&controller_Data_MapType=="google"&&travelMap.panBy(-320+u.x-150,0)}function h(n){for(var t=0;t<markersIncidents.length;t++)markersIncidents[t].id.indexOf(n)!=-1&&markersIncidents[t].setAnimation(null);for(t=0;t<markersCongestion.length;t++)markersCongestion[t].id.indexOf(n)!=-1&&markersCongestion[t].setAnimation(null);for(t=0;t<markersRoadworks.length;t++)markersRoadworks[t].id.indexOf(n)!=-1&&markersRoadworks[t].setAnimation(null);for(t=0;t<markersEvents.length;t++)markersEvents[t].id.indexOf(n)!=-1&&markersEvents[t].setAnimation(null)}function c(){google.maps.event.addListenerOnce(travelMap,"zoom_changed",function(){INRIXTravel_Panels.setIncidentsVisibility(),travelMap.getZoom()<10?(highSeverityMarkersOnly=!0,INRIXTravel.showNotification("High severity incidents only (zoom in to display all incidents)",5e3)):(highSeverityMarkersOnly=!1,INRIXTravel.clearNotifications()),n("Incidents",$("#chkIncidents").is(":checked")),n("Congestion",$("#chkCongestion").is(":checked")),n("Events",$("#chkEvents").is(":checked")),n("Roadworks",$("#chkRoadworks").is(":checked")),INRIXTravel_Panels.setIncidentsVisibility()})}function b(){INRIXTravel_Panels.setIncidentsVisibility()}function k(){INRIXTravel.showNotification("Loading cameras...",0);var t=$.Deferred();INRIXTravel_Data.getCameraData(t),t.done(function(){cameraData[0].Id!=="ERROR"?(o(cameraData),n("Cameras",!0),INRIXTravel.clearNotifications(),csLastDataRetrievalDateTime=INRIXTravel.currentDateTimeUTC()):(INRIXTravel.clearNotifications(),INRIXTravel.showNotification("Camera data unavailable",3e3),$("#chkCameras").trigger("click"))})}return markersIncidents=[],markersCongestion=[],markersRoadworks=[],markersEvents=[],markersCameras=[],{closeInfobox:y,HereinitializeTravelMap:l,placeIncidentMarkersOnMap:v,setMarkersVisibility:n,clearAllMarkers:p,bounceMarkerStart:w,mapZoomChangeEvent:c,getCameraMarkers:k,placeCameraMarkersOnMap:o}}(),INRIXTravel_Panels=function(){function r(){windowWidth>200&&(windowWidth>leftPanelMinWindowWidth?leftPanelWidth=300:(t(),leftPanelWidth=windowWidth-110),$("#leftPanel").width(leftPanelWidth),$("#btnLeftPanelOpen").hide(),$("#btnLeftPanelClose").show(),$("#incidentsWrapper").addClass("incidentsWrapperPaddingScrolling").addClass("scroller"),(windowWidth<600||windowWidth-leftPanelWidth<750&&rightPanelWidth>170)&&t())}function n(){leftPanelWidth=0,$("#leftPanel").width(leftPanelWidth),$("#btnLeftPanelClose").hide(),$("#btnLeftPanelOpen").show(),$("#incidentsWrapper").removeClass("incidentsWrapperPaddingScrolling").removeClass("scroller")}function u(){windowWidth-leftPanelWidth>750?f():windowWidth>200&&(windowWidth>leftPanelMinWindowWidth?i():n(),windowWidth<600&&(n(),i()))}function t(){rightPanelWidth=0,$("#rightPanel").width(rightPanelWidth),$("#btnRightPanelClose").hide(),$("#btnRightPanelOpen").show()}function f(){rightPanelWidth=650,rightPanelHeight=50,rightPanelLabelHeight=50,$("#rightPanel").width(rightPanelWidth).height(rightPanelHeight),$("#rightPanelLabel").height(rightPanelLabelHeight),$("#btnRightPanelOpen").hide(),$("#btnRightPanelClose").show()}function i(){rightPanelWidth=170,rightPanelHeight=167,rightPanelLabelHeight=167,$("#rightPanel").width(rightPanelWidth).height(rightPanelHeight),$("#rightPanelLabel").height(rightPanelLabelHeight),$("#btnRightPanelOpen").hide(),$("#btnRightPanelClose").show()}function e(){$("#chkIncidents").prop("checked",chkIncidents),$("#chkCongestion").prop("checked",chkCongestion),$("#chkRoadworks").prop("checked",chkRoadworks),$("#chkEvents").prop("checked",chkEvents)}function o(){$("#chkIncidents").change(function(){$(this).is(":checked")?INRIXTravel_Map.setMarkersVisibility("Incidents",!0):INRIXTravel_Map.setMarkersVisibility("Incidents",!1)}),$("#chkCongestion").change(function(){$(this).is(":checked")?INRIXTravel_Map.setMarkersVisibility("Congestion",!0):INRIXTravel_Map.setMarkersVisibility("Congestion",!1)}),$("#chkRoadworks").change(function(){$(this).is(":checked")?INRIXTravel_Map.setMarkersVisibility("Roadworks",!0):INRIXTravel_Map.setMarkersVisibility("Roadworks",!1)}),$("#chkEvents").change(function(){$(this).is(":checked")?INRIXTravel_Map.setMarkersVisibility("Events",!0):INRIXTravel_Map.setMarkersVisibility("Events",!1)}),$("#chkCameras").change(function(){$(this).is(":checked")?(markersCameras.length==0||INRIXTravel_Data.isCameraRefreshRequired()?INRIXTravel_Map.getCameraMarkers():INRIXTravel_Map.setMarkersVisibility("Cameras",!0),cameraDataRefreshRunning||INRIXTravel_Data.cameraDataRefreshTimer(!0)):(INRIXTravel_Map.setMarkersVisibility("Cameras",!1),INRIXTravel_Data.cameraDataRefreshTimer(!1))})}function s(){var i,t,r,n;if(controller_Data_MapType=="bing"){for(r=travelMap.getBounds(),n=0;n<markersIncidents.length;n++)i=new Microsoft.Maps.Point(markersIncidents[n].getLocation().latitude,markersIncidents[n].getLocation().longitude),markersIncidents[n].visible=r.contains(i)?!0:!1;for(n=0;n<markersCongestion.length;n++)i=new Microsoft.Maps.Point(markersCongestion[n].getLocation().latitude,markersCongestion[n].getLocation().longitude),r.contains(i)?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersRoadworks.length;n++)i=new Microsoft.Maps.Point(markersRoadworks[n].getLocation().latitude,markersRoadworks[n].getLocation().longitude),r.contains(i)?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersEvents.length;n++)i=new Microsoft.Maps.Point(markersEvents[n].getLocation().latitude,markersEvents[n].getLocation().longitude),r.contains(i)?$("#"+t).show():$("#"+t).hide()}if(controller_Data_MapType=="google"){for(r=travelMap.getBounds(),n=0;n<markersIncidents.length;n++)i=new google.maps.LatLng(markersIncidents[n].position.lat(),markersIncidents[n].position.lng()),t=markersIncidents[n].id.replace("Incidents_",""),r.contains(i)&&markersIncidents[n].visible?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersCongestion.length;n++)i=new google.maps.LatLng(markersCongestion[n].position.lat(),markersCongestion[n].position.lng()),t=markersCongestion[n].id.replace("Congestion_",""),r.contains(i)&&markersCongestion[n].visible?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersRoadworks.length;n++)i=new google.maps.LatLng(markersRoadworks[n].position.lat(),markersRoadworks[n].position.lng()),t=markersRoadworks[n].id.replace("Roadworks_",""),r.contains(i)&&markersRoadworks[n].visible?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersEvents.length;n++)i=new google.maps.LatLng(markersEvents[n].position.lat(),markersEvents[n].position.lng()),t=markersEvents[n].id.replace("Events_",""),r.contains(i)&&markersEvents[n].visible?$("#"+t).show():$("#"+t).hide()}if(controller_Data_MapType=="here"){for(r=travelMap.getViewBounds(),n=0;n<markersIncidents.length;n++)i=new H.geo.Point(markersIncidents[n].getPosition().lat,markersIncidents[n].getPosition().lng),t=markersIncidents[n].getData().id.replace("Incidents_",""),r.containsPoint(i)&&markersIncidents[n].getVisibility()?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersCongestion.length;n++)i=new H.geo.Point(markersCongestion[n].getPosition().lat,markersCongestion[n].getPosition().lng),t=markersCongestion[n].getData().id.replace("Congestion_",""),r.containsPoint(i)&&markersCongestion[n].getVisibility()?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersRoadworks.length;n++)i=new H.geo.Point(markersRoadworks[n].getPosition().lat,markersRoadworks[n].getPosition().lng),t=markersRoadworks[n].getData().id.replace("Roadworks_",""),r.containsPoint(i)&&markersRoadworks[n].getVisibility()?$("#"+t).show():$("#"+t).hide();for(n=0;n<markersEvents.length;n++)i=new H.geo.Point(markersEvents[n].getPosition().lat,markersEvents[n].getPosition().lng),t=markersEvents[n].getData().id.replace("Events_",""),r.containsPoint(i)&&markersEvents[n].getVisibility()?$("#"+t).show():$("#"+t).hide()}}function h(){$("#chkIncidents").is(":checked")?$('[data-category="Incidents"]').show():$('[data-category="Incidents"]').hide(),$("#chkCongestion").is(":checked")?$('[data-category="Congestion"]').show():$('[data-category="Congestion"]').hide(),$("#chkRoadworks").is(":checked")?$('[data-category="Roadworks"]').show():$('[data-category="Roadworks"]').hide(),$("#chkEvents").is(":checked")?$('[data-category="Events"]').show():$('[data-category="Events"]').hide()}return{leftPanelOpen:r,leftPanelClose:n,rightPanelOpen:u,rightPanelClose:t,rightPanelCheckboxChangeEvents:o,rightPanelSetCheckboxInitialValue:e,setIncidentsVisibility:s,categoryCheck:h}}(),INRIXTravel_Data=function(){function l(){var t;if(controller_Data_MapType=="google"){t=$.Deferred();switch(tabSelected){case"Road":$("#tabRail").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){i(controller_Data_GetIncidents,userSettingsUserID,$("#token").text())}),$("#tabRoad").show(),google.maps.event.trigger(travelMap,"resize");break;case"Rail":$("#tabRoad").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){r(controller_Data_GetIncidentsRail,userSettingsUserID,$("#token").text())}),$("#tabRail").show();break;case"Tube":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){u(controller_Data_GetIncidentsTube,userSettingsUserID,$("#token").text())}),$("#tabTube").show();break;case"AirAndSea":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabTube").hide(),n(t),t.done(function(){f(controller_Data_GetIncidentsAirAndSea,userSettingsUserID,$("#token").text())}),$("#tabAirAndSea").show()}}if(controller_Data_MapType=="bing"){t=$.Deferred();switch(tabSelected){case"Road":$("#tabRail").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){i(controller_Data_GetIncidents,userSettingsUserID,$("#token").text())}),$("#tabRoad").show();break;case"Rail":$("#tabRoad").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){r(controller_Data_GetIncidentsRail,userSettingsUserID,$("#token").text())}),$("#tabRail").show();break;case"Tube":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){u(controller_Data_GetIncidentsTube,userSettingsUserID,$("#token").text())}),$("#tabTube").show();break;case"AirAndSea":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabTube").hide(),n(t),t.done(function(){f(controller_Data_GetIncidentsAirAndSea,userSettingsUserID,$("#token").text())}),$("#tabAirAndSea").show()}}if(controller_Data_MapType=="here"){t=$.Deferred();switch(tabSelected){case"Road":$("#tabRail").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){i(controller_Data_GetIncidents,userSettingsUserID,$("#token").text())}),$("#tabRoad").show();break;case"Rail":$("#tabRoad").hide(),$("#tabTube").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){r(controller_Data_GetIncidentsRail,userSettingsUserID,$("#token").text())}),$("#tabRail").show();break;case"Tube":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabAirAndSea").hide(),n(t),t.done(function(){u(controller_Data_GetIncidentsTube,userSettingsUserID,$("#token").text())}),$("#tabTube").show();break;case"AirAndSea":$("#tabRoad").hide(),$("#tabRail").hide(),$("#tabTube").hide(),n(t),t.done(function(){f(controller_Data_GetIncidentsAirAndSea,userSettingsUserID,$("#token").text())}),$("#tabAirAndSea").show()}}}function i(n,t,i){INRIXTravel_Map.clearAllMarkers();var r={source:"JTNA",userID:t,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:i};$.ajax({type:"POST",data:r,url:n,success:function(n){n=="INVALID TOKEN"?INRIXTravel.showNotification("Please refresh web page (browser refresh) to update travel information.",0):n.length>0&&(incidentData=JSON.parse(n),a(),INRIXTravel_Map.placeIncidentMarkersOnMap(incidentData),INRIXTravel_Panels.categoryCheck())}})}function r(n,t,i){var r={source:"JTNA",userID:t,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:i};$.ajax({type:"POST",data:r,url:n,success:function(n){n=="INVALID TOKEN"?INRIXTravel.showNotification("Please refresh web page (browser refresh) to update travel information.",0):n.length>0&&n!="INVALID TOKEN"&&(railData=JSON.parse(n),v())}})}function u(n,t,i){var r={source:"JTNA",userID:t,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:i};$.ajax({type:"POST",data:r,url:n,success:function(n){n=="INVALID TOKEN"?INRIXTravel.showNotification("Please refresh web page (browser refresh) to update travel information.",0):n.length>0&&(tubeData=JSON.parse(n),y())}})}function f(n,t,i){var r={source:"JTNA",userID:t,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:i};$.ajax({type:"POST",data:r,url:n,success:function(n){n=="INVALID TOKEN"?INRIXTravel.showNotification("Please refresh web page (browser refresh) to update travel information.",0):n.length>0&&(airAndSeaData=JSON.parse(n),p())}})}function a(){$("#incidentsWrapper").empty();var n="";$.each(incidentData,function(t,i){var u=o(i.RoadType),r=i.Road.split(" ")[0],f=i.Road.replace(r,""),e=INRIXTravel_Data.getCategory(i.Category),h=s(f,i.Area,i.Region,i.Direction);n="<div id='"+i.Id+'\' class="incident" data-category="'+e+'" data-severity="'+i.Severity+'"><div class="incidentTitle"><span class="'+u+'">'+r+"<\/span> "+h+'<\/div><div id="incidentDetails_'+i.Id+'" style="background-color:white; padding:10px">'+i.Message+'<div style="text-align:right;"><span id= "mapShowMarker" onclick="INRIXTravel_Map.bounceMarkerStart('+i.Id+')"><img style="vertical-align:text-bottom;" src="'+INRIXTravelContent+'Images/mapSmall.png" alt="" /><\/span><\/div><\/div><\/div>',$("#incidentsWrapper").append(n)})}function v(){var i="",n="",r="",t="",e,o,u='<span class="glyphicon glyphicon-record" style="color:'+userDefinedColour+'; opacity:0.5"><\/span>&nbsp',f;$("#railWrapper").empty(),f="",$.each(railData,function(s,h){if(e=INRIXTravel_Data.getCategory(h.Category),o=h.Severity,i=h.Company,n=h.CauseAndLocation,n.length>0&&(n=n.substring(0,1).toUpperCase()+n.slice(1)),r=h.MoreDetails.replace(".","").trim(),t="",n.indexOf(".")>0){var c=n.split(".");t=c[1].trim(),n=c[0]}n.length>0&&(n=u+n),r.length>0&&(r=u+r),t.length>0&&(t=u+t),r.length>0&&(n="<\/br>"+n),t.length+n.length>0&&(t="<\/br>"+t),n.length+t.length+t.length<1&&(n=u+h.Message),i.length<1&&(i=h.PrimaryLocation,i=i.replace(/\|/g,"")),f="<div id='rail_"+h.Id+'\' class="incident" data-category="'+e+'" data-severity="'+o+'"><div class="incidentTitle">'+i+'<\/div><div id="incidentDetails_'+h.Id+'" style="background-color:white; padding:10px">'+r+n+t+"<\/div><\/div>",$("#railWrapper").append(f)}),$("#railPanel").animate({scrollTop:0},"slow"),railData.length||$("#railWrapper").append("<div class='centreText'>No rail incidents to report.<\/div>")}function y(){var f="",n="",r="",i="",e,o,u='<span data-bullet="tube" class="glyphicon glyphicon-record" style="color:#000000; opacity:0.5"><\/span>&nbsp',t;$("[id^=incidentText_Tube_]").empty(),t="",$.each(tubeData,function(s,h){var l,c;e=INRIXTravel_Data.getCategory(h.Category),o=h.Severity,f=h.Company,r=h.MoreDetails.replace(".","").trim(),n=h.CauseAndLocation,n.length>0&&(n=n.substring(0,1).toUpperCase()+n.slice(1)),i="",n.indexOf(".")>0&&(l=n.split("."),i=l[1].trim(),n=l[0]),n.length>0&&(n=u+n),r.length>0&&(r=u+r),i.length>0&&(i=u+i),r.length>0&&(n="<\/br>"+n),i.length+n.length>0&&(i="<\/br>"+i),n.length+i.length+i.length<1&&(n=u+h.Message),t='<div id="incidentDetails_'+h.Id+'" style="background-color:white; padding:5px; padding-top: 10px; padding-bottom: 10px">'+r+n+i+"<\/div>",c=h.Company.trim().split(" ");switch(c[0].toUpperCase()){case"BAKERLOO":$("#incidentText_Tube_Bakerloo").append(t),$("#Bakerloo").find('[data-bullet="tube"]').css("color",$("#Bakerloo").css("background-color")),$("#Bakerloo").find('[data-status="service"]').empty();break;case"CENTRAL":$("#incidentText_Tube_Central").append(t),$("#Central").find('[data-bullet="tube"]').css("color",$("#Central").css("background-color")),$("#Central").find('[data-status="service"]').empty();break;case"CIRCLE":$("#incidentText_Tube_Circle").append(t),$("#Circle").find('[data-bullet="tube"]').css("color",$("#Circle").css("background-color")),$("#Circle").find('[data-status="service"]').empty();break;case"DISTRICT":$("#incidentText_Tube_District").append(t),$("#District").find('[data-bullet="tube"]').css("color",$("#District").css("background-color")),$("#District").find('[data-status="service"]').empty();break;case"HAMMERSMITH":$("#incidentText_Tube_Hammersmith").append(t),$("#Hammersmith").find('[data-bullet="tube"]').css("color",$("#Hammersmith").css("background-color")),$("#Hammersmith").find('[data-status="service"]').empty();break;case"JUBILEE":$("#incidentText_Tube_Jubilee").append(t),$("#Jubilee").find('[data-bullet="tube"]').css("color",$("#Jubilee").css("background-color")),$("#Jubilee").find('[data-status="service"]').empty();break;case"METROPOLITAN":$("#incidentText_Tube_Metropolitan").append(t),$("#Metropolitan").find('[data-bullet="tube"]').css("color",$("#Metropolitan").css("background-color")),$("#Metropolitan").find('[data-status="service"]').empty();break;case"NORTHERN":$("#incidentText_Tube_Northern").append(t),$("#Northern").find('[data-bullet="tube"]').css("color",$("#Nothern").css("background-color")),$("#Northern").find('[data-status="service"]').empty();break;case"PICCADILLY":$("#incidentText_Tube_Piccadilly").append(t),$("#Piccadilly").find('[data-bullet="tube"]').css("color",$("#Piccadilly").css("background-color")),$("#Piccadilly").find('[data-status="service"]').empty();break;case"VICTORIA":$("#incidentText_Tube_Victoria").append(t),$("#Victoria").find('[data-bullet="tube"]').css("color",$("#Victoria").css("background-color")),$("#Victoria").find('[data-status="service"]').empty();break;case"WATERLOO":$("#incidentText_Tube_Waterloo").append(t),$("#Waterloo").find('[data-bullet="tube"]').css("color",$("#Waterloo").css("background-color")),$("#Waterloo").find('[data-status="service"]').empty();break;case"TFL":$("#incidentText_Tube_Tfl").append(t),$("#TfLRail").find('[data-bullet="tube"]').css("color",$("#TfLRail").css("background-color")),$("#TfLRail").find('[data-status="service"]').empty();break;case"LONDON"&&c[1].toUpperCase()=="OVERGROUND":$("#incidentText_Tube_Overground").append(t),$("#Overground").find('[data-bullet="tube"]').css("color",$("#Overground").css("background-color")),$("#Overground").find('[data-status="service"]').empty();break;case"LONDON"&&c[1].toUpperCase()=="TRAMLINK":$("#incidentText_Tube_Tram").append(t),$("#Tramlink").find('[data-bullet="tube"]').css("color",$("#Tramlink").css("background-color")),$("#Tramlink").find('[data-status="service"]').empty();break;case"DOCKLANDS":$("#incidentText_Tube_Dlr").append(t),$("#Dlr").find('[data-bullet="tube"]').css("color",$("#Dlr").css("background-color")),$("#Dlr").find('[data-status="service"]').empty()}}),$("#tubePanel").animate({scrollTop:0},"slow")}function p(){var f="",n="",i="",t="",e,o,r='<span class="glyphicon glyphicon-record" style="color:'+userDefinedColour+'; opacity:0.5"><\/span>&nbsp',u;$("#airAndSeaWrapper").empty(),u="",$.each(airAndSeaData,function(s,h){if(e=INRIXTravel_Data.getCategory(h.Category),o=h.Severity,f=h.Company,n=h.CauseAndLocation,n.length>0&&(n=n.substring(0,1).toUpperCase()+n.slice(1)),i=h.MoreDetails.replace(".","").trim(),t="",n.indexOf(".")>0){var c=n.split(".");t=c[1].trim(),n=c[0]}n.length>0&&(n=r+n),i.length>0&&(i=r+i),t.length>0&&(t=r+t),i.length>0&&(n="<\/br>"+n),t.length+n.length>0&&(t="<\/br>"+t),n.length+t.length+t.length<1&&(n=r+h.Message),u="<div id='airAndSea_"+h.Id+'\' class="incident" data-category="'+e+'" data-severity="'+o+'"><div class="incidentTitle">'+f+'<\/div><div id="incidentDetails_'+h.Id+'" style="background-color:white; padding:10px">'+i+n+t+"<\/div><\/div>",$("#airAndSeaWrapper").append(u)}),$("#airAndSeaPanel").animate({scrollTop:0},"slow"),airAndSeaData.length||$("#airAndSeaWrapper").append("<div class='centreText'>No air and sea incidents to report.<\/div>")}function o(n){var t="";return n==e.Motorway&&(t="highlight-Motorway"),n==e.ARoad&&(t="highlight-ARoad"),n==e.BRoad&&(t="highlight-BRoad"),t}function s(n,t,i,r){var t,i,r,u;return n=n.split("||")[0],t=t.trim(),i=i.trim(),t==i&&(t=""),r=r.trim(),r=r.length>=4?"("+r+")":"",u="",n.trim().length>0&&(u+=n),i.trim().length>0&&(u+=n.length>0?" - "+i:""+i),t.trim().length>0&&r.length>0&&(u=u.replace("-  -","-")),u}function w(n){var i="";switch(n.toUpperCase()){case"ROADWORKS":i=t.RoadWorks;break;case"DELAYS":i=t.Congestion;break;case"SPEEDS":i=t.Congestion;break;case"NON-SPORTING EVENTS":i=t.Events;break;case"SPORTING EVENTS":i=t.Events;break;case"ACCIDENTS":i=t.Incidents;break;case"INCIDENTS":i=t.Incidents;break;case"INCIDENTS AND HAZARDS":i=t.Incidents;break;case"CLOSURES AND LANE RESTRICTIONS":i=t.Incidents;break;default:i=t.Incidents}return i}function b(t){var i={userID:userSettingsUserID,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:$("#token").text()};$.ajax({type:"POST",data:i,url:controller_Data_GetCameras,success:function(i){if(i=="INVALID TOKEN"){var r=$.Deferred();n(r),r.done(function(){var n={userID:userSettingsUserID,__RequestVerificationToken:$("#__AjaxAntiForgeryForm input").val(),dataControllerToken:$("#token").text()};$.ajax({type:"POST",data:n,url:controller_Data_GetCameras,success:function(n){n=="INVALID TOKEN"?(INRIXTravel.clearNotifications(),INRIXTravel.showNotification("Please refresh web page (browser refresh) to update travel information.",0)):(cameraData=JSON.parse(n),t.resolve())}})})}else cameraData=JSON.parse(i),t.resolve()}})}function k(n){n&&!cameraDataRefreshRunning&&(cameraDataRefreshInterval=setInterval(function(){h()},csValidTokenMinutes*6e4),cameraDataRefreshRunning=!0),n||(clearInterval(cameraDataRefreshInterval),cameraDataRefreshRunning=!1)}function h(){c()&&tabSelected=="Road"&&$("#chkCameras").is(":checked")&&($("#chkCameras").trigger("click"),cameraData=[],markersCameras=[],$("#chkCameras").trigger("click"))}function c(){var n=!1,t;return csLastDataRetrievalDateTime==null?n=!0:(t=INRIXTravel.getMinutesInterval(csLastDataRetrievalDateTime,INRIXTravel.currentDateTimeUTC()),t>=csValidTokenMinutes&&(n=!0)),n}function n(n){if(initialLoad)initialLoad=!1,n.resolve();else{var t={userID:userSettingsUserID,dataControllerToken:$("#token").text()};$.ajax({type:"POST",data:t,url:controller_Data_RenewToken,success:function(t){$("#token").text(t),n.resolve()}})}}var e={Motorway:1,ARoad:2,BRoad:3,RegularRoadStreet:4},t={RoadWorks:"Roadworks",Congestion:"Congestion",Events:"Events",Incidents:"Incidents"};return{getRoadData:i,getRailData:r,getTubeData:u,getAirAndSeaData:f,getCameraData:b,getHighlightClassForRoadName:o,getRoadNameRegionAreaDirection:s,getCategory:w,refreshData:l,cameraDataRefreshTimer:k,isCameraRefreshRequired:c,doCameraRefresh:h}}()