RTSITE=function(){var Q="2.140g",r="ABQIAAAAYwBzgWSMeCP_8QLHX-gSThSaeRzjpgJFoD8CkC5orjFhkeBbMBRthl4aVSojI4J1QKjJTCe61E5iSQ",P="ca-pub-8146356418703495",j="http://www.w3.org/1999/xhtml",G=44,q=52.633063,K=1.269608,H=12,z=52.630146,D=1.298790,W="Norwich",f=false,N=false,xb=0,n=200,M=4,Z=86400000,xp=60000,A=8000,t=400,v=14,I=15,O=13,xV=27,X="Location(s)",C=10,xs=6,F=-1,B=5,m=6,b=7,p=8,V=14,s=15,Y="tunnel.php?url=",U="http://maps.google.co.uk/maps?f=q&hl=en&geocode=&output=js&q=",R="http://maps.google.co.uk/maps?output=js&q=",E="http://j.maxmind.com/app/geoip.js",g,a=[],T=[],u,xY,S,J,d,k,w,L,o,c,h,rQ,rr,rP,rj,rG=["#00cc00","#ffffff","#ffffcc","#ffcc33","#ff6633","#ff0000","#808080"],rq=["roadworks","flooding","closed","lorry","bridge","lights","electric","fire","slow","accident","water","stopgo","narrow","gas","speed20","overturned","oneway","roundabout","resurfacing","telecoms","brokendown","lightfailure","speed30","speed40","speed50","animals","fog","weight","wind","contraflow","ice","crossing"],rK=["Gatso","Mobile","Monitron","RedLight","SPECS","Temporary","Truvelo","Mobile?","RedSpeed","Temporary SPECS","Temporary Gatso","Temporary Truvelo"],rH=["restricted","surface","underground","multistorey","parkandride","belowground"],rz=["Unbranded","Asda","BP","Broadland","Elf","Esso","Gulf","Jet","Morrisons","Murco","Pace","Power","Q8","Sainsbury's","Shell","SPAR","Tesco","Tesco Express","Texaco","Total","UK","Waitrose"],rD=["Unleaded","Diesel","Super Unleaded","LPG","Premium Diesel","LRP"],rW,rf,rN,rx,rn,rM,rZ,re,rA,rt,rv,rI,rO,rl,rX,rC,ri,rF,rB,rm,rb,rp,rV,rs,rY,rU,rR,rE,rg,ra,rT,ru,ry,rS,rJ,rd,rk,rw,rL,ro=null,rc=null,rh,PQ=0,Pr=0,PP=(window.location.hostname.toLowerCase().indexOf("regionaltraffic")==-1?"http://regionaltraffic.co.uk/":""),Pj="&"+window.location.search.substr(1)+"&",PG=false,Pq=false,geoip_latitude,geoip_longitude,geoip_city;function PK(PH,Pz){PH.appendChild(document.createTextNode(Pz));}function PD(PH){while(PH.hasChildNodes()){PH.removeChild(PH.firstChild);}}function createElement(PW,Pf){var PH,PN=false;if(document.createElementNS){PH=document.createElementNS(j,PW);PN=true;}else{PH=document.createElement(PW);}if(Pf){for(var Px in Pf){if(Px=="text"){PK(PH,Pf[Px]);}else if(Px=="className"){PH.className=Pf[Px];}else{if(PN){PH.setAttributeNS(j,Px,Pf[Px]);}else{PH.setAttribute(Px,Pf[Px]);}PH[Px]=Pf[Px];}}}return PH;}function Pn(PH){PH.appendChild(createElement("br"));}function PM(){var PZ=L.parentNode;var Pe=createElement("div",{id:"wrapper",className:"wrapper"});Pe.style.cssText=L.style.cssText;PZ.insertBefore(Pe,L);PZ.removeChild(L);Pe.appendChild(L);L.className="wrapperContainer";this.PA=createElement("div",{className:"messageHidden"});Pe.appendChild(this.PA);this.Pt=function(Pv){PD(this.PA);PK(this.PA,Pv);this.PA.className="messageVisible";};this.xU=function(){this.PA.className="messageHidden";};}function PO(PW,Pl,PX,PC,Pi,PF){if(!PX){PX=new Date();PX.setMonth(PX.getMonth()+1);}document.cookie=encodeURIComponent(PW)+"="+encodeURIComponent(Pl)+((PX)?";expires="+PX.toGMTString():"")+((PC)?";path="+PC:"")+((Pi)?";domain="+Pi:"")+((PF)?";secure":"");}function PB(PW,Pm){var Pl;var Pb=document.cookie.indexOf(encodeURIComponent(PW)+"=");var Pp=Pb+1+encodeURIComponent(PW).length;if(Pb!=-1){var PV=document.cookie.indexOf(";",Pp);if(PV==-1){PV=document.cookie.length;}Pl=decodeURIComponent(document.cookie.substring(Pp,PV));}else{Pl=Pm;}return Pl;}function Ps(PW,PC,Pi){if(PB(PW)){var PY=new Date();PY.setDate(PY.getDate()-1);document.cookie=PW+"="+((PC)?";path="+PC:"")+((Pi)?";domain="+Pi:"")+";expires="+PY.toGMTString();}}function PU(PR){var PE="";for(var Pg in PR){if(PE.length){PE+="|";}PE+=PR[Pg].toUrlValue();}return PE;}function Pa(PW){return document.getElementById(PW);}function PT(){var Pu=false;if(rx&&rx.getOverviewMap()&&rx.getOverviewMap().getContainer()){Pu=(parseInt(rx.getOverviewMap().getContainer().parentNode.style.width,10)!==0);}return Pu;}function Py(){PO("LastFeedID",rR);PO("UserRoute",rr);var PS=[];var PJ=[];for(var Pd=0;Pd<rI.length;Pd++){PS.push(rI[Pd].Pk);PJ.push(rI[Pd].Pw);}PO("UserRouteLatLngs",PU(PS));PO("UserRouteAddresses",PJ.join("|"));if(rA){var PL=rA.getBounds();PO("UserRouteBounds",PL.getSouthWest().toUrlValue()+"|"+PL.getNorthEast().toUrlValue());}if(rm){PO("UserLocations",rm);}else{Ps("UserLocations");}try{PO("OverviewMap",PT());}catch(Po){}PO(rR+"ZoomLevel",ra);PO(rR+"Latitude",rg.lat().toFixed(6));PO(rR+"Longitude",rg.lng().toFixed(6));PO("FuelStations",rk);PO("SpeedCameras",rw);google.maps.Unload();}function Pc(PW){var Pl;var Pb=Pj.indexOf("&"+encodeURIComponent(PW));if(Pb!=-1){var PV=Pj.indexOf("&",Pb+1);var Ph=Pj.substring(Pb,PV);Pb=Ph.indexOf("=");if(Pb!=-1){Pl=decodeURIComponent(Ph.substr(Pb+1));}}return Pl;}function jQ(jr){var Pk;var Pb=jr.indexOf(",");if(Pb!=-1){var jP=parseFloat(jr.substring(0,Pb));var jj=parseFloat(jr.substr(Pb+1));if(!isNaN(jP)&&!isNaN(jj)){Pk=new google.maps.LatLng(jP,jj);}}return Pk;}function jG(jq){var jK=jq.split("|");var jH,jz,jP,jj;var PS=[];for(var Pg=0;Pg<jK.length;Pg++){jH=jK[Pg];if(jH.length){jz=jH.split(",");jP=parseFloat(jz[0]);jj=parseFloat(jz[1]);PS.push(new google.maps.LatLng(jP,jj));}}return PS;}function jD(){if(!S.options[0].value){S.remove(0);S.disabled=false;}for(var jW=0;jW<S.options.length;jW++){if(S.options[jW].value==rR){rE=S.options[jW].text;S.selectedIndex=jW;break;}}}function jf(jN){var jx=Pa("tagline");if(jx){var jn=(Pr?"historic":"live");var Pv;if(jN){Pv="Loading "+jn+" feed for "+rE+"...";}else{Pv="A map-driven view of "+jn+" traffic incidents.";}PD(jx);PK(jx,Pv);}}function jM(){k.src="images/stations"+(rk?"":"Grey")+".png";d.src="images/cameras"+(rw?"":"Grey")+".png";}function jZ(){return S.options[S.selectedIndex].value;}function je(){return S.options[S.selectedIndex].text;}function jA(){return(k.src.indexOf("Grey")==-1);}function jt(){return(d.src.indexOf("Grey")==-1);}var jv;var jI;jv=function(){jD();jM();jI();};jI=function(){var jO=jZ();var jl=jA();var jX=jt();var jC=!((jO==rR)&&(jl==rk)&&(jX==rw));if(ry){ry=window.clearTimeout(ry);}if(jC){ry=window.setTimeout(jv,A);}xY.disabled=!jC;};function ji(jF){var jB=parseFloat(jF.getAttribute("minLat"));var jm=parseFloat(jF.getAttribute("maxLat"));var jb=parseFloat(jF.getAttribute("minLng"));var jp=parseFloat(jF.getAttribute("maxLng"));var jV=new google.maps.LatLng(jB,jb);var js=new google.maps.LatLng(jm,jp);return new google.maps.LatLngBounds(jV,js);}function jY(jU){if(jU){var jR=jU.length;if(jR>3){var jE=jU.substr(0,4);var jg=(jR>5?jU.substr(4,2):0);var ja=(jR>7?jU.substr(6,2):1);var jT=(jR>9?jU.substr(8,2):0);var ju=(jR>11?jU.substr(10,2):0);var jy=(jR>13?jU.substr(12,2):0);return new Date(jE,jg-1,ja,jT,ju,jy);}}}function jS(jJ){var jd=[];var PL=new google.maps.LatLngBounds();var jk=jJ.firstChild;var jw;while(jk){var jL=ji(jk);PL.union(jL);var jo=parseInt(jk.getAttribute("severity"),10);jw=parseInt(jk.getAttribute("messages"),10);jd[jo]={jw:jw,PL:jL};jk=jk.nextSibling;}if(PL.isEmpty()){PL=ji(jJ);}var jc=jJ.getAttribute("latest");var jh=jY(jc);jw=parseInt(jJ.getAttribute("messages"),10);if(isNaN(jw)){jw=null;}return{jw:jw,jh:jh,PL:PL,jd:jd};}function GQ(Gr){var GP="";var Gj=Number(Gr);if((Gr===null)||isNaN(Gj)){GP="NaN";}else{var GG=String(Gj).split(".");var Gq=GG[0];var GK=(GG.length>1?"."+GG[1]:"");var GH=/(\d+)(\d{3})/;while(GH.test(Gq)){Gq=Gq.replace(GH,"$1,$2");}GP=Gq+GK;}return GP;}function setViewport(PL,Gz,GD){var GW,Gf;if(PL.GW){GW=PL.GW;Gf=PL.Gf;}else{GW=PL.getCenter();var GN=PL.toSpan().lat();var Gx=PL.toSpan().lng();if(GN+Gx){var Gn=0.25;var jV=PL.getSouthWest();var js=PL.getNorthEast();jV=new google.maps.LatLng(jV.lat()-GN*Gn,jV.lng()-Gx*Gn);js=new google.maps.LatLng(js.lat()+GN*Gn,js.lng()+Gx*Gn);var GM=new google.maps.LatLngBounds(jV,js);Gf=rW.getBoundsZoomLevel(GM);}else{Gf=v;}}if(GD){rW.panTo(GW);}else{rW.setCenter(GW,Gf);ra=Gf;}rg=GW;if(Gz){rW.savePosition();}}function GZ(Ge){return new Date(Ge.getFullYear(),Ge.getMonth(),Ge.getDate());}function GA(Gt){var Gv;var GI=Gt%100;var GO=((GI>10)&&(GI<14))?0:Gt%10;if(GO==1){Gv="st";}else if(GO==2){Gv="nd";}else if(GO==3){Gv="rd";}else{Gv="th";}return Gt+Gv;}function Gl(GX,GC,Gi,GF){var GB;if(GX){var Gm;if(GX.getSeconds()>=30){GX.setSeconds(60);}else{GX.setSeconds(0);}if(GC){var Gb=GZ(new Date());var Ge=GZ(GX);Gm=true;var Gp=(Ge.getTime()-Gb.getTime())/Z;switch(Gp){case 1:GB="tomorrow";break;case 0:GB="today";break;case-1:GB="yesterday";break;case-2:case-3:case-4:case-5:case-6:var GV=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var ja=(Gb.getDay()+7+Gp)%7;GB=GV[ja];ja=Gb.getDay();if(!ja){ja=7;}if(-Gp>ja){GB="last "+GB;}break;default:Gm=false;var Gs=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var GY=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];GB=Gs[Ge.getDay()]+" "+GA(Ge.getDate());if(GF||(Ge.getMonth()!=Gb.getMonth())){GB+=" "+GY[Ge.getMonth()];}if(Ge.getFullYear()!=Gb.getFullYear()){GB+=" "+Ge.getFullYear();}}if(Gm&&!Gi){GB=GB.charAt(0).toUpperCase()+GB.substr(1);}}if(Gi){var GU=GX.getHours();if(GU<10){GU="0"+GU;}var GR=GX.getMinutes();if(GR<10){GR="0"+GR;}var GE=GX.getSeconds();if(GE<10){GE="0"+GE;}if(Gm){GB=GU+":"+GR+" "+GB;}else if(GB){GB+=" at "+GU+":"+GR;}else{GB=GU+":"+GR;}}}else{GB="Unknown";}return GB;}function Gg(Ga){if(a.length){for(var jo=0;jo<=5;jo++){var GT=Ga.jd[jo];var Gu=(GT?parseInt(GT.jw,10):0);var Gy=a[jo];var jk;if(Gu){jk=createElement("strong",{text:GQ(Gu)});}else{jk=document.createTextNode("0");}PD(Gy);Gy.appendChild(jk);if(GT){T[jo].onclick=function(PL){return function(){setViewport(PL,true);return false;};}(GT.PL);}else{T[jo].onclick=null;}}var GS=Ga.jw;var GJ=Pa("statsLink");var Gd;if(GS){Gd=GQ(GS)+" known incident"+(GS>1?"s":"");GJ.onclick=function(){setViewport(Ga.PL,true);return false;};}else{Gd="No known incidents";GJ.onclick=null;}PD(GJ);PK(GJ,Gd);var Gk=Pa("lastUpdate");PD(Gk);PK(Gk,"Last update: "+Gl(Ga.jh,true,true));}}function Gw(Gt,GL,Go){if((Gt!=1)&&!Go){if(/[sxz]$/.test(GL)||/[aeioudgkprt]h$/.test(GL)){Go=GL.replace(/$/,"es");}else if(/[^aeiou]y$/.test(GL)){Go=GL.replace(/y$/,"ies");}else{Go=GL+"s";}}return GQ(Gt)+" "+(Gt==1?GL:Go);}function Gc(Gh,qQ){var qr;var Gb=GZ(new Date());var qP=GZ(Gh);var qj=GZ(qQ);var Gp=Math.abs((qj.getTime()-qP.getTime())/Z);if(!Gp){qr=Gl(Gh,true)+" from "+Gl(Gh,false,true)+" to "+Gl(qQ,false,true);}else{var qG=Math.abs((qP.getTime()-Gb.getTime())/Z)<2;var qq=Math.abs((qj.getTime()-Gb.getTime())/Z)<2;var qK=Math.round((qQ.getTime()-new Date().getTime())/Z);var qH="";if(qj.getTime()>Gb.getTime()){if(qK<=14){qH=Gw(qK,"day");}else{qK=Math.floor(qK/7);if(qK<=52){qH=Gw(qK,"week");}else{qK=Math.floor(qK/52);qH=Gw(qK,"year");}}qH=" ("+qH+" left)";}qr=Gl(Gh,true,qG)+" to "+Gl(qQ,true,qq,true)+qH;}return qr;}function qz(qD){var qW=qD.getLatLng().lat();var qf=qD.qf;var qN=48.82;var qx=59.81;var qn=-9000000;var qM=9000000;var qZ=qM-qn;var qe=16;var qA;if(qf==qe){qA=qM;}else{var qt=(qW-qN)/(qx-qN);var qv=qt*qZ/qe;var qI=qn+qZ*(qf+1)/qe;qA=Math.floor(qI-qv);}return qA;}function qO(ql){var qX=1000;var qC=1609.344;var qi=1.0936133;var qF;if(ql<qX){qF=Gw(Math.round(ql),"metre")+" / ";}else{qF=(ql/qX).toFixed(1)+" km"+" / ";}if(ql<qC){qF+=Gw(Math.round(ql*qi),"yard");}else{qF+=Gw((ql/qC).toFixed(1),"mile");}return qF;}function qB(qm,qb){var qp=(qb?(qm>=0?"N":"S"):(qm>=0?"E":"W"));qm=Math.abs(qm);var qV=Math.floor(qm);var GR=(qm-Math.floor(qm))*60;var GE=((GR-Math.floor(GR))*60).toFixed(2);GR=Math.floor(GR);return qV+"\u00B0"+GR+"'"+GE+'"'+qp;}function qs(Pk){return qB(Pk.lat(),true)+" "+qB(Pk.lng(),false);}function qY(Pk){return Pk.lat().toFixed(6)+"\u00B0, "+Pk.lng().toFixed(6)+"\u00B0";}function qU(){var Gf=rW.getZoom();var qR,qE;if(Gf<=15){qR="images/zoomIn.png";qE="pointer";}else{qR="images/zoomInGrey.png";qE="default";}var qg,qa;if(ra==Gf){qg="images/zoomReturnGrey.png";qa="default";}else{qg="images/zoomReturn.png";qa="pointer";}var qT,qu;if(Gf>=12){qT="images/zoomOut.png";qu="pointer";}else{qT="images/zoomOutGrey.png";qu="default";}rT=Gf;var qy=createElement("span");var qS=createElement("img",{id:"zoomIn",src:qR,width:12,height:12,alt:"Zoom in"});qS.style.position="absolute";qS.style.left="0";qS.style.top="-4px";qS.style.cursor=qE;qS.onclick=function(){RTSITE.toggleZoom(true);};qy.appendChild(qS);qS=createElement("img",{id:"zoomReturn",src:qg,width:12,height:12,alt:"Zoom return"});qS.style.position="absolute";qS.style.left="16px";qS.style.top="-4px";qS.style.cursor=qa;qS.onclick=RTSITE.toggleZoom;qy.appendChild(qS);qS=createElement("img",{id:"zoomOut",src:qT,width:12,height:12,alt:"Zoom out"});qS.style.position="absolute";qS.style.left="32px";qS.style.top="-4px";qS.style.cursor=qu;qS.onclick=function(){RTSITE.toggleZoom(false);};qy.appendChild(qS);return qy;}function qJ(qd){if(qd){if(rp){rp.className="sidebarLink";}qd.className="sidebarLinkSelected";rp=qd;if((rp.offsetTop>w.scrollTop+w.offsetHeight)||(rp.offsetTop+rp.offsetHeight<w.scrollTop)){w.scrollTop=rp.offsetTop-75;}}}function qk(Pk,qw,qL){var qo;var qc=rW.fromLatLngToDivPixel(Pk);var qh=rW.fromLatLngToDivPixel(qw);var KQ=rW.fromLatLngToDivPixel(qL);var Kr=new google.maps.Point(qc.x-qh.x,qc.y-qh.y);var KP=new google.maps.Point(KQ.x-qh.x,KQ.y-qh.y);var Kj=(Kr.x*KP.x)+(Kr.y*KP.y);var KG=(KP.x*KP.x)+(KP.y*KP.y);if(KG){var Kq=Kj/KG;if(Kq<0){qo=new google.maps.Point(qh.x,qh.y);}else if(Kq>1){qo=new google.maps.Point(KQ.x,KQ.y);}else{qo=new google.maps.Point(Math.floor(qh.x+Kq*KP.x),Math.floor(qh.y+Kq*KP.y));}}return qo;}var KK,KH;function Kz(Gf){if(!KK){var KD=rA.getVertexCount();for(var KW in rA){if(rA.hasOwnProperty(KW)){var Kf=rA[KW];if((Kf instanceof Array)&&(Kf.length==KD)){if((typeof Kf[0]=="number")&&(Kf[0]==3)&&(Kf[KD-1]==3)){KK=KW;}else if(Kf[0]instanceof google.maps.LatLng){KH=KW;}}}}}var KN=[0,6,11,15];var Kx=rA[KK];var PS=rA[KH];var Kn=[];rC[Gf]=[];for(var KM=0;KM<Kx.length;KM++){var KZ=Kx[KM];if(Gf>=KN[KZ]){Kn.push(PS[KM]);rC[Gf].push(KM);}}return Kn;}function Ke(PL){var jV=PL.getSouthWest();var js=PL.getNorthEast();var KA=rW.fromLatLngToDivPixel(jV);var Kt=rW.fromLatLngToDivPixel(js);KA.x-=xs;KA.y+=xs;Kt.x+=xs;Kt.y-=xs;jV=rW.fromDivPixelToLatLng(KA);js=rW.fromDivPixelToLatLng(Kt);PL=new google.maps.LatLngBounds(jV,js);}function Kv(KI,KO,Kl,KX){if(KO===undefined){KO=0;Kl=KI.length-1;KX=0;}var KC,Ki;if((KX<7)&&(Kl-KO+1>=16)){var KF=Math.ceil((KO+Kl)/2);KC=Kv(KI,KO,KF,KX+1);Ki=Kv(KI,KF,Kl,KX+1);}var PL=new google.maps.LatLngBounds();if(KC){PL.union(KC.PL);PL.union(Ki.PL);}else{for(var KM=KO;KM<=Kl;KM++){PL.extend(KI[KM]);}Ke(PL);}return{KO:KO,Kl:Kl,PL:PL,KC:KC,Ki:Ki};}function KB(Km,Kb,Kp,KV){var Ks;if(Kp===undefined){Ks=true;Kp=0;KV=Km.length-1;}if(KV>Kp+1){var KY=Kp;var KU=0;var qw=Km[Kp];var qL=Km[KV];for(var KM=Kp+1;KM<KV;KM++){var Pk=Km[KM];var qo=qk(Pk,qw,qL);if(qo){var qc=rW.fromLatLngToDivPixel(Pk);var KR=new google.maps.Point(qc.x-qo.x,qc.y-qo.y);var KE=(KR.x*KR.x)+(KR.y*KR.y);if(KE>KU){KY=KM;KU=KE;}}}if(Ks){Kb.push(qw);}if(KU>C*C){KB(Km,Kb,Kp,KY);Kb.push(Km[KY]);KB(Km,Kb,KY,KV);}if(Ks){Kb.push(qL);}}}function Kg(Ka){var KT=C*C;var KI=[Ka[0]];var Kl=0;var Ku=rW.fromLatLngToDivPixel(Ka[0]);for(var KM=1;KM<Ka.length;KM++){var qc=rW.fromLatLngToDivPixel(Ka[KM]);var KR=new google.maps.Point(qc.x-Ku.x,qc.y-Ku.y);var KE=(KR.x*KR.x)+(KR.y*KR.y);if(KE>=KT){KI.push(Ka[KM]);Kl=KM;Ku=qc;}}if(Kl<Ka.length-1){KI.push(Ka[Ka.length-1]);}var Kb=[];KB(KI,Kb);return Kb;}function Ky(){if(rA){if(!rl){rl=[];rO=[];rX=[];rC=[];}var Ka=rl[F];if(!Ka){Ka=rl[F]=[];for(var KS=0;KS<rA.getVertexCount()-1;KS++){Ka.push(rA.getVertex(KS));}}var Kn=rl[ra];if(!Kn){Kn=rl[ra]=Kz(ra);rX[ra]=Kv(Kn);rO[ra]=Kg(Ka);}}}function KJ(Pk,Kd){var Kk;if(rA&&rr){var KI=(Kd?rl[F]:rO[ra]);for(var KM=0;KM<KI.length-1;KM++){var qw=KI[KM];var qL=KI[KM+1];var qo=qk(Pk,qw,qL);if(qo){var Kw=rW.fromDivPixelToLatLng(qo).distanceFrom(Pk);if(Kk===undefined){Kk=Kw;}else{Kk=Math.min(Kk,Kw);}}}}else{Kk=Pk.distanceFrom(rI[0].Pk);}return Kk;}function KL(Ko){var Kc=(Ko.Kh?"T":Ko.jo);var HQ;if(Ko.Hr){HQ=(Ko.jo==5?"extreme":rq[Ko.Hr-1]);}else{HQ="";}return "images/markers/marker"+Kc+HQ+".png";}function HP(Ko){var Hj=',points:"';var HG=',levels:"';var Hq=",numLevels:";var HK=",zoomFactor:";var HH;var Hz=google.maps.XmlHttp.create();var HD;for(var HW in Ko.Hf){if(HD){HD+=" to:"+Ko.Hf[HW].Pk.toUrlValue();}else{HD="from:"+Ko.Hf[HW].Pk.toUrlValue();}}Hz.open("GET",Y+encodeURIComponent(R+HD.replace(" ","+")),false);Hz.send(null);if(Hz.readyState==M){var HN=Hz.responseText;var Pb=HN.indexOf(Hj);if(Pb!=-1){Pb+=Hj.length;var PV=HN.indexOf('"',Pb);var Hx=HN.substring(Pb,PV).replace(/\\\\/g,"\\");Pb=HN.indexOf(HG,PV)+HG.length;PV=HN.indexOf('"',Pb);var Hn=HN.substring(Pb,PV);Pb=HN.indexOf(Hq,PV)+Hq.length;PV=HN.indexOf(",",Pb);var HM=Number(HN.substring(Pb,PV));Pb=HN.indexOf(HK,PV)+HK.length;PV=HN.indexOf("}",Pb);var HZ=Number(HN.substring(Pb,PV));var He=rG[(Ko.Kh?6:Ko.jo)];var HA={color:He,weight:5,opacity:0.7,points:Hx,levels:Hn,numLevels:HM,zoomFactor:HZ};HH={Ht:new google.maps.Polyline.fromEncoded(HA,{clickable:false}),Hx:Hx,Hn:Hn,HM:HM,HZ:HZ};}}return HH;}function Hv(HI,HW){var Ko=rV[HI];var HO=Ko.Hf[HW];var Hl=HO.HX+"; "+HO.HC;var Hi=KL(Ko);var HF=new google.maps.Icon(G_DEFAULT_ICON,Hi);HF.printImage=HF.mozPrintImage=HF.image;HF.printShadow=HF.shadow;var HB={icon:HF,title:Hl,draggable:Ko.Hm,zIndexProcess:qz};var qD=new google.maps.Marker(HO.Pk,HB);qD.HI=Ko.Hb;qD.qf=(Ko.Kh?b:p+Ko.jo);google.maps.Event.addListener(qD,"click",function(Hp){if(!Hp&&(qD==rb)){rW.closeInfoWindow();}else{var HV=0;if(rb&&(rb.HI==qD.HI)){HV=rW.getInfoWindow().getSelectedTab();}var Kw=KJ(HO.Pk,true);var Hs=createElement("div",{className:"infoWindow"});Hs.appendChild(qU());Hs.appendChild(Ko.HY);var HU=createElement("div",{className:"infoWindow"});HU.appendChild(HO.HR);HU.appendChild(createElement("p",{className:"subtext",text:qO(Kw)}));var HE=createElement("p",{className:"subtext",text:qY(HO.Pk)});Pn(HE);PK(HE,qs(HO.Pk));HU.appendChild(HE);var Hg=[new google.maps.InfoWindowTab("Incident",Hs),new google.maps.InfoWindowTab("Location",HU)];qD.openInfoWindowTabs(Hg,{Ha:HV,maxWidth:350});rb=qD;var HT=Pa("message"+Ko.Hb);qJ(HT);}});google.maps.Event.addListener(qD,"dragend",function(Hu){if(Hu.distanceFrom(HO.Pk)<200){rW.removeOverlay(Ko.PA);HO.Pk=Hu;var HH=HP(Ko);Ko.PA=HH.Ht;rW.addOverlay(Ko.PA);var Hy=HH.Hx+","+HH.Hn+","+HH.HM+","+HH.HZ;var HS=PP+"overlay.php"+"?messageID="+HI+"&polyline="+encodeURIComponent(Hy)+"&pinID="+HW+"&lat="+Hu.lat()+"&lng="+Hu.lng();google.maps.DownloadUrl(HS,function(Pz,HJ){if(Pz){alert("Failed to update overlay\n\nResponse Code: "+HJ+"\n"+Pz);}});}else{qD.setLatLng(HO.Pk);alert("Route markers can only be dragged within 200 metres of their original position.");}});google.maps.Event.addListener(qD,"infowindowclose",function(){if(qD==rb){rb=null;}});return qD;}function Hd(Hk){if(w){var Hw=createElement("div",{id:"message"+Hk.HI,className:"sidebarLink"});Hw.onclick=function(){if(rp){rp.className="sidebarLink";}this.className="sidebarLinkSelected";setViewport(Hk.PL,false,true);for(var HW in rV[Hk.HI].Hf){google.maps.Event.trigger(rV[Hk.HI].Hf[HW].qD,"click",true);break;}rp=this;};var Kc=(rV[Hk.HI].Kh?"T":Hk.jo);var qS=createElement("img",{src:"images/severity"+Kc+".gif",alt:""});Hw.appendChild(qS);PK(Hw," "+Hk.Pv);w.appendChild(Hw);}}function HL(){if(w){var Ho=w.cloneNode(false);w.parentNode.replaceChild(Ho,w);w=Ho;}}function Hc(Ko){var Kw=KJ(Ko.Hh.getCenter());if(Ko.Hm){for(var HW in Ko.Hf){var zQ=KJ(Ko.Hf[HW].Pk);Kw=Math.min(Kw,zQ);}}return Kw;}function zr(zP){var zj;if(rp){zj=rp.id;}HL();if(zP){rl=rX=rC=null;}Ky();var zG=false;for(var Ko in rV){zG=true;break;}if(zG){var zq=[];var Kw;for(var HI in rV){Ko=rV[HI];if(rA&&rr){if(zP||(Ko.zK===null)){Kw=Hc(Ko);Ko.zK=Kw;Ko.zH=null;}}else{if(zP||(Ko.zH===null)){Kw=Hc(Ko);Ko.zH=Kw;Ko.zK=null;}}zq.push({HI:Ko.Hb,PL:Ko.Hh,Pv:Ko.zz,jo:Ko.jo,Kw:Kw,Kh:Ko.Kh});}zq.sort(function(zD,zW){var zf;if(zD.Kh^zW.Kh){zf=(zW.Kh?-1:1);}else if(zD.Kw>zW.Kw){zf=1;}else if(zD.Kw==zW.Kw){zf=0;}else{zf=-1;}return zf;});for(var zN=0;zN<zq.length;zN++){Hd(zq[zN]);}if(zj){var zx=Pa(zj);if(zx){qJ(zx);}}if(!Pq&&(rV.length>0)&&((rr&&rA)||!rr)){if(zq[0].Kw<500){HI=zq[0].HI;var zn,HO,zM=-1;for(var HW in rV[HI].Hf){HO=rV[HI].Hf[HW];Kw=KJ(HO.Pk,true);if((zM==-1)||(Kw<zM)){zn=HO.qD;zM=Kw;}}window.setTimeout(function(){google.maps.Event.trigger(zn,"click",true);},1000);}Pq=true;}}else if(PG){if(w){var zZ=createElement("div",{text:"No incidents found matching chosen region and viewport."});zZ.style.paddingTop="3px";w.appendChild(zZ);}}}function ze(zA){var zt;if(rp){zt=rp.id;}HL();for(var HI in rV){rV[HI].zv=false;}if(rb){rV[rb.HI].zI=true;}var Ko,HO,HW;if(zA){var zO=new Date();zO.setTime(zO.getTime()-(Pr*xp));var zl=zA.firstChild;while(zl){var zX=zl.getAttribute("time");var zC=zl.getAttribute("start");var zi=zl.getAttribute("stop");var Kh=(zl.getAttribute("inactive")!==null);var zF=jY(zX);var zB=jY(zC);var zm=jY(zi);var zb=parseInt(zl.getAttribute("severity"),10);var zp=zl.getAttribute("version");var zV=(zp==255)||(zm<zO);HI=parseInt(zl.getAttribute("id"),10);var zs=parseInt(zl.getAttribute("typeID"),10);var zz=zl.getAttribute("summary");var zY;var Kc;switch(zb){case 5:Kc="extreme";break;case 4:Kc="severe";break;case 3:Kc="major";break;case 2:Kc="minor";break;case 1:Kc="slight";break;default:Kc="unknown";}zY=createElement("span",{className:Kc,text:Kc});var jo=(zV?0:zb);var zU=null,zR=null,zE=true;if(zz.indexOf("northbound")!=-1){zU="\u25B2";}else if(zz.indexOf("southbound")!=-1){zU="\u25BC";zE=false;}else if(zz.indexOf("westbound")!=-1){zU="\u25C4";}else if(zz.indexOf("eastbound")!=-1){zU="\u25BA";zE=false;}if(zU){zR=createElement("span",{className:Kc,text:zU});}var zg=createElement("span");if(zV){zg.appendChild(createElement("span",{className:"cleared",text:"cleared"}));PK(zg," ");}var za=zl.getAttribute("messages");if(za){var zT=createElement("strong",{text:za+" ["});if(zR&&zE){zT.appendChild(zR);}zT.appendChild(zY);if(zR&&!zE){zT.appendChild(zR);}PK(zT,"]");Pn(zT);zg.appendChild(zT);}else{PK(zg,"[");if(zR&&zE){zg.appendChild(zR);}zg.appendChild(zY);if(zR&&!zE){zg.appendChild(zR);}PK(zg,"] ");}var qp=zl.getAttribute("direction");var zu=createElement("p");zu.appendChild(zg);PK(zu,zz);var HY=createElement("div");HY.appendChild(zu);var zy=createElement("p",{className:"subtext",text:Gc(zB,zm)});if(zF>=zB){Pn(zy);PK(zy,"Last event: "+Gl(zF,true,true));}HY.appendChild(zy);var zS=0;Ko=rV[HI];if(Ko){Ko.HY=HY;Ko.zz=zz;Ko.jo=jo;Ko.Hr=zs;Ko.qp=qp;Ko.Kh=Kh;Ko.zv=true;for(HW in Ko.Hf){HO=Ko.Hf[HW];HO.zv=false;zS+=HO.Pk.lat()+HO.Pk.lng();}}else{Ko=rV[HI]={Hb:HI,Hr:zs,HY:HY,zz:zz,jo:jo,qp:qp,Hf:[],Hh:null,zK:null,zH:null,PA:null,Kh:Kh,zv:true};}var PS=[];var Hf=[];Ko.Hh=new google.maps.LatLngBounds();var zJ=zl.firstChild;while(zJ){HW=Number(zJ.getAttribute("id"));var jP=parseFloat(zJ.getAttribute("lat"));var jj=parseFloat(zJ.getAttribute("lng"));var Pk=new google.maps.LatLng(jP,jj);PS.push(Pk);Ko.Hh.extend(Pk);var HX=zJ.getAttribute("road");var HC=zJ.getAttribute("townCity");var zd=zJ.getAttribute("junction");HO={Pk:Pk,HX:HX,HC:HC,zd:zd};Hf[HW]=HO;zJ=zJ.nextSibling;}Ko.Hm=(PS.length>1);var zk=0;var zw;for(HW in Hf){HO=Hf[HW];var HR=createElement("p",{text:HO.HX});if(HO.HC==HO.zd){Pn(HR);PK(HR,qp+" at "+HO.HC);}else{PK(HR,"; "+HO.HC);Pn(HR);PK(HR,qp+" at junction with "+HO.zd);}zw=Ko.Hf[HW];if(zw){zw.HX=HO.HX;zw.HC=HO.HC;zw.HR=HR;zw.zv=true;var Hi=KL(Ko);zw.qD.setImage(Hi);}else{zw=Ko.Hf[HW]={Pk:HO.Pk,HX:HO.HX,HC:HO.HC,HR:HR,qD:null,zv:true,zL:true};zw.qD=Hv(HI,HW);}zk+=zw.Pk.lat()+zw.Pk.lng();}if(Ko.Hm){var He=rG[(Kh?6:jo)];var zo=true;if(Ko.PA){if(zS!=zk){rW.removeOverlay(Ko.PA);}else{zo=false;if(Ko.PA.color!=He){Ko.PA.color=He;Ko.PA.redraw();}}}if(zo){var Hy=zl.getAttribute("polyline");if(Hy){var zc=Hy.split(",");var HA={color:He,weight:5,opacity:0.7,points:zc[0],levels:zc[1],numLevels:parseInt(zc[2],10),zoomFactor:parseInt(zc[3],10)};Ko.PA=google.maps.Polyline.fromEncoded(HA,{clickable:false});Ko.zh=true;}}}else{if(Ko.PA){rW.removeOverlay(Ko.PA);Ko.PA=null;}}if(!Ko.zI){for(HW in Ko.Hf){zw=Ko.Hf[HW];if(!zw.zv){var qD=zw.qD;rW.removeOverlay(qD);delete rV[HI].Hf[HW];}}}zl=zl.nextSibling;}}for(var Hb in rV){Ko=rV[Hb];if(Ko.zI){delete Ko.zI;}else if(!Ko.zv){for(HW in Ko.Hf){HO=Ko.Hf[HW];rW.removeOverlay(HO.qD);}if(Ko.PA){rW.removeOverlay(Ko.PA);}delete rV[Hb];}}}function DQ(Gt){var qy=createElement("span");qy.style.paddingRight=Gt+"ex";return qy;}function Dr(Pk,DP,Dj,PW){var HF=new google.maps.Icon(G_DEFAULT_ICON,"images/fuelbrands/"+encodeURIComponent(Dj.toLowerCase())+".png");HF.printImage=HF.mozPrintImage=HF.image;HF.shadow=HF.printShadow=null;HF.iconSize=new google.maps.Size(20,20);HF.iconAnchor=new google.maps.Point(11,11);HF.DG=new google.maps.Point(11,11);var HB={icon:HF,title:PW,zIndexProcess:qz};var qD=new google.maps.Marker(Pk,HB);qD.qf=m;google.maps.Event.addListener(qD,"click",function(){var Dq=createElement("div");Dq.appendChild(qU());Dq.appendChild(DP);qD.openInfoWindow(Dq);});return qD;}function DK(DH){for(var Hb in rs){rs[Hb].zv=false;}var Dz;if(DH){var DD=DH.firstChild;do{Hb=parseInt(DD.getAttribute("id"),10);Dz=rs[Hb];if(Dz){Dz.zv=true;}else{var DW=parseInt(DD.getAttribute("brandID"),10);var Dj=rz[DW];var jP=parseFloat(DD.getAttribute("lat"));var jj=parseFloat(DD.getAttribute("lng"));var Pk=new google.maps.LatLng(jP,jj);var PW=DD.getAttribute("name");var Pw=DD.getAttribute("address");var HC=DD.getAttribute("townCity");var Df=DD.getAttribute("county");var DN=DD.getAttribute("postcode");var DP=createElement("div",{className:"fuelStation"});var Dx=createElement("p");var Dn=PW;if((DW>0)&&!new RegExp(Dj.replace(" ","|"),"i").test(PW)){Dn=Dj+" "+Dn;}var DM=createElement("strong",{text:Dn});Dx.appendChild(DM);Pn(Dx);var DZ=0;var GG=Pw.split(", ");for(var De=0;De<GG.length;De++){Dx.appendChild(DQ(++DZ));PK(Dx,GG[De]+",");Pn(Dx);}Dx.appendChild(DQ(++DZ));PK(Dx,HC+",");Pn(Dx);Dx.appendChild(DQ(++DZ));PK(Dx,Df+",");Pn(Dx);Dx.appendChild(DQ(++DZ));PK(Dx,DN+".");DP.appendChild(Dx);var DA=DD.firstChild;if(DA){var Dt=createElement("p",{className:"subtext"});do{var Dv=DA.getAttribute("typeID");var DI=rD[Dv-1];var DO=DA.getAttribute("price");var Dl=jY(DA.getAttribute("update"));if(DA.previousSibling){Pn(Dt);}PK(Dt,DI+": "+DO+"p ("+Gl(Dl,true,false,true)+")");DA=DA.nextSibling;}while(DA);DP.appendChild(Dt);}Dz={Hb:Hb,qD:null,zv:true,zL:true};Dz.qD=Dr(Pk,DP,Dj,PW);rs[Hb]=Dz;}DD=DD.nextSibling;}while(DD);}for(Hb in rs){Dz=rs[Hb];if(!Dz.zv){rW.removeOverlay(Dz.qD);delete rs[Hb];}}}function DX(Pk,DC,Hl,DP){var HQ=DC.toLowerCase();if(HQ=="mobile?"){HQ="pmobile";}if(HQ.substr(0,10)=="temporary "){HQ="t"+HQ.substr(10);}var HF=new google.maps.Icon(G_DEFAULT_ICON,"images/cameras/"+HQ+".png");HF.printImage=HF.mozPrintImage=HF.image;HF.shadow=HF.printShadow=null;HF.iconSize=new google.maps.Size(18,16);HF.iconAnchor=new google.maps.Point(10,9);HF.DG=new google.maps.Point(10,9);var HB={icon:HF,title:Hl,zIndexProcess:qz};var qD=new google.maps.Marker(Pk,HB);qD.qf=B;google.maps.Event.addListener(qD,"click",function(){var Dq=createElement("div");Dq.appendChild(qU());Dq.appendChild(DP);qD.openInfoWindow(Dq);});return qD;}function Di(DF){for(var Hb in rU){rU[Hb].zv=false;}var DB;if(DF){var Dm=DF.firstChild;do{Hb=parseInt(Dm.getAttribute("id"),10);DB=rU[Hb];if(DB){DB.zv=true;}else{var Hr=Dm.getAttribute("typeID");var DC=rK[Hr-1];var jP=Dm.getAttribute("lat");var jj=Dm.getAttribute("lng");var Pk=new google.maps.LatLng(jP,jj);var Db=Dm.getAttribute("limit");var Hl=(Db?Db+"mph "+DC:DC);var Dp=(Db?Db+"mph":(Hr==3?"Red Light":"unknown"));var DP=createElement("div",{className:"speedCamera"});DP.appendChild(createElement("p",{className:"speedLimit",text:Dp}));var DV=createElement("p",{className:"subtext",text:"Camera type: "+DC});Pn(DV);PK(DV,"Reference: "+Hb);DP.appendChild(DV);DB={Hb:Hb,qD:null,zv:true,zL:true};DB.qD=DX(Pk,DC,Hl,DP);rU[Hb]=DB;}Dm=Dm.nextSibling;}while(Dm);}for(Hb in rU){DB=rU[Hb];if(!DB.zv){rW.removeOverlay(DB.qD);delete rU[Hb];}}}function Ds(DY){var DC=rH[DY.Hr-1];var HF=new google.maps.Icon(G_DEFAULT_ICON,"images/parking/"+DC+".png");HF.printImage=HF.mozPrintImage=HF.image;HF.shadow=HF.printShadow=null;HF.iconSize=new google.maps.Size(20,20);HF.iconAnchor=new google.maps.Point(11,11);HF.DG=new google.maps.Point(11,11);var HB={icon:HF,title:DY.Hl,zIndexProcess:qz};var qD=new google.maps.Marker(DY.Pk,HB);qD.qf=DY.Hr-1;google.maps.Event.addListener(qD,"click",function(){var DU=createElement("div");DU.appendChild(qU(true));var DP=createElement("div",{className:"carPark"});var Dx=createElement("p");var DM=createElement("strong",{text:DY.Hl});var DC;switch(DY.Hr){case 1:case 2:DC="pay & display";break;case 3:DC="underground";break;case 4:DC="multi-storey";break;case 5:DC="park & ride";break;case 6:DC="below-ground multi-storey";}PK(DM," "+DC);Dx.appendChild(DM);DP.appendChild(Dx);if(DY.DZ!==null){var DR=PP+"history.php?carparkID="+DY.Hb+"&capacity="+DY.DE+"&time="+Pr+"&rnd="+new Date().getTime();var qS=createElement("img",{src:DR,width:194,height:91,alt:"24-hour occupancy graph",title:"24-hour occupancy history"});qS.style.marginTop="2px";qS.style.position="relative";qS.style.left="-12px";Dx=createElement("p");Dx.appendChild(qS);DP.appendChild(Dx);}Dx=createElement("p");var DE=DY.DE;var Dg;if(DY.DZ!==null){var DZ=(DY.Da?0:DY.DZ);PK(Dx,GQ(DZ)+(DZ==1?" space":" spaces")+" at "+Gl(DY.DT,true,true));Pn(Dx);Dg=GQ(DE)+" capacity is ";if(DY.Da){Dg+="Closed";}else if(!DZ){Dg+="Full";}else if(DZ<DE){var Du=Math.round(100*(1-DZ/DE));if(Du=="0"){Du="<1";}Dg+=Du+"% full";}else{Dg+="Empty";}}else if(DE){Dg=GQ(DE)+" vehicles capacity";}else{Dg="Unknown vehicle capacity";}PK(Dx,Dg);DP.appendChild(Dx);if(DY.Dy||DY.DS){Dx=createElement("p",{className:"subtext"});if(DY.Dy){PK(Dx,"Access via "+DY.Dy);}if(DY.Dy&&DY.DS){Pn(Dx);PK(Dx,"("+DY.DS+")");}else if(DY.DS){PK(Dx,DY.DS);}DP.appendChild(Dx);}DU.appendChild(DP);qD.openInfoWindow(DU,{maxWidth:200});});return qD;}function DJ(Dd){for(var Hb in rY){rY[Hb].zv=false;}var DY;if(Dd){var Dk=Dd.firstChild;do{Hb=parseInt(Dk.getAttribute("id"),10);DY=rY[Hb];if(DY){DY.zv=true;}else{var Hr=parseInt(Dk.getAttribute("typeID"),10);var jP=parseFloat(Dk.getAttribute("lat"));var jj=parseFloat(Dk.getAttribute("lng"));var Pk=new google.maps.LatLng(jP,jj);var Hl=Dk.getAttribute("title")||Dk.getAttribute("ref");var DE=parseInt(Dk.getAttribute("capacity"),10);var Dy=Dk.getAttribute("access");var DS=Dk.getAttribute("restrictions");DY=rY[Hb]={Hb:Hb,Hl:Hl,Hr:Hr,Pk:Pk,DE:DE,Dy:Dy,DS:DS,DZ:null,DT:null,qD:null,zv:true,zL:true};DY.qD=Ds(DY);}DY.DZ=Dk.getAttribute("spaces");DY.Da=(Dk.getAttribute("closed")=="1");var Dw=Dk.getAttribute("updatetime");DY.DT=(Dw?jY(Dw):null);Dk=Dk.nextSibling;}while(Dk);}for(Hb in rY){DY=rY[Hb];if(!DY.zv){rW.removeOverlay(DY.qD);delete rY[Hb];}}}function DL(Ga){var PL;var Gf=parseInt(PB(rR+"ZoomLevel"),10);if(!isNaN(Gf)){var Do=parseFloat(PB(rR+"Latitude"));var Dc=parseFloat(PB(rR+"Longitude"));PL={GW:new google.maps.LatLng(Do,Dc),Gf:Gf};}else{PL=Ga.PL;}setViewport(PL,true);}function Dh(){for(var Hb in rV){var Ko=rV[Hb];for(var HW in Ko.Hf){var HO=Ko.Hf[HW];if(HO.zL){rW.addOverlay(HO.qD);HO.zL=false;}}if(Ko.zh){rW.addOverlay(Ko.PA);Ko.zh=false;}}for(Hb in rY){var DY=rY[Hb];if(DY.zL){rW.addOverlay(DY.qD);DY.zL=false;}}for(Hb in rs){var Dz=rs[Hb];if(Dz.zL){rW.addOverlay(Dz.qD);Dz.zL=false;}}for(Hb in rU){var DB=rU[Hb];if(DB.zL){rW.addOverlay(DB.qD);DB.zL=false;}}}var WQ,Wr,WP;WQ=function(){rS=window.clearTimeout(rS);var PL=rW.getBounds();var jV=PL.getSouthWest();var js=PL.getNorthEast();var Wj=(!rN||!PL.equals(rN));var WG=0;if(rk&&(Wj||(ro===true))){WG=1;}if(rw&&(Wj||(rc===true))){WG|=2;}PQ++;var Wq=PP+"feed.php"+"?feedID="+rR+"&minLat="+jV.lat()+"&maxLat="+js.lat()+"&minLng="+jV.lng()+"&maxLng="+js.lng()+"&zoom="+ra+"&time="+Pr+"&flags="+WG+"&requestID="+PQ;google.maps.DownloadUrl(Wq,Wr);};WP=function(WK,WH){if(ru){ru=window.clearTimeout(ru);}if(ry&&WH){jv();}if(xY){xY.disabled=true;xY.value="Loading";}if(!g||WK||WH){rL=false;}else{var Wz=jZ();var WD=je();var WW=jA();var Wf=jt();re.Pt("Refreshing feed, please wait...");HL();var DP=createElement("div",{text:"Loading incident data..."});DP.style.paddingTop="3px";w.appendChild(DP);PO(rR+"ZoomLevel",ra);PO(rR+"Latitude",rg.lat());PO(rR+"Longitude",rg.lng());rL=(Wz!=rR);ro=(rk==WW?null:WW);rc=(rw==Wf?null:Wf);rR=Wz;rE=WD;rk=WW;rw=Wf;}if(rS){window.clearTimeout(rS);}else{jf(true);}rS=window.setTimeout(WQ,t);};Wr=function(WN,HJ){PG=true;if((HJ!=xb)&&(HJ!=n)){alert("Failed to load feed XML\n\nResponse Code: "+HJ+"\n"+WN);}else{var Pb=WN.indexOf('requestID="');if(Pb!=-1){Pb+=11;var Wx=WN.indexOf('"',Pb);var Wn=parseInt(WN.substring(Pb,Wx),10);if(Wn==PQ){var WM=google.maps.Xml.parse(WN);var WZ=WM.documentElement;if(!WZ){alert("Unable to parse feed XML.");}else{var jJ=WZ.firstChild;var Ga=jS(jJ);Gg(Ga);var jF=jJ.nextSibling;var zA;if(jF&&(jF.nodeName=="messages")){zA=jF;jF=jF.nextSibling;}ze(zA);var DH;if(jF&&(jF.nodeName=="stations")){DH=jF;jF=jF.nextSibling;}var Wj=(!rN||!rW.getBounds().equals(rN));if(Wj||(ro!==null)){DK(DH);}var DF;if(jF&&(jF.nodeName=="cameras")){DF=jF;jF=jF.nextSibling;}if(Wj||(rc!==null)){Di(DF);}rN=rW.getBounds();var Dd;if(jF&&(jF.nodeName=="carparks")){Dd=jF;}DJ(Dd);if(rL){DL(Ga);}Dh();zr();}}}}if(xY){xY.value="Update";}jf();re.xU();ru=window.setTimeout(function(){WP(true);},xp);};function We(){var WA=new Date();if(Pr){WA.setMinutes(WA.getMinutes()-Pr);}var Wt=WA.getHours();var Wv=WA.getMinutes();if(Wt<10){Wt="0"+Wt;}if(Wv<10){Wv="0"+Wv;}var WI=Wt+":"+Wv;var WO=Pa("feedTime");PD(WO);PK(WO,WI);WA=new Date();var Wl=(59-WA.getSeconds())*1000+(1000-WA.getMilliseconds());rJ=window.setTimeout(We,Wl);}function WX(){rd=function(){};rd.prototype=new google.maps.Control();rd.prototype.initialize=function(WC){var Dq=createElement("div");Dq.style.backgroundImage="url(images/alphaBackground.png)";Dq.style.padding="1px 3px 3px 2px";var Wi=createElement("img",{src:"images/clock.png",width:"19",height:"19",title:"Change feed time"});Wi.style.verticalAlign="middle";Wi.style.paddingRight="4px";Wi.style.cursor="pointer";var DP=createElement("div",{id:"feedTime",title:"Traffic feed time"});DP.style.cursor="default";DP.style.display="inline";var WF=createElement("input",{id:"feedText",type:"text",maxLength:5});WF.style.width="2.4em";WF.style.border="none";WF.style.display="none";WF.style.margin="0";WF.style.padding="0";var WB=createElement("img",{src:"images/clockCancel.png",width:"19",height:"19"});WB.style.verticalAlign="middle";WB.style.paddingLeft="4px";WB.style.cursor="pointer";WB.title="Use live feed";WB.style.display="none";google.maps.Event.addDomListener(WF,"keydown",function(Wm){var Wb=(Wm.keyCode?Wm.keyCode:(Wm.Wp?Wm.Wp:Wm.WV));if((Wb<35)||(Wb>36)){if(window.event){Wm.returnValue=false;}else{Wm.preventDefault();}Wm.cancelBubble=true;}if(Wb==O){google.maps.Event.trigger(Wi,"click");}else if(Wb==xV){google.maps.Event.trigger(WB,"click");}else{var Pz=WF.value;var Ws=0;var WY;if(WF.createTextRange){WY=document.selection.createRange().duplicate();WY.moveEnd("character",Pz.length);if(WY.text){Ws=Pz.lastIndexOf(WY.text);}else{Ws=Pz.length;}WY=null;}else{Ws=WF.selectionStart;}switch(Wb){case 8:if(Ws){Ws=(Ws==3?1:Ws-1);Pz=Pz.substr(0,Ws)+"0"+Pz.substr(Ws+1);}break;case 46:if(Ws<Pz.length){Pz=Pz.substr(0,Ws)+"0"+Pz.substr(Ws+1);Ws=(Ws==1?3:Ws+1);}break;default:if(Wb==37){Ws=(Ws==3?1:Ws-1);}else if(Wb==39){if(Ws==1){Ws=3;}else if(Ws<Pz.length){Ws++;}}else if(Wb<35||Wb>36){if(Ws==2){Ws=3;}}var WU=(Wb<37||Wb>40);if(Wb==38){Wb=(parseInt(Pz.substr(Ws,1),10)+1)%10;if(!Ws&&(Wb==3)){Wb=0;}if((Ws==1)&&(Wb==4)&&(Pz.substr(0,1)=="2")){Wb=0;}if((Ws==3)&&(Wb==6)){Wb=0;}}else if(Wb==40){Wb=(parseInt(Pz.substr(Ws,1),10)+9)%10;if(Wb==9){if(!Ws){Wb=2;}if((Ws==1)&&(Pz.substr(0,1)=="2")){Wb=3;}if(Ws==3){Wb=5;}}}else if(Wb>=96&&Wb<=105){Wb-=96;}else{Wb-=48;}if((Wb>=0)&&(Wb<=9)){if(!Ws){if(Wb>2){Wb=null;}else{if((Wb==2)&&(Pz.substr(1,1)>3)){Pz="00:"+Pz.substr(3);}}}if((Ws==1)&&(Wb>3)&&(Pz.substr(0,1)=="2")){Wb=null;}if((Ws==3)&&(Wb>5)){Wb=null;}if(Ws==Pz.length){Wb=null;}if(Wb!==null){Wb+=48;Pz=Pz.substr(0,Ws)+String.fromCharCode(Wb)+Pz.substr(Ws+1);if(WU){if(Ws==1){Ws=3;}else if(Ws<Pz.length){Ws++;}}}}else{Wb=null;}}WF.value=Pz;if(WF.createTextRange){WY=WF.createTextRange();WY.moveStart("character",Ws);WY.moveEnd("character",Ws-Pz.length);WY.select();}else{WF.setSelectionRange(Ws,Ws);}}});google.maps.Event.addDomListener(Wi,"click",function(){if(DP.style.display=="inline"){WF.value=DP.textContent||DP.innerText;DP.style.display="none";WF.style.display="inline";WB.style.display="inline";WF.focus();if(WF.createTextRange){var WY=WF.createTextRange();WY.collapse();WY.select();}else{WF.setSelectionRange(0,0);}}else{var WI=WF.value;PD(DP);PK(DP,WI);var WR=new Date();WR.setHours(WI.substr(0,2));WR.setMinutes(WI.substr(3));WR.setSeconds(0);WR.setMilliseconds(0);var WA=new Date();WA.setSeconds(0);WA.setMilliseconds(0);if(WR>WA){WR.setDate(WR.getDate()-1);}Pr=(WA.getTime()-WR.getTime())/xp;window.focus();if(!Pr){rM.show();WB.style.display="none";}if(rM){if(Pr){rM.hide();}else{rM.show();}}WF.style.display="none";DP.style.display="inline";WP(true);}});google.maps.Event.addDomListener(DP,"click",function(){google.maps.Event.trigger(Wi,"click");});google.maps.Event.addDomListener(WB,"click",function(){Pr=0;if(rM){rM.show();}window.clearTimeout(rJ);We();window.focus();WF.style.display="none";DP.style.display="inline";WB.style.display="none";WP(true);});Dq.appendChild(Wi);Dq.appendChild(DP);Dq.appendChild(WF);Dq.appendChild(WB);WC.getContainer().appendChild(Dq);We();return Dq;};rd.prototype.getDefaultPosition=function(){return new google.maps.ControlPosition(G_ANCHOR_TOP_RIGHT,new google.maps.Size(7,30));};}function WE(){if(rW){rW.checkResize();rW.setCenter(rg);}}function Wg(){if(rp){rp.className="sidebarLink";rp=null;}}function Wa(WT){var GU=Math.floor(WT/3600);WT-=GU*3600;var GR=Math.floor(WT/60);WT-=GR*60;var GE=WT;var Wu="";if(GU>0){Wu=Gw(GU,"hour")+" ";}if(GR>0){Wu+=Gw(GR,"minute");}if(!GU||!GR){Wu+=" "+Gw(GE,"second");}return Wu;}function Wy(WS){var WJ=new google.maps.Directions();google.maps.Event.addListener(WJ,"load",function(){rA=WJ.getPolyline();if(WS){rA.hide();}rW.addOverlay(rA);for(var Wd=0;Wd<WJ.getNumGeocodes();Wd++){rI[Wd].Pw=WJ.getGeocode(Wd).address;}for(var Wk=0;Wk<WJ.getNumRoutes();Wk++){var Ww=WJ.getRoute(Wk);rI[Wk].KM=Ww.getStep(0).getPolylineIndex();}rI[rI.length-1].KM=rA.getVertexCount()-1;rt=qO(WJ.getDistance().meters);rv=Wa(WJ.getDuration().seconds);zr(true);});google.maps.Event.addListener(WJ,"error",function(){var WL=WJ.getStatus();alert("Error code: "+WL.code+"\nRequest: "+WL.request);});var Wo=[];for(var Wc=0;Wc<rI.length;Wc++){Wo.push(rI[Wc].Pk.toUrlValue());}if(Wo.length>1){var HB={locale:"en_GB",getPolyline:true};WJ.loadFromWaypoints(Wo,HB);}}function Wh(){if(rI.length>1){if(rr){if(rA){rW.removeOverlay(rA);}Wy();}else{if(rA){rW.removeOverlay(rA);rA=null;}zr(true);}}else{zr(true);}}function fQ(){var fr;if(rI.length>1){fr=qY(rI[0].Pk);for(var Wc=1;Wc<rI.length;Wc++){fr+=" > "+qY(rI[Wc].Pk);}}else{fr=X;}if(c){c.value=fr;}return fr;}function fP(){var Hl="Your current location";var HF=new google.maps.Icon(G_DEFAULT_ICON,"images/home.png");HF.printImage=HF.mozPrintImage=HF.image;HF.iconSize=new google.maps.Size(24,27);HF.shadow=HF.printShadow="images/homeShadow.png";HF.shadowSize=new google.maps.Size(31,27);HF.iconAnchor=new google.maps.Point(12,24);HF.DG=new google.maps.Point(12,3);HF.transparent="images/homeTrans.png";var HB={icon:HF,title:Hl,draggable:true,bouncy:true,zIndexProcess:qz};var qD=(rI[0].qD=new google.maps.Marker(rI[0].Pk,HB));qD.qf=s;google.maps.Event.addListener(qD,"click",function(){Wg();var Pk=qD.getLatLng();var DP=createElement("div",{className:"infoWindow"});DP.appendChild(createElement("p",{text:rI[0].Pw||Hl}));var fj=createElement("p",{className:"subtext",text:qY(Pk)});Pn(fj);PK(fj,qs(Pk));DP.appendChild(fj);var Dq=createElement("div");Dq.appendChild(qU());Dq.appendChild(DP);qD.openInfoWindow(Dq,{maxWidth:200});});google.maps.Event.addListener(qD,"dragend",function(){rI[0].Pk=qD.getLatLng();rI[0].Pw=null;rm=fQ();Wh();});rW.addOverlay(qD);}function fG(Pd){var Hl,fq="images/route";if(Pd==rI.length-1){Hl="The end of your route";fq+="Stop.png";}else if(Pd){Hl="A waypoint on your route";fq+="Pause.png";}else{Hl="The start of your route";fq+="Start.png";}var HF=new google.maps.Icon(G_DEFAULT_ICON,fq);HF.iconSize=new google.maps.Size(20,34);HF.printImage=HF.mozPrintImage=HF.image;HF.printShadow=HF.shadow;var HB={icon:HF,title:Hl,draggable:true,bouncy:true,zIndexProcess:qz};var qD=(rI[Pd].qD=new google.maps.Marker(rI[Pd].Pk,HB));qD.qf=V;qD.Pd=Pd;google.maps.Event.addListener(qD,"click",function(){var Pd=qD.Pd;Wg();var Pz=(rI[Pd].Pw||Hl);var Pk=qD.getLatLng();var DP=createElement("div",{className:"infoWindow"});DP.appendChild(createElement("p",{text:Pz}));if((Pd==rI.length-1)&&rv){var fK=createElement("p",{text:rt});Pn(fK);PK(fK,rv);DP.appendChild(fK);}var fj=createElement("p",{className:"subtext",text:qY(Pk)});Pn(fj);PK(fj,qs(Pk));DP.appendChild(fj);var Dq=createElement("div");Dq.appendChild(qU());Dq.appendChild(DP);qD.openInfoWindow(Dq,{maxWidth:200});});google.maps.Event.addListener(qD,"dragend",function(){var Pd=qD.Pd;rI[Pd].Pk=qD.getLatLng();rI[Pd].Pw=null;rm=fQ();Wh();});rW.addOverlay(qD);}function fH(){var zv=(k.src.indexOf("Grey")!=-1);k.src="images/stations"+(zv?"":"Grey")+".png";rP.style.color=(zv?"black":"gray");jI();}function fz(){var zv=(d.src.indexOf("Grey")!=-1);d.src="images/cameras"+(zv?"":"Grey")+".png";rj.style.color=(zv?"black":"gray");jI();}function fD(){var fW=Pa("mapContainer");var zx=Pa("sidebarContainer");var ff=o;if(zx.style.right=="-170px"){zx.style.right="0";if(document.compatMode=="BackCompat"){fW.style.paddingRight="176px";}else{fW.style.right="176px";}ff.src="images/hidesidebar.gif";ff.alt="Hide Sidebar";}else{zx.style.right="-170px";if(document.compatMode=="BackCompat"){fW.style.paddingRight="6px";}else{fW.style.right="6px";}ff.src="images/showsidebar.gif";ff.alt="Show Sidebar";}google.maps.Event.trigger(window,"resize");}function fN(){rW.setCenter(rI[0].Pk,I);google.maps.Event.trigger(rI[0].qD,"click");return false;}function fx(){var Pd;if(J){rr=J.checked;}if(rr){rW.removeOverlay(rI[0].qD);for(Pd=0;Pd<rI.length;Pd++){fG(Pd);}if(rA){rA.show();}else{Wy();}if(rm&&c){c.value=rm;}}else{if(rA){rA.hide();}for(Pd=0;Pd<rI.length;Pd++){rW.removeOverlay(rI[Pd].qD);}fP();if(c&&(c.value!=X)){rm=c.value;}if(c){c.value=X;}}zr();}function fn(){if(c.value==X){c.value="";}else{c.select();}c.style.color="black";}function fM(fr){var fZ=/(?:([A-PR-UWYZ](?:(?:[A-HK-Y]\d(?:[ABEHMNPRV-Y]|\d)?)|(?:\d(?:[A-HJKS-UW]|\d)?)))\s?(\d[A-BD-HJLNP-UW-Z]{2}))|(?:([+\-]?(?:[1-9]?0|[1-8]?[1-9]))(?:(?:(?:[\u00B0\s]|\u00B0\s)([1-5]?0|[1-5]?[1-9])(?:(?:(?:[\u2032'\s]|[\u2032']\s)((?:[1-5]?0|[1-5]?[1-9])(?:\.\d{1,2})?)["\u2033]?)?|['\u2032]?))?|\u00B0?)\s?([NS,]|N\s?,|S\s?,)\s?([+\-]?(?:1[0-8]0|1[0-7][1-9]|[1-9]?[0-9]))(?:(?:(?:[\u00B0\s]|\u00B0\s)([1-5]?0|[1-5]?[1-9])(?:(?:(?:['\u2032\s]|['\u2032]\s)((?:[1-5]?0|[1-5]?[1-9])(?:\.\d{1,2})?)["\u2033]?)?|['\u2032]?))?|\u00B0?)\s?([EW]?))|(?:([+\-]?(?:[1-9]?0|[1-8]?[1-9]))(?:(?:(?:[\u00B0\s]|\u00B0\s)((?:[1-5]?0|[1-5]?[1-9])(?:\.\d{1,2})?)['\u2032]?)?|\u00B0?)\s?([NS,]|N\s?,|S\s?,)\s?([+\-]?(?:1[0-8]0|1[0-7][1-9]|[1-9]?[0-9]))(?:(?:(?:[\u00B0\s]|\u00B0\s)((?:[1-5]?0|[1-5]?[1-9])(?:\.\d{1,2})?)['\u2032]?)?|\u00B0?)\s?([EW]?))|(?:([+\-]?(?:[1-9]?0|[1-8]?[1-9])(?:\.\d{1,6})?)\u00B0?\s?([NS,]|N\s?,|S\s?,)\s?([+\-]?(?:1[0-8]0|1[0-7][1-9]|[1-9]?[0-9])(?:\.\d{1,6})?)\u00B0?\s?([EW]?))/gi;var fe=60;var fA=3600;var ft,fv,jP,jj,fI,fO;var fl=null;while((ft=fZ.exec(fr))){if(ft[1]){fv=ft[1].toUpperCase()+" "+ft[2].toUpperCase();}else{if(ft[3]){jP=parseInt(ft[3],10);if(ft[4]){jP+=(fe*parseInt(ft[4],10))/fA;}if(ft[5]){jP+=parseFloat(ft[5])/fA;}fI=ft[6];jj=parseInt(ft[7],10);if(ft[8]){jj+=(fe*parseInt(ft[8],10))/fA;}if(ft[9]){jj+=parseFloat(ft[9])/fA;}fO=ft[10];}else if(ft[11]){jP=parseInt(ft[11],10);if(ft[12]){jP+=(fe*parseFloat(ft[12])/fA);}fI=ft[13];jj=parseInt(ft[14],10);if(ft[15]){jj+=(fe*parseFloat(ft[15])/fA);}fO=ft[16];}else{jP=parseFloat(ft[17]);fI=ft[18];jj=parseFloat(ft[19]);fO=ft[20];}if(((fI=="N")&&(jP<0))||((fI=="S")&&(jP>0))){jP*=-1;}if(((fO=="E")&&(jj<0))||((fO=="W")&&(jj>0))){jj*=-1;}if((jP<-90)||(jP>90)||(jj<-180)||(jj>180)){fv=null;}else{fv=jP.toFixed(6).replace(/\.?0+$/,"")+","+jj.toFixed(6).replace(/\.?0+$/,"");}}if(fv){if(fl){fl+=" > "+fv;}else{fl=fv;}}}return fl;}function fX(){var fr=fM(c.value);c.value=(fr?fr:X);c.style.color="gray";}function fC(fi){var Pk=fi.Point;return new google.maps.LatLng(Pk.coordinates[1],Pk.coordinates[0]);}function fF(){if(rI.length>1){if(rr){if(J){J.checked=false;}else{rr=false;}fx();}if(J){J.disabled=true;}rW.removeOverlay(rI[0].qD);fP();}for(var Pd=1;Pd<rI.length;Pd++){rW.removeOverlay(rI[Pd].qD);}rI.length=1;rt=rv=null;rm=null;}function fB(fv){var jK;var Pb=fv.indexOf(",");if(Pb!=-1){jK=fv;}else{var Hz=google.maps.XmlHttp.create();Hz.open("GET",Y+encodeURIComponent(U+fv.replace(" ","+")),false);Hz.send(null);if(Hz.readyState==M){var fm="viewport:{center:{lat:";var HN=Hz.responseText;Pb=HN.indexOf(fm);if(Pb!=-1){Pb+=fm.length;var fb=HN.indexOf(",",Pb);var jP=parseFloat(HN.substring(Pb,fb));Pb=fb+5;fb=HN.indexOf("}",Pb);var jj=parseFloat(HN.substring(Pb,fb));jK=jP.toFixed(6)+","+jj.toFixed(6);}}}return jK;}function fp(){var fr=c.value;if(fr==X){fF();}else{var Wo=fr.split(" > ");for(var Pd=0;Pd<Wo.length;Pd++){Wo[Pd]=fB(Wo[Pd]);}var WJ,fV;if(Wo.length==1){WJ=new google.maps.Directions();google.maps.Event.addListener(WJ,"load",function(){fV=WJ.getNumGeocodes();if(fV){var fi=WJ.getGeocode(0);var Pk=fC(fi);var Pw=fi.address;if(rA){rW.removeOverlay(rA);rA=null;}rI[0].Pk=Pk;rI[0].Pw=Pw;if(rI.length>1){rW.removeOverlay(rI[0].qD);fP();}else{rI[0].qD.setLatLng(Pk);}for(var Pd=1;Pd<rI.length;Pd++){rW.removeOverlay(rI[Pd].qD);}rI.length=1;rm=c.value;J.checked=false;J.disabled=true;google.maps.Event.trigger(rI[0].qD,"click");zr(true);}else{alert("Failed to geocode location.");}});WJ.loadFromWaypoints([Wo[0],Wo[0]]);}else{WJ=new google.maps.Directions();google.maps.Event.addListener(WJ,"load",function(){rm=c.value;var fs=rI.length;fV=WJ.getNumGeocodes();for(var Wd=0;Wd<fV;Wd++){var fi=WJ.getGeocode(Wd);var Pk=fC(fi);var Pw=fi.address;if(Wd<fs){rI[Wd].Pk=Pk;rI[Wd].Pw=Pw;}else{var fY;if(Wd<fV-1){fY=WJ.getRoute(Wd).getStep(0).getPolylineIndex();}else{fY=WJ.getPolyline().getVertexCount()-1;}rI.push({Pk:Pk,Pw:Pw,KM:fY});}}if(fs>1){rI[0].qD.setLatLng(rI[0].Pk);}else{rW.removeOverlay(rI[0].qD);fG(0);}var Pd;for(Pd=fV;Pd<rI.length;Pd++){rW.removeOverlay(rI[Pd].qD);}rI.length=fV;for(Pd=1;Pd<fV;Pd++){if(Pd<fs){rI[Pd].qD.setLatLng(rI[Pd].Pk);if((Pd==fs-1)&&(fV>fs)){rI[Pd].qD.setImage("images/routePause.png");}else if((Pd==fV-1)&&(fV<fs)){rI[Pd].qD.setImage("images/routeStop.png");}}else{fG(Pd);}}if(rA){rW.removeOverlay(rA);rA=null;}rA=WJ.getPolyline();rW.addOverlay(rA);rt=qO(WJ.getDistance().meters);rv=Wa(WJ.getDuration().seconds);J.checked=true;J.disabled=false;rr=true;zr(true);setViewport(rA.getBounds(),true);google.maps.Event.trigger(rI[rI.length-1].qD,"click");});google.maps.Event.addListener(WJ,"error",function(){var WL=WJ.getStatus();alert("Error code: "+WL.code+"\nRequest: "+WL.request);});var HB={locale:"en_GB",getPolyline:true};WJ.loadFromWaypoints(Wo,HB);}}}function fU(Wm){Wm=window.event||Wm;if(Wm){var Wb=(Wm.keyCode?Wm.keyCode:(Wm.Wp?Wm.Wp:Wm.WV));if(Wb==O){fX();u.focus();fp();if(window.event){Wm.returnValue=false;}else{Wm.preventDefault();}}}}function fR(){if(rW){var fE=window.location;var fg=fE.protocol+"//"+fE.hostname+fE.pathname;var HD="";if(!rW.getCenter().equals(new google.maps.LatLng(q,K))){HD+="&c="+rW.getCenter().toUrlValue();}if(rR!=G){HD+="&f="+rR;}if(rW.getZoom()!=H){HD+="&z="+rW.getZoom();}if(PT()){HD+="&o=1";}if(jA()!=f){HD+="&f1="+(jA()?1:0);}if(jt()!=N){HD+="&f2="+(jt()?1:0);}if(HD){fg+="?"+HD.substr(1);}h.href=fg;}}function fa(){L=Pa("map");if(g){for(var jo=0;jo<=5;jo++){a[jo]=Pa("stats"+jo);T[jo]=Pa("statLink"+jo);}u=Pa("btnSet");xY=Pa("btnUpdate");S=Pa("cboRegion");J=Pa("chkRoute");d=Pa("imgCameras");k=Pa("imgStations");w=Pa("incidents");o=Pa("showHideImage");c=Pa("txtLocations");h=Pa("siteLink");rP=Pa("lblStations");rj=Pa("lblCameras");var fT=Pa("lnkLocation");google.maps.Event.addDomListener(xY,"click",function(){WP(null,null);});google.maps.Event.addDomListener(S,"click",jI);google.maps.Event.addDomListener(rP,"click",fH);google.maps.Event.addDomListener(rj,"click",fz);google.maps.Event.addDomListener(o,"click",fD);google.maps.Event.addDomListener(fT,"click",fN);google.maps.Event.addDomListener(J,"click",fx);google.maps.Event.addDomListener(c,"focus",fn);google.maps.Event.addDomListener(c,"keypress",fU);google.maps.Event.addDomListener(c,"blur",fX);google.maps.Event.addDomListener(u,"click",fp);google.maps.Event.addDomListener(h,"mouseover",fR);}google.maps.Event.addDomListener(window,"unload",Py);google.maps.Event.addDomListener(window,"resize",WE);}function fu(Pz,fy){var fS=createElement("div",{className:"menuItem",text:Pz});fS.onclick=fy;rQ.appendChild(fS);}function fJ(){var fd=createElement("div",{className:"divider"});rQ.appendChild(fd);}function fk(){if(rQ){document.body.removeChild(rQ);rQ=null;}}function fw(Pk,qD){var fL=rW.getContainer();var fo=fL.offsetWidth;var fc=fL.offsetHeight;var fh=fL;var NQ=0;var Nr=0;do{NQ+=fh.offsetLeft;Nr+=fh.offsetTop;fh=fh.offsetParent;}while(fh);var NP=Pk.x;var Nj=Pk.y;var Hu=rW.fromContainerPixelToLatLng(Pk);fk();rQ=createElement("div",{className:"contextMenu"});if(qD.Pd===undefined){var NG=(rI.length==1);fu((NG?"Set your location":"Set route start"),function(){rI[0].Pk=Hu;rI[0].qD.setLatLng(Hu);google.maps.Event.trigger(rI[0].qD,"dragend");fk();});fu("Set route end",function(){var Nq=!rr;if(J){J.disabled=false;J.checked=true;}rr=true;if(rI.length==1){rW.removeOverlay(rI[0].qD);rI.push({Pk:Hu});fG(0);fG(1);Wh();}else{rI[rI.length-1].Pk=Hu;if(Nq){if(rA){rW.removeOverlay(rA);rA=null;}fx();}else{rI[rI.length-1].qD.setLatLng(Hu);google.maps.Event.trigger(rI[rI.length-1].qD,"dragend");}}rm=fQ();fk();});}else{fu("Remove waypoint",function(){var Pd=qD.Pd;if(rI.length==2){if(Pd===0){rI[0].Pk=rI[1].Pk;rI[0].Pw=rI[1].Pw;}fF();}else{rW.removeOverlay(rI[Pd].qD);rI.splice(Pd,1);for(var NK=Pd;NK<rI.length;NK++){rI[NK].qD.Pd=NK;}if(Pd===0){rI[0].qD.setImage("images/routeStart.png");}else if(Pd==rI.length){rI[rI.length-1].qD.setImage("images/routeStop.png");}Wh();}rm=fQ();fk();});}if(rI.length>1){fu((rr?"Hide route":"Show route"),function(){if(J){J.checked=!J.checked;}else{rr=!rr;}fx();fk();});fu("Clear route",function(){fF();fk();});}fJ();fu("Zoom in",function(){rW.zoomIn(rf,false);});fu("Zoom out",function(){rW.zoomOut(rf);});fu("Centre map here",function(){rW.panTo(Hu);});var NH=(NP>fo-rQ.offsetWidth?NP-rQ.offsetWidth:NP);var Nz=(Nj>fc-rQ.offsetHeight?Nj-rQ.offsetHeight:Nj);rQ.style.left=NQ+NH+"px";rQ.style.top=Nr+Nz+"px";document.body.appendChild(rQ);}function ND(Pk,NW,Nf){if(NW.PL.containsLatLng(Pk)){if(NW.KC){ND(Pk,NW.KC,Nf);ND(Pk,NW.Ki,Nf);}else{var KO=NW.KO;var Kl=NW.Kl;var NN=Nf.length-1;var Nx=Nf[NN];NN=Nx.length-1;var Nn=Nx[NN];var NM=(Nn===undefined)||(Nn==KO-1);if(!NM){Nx=[];}for(var KM=KO;KM<=Kl;KM++){Nx.push(KM);}if(!NM){Nf.push(Nx);}}}}function NZ(Pk){var Ne,NA,Nt;if(rX){var NW=rX[ra];if(NW){var KT=xs*xs;var Nf=[[]];ND(Pk,NW,Nf);var qc=rW.fromLatLngToDivPixel(Pk);var Nv=rW.getBounds();for(var NI=0;NI<Nf.length;NI++){var Nx=Nf[NI];var KI=[];var KM;for(var NO=0;NO<Nx.length;NO++){KM=Nx[NO];KI.push(rl[ra][KM]);}for(KM=0;KM<KI.length-1;KM++){var qw=KI[KM];var qL=KI[KM+1];if(Nv.containsLatLng(qw)||Nv.containsLatLng(qL)){var qo=qk(Pk,qw,qL);if(qo){var Nl=Math.pow(qo.x-qc.x,2)+Math.pow(qo.y-qc.y,2);if(Nl<=KT){if(!Ne||Nl<NA){Ne=qo;NA=Nl;Nt=rC[ra][Nx[KM]];}}}}}}}}var HH;if(Ne){HH={qc:Ne,KM:Nt};}return HH;}function NX(){var HF=new google.maps.Icon();HF.image=HF.printImage=HF.mozPrintImage="images/routeVia.png";HF.transparent="images/routeViaTrans.png";HF.iconSize=new google.maps.Size(11,11);HF.iconAnchor=new google.maps.Point(6,6);HF.dragCrossImage="images/transparent.png";HF.maxHeight=0;var HB={icon:HF,draggable:true,bouncy:false};ri=new google.maps.Marker(rg,HB);google.maps.Event.addListener(ri,"dragend",function(){ri.hide();var NC=ri.getLatLng();var Wc=0;do{if(rF!==null){if(rI[Wc].KM>=rF){rI.splice(Wc,0,{Pk:NC});fG(Wc);Wc++;rF=null;}}if(rF===null){rI[Wc].qD.Pd=Wc;}Wc++;}while(Wc<rI.length);rm=fQ();Wh();});rW.addOverlay(ri);ri.hide();}function Ni(){rW.addControl(new google.maps.LocalSearch(),new google.maps.ControlPosition(G_ANCHOR_BOTTOM_LEFT,new google.maps.Size(74,6)));}function NF(){var NB=createElement("script",{src:"gmlocalsearch.js",type:"text/javascript"});NB.onload=Ni;NB.onreadystatechange=function(){if(NB.readyState=="complete"){Ni();}};document.getElementsByTagName("head")[0].appendChild(NB);}function Nm(){if(google.maps.BrowserIsCompatible()){fa();var Nb=q;var Np=K;var NV=z;var Ns=D;var NY=W;var NU=PB("LastFeedID");var qW,NR;if(!NU){var NE=google.maps.XmlHttp.create();if(NE){qW=parseFloat(window.geoip_latitude());NR=parseFloat(window.geoip_longitude());if(!isNaN(qW)&&!isNaN(NR)){NY=window.geoip_city();if(!NY){NY=qY(new google.maps.LatLng(qW,NR));}Nb=NV=qW;Np=Ns=NR;NE.open("GET",PP+"resolve.php?lat="+qW+"&lng="+NR,false);NE.send(null);if((NE.readyState==M)&&(NE.status==n)){var Wz=parseInt(NE.responseText,10);if(!isNaN(Wz)){G=Wz;}}}}}var Ng=Pc("f");var Na=Pc("c");var NT=Pc("z");var Nu=Pc("f1");var Ny=Pc("f2");var NS=Pc("o");var NJ=Ng||Na||NT||Nu||Ny||NS;rR=Ng;if(!rR){rR=(NU&&!NJ?parseInt(NU,10):G);if(isNaN(rR)||rR<1){rR=G;}}var Nd;var Nk=Na;if(Nk){Nd=jQ(Nk);}if(!Nd){qW=(NJ?Nb:parseFloat(PB(rR+"Latitude",Nb)));NR=(NJ?Np:parseFloat(PB(rR+"Longitude",Np)));Nd=new google.maps.LatLng(qW,NR);}var Nw=parseInt(NT,10);if(isNaN(Nw)||Nw<0||Nw>17){Nw=null;}if(!Nw){Nw=(NJ?H:parseInt(PB(rR+"ZoomLevel",H),10));if(isNaN(Nw)){Nw=H;}}rk=Nu;if(rk){rk=(rk=="1");}else{rk=(NJ?f:(PB("FuelStations")=="true"));}rw=Ny;if(rw){rw=(rw=="1");}else{rw=(NJ?N:(PB("SpeedCameras")=="true"));}rI=[];var Pd;var NL=PB("UserRouteLatLngs");if(NL){var PS=jG(NL);var No=PB("UserRouteAddresses");var PJ=No.split("|");for(Pd=0;Pd<PS.length;Pd++){rI.push({Pk:PS[Pd],Pw:PJ[Pd]});}if(J){J.disabled=(rI.length==1);}}else{var Pk=new google.maps.LatLng(NV,Ns);rI.push({Pk:Pk,Pw:NY});}var Nc=(PB("UserRoute","false")=="true");var Nh;if(Nc){if(J){J.checked=true;}rr=true;if(!NJ){var xQ=PB("UserRouteBounds");if(xQ){var zc=xQ.split("|");var jV=jQ(zc[0]);var js=jQ(zc[1]);Nh=new google.maps.LatLngBounds(jV,js);}}}else{rr=false;}rm=PB("UserLocations");if(rm&&c&&(!NL||Nc)){c.value=rm;}if(g){jD();jf();jM();}var xr={mapTypes:[G_NORMAL_MAP,G_HYBRID_MAP],draggableCursor:"default",draggingCursor:"move"};rW=new google.maps.Map2(L,xr);if(Nh){setViewport(Nh);}else{setViewport({GW:Nd,Gf:Nw});}rW.enableScrollWheelZoom();rW.addControl(new google.maps.MapTypeControl(true));if(g){rW.addControl(new google.maps.LargeMapControl());rW.addControl(new google.maps.ScaleControl(),new google.maps.ControlPosition(G_ANCHOR_BOTTOM_LEFT,new google.maps.Size(3,45)));}else{rW.addControl(new google.maps.SmallZoomControl());}WX();rW.addControl(new rd());rx=new google.maps.OverviewMapControl();rW.addControl(rx);rZ=new google.maps.KeyboardHandler(rW);if(!g||(NJ&&!NS)||(!NJ&&(PB("OverviewMap","false")=="false"))){rx.hide(true);}NX();google.maps.Event.addListener(rW,"moveend",function(){var xP=rW.getCenter();var xj=rW.getZoom();if(!rg||!rg.equals(xP)||(xj!=ra)){WP(null,true);rg=xP;ra=xj;}fk();Ky();});google.maps.Event.addListener(rW,"mousemove",function(Pk){rf=Pk;if(rr){if(!ri.dragging()){var Ne=NZ(Pk);if(Ne){if(rB){rB=window.clearTimeout(rB);}var xG=rW.fromDivPixelToLatLng(Ne.qc);ri.setLatLng(xG);if(ri.isHidden()){ri.show();}rF=Ne.KM;}else if(!ri.isHidden()){if(!rB){rB=window.setTimeout(function(){ri.hide();},250);}}}}});google.maps.Event.addListener(rW,"click",function(qD,Pk){if(!qD){Wg();}fk();});google.maps.Event.addListener(rW,"singlerightclick",function(Pk,xq,PA){fw(Pk,PA);});rn=new google.maps.AdsManager(rW,P);rn.enable();rM=new google.maps.TrafficOverlay({incidents:true});rW.addOverlay(rM);google.load("search","1",{"callback":NF});rV=[];rs=[];rU=[];rY=[];jf(true);WQ();if(rI.length>1){if(Nc){for(Pd=0;Pd<rI.length;Pd++){fG(Pd);}}else{fP();}Wy(!Nc);}else{fP();}}else{alert("This site appears to be incompatible with your browser.\n\nPlease consider using a newer version.");}}function xK(){var xH="http://www.google.com/jsapi?key="+r+"&callback=RTSITE.loadMaps";var xz=createElement("script",{type:"text/javascript",src:xH});document.getElementsByTagName("head")[0].appendChild(xz);var xD=["google_ads_frame","google_ads_frame1"];for(var Hb=0;Hb<2;Hb++){var xW=Pa(xD[Hb]);if(xW){xW.removeAttribute("style");if(xW.parentNode.nodeName=="INS"){xW.parentNode.removeAttribute("style");xW.parentNode.parentNode.removeAttribute("style");}}}var xf=Pa("about");if(xf){xf.target="_blank";}var xN=Pa("feedback");if(xN){PD(xN);xN.appendChild(createElement("a",{href:"mailto:Regional Traffic<feedback@regionaltraffic.co.uk>?subject=Website Feedback",target:"_blank",text:"Feedback"}));}L=Pa("map");re=new PM();re.Pt("Loading traffic data...");}function xx(){if(!arguments.callee.xn){arguments.callee.xn=true;if(rh&&!window.geoip_latitude){rh.onreadystatechange=function(){if(this.readyState=="complete"){xK();}};rh.onload=xK;}else{xK();}}}function xM(){var xZ,xe,xA=[];var xt=function(){for(var xv=0;xv<xe.length;xv++){var qS=createElement("img",{src:xZ+xe[xv]});xA.push(qS);}};xZ="http://maps.google.com/intl/en_ALL/mapfiles/";xe=["dithshadow.gif","iw2.png","iws2.png","mapcontrols2.png","markerie.gif","markerTransparent.png","shadow50.png","transparent.png","openhand.cur"];xt();xZ="http://regionaltraffic.co.uk/images/";xe=["alphaBackground.png","camerasGrey.png","home.png","homeShadow.png","homeTrans.png","parking/parkandride.png","routeVia.png","routeViaTrans.png","severity2.gif","severity3.gif","severityT.gif","transparent.png"];xt();}if(!PB("LastFeedID")){rh=createElement("script",{type:"text/javascript",src:E});document.getElementsByTagName("head")[0].appendChild(rh);}g=!window.location.pathname.match(/\/syndicated\.html$/);var xI=false;if(navigator.appName=="Microsoft Internet Explorer"){var xO=function(){if(this.readyState=="complete"){xx();}};var xl=document.getElementsByTagName("script");for(var xX=0;xX<xl.length;xX++){var xC=xl[xX];if(Boolean(xC.defer)&&(xC.src=="//:")){xC.onreadystatechange=xO;xI=true;break;}}}if(document.addEventListener){document.addEventListener("DOMContentLoaded",xx,false);xI=true;}if(!xI){window.onload=xx;}if(navigator.appVersion.indexOf("MSIE 6.0")!=-1){xM();}var xi={loadMaps:function(){google.load("maps",Q,{"callback":Nm});},toggleZoom:function(xF){var xj=(xF===undefined?rT:(xF?16:11));rW.setZoom(xj);var xB=Pa("zoomIn");var xm=(xj<=15);xB.src=(xm?"images/zoomIn.png":"images/zoomInGrey.png");xB.style.cursor=(xm?"pointer":"default");xB=Pa("zoomReturn");xm=(ra!=rT);xB.src=(xm?"images/zoomReturn.png":"images/zoomReturnGrey.png");xB.style.cursor=(xm?"pointer":"default");xB=Pa("zoomOut");xm=(xj>=12);xB.src=(xm?"images/zoomOut.png":"images/zoomOutGrey.png");xB.style.cursor=(xm?"pointer":"default");}};return xi;}();