/*
		trackr!
		http://www.trackr.nl
		Copyright 2007-2009 Enodo B.V., all rights reserved.
		
		Version 026, 20090326
*/

var QUICKACCESSCODE=1;var VIEWFRIENDS=2;var VIEWMYPOSITION=3;var VIEWSAVEDTRACK=4;var VIEWPUBLICLIVE=5;var currentScript;var L=new GIcon();L.iconSize=new GSize(24,24);L.shadowSize=new GSize(1,1);L.iconAnchor=new GPoint(12,12);L.infoWindowAnchor=new GPoint(0,0);var I=new GIcon();I.shadow="http://www.google.com/mapfiles/shadow50.png";I.iconSize=new GSize(20,34);I.shadowSize=new GSize(37,34);I.iconAnchor=new GPoint(9,34);var aF=new GIcon(I,"http://www.google.com/mapfiles/dd-start.png");var M=new GIcon(I,"http://www.google.com/mapfiles/dd-end.png");var bW=new GIcon();bW.image="/images/icons/camera_icon2.png";bW.iconSize=new GSize(20,19);bW.iconAnchor=new GPoint(10,19);bW.infoWindowAnchor=new GPoint(10,1);var bs;var aC;var o=[];var bZ='';var bv;var icon=new GIcon();icon.image="http://labs.google.com/ridefinder/images/mm_20_red.png";icon.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";icon.iconSize=new GSize(12,20);icon.shadowSize=new GSize(22,20);icon.iconAnchor=new GPoint(6,20);icon.infoWindowAnchor=new GPoint(5,1);var X=[];X["OFFLINE"]=new GIcon(icon);X["CONNECTED_NOGPS"]=new GIcon(icon,"http://labs.google.com/ridefinder/images/mm_20_orange.png");X["CONNECTED_VALIDGPS"]=new GIcon(icon,"http://labs.google.com/ridefinder/images/mm_20_green.png");var B=10;var an;var aj,ci;var aW;var aw=true;var G=1;var bq=1;var K=false;var A=10;var MAX_VISIBLE_LOCATIONS= -1;var eY=false;var V;bs=new Array();for(var x=0;x<A;x++){bs[x]=dU(255,0,0,0,255,0,x,A);}OVERVIEWMAPCONTROL_WIDTH=100;OVERVIEWMAPCONTROL_HEIGHT=100;var aP=0;var aN;var aA=0;var aO='';var ca=true;var bY;var bI=false;var bX=null;var cL=null;var cJ=null;var yZ=new Array();function setFirstTrackToLoad(ay){aO=ay;};function onLoad(){G=2;if(typeof(photosEnabled)=='undefined')photosEnabled=false;if(typeof(TIMEOUT_SECONDS_OVERRIDE)!='undefined')B=TIMEOUT_SECONDS_OVERRIDE;var bN="RadioTrackDisplay1";var bM=bG('trkdsply');if(bM=='2'){bN="RadioTrackDisplay2";bq=2;}document.getElementById(bN).checked=true;if(currentScript==VIEWFRIENDS||currentScript==QUICKACCESSCODE||currentScript==VIEWMYPOSITION||currentScript==VIEWPUBLICLIVE){an=true;document.getElementById("RadioButton2").checked=true;setFirstTrackToLoad('');bI=true;}var bE=document.getElementById('LegendaSpeed');for(var x=0;x<A;x++){var s=document.createElement('span');s.className='speed';s.style.borderColor=bs[x];bE.appendChild(s);}if(GBrowserIsCompatible()){aN=new GMap2(document.getElementById("map"));aN.addMapType(G_PHYSICAL_MAP);if(aO!='')LoadTrackData(aO);else dC();aN.setCenter(new GLatLng(0,0),0);aN.addControl(new GSmallMapControl());aN.addControl(new GScaleControl());aN.addControl(new GHierarchicalMapTypeControl);aN.addControl(new GOverviewMapControl(new GSize(OVERVIEWMAPCONTROL_WIDTH,OVERVIEWMAPCONTROL_HEIGHT)));aN.enableDoubleClickZoom();aN.enableContinuousZoom();aN.enableScrollWheelZoom();if(typeof(adsEnabled)!='undefined'&&typeof(adsChannelId)!='undefined'){if(adsEnabled&&adsChannelId!=''){var bS=new GAdsManager(aN,"ca-pub-2248979034789126",{"channel":adsChannelId});bS.enable();}}}};function dJ(dec){var bk="0123456789ABCDEF";if(dec<0)return "00";if(dec>255)return "FF";var i=Math.floor(dec/16);var j=dec%16;return bk.charAt(i)+bk.charAt(j)};function dU(aL,aH,aK,aM,aI,aJ,ad,aa){var red=Math.floor(aL*((aa-ad)/aa)+aM*(ad/aa));var green=Math.floor(aH*((aa-ad)/aa)+aI*(ad/aa));var blue=Math.floor(aK*((aa-ad)/aa)+aJ*(ad/aa));return "#"+dJ(red)+dJ(green)+dJ(blue)};function dw(){aN.clearOverlays();if(typeof(photosEnabled)!='undefined')if(photosEnabled)cr();yZ=new Array();};function az(cG,zoomlevel,maptype){var clat=(cG.getNorthEast().lat()+cG.getSouthWest().lat())/2;var clng=(cG.getNorthEast().lng()+cG.getSouthWest().lng())/2;aN.setCenter(new GLatLng(clat,clng),zoomlevel,maptype);};function dA(cG,ag){var clat=(cG.getNorthEast().lat()+cG.getSouthWest().lat())/2;var clng=(cG.getNorthEast().lng()+cG.getSouthWest().lng())/2;if(G==1)aN.panTo(new GLatLng(clat,clng));else{aN.setCenter(new GLatLng(clat,clng),aN.getBoundsZoomLevel(cG)-1,aN.getCurrentMapType());}aP=aN.getZoom();aN.savePosition();};function dk(H,bD,bF,bC,aG){polylineEncoder=new PolylineEncoder();for(var x=0;x<H.length;x++){if(bD==2){var bt= -1;var bw=new Array();for(var y=0;y<H[x].length;y++){if(bX)aT=H[x][y].aT;else aT=H[x][y].cq();if(bB(bC,aT)!=bt){bw[bw.length]=H[x][y].pos;if(bw.length>2){polyline=polylineEncoder.dpEncodeToGPolyline(bw,bF[bt],5,.8);aN.addOverlay(polyline);}else{if(bw.length==1){bw[bw.length]=new GLatLng(bw[0].lat()+.00001,bw[0].lng()+.00001);}aN.addOverlay(new GPolyline(bw,bF[bB(bC,aT)],5,.8));}bw=new Array();bw[bw.length]=H[x][y].pos;bt=bB(bC,aT);}else{bw[bw.length]=H[x][y].pos;if(y==(H[x].length-1)){if(bw.length>2){polyline=polylineEncoder.dpEncodeToGPolyline(bw,bF[bt],5,.8);aN.addOverlay(polyline);}else{if(bw.length==1){bw[bw.length]=new GLatLng(bw[0].lat()+.00001,bw[0].lng()+.00001);}aN.addOverlay(new GPolyline(bw,bF[bt],5,.8));}}}}}else{var bw=new Array();for(var y=0;y<H[x].length;y++){bw[bw.length]=H[x][y].pos;}if(bw.length>2){polyline=polylineEncoder.dpEncodeToGPolyline(bw,'#0000ff',5,.5);aN.addOverlay(polyline);}else aN.addOverlay(new GPolyline(bw,'#0000ff'));}}if(!eY){var ae=new GMarker(H[0][0].pos,aF);aN.addOverlay(ae);}if(aG){var aE=new GMarker(H[H.length-1][H[H.length-1].length-1].pos,M);aN.addOverlay(aE);}};function bB(bC,aT){var bA= -1;for(var x=0;x<A;x++){if(x==0){if(aT<bC[1]){bA=0;break;}}else if(aT<=bC[x+1]){bA=x+1;break;}}return bA;};function dT(aB){if(aB>=339||aB<=22)return "N";if(aB>=23&&aB<=68)return "NE";if(aB>=69&&aB<=114)return "E";if(aB>=115&&aB<=160)return "SE";if(aB>=161&&aB<=204)return "S";if(aB>=205&&aB<=250)return "SW";if(aB>=251&&aB<=295)return "W";if(aB>=296&&aB<=338)return "NW";else return "?";};function dQ(){if(typeof(al)!='undefined'){if(al.tracks.length>0){return al.tracks[al.tracks.length-1].positions[al.tracks[al.tracks.length-1].positions.length-1].id;}else return '';}else return '';};function dC(){if(aw){bp();}document.getElementById("loadingstatus").innerHTML="Loading data...";document.getElementById("loadingstatus").style.visibility="visible";switch(currentScript){case VIEWFRIENDS:GDownloadUrl("/service/TrackData.ashx?ttype=friends&id="+(new Date()).getTime()+"&fid="+checkedFriendId+"&lp="+GetLastPositionIdFriends(),dD);break;case QUICKACCESSCODE:GDownloadUrl("/service/TrackData.ashx?ttype=qac&id="+(new Date()).getTime()+"&qac="+qac+"&lp="+dQ(),dE);break;case VIEWMYPOSITION:GDownloadUrl("/service/TrackData.ashx?ttype=myposition&id="+(new Date()).getTime()+"&lp="+dQ(),dE);break;case VIEWPUBLICLIVE:GDownloadUrl("/service/TrackData.ashx?ttype=publiclive&id="+(new Date()).getTime()+"&lp="+dQ()+"&tuid="+targetUserId,dE);break;}return false;};function cb(){var cd='';if(bI)cd='1';else cd='0';GDownloadUrl("/service/TrackData.ashx?ttype=photos&tid="+bY+"&lt="+cd,ce);};function aD(al,by,cg){if(typeof(al.bx)=='undefined'||by){al.bx= -999999;al.bz=999999;}var aT;var bu;if(al.tracks.length>0){for(var s=0;s<al.tracks.length;s++){for(var xx=0;xx<al.tracks[s].positions.length;xx++){aT=al.tracks[s].positions[xx].s;if(!cg)aT=cl(aT);if(aT>al.bx){al.bx=aT;bu=true;}if(aT<al.bz){al.bz=aT;bu=true;}}}}if(bu||by){aC=new Array();for(var x=0;x<A;x++){if(x==0)aC[x]=al.bz;else if(x==(A-1))aC[x]=al.bx;else aC[x]=Math.round(x*((al.bx-al.bz)/A))+al.bz;}document.getElementById("legenda_minspeed").innerHTML=aC[0];document.getElementById("legenda_medspeed").innerHTML=aC[Math.floor(A/2)];document.getElementById("legenda_maxspeed").innerHTML=aC[A-1];if(cg)cj="(km/h)";else cj="(mph)";document.getElementById("legenda_metric").innerHTML=cj;}};function dE(data,aX){if(typeof(V)!='undefined')GEvent.removeListener(V);var cH=B;if(aX==200){var ap=JSON.parse(data,dx);var co=bX;if(ap.m==1)bX=true;else bX=false;cH=ap.rt;if(co!=null&&co!=bX){al.bx= -999999;al.bz=999999;K=true;}var aZ=true;if(typeof(al)=='undefined'){al=ap;al.nN=true;}else aZ=dP(ap);dH();if(al.tt==2)aD(al,eY,bX);if(aZ||K){K=false;cp(al);cQ(al);}document.getElementById("loadingstatus").style.visibility="hidden";bY=ap.tid;if(photosEnabled&&ca){ca=false;cb();}}else if(aX==403)window.location="/Login.aspx";else document.getElementById("loadingstatus").innerHTML="Error getting data...";if(an)aj=setTimeout('ax()',cH*1000);V=GEvent.addListener(aN,"zoomend",function(){if(G==2){G=3;document.getElementById("RadioButton3").checked=true;}});};function dH(){if(MAX_VISIBLE_LOCATIONS>=0){var eZ=0;if(al.tracks.length>0){for(var s=0;s<al.tracks.length;s++){eZ+=al.tracks[s].positions.length;}while(eZ>MAX_VISIBLE_LOCATIONS&&al.tracks.length>0){if(al.tracks[0].positions.length>0){al.tracks[0].positions.shift();eZ--;eY=true;}else al.tracks.shift();}}}};function bp(){aw=false;GEvent.addListener(aN,"dragend",function(){G=3;document.getElementById("RadioButton3").checked=true;});};function ax(){if(an)dC();};function bl(){bg();};function cf(){cb();};function Dt(point,icon,aS,aV,aU,aB,aT,status,cg,iU,ba){var markerOptions={icon:icon,zIndexProcess:cz};var ag=new GMarker(point,markerOptions);var html='';html+="<div style=\"float:left\">Status: <b>"+status+"</b></div><div style=\"float:right;border:solid #9493A0 1px;text-align:center;font-size:11px;padding: 0px 1px 0px 1px;margin-right:-2px\" onclick=\"fY("+yZ.length+", '"+ba+"');\">X</div><br />";html+="Last received information:<br /><b>"+aS.toLocaleString().substring(aS.toLocaleString().indexOf(" ")+1)+"</b><br />";if(cg)cj="km/h";else cj="mph";html+="Speed: <b>"+aT+" "+cj+"</b> ";html+="Heading: <b>"+dT(aB)+"</b><br />";ag.cw=1;var uI=new ELabel(point,'<div class="tooltip">'+html+'</div>',"",new GSize(-80,-20),95,false,1);if(!iU){uI.hide();}ag.uI=uI;GEvent.addListener(ag,"click",function(){uI.show();if(currentScript==VIEWFRIENDS){for(var x=0;x<n.length;x++){if(n[x].id==ba){n[x].nN=true;break;}}}else al.nN=true;});yZ.push(uI);aN.addOverlay(uI);return ag;};function fY(x,ba){yZ[x].hide();if(currentScript==VIEWFRIENDS){for(var x=0;x<n.length;x++){if(n[x].id==ba){n[x].nN=false;break;}}}else al.nN=false;};function dP(ah){var as=false;if(al.tid!=ah.tid){al.tracks=new Array();al.tid=ah.tid;as=true;bZ='';}if(al.status!=ah.status)as=true;al.status=ah.status;al.name=ah.name;if(typeof(al.tracks)!='undefined'){for(var c=0;c<ah.tracks.length;c++){var aq=false;for(var q=0;q<al.tracks.length;q++){if(al.tracks[q].id==ah.tracks[c].id){for(var a=0;a<ah.tracks[c].positions.length;a++){al.tracks[q].positions[al.tracks[q].positions.length]=ah.tracks[c].positions[a];as=true;}aq=true;break;}}if(!aq){al.tracks[al.tracks.length]=ah.tracks[c];as=true;}}}return as;};function cp(al){var H=[];var cG=new GLatLngBounds();dw();if(al.tracks.length>0){for(var s=0;s<al.tracks.length;s++){positions=[];for(var xx=0;xx<al.tracks[s].positions.length;xx++){if(al.tracks[s].positions[xx].la!=""||al.tracks[s].positions[xx].lo!=""){var af=new GLatLng(al.tracks[s].positions[xx].la,al.tracks[s].positions[xx].lo);var position=new ck();position.pos=af;position.aT=al.tracks[s].positions[xx].s;positions.push(position);if(G==2){cG.extend(af);if(al.tt==3){cG.extend(ac(af,0,al.tracks[s].positions[xx].r));cG.extend(ac(af,180,al.tracks[s].positions[xx].r));}}}}H.push(positions);}var J=al.tracks.length;var aQ=al.tracks[J-1].positions.length;am=al.tracks[J-1].positions[aQ-1];if(G==1)cG.extend(new GLatLng(am.la,am.lo));if(G!=3)dA(cG);if(al.tt=="2"){am.smph=cl(am.s);dk(H,bq,bs,aC,false);}else{var center=new GLatLng(al.tracks[0].positions[al.tracks[0].positions.length-1].la,al.tracks[0].positions[al.tracks[0].positions.length-1].lo);for(var x=0;x<al.tracks[0].positions.length;x++){var center=new GLatLng(al.tracks[0].positions[x].la,al.tracks[0].positions[x].lo);cx(center,al.tracks[0].positions[x].r);}}}var ai=new GLatLng(am.la,am.lo);var Y,ao;switch(al.status){case 0:Y=X["OFFLINE"];Z="/images/mm_20_red.png";ao="Offline";break;case 10:Y=X["CONNECTED_NOGPS"];Z="/images/mm_20_orange.png";ao="Online, no GPS";break;case 50:Y=X["CONNECTED_VALIDGPS"];Z="/images/mm_20_green.png";ao="Online, GPS ok";break;}if(bX)aT=am.s;else aT=am.smph;var ag=Dt(ai,Y,am.ts,am.la,am.lo,am.h,aT,ao,bX,al.nN);aN.addOverlay(ag);var label=new ELabel(ai,al.name,"maplabel",new GSize((al.name.length* -3.5),15),75,false,-1);aN.addOverlay(label);};function AutoZoomSettingChanged(au){if(typeof(V)!='undefined')GEvent.removeListener(V);var at=G;var ar=false;G=au;if(G!=at&&G!=3){var cG=new GLatLngBounds();if(al.tracks.length>0){for(var s=0;s<al.tracks.length;s++){for(var xx=0;xx<al.tracks[s].positions.length;xx++){var af=new GLatLng(al.tracks[s].positions[xx].la,al.tracks[s].positions[xx].lo);if(G==2)cG.extend(af);}}var J=al.tracks.length;var aQ=al.tracks[J-1].positions.length;am=al.tracks[J-1].positions[aQ-1];if(G==1)cG.extend(new GLatLng(am.la,am.lo));if(G!=3)dA(cG);}}V=GEvent.addListener(aN,"zoomend",function(){if(G==2){G=3;document.getElementById("RadioButton3").checked=true;}});};function TrackDisplaySettingChanged(au){if(bq!=au){bq=au;if(currentScript==VIEWFRIENDS)cI(n);else if(currentScript==VIEWSAVEDTRACK){dw();dk(bv,bq,bs,aC,true);}else cp(al);bn('trkdsply',au,31,'/','','');}};function dD(data,aX){var cH=B;if(typeof(V)!='undefined')GEvent.removeListener(V);if(aX==200){var ap=JSON.parse(data,dx);cH=ap.rt;var aZ=true;if(typeof(n)=='undefined'){n=ap.friends;for(var x=0;x<n.length;x++){n[x].nN=false;}}else aZ=dF(ap.friends);if(aZ||K){K=false;cI(n);}document.getElementById("loadingstatus").style.visibility="hidden";}else if(aX==403)window.location="/Login.aspx";else document.getElementById("loadingstatus").innerHTML="Error getting data...";if(an)aj=setTimeout('ax()',cH*1000);V=GEvent.addListener(aN,"zoomend",function(){if(G==2){G=3;document.getElementById("RadioButton3").checked=true;}});};function FriendClicked(ba){if(n.length>0){for(var x=0;x<n.length;x++){if(n[x].id==ba){aN.panTo(new GLatLng(n[x].la,n[x].lo));n[x].nN=true;n[x].ag.uI.show();break;}}}};function FriendChecked(bi,ba){var bh=bi.form[bi.name];for(var c=0;c<bh.length;c++)if(bh[c]!=bi)bh[c].checked=false;if(!bi.checked){checkedFriendId="";G=2;document.getElementById("RadioButton2").checked=true;document.getElementById("legenda_minspeed").innerHTML='';document.getElementById("legenda_medspeed").innerHTML='';document.getElementById("legenda_maxspeed").innerHTML='';document.getElementById("legenda_metric").innerHTML='';}else{checkedFriendId=ba;G=2;document.getElementById("RadioButton2").checked=true;for(var x=0;x<n.length;x++){if(n[x].id==ba){n[x].nN=true;break;}}}am="";if(an)clearTimeout(aj);K=true;dC();};function cI(n){var H=[];var cG=new GLatLngBounds();var ar=false;var aY="";dw();if(n.length>0){for(var x=0;x<n.length;x++){if(n[x].st> -1){var af=new GLatLng(n[x].la,n[x].lo);if(!ar&&(G!=3|| !an))cG.extend(af);var Y,ao;switch(n[x].st){case 0:Y=X["OFFLINE"];Z="/images/mm_20_red.png";ao="Not connected";break;case 10:Y=X["CONNECTED_NOGPS"];Z="/images/mm_20_orange.png";ao="Connected, no GPS";break;case 50:Y=X["CONNECTED_VALIDGPS"];Z="/images/mm_20_green.png";ao="Connected, GPS ok";break;}var bj="";if(n[x].id==checkedFriendId)bj=" checked";aY+='<img src="'+Z+'" class="sidebaricon" />'+'<input type="checkbox" class="sidebarcheckbox" name="CheckboxShowTrack" onclick="JavaScript:FriendChecked(this, \''+n[x].id+'\');"'+bj+'>'+'<a href="JavaScript:FriendClicked(\''+n[x].id+'\');">'+n[x].name+'</a><br />';if(n[x].m==1)aT=n[x].s;else aT=cl(n[x].s);var ag=Dt(af,Y,n[x].ts,n[x].la,n[x].lo,n[x].h,aT,ao,n[x].m,n[x].nN,n[x].id);n[x].ag=ag;var label=new ELabel(af,n[x].name,"maplabel",new GSize((n[x].name.length* -3.5),15),75,false,-1);if(n[x].id==checkedFriendId){aD(n[x],true,n[x].m==1);ar=true;cG=new GLatLngBounds();if(G!=3|| !an)cG.extend(new GLatLng(n[x].la,n[x].lo));var al=n[x].tracks;if(al.length>0){for(var s=0;s<al.length;s++){positions=[];for(var xx=0;xx<al[s].positions.length;xx++){var af=new GLatLng(al[s].positions[xx].la,al[s].positions[xx].lo);var position=new ck();position.pos=af;position.aT=al[s].positions[xx].s;positions.push(position);if(G==2|| !an)cG.extend(af);}H.push(positions);}if(G==1||G==2|| !an)dA(cG);dk(H,bq,bs,aC,false);}}aN.addOverlay(ag);aN.addOverlay(label);}else if(n[x].st== -1){aY+='<img src="/images/mm_20_nodata.png" width="8" height="13" align="bottom" style="padding-right: 18px;" />'+n[x].name+'<br />';}}}document.getElementById("friendssidebar").innerHTML=aY;if(G==1||G==2|| !an)dA(cG);};function dF(friends){var as=false;for(var x=0;x<friends.length;x++){for(var y=0;y<n.length;y++){if(n[y].id==friends[x].id){if(n[y].st!=friends[x].st||n[y].la!=friends[x].la||n[y].lo!=friends[x].lo||n[y].h!=friends[x].h||n[y].s!=friends[x].s||n[y].m!=friends[x].m)as=true;n[y].st=friends[x].st;n[y].ts=friends[x].ts;n[y].la=friends[x].la;n[y].lo=friends[x].lo;n[y].h=friends[x].h;n[y].s=friends[x].s;n[y].m=friends[x].m;if(n[y].tid!=friends[x].tid){n[y].tracks=new Array();n[y].tid=friends[x].tid;as=true;}if(friends[x].tracks.length>0){for(var c=0;c<friends[x].tracks.length;c++){var aq=false;for(var q=0;q<n[y].tracks.length;q++){if(n[y].tracks[q].id==friends[x].tracks[c].id){for(var a=0;a<friends[x].tracks[c].positions.length;a++){n[y].tracks[q].positions[n[y].tracks[q].positions.length]=friends[x].tracks[c].positions[a];as=true;}aq=true;break;}}if(!aq){n[y].tracks[n[y].tracks.length]=friends[x].tracks[c];as=true;}}}}}}return as;};function GetLastPositionIdFriends(){if(checkedFriendId!=''){for(var x=0;x<n.length;x++){if(n[x].id==checkedFriendId){var al=n[x].tracks;if(al.length>0){return al[al.length-1].positions[al[al.length-1].positions.length-1].id;}else return '';}}}else return '';};function AutoZoomSettingChangedFriends(au){if(typeof(V)!='undefined')GEvent.removeListener(V);var at=G;var ar=false;G=au;if(G!=at&&G!=3){var cG=new GLatLngBounds();if(n.length>0){for(var x=0;x<n.length;x++){if(n[x].st> -1){if(!ar){var af=new GLatLng(n[x].la,n[x].lo);cG.extend(af);}if(n[x].id==checkedFriendId){ar=true;cG=new GLatLngBounds();cG.extend(new GLatLng(n[x].la,n[x].lo));al=n[x].tracks;if(al.length>0){for(var s=0;s<al.length;s++){for(var xx=0;xx<al[s].positions.length;xx++){if(G==2){var af=new GLatLng(al[s].positions[xx].la,al[s].positions[xx].lo);cG.extend(af);}}}}}}}}dA(cG);}V=GEvent.addListener(aN,"zoomend",function(){if(G==2){G=3;document.getElementById("RadioButton3").checked=true;}});};function LoadTrackData(tid){document.getElementById("loadingstatus").innerHTML="Loading data...";document.getElementById("loadingstatus").style.visibility="visible";bZ='';GDownloadUrl("/service/TrackData.ashx?tid="+tid+"&ttype=saved&id="+(new Date()).getTime(),be);return false;};function be(data,aX){if(aX==200){var ap=JSON.parse(data,dx);o=ap;var bV;bV=document.getElementById("t_title");if(bV!=null)bV.innerHTML=ap.title;bV=document.getElementById("t_desc");if(bV!=null)bV.innerHTML=ap.description;bV=document.getElementById("t_start");if(bV!=null)bV.innerHTML=ap.start;bV=document.getElementById("t_stop");if(bV!=null)bV.innerHTML=ap.stop;bV=document.getElementById("t_from");if(bV!=null)bV.innerHTML=ap.from;bV=document.getElementById("t_to");if(bV!=null)bV.innerHTML=ap.to;bV=document.getElementById("t_dist");if(bV!=null)bV.innerHTML=ap.totaldistance;bV=document.getElementById("t_duration");if(bV!=null)bV.innerHTML=ap.duration;bV=document.getElementById("t_avgspeed");if(bV!=null)bV.innerHTML=ap.avgspeed;if(ap.m==1)bX=true;else bX=false;aD(o,false,bX);bv=new Array();cG=new GLatLngBounds();dw();if(o.tracks.length>0){for(var s=0;s<o.tracks.length;s++){positions=[];for(var x=0;x<o.tracks[s].positions.length;x++){var af=new GLatLng(o.tracks[s].positions[x].la,o.tracks[s].positions[x].lo);var position=new ck();position.pos=af;position.aT=o.tracks[s].positions[x].s;positions.push(position);cG.extend(af);}bv.push(positions);}dA(cG);dk(bv,bq,bs,aC,true);}document.getElementById("loadingstatus").style.visibility="hidden";bY=ap.tid;bI=false;if(photosEnabled)cb();}else document.getElementById("loadingstatus").innerHTML="Error loading track data...";};function onMiniMapLoad(){if(typeof(TIMEOUT_SECONDS_OVERRIDE)!='undefined')B=TIMEOUT_SECONDS_OVERRIDE;if(GBrowserIsCompatible()){aN=new GMap2(document.getElementById("map"));aN.disableDragging();GEvent.addListener(aN,"click",function(ag,point){window.open(clickUrl);});bm();}};function bm(){aW=document.createElement("div");var opacity=80;if(typeof(aW.style.filter)=='string'){aW.style.filter='alpha(opacity:'+opacity+')';}if(typeof(aW.style.KHTMLOpacity)=='string'){aW.style.KHTMLOpacity=opacity/100;}if(typeof(aW.style.MozOpacity)=='string'){aW.style.MozOpacity=opacity/100;}if(typeof(aW.style.opacity)=='string'){aW.style.opacity=opacity/100;}aN.getPane(G_MAP_FLOAT_PANE).appendChild(aW);if(!sl){GEvent.addListener(aN,"mouseover",function(){aW.style.visibility="hidden"});}if(initialLivePosition!=''){var liveposition=JSON.parse(initialLivePosition,dx);bb(liveposition);if(B>0)aj=setTimeout('bl()',B*1000);}else{var cG=new GLatLngBounds();var af=new GLatLng(0,0);cG.extend(af);zoomlevel=0;az(cG,zoomlevel,maptype);}};function bg(){GDownloadUrl("/service/TrackData.ashx?ttype=livepos&id="+(new Date()).getTime()+"&uid="+userId,bf);return false;};function bf(data,aX){var cH=B;if(aX==200){if(data!=''){var liveposition=JSON.parse(data,dx);bb(liveposition);cH=liveposition.rt;}}aj=setTimeout('bl()',cH*1000);};function bb(liveposition){var cG=new GLatLngBounds();dw();var af=new GLatLng(liveposition.la,liveposition.lo);cG.extend(af);var Y,ao;switch(liveposition.st){case 0:Y=X["OFFLINE"];Z="/images/mm_20_red.png";ao="Offline";break;case 10:Y=X["CONNECTED_NOGPS"];Z="/images/mm_20_orange.png";ao="Online, no GPS";break;case 50:Y=X["CONNECTED_VALIDGPS"];Z="/images/mm_20_green.png";ao="Online, GPS ok";break;}az(cG,zoomlevel,maptype);if(liveposition.m==1)aT=liveposition.s;else aT=cl(liveposition.s);var ag=bc(af,Y,liveposition.ts,liveposition.la,liveposition.lo,liveposition.h,aT,ao,liveposition.m==1);aN.addOverlay(ag);if(sl)bd(ag);};function bc(point,icon,aS,aV,aU,aB,aT,status,cg){var ag=new GMarker(point,icon);if(cg)cj="km/h";else cj="mph";var html="<b>"+status+"</b><br />";html+="<b>"+aS.toLocaleString().substring(aS.toLocaleString().indexOf(" ")+1)+"</b><br />";html+="Heading: <b>"+dT(aB)+" "+aT+" "+cj+"</b><br />";ag.tooltip='<div class="tooltip">'+html+'</div>';if(!sl){GEvent.addListener(ag,"mouseover",function(){bd(ag);});GEvent.addListener(ag,"mouseout",function(){aW.style.visibility="hidden"});}return ag;};function bd(ag){aW.innerHTML=ag.tooltip;var point=aN.getCurrentMapType().getProjection().fromLatLngToPixel(aN.fromDivPixelToLatLng(new GPoint(0,0),true),aN.getZoom());var ak=aN.getCurrentMapType().getProjection().fromLatLngToPixel(ag.getPoint(),aN.getZoom());var anchor=ag.getIcon().iconAnchor;var width=ag.getIcon().iconSize.width;var height=aW.clientHeight;var pos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(ak.x-point.x-anchor.x+width-78,ak.y-point.y-anchor.y-height));pos.apply(aW);aW.style.visibility="visible";if(height==0){height=aW.clientHeight;pos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(ak.x-point.x-anchor.x+width-78,ak.y-point.y-anchor.y-height));pos.apply(aW);}};function bn(name,value,expires,bU,domain,bT){var bQ=new Date();bQ.setTime(bQ.getTime());if(expires){expires=expires*1000*60*60*24;}var bP=new Date(bQ.getTime()+(expires));document.cookie=name+"="+escape(value)+((expires)?";expires="+bP.toGMTString():"")+((bU)?";path="+bU:"")+((domain)?";domain="+domain:"")+((bT)?";secure":"");};function bG(bR){var bL=document.cookie.split(';');var bH='';var bJ='';var bO='';var bK=false;for(i=0;i<bL.length;i++){bH=bL[i].split('=');bJ=bH[0].replace(/^\s+|\s+$/g,'');if(bJ==bR){bK=true;if(bH.length>1){bO=unescape(bH[1].replace(/^\s+|\s+$/g,''));}return bO;break;}bH=null;bJ='';}if(!bK){return null;}};function ce(data,aX){var cH=B*3;if(aX==200){var ap=JSON.parse(data,dx);bZ=ap;cr();cH=ap.rt;}ci=setTimeout('cf()',cH*1000)};function cr(){if(bZ!=''){var photos=bZ.photos;if(photos.length>0){for(var x=0;x<photos.length;x++){var html="<div style=\"min-width:240px;min-height:200px\"><b>"+photos[x].title+"</b><br /><a href=\""+photos[x].wu+"\" target=\"_blank\"><img style=\"max-width:240px;max-height=240px\" src=\""+photos[x].mu+"\" border=\"0\"></a></div>";var ag=cc(new GLatLng(photos[x].la,photos[x].lo),html);aN.addOverlay(ag);}}}};function cc(point,html){var ag=new GMarker(point,bW);ag.bindInfoWindowHtml(html);return ag;};function cl(cn){return Math.round(cn/1.609344);};function ck(){this.aT=0;this.cq=function(){return Math.round(this.aT/1.609344);}};function cx(center,g){var projection=aN.getCurrentMapType().getProjection();var R=6371000;var aR=center.lat()*Math.PI/180;var cD=center.lng()*Math.PI/180;var cu=Math.asin(Math.sin(aR)*Math.cos(g/R)+Math.cos(aR)*Math.sin(g/R)*Math.cos(0));var cs=cD+Math.atan2(Math.sin(0)*Math.sin(g/R)*Math.cos(aR),Math.cos(g/R)-Math.sin(aR)*Math.sin(cu));cu=cu*180/Math.PI;cs=cs*180/Math.PI;var cE=new GLatLng(cu,cs);var cA='#4290ff';var av=projection.fromLatLngToPixel(center,aN.getZoom());var cy=projection.fromLatLngToPixel(cE,aN.getZoom());var ct=Array();with(Math){cC=floor(sqrt(pow((av.x-cy.x),2)+pow((av.y-cy.y),2)));for(var a=0;a<361;a+=20){var cF=a*(PI/180);var y=av.y+cC*sin(cF);var x=av.x+cC*cos(cF);var p=new GPoint(x,y);var point=projection.fromPixelToLatLng(p,aN.getZoom());ct.push(point);}cB=new GPolygon(ct,'#000000',1,1,cA,.4);aN.addOverlay(cB);}};function cz(ag,b){if(typeof(ag.cw)=='undefined')return GOverlay.getZIndex(ag.getPoint().lat());else return GOverlay.getZIndex(ag.getPoint().lat())+ag.cw*1000000;};function ac(center,cv,ab){var R=6371000;var aR=center.lat()*Math.PI/180;var cD=center.lng()*Math.PI/180;cv=cv*Math.PI/180;var cu=Math.asin(Math.sin(aR)*Math.cos(ab/R)+Math.cos(aR)*Math.sin(ab/R)*Math.cos(cv));var cs=cD+Math.atan2(Math.sin(cv)*Math.sin(ab/R)*Math.cos(aR),Math.cos(ab/R)-Math.sin(aR)*Math.sin(cu));cs=(cs+Math.PI)%(2*Math.PI)-Math.PI;if(isNaN(cu)||isNaN(cs))return null;return new GLatLng(cu*180/Math.PI,cs*180/Math.PI);};function cQ(){if(typeof useGraph!="undefined"&&typeof(al)!="undefined"){if(useGraph&&graphReady){var cK=[];cK.push("[");var dn=0;var dy;if(al.tracks.length>0){for(var s=0;s<al.tracks.length;s++){for(var xx=0;xx<al.tracks[s].positions.length;xx++){if(al.tracks[s].positions[xx].la!=""||al.tracks[s].positions[xx].lo!=""){dy=al.tracks[s].positions[xx].ts.getTime()/1000;cK.push('{"x":'+al.tracks[s].positions[xx].ts.getTime()/1000+',');if(bX)cK.push('"y":'+al.tracks[s].positions[xx].s);else cK.push('"y":'+Math.round(al.tracks[s].positions[xx].s/1.609344));cK.push(', "on-click":"a1('+dn+')"},');dn++;}}cK.push(null);}}cK.push("]");var cj;if(bX)cj="km/h";else cj="mph";var dm=de(cK,al.tracks[0].positions[0].ts.getTime()/1000,dy,al.bx,cj);document.getElementById("TrackChart").load(dm);}}};function rg(){cQ();};function de(cO,dz,dr,bx,cj){var data=[];if(dz==dr)dr=dz+1;ef=Math.round((dr-dz)/7);if(ef<1)ef=0;data.push('{');data.push('"bg_colour":"#FFFFFF",');data.push('"x_axis": {');data.push('            "min": '+dz+',');data.push('            "max": '+dr+',');data.push('            "steps": '+ef+',');data.push('			"labels": {');data.push('			    "rotate":"horizontal",');data.push('			    "steps": '+ef+',');data.push('			    "visible-steps":1,');data.push('                "text":"#date:H:i#" 	');data.push('		    },');data.push('		    "grid-colour": "#DDDDDD"');data.push('      },');data.push('      "area-style":{"colour":"#b0101c", "alpha":0.5, "y":0 },');data.push('      "elements":[');data.push('        {');data.push('          "values" :');data=data.concat(cO);data.push(',');data.push('          "type":      "scatter_line",');data.push('          "colour":	   "#EDC240",');data.push('          "width": 3,');data.push('          "dot-size": 3,');data.push('          "tip":       "#date:H:i:s#<br>#y# '+cj+'",');data.push('	        "dot-style": { "type":"anchor", "hollow":"true", ');data.push('	        "sides":6,');data.push('            "background-colour":"#ffffff", "background-alpha": 0.8,');data.push('            "width":2,');data.push('             },');data.push('             "area-style": { "colour":"#F8E489", "y":0}');data.push('        }]');data.push('        ,');data.push('      "tooltip":{');data.push('        "shadow":true,');data.push('        "stroke":1,');data.push('        "mouse":0,');data.push('        "colour":"#EDC240",');data.push('        "background":"#ffffff",');data.push('        "title":"{font-size: 11px; color: #905050;}",');data.push('        "body":"{font-size: 11px; color: #905050;}",');data.push('        "text":"title<br>body"');data.push('      },');data.push('      "y_axis": {');data.push('        "min":    0,');data.push('        "max":'+(bx+10)+',');data.push('        "stroke": 2,');data.push('        "steps" :'+((Math.round((bx+10)/10)*10)/5)+',');data.push('        "ak": 0,');data.push('        "grid-colour": "#DDDDDD"');data.push('      }');data.push('    }');return data.join('');};function a1(item){if(item!=null){var cP=0;for(var x=0;x<al.tracks.length;x++){if((cP+al.tracks[x].positions.length)>=item){var point=new GLatLng(al.tracks[x].positions[item-cP].la,al.tracks[x].positions[item-cP].lo);if(cJ==null||(point.lat()!=cJ.lat()&&point.lng()!=cJ.lng())){if(cL!=null){aN.removeOverlay(cL);}cJ=point;cL=new GMarker(cJ);aN.addOverlay(cL);aN.panTo(cJ);}return;}cP+=al.tracks[x].positions.length;}}};function dx(dq,value){var d;if(dq==='ts'&&typeof value==='string'&&value.slice(0,5)==='Date('&&value.slice(-1)===')'){d=new Date(parseInt(value.slice(5,-1)));if(d){return d;}}return value;} 