var _aa=null;var _ba=new GIcon();_ba.image="icon-current.png";_ba.iconSize=new GSize(32,32);_ba.iconAnchor=new GPoint(16,16);var _ca=new GIcon();_ca.image="icon-trail.png";_ca.iconSize=new GSize(32,32);_ca.iconAnchor=new GPoint(16,16);_ca.infoWindowAnchor=new GPoint(16,12);var _da=new GLatLng(0,0);var _ea=null;var _fa;var _ga=new Array();var _ha=0;var _ia=0;var _ja=new GPolyline([],"#ffffff",5,0.0);var _ka="";function start(){if(!GBrowserIsCompatible()){return;} _aa=new GMap2(document.getElementById("map"));_aa.setCenter(_da,16);_aa.addControl(new GLargeMapControl());_aa.addControl(new GMenuMapTypeControl());_aa.addMapType(G_PHYSICAL_MAP);_aa.addControl(new GScaleControl());_ea=new GMarker(new GLatLng(0,0),{icon:_ba,zIndexProcess:zIndexHighestPriority});_aa.addOverlay(_ea);_ea.hide();_aa.addOverlay(_ja);updateTrailStyle();GEvent.addListener(_aa,"maptypechanged",updateTrailStyle);_fa=document.f.key.value;spr();lt();} function updateTrailStyle(){if(_aa.getCurrentMapType()==G_SATELLITE_MAP||_aa.getCurrentMapType()==G_HYBRID_MAP){_ja.setStrokeStyle({color:"#ffffa5",weight:5,opacity:0.8});} else{_ja.setStrokeStyle({color:"#0000ff",weight:5,opacity:0.33});}} function zIndexOrderOfCreation(ua,b){return 1;} function zIndexHighestPriority(va,b){return 1000000;} function cht(){if(!_aa)return;var wa=document.f.trty.selectedIndex;if(wa==0||wa==2){_ja.show();} else{_ja.hide();} for(i=0;i<_ga.length;i++){if(wa==0||wa==1){_ga[i].show();} else{_ga[i].hide();}}} function _la(){_aa.removeOverlay(_ja);_ja=new GPolyline([],"#ffffff",5,0.0);_aa.addOverlay(_ja);updateTrailStyle();for(i=0;i<_ga.length;i++){_aa.removeOverlay(_ga[i]);_ga[i].bindInfoWindowHtml(null);} _ga=new Array();_ia=0;cht();} function ct(){if(!_aa)return;_la();if(_ea.getLatLng().lat()!=0){_ja.insertVertex(1000000,_ea.getLatLng());}} function lt(){if(!_aa)return;_la();_ja.deleteVertex(0);_ha=document.f.trsi.options[document.f.trsi.selectedIndex].value;if(_ha=="0"){return;} _ma="";if(_ha=="recent"){_ha="100";_ma="&lt";} var xa;try{xa=new ActiveXObject("Microsoft.XMLHTTP");} catch(e){xa=new XMLHttpRequest();} xa.onreadystatechange=function(){if(xa.readyState==4){if(xa.status==200){var ya=xa.responseText;var za=ya.split("\n");for(i=0;i<za.length-2;i++){var Aa=za[i].split(",");_na(Aa,true);} if(_ea.getLatLng().lat()!=0){_ja.insertVertex(1000000,_ea.getLatLng());}}}};xa.open("GET","rtt?d="+_fa+"&n="+(parseInt(_ha)+1)+_ma,true);xa.send(null);} function _oa(v,Ba){v=v+'';while(v.length<Ba){v='0'+v;} return v;} function _pa(ts){var Ca=new Date();Ca.setTime(ts*1000);return Ca.getFullYear()+"-"+_oa(Ca.getMonth()+1,2)+"-"+_oa(Ca.getDate(),2)+" "+_oa(Ca.getHours(),2)+":"+_oa(Ca.getMinutes(),2)+":"+_oa(Ca.getSeconds(),2);} function _qa(Da,Ea){if(Ea=='metric'){return Math.round(Da)+" m";} return Math.round(Da*3.28)+" ft";} function _ra(Fa,Ga){if(Ga=='metric'){return Math.round(Fa*3.6)+" km/h"} else if(Ga=='nautical'){return Math.round(Fa*1.944)+" kts"} return Math.round(Fa*2.237)+" mph";} function _sa(Ha,Ia,Ja){var Ka=Ja.charAt(0);if(Ha<0){Ka=Ja.charAt(1);} if(Ia=="n"){return Ha;} Ha=Math.abs(Ha);if(Ia=="dm"){Ha=parseInt(Math.round(Ha*60000));var d=parseInt(Ha/60000);var m=parseInt(Ha/1000)%60;var mf=Ha%1000;return Ka+" "+d+"&deg;"+_oa(m,2)+"."+_oa(mf,3)+"'";} else if(Ia=="dms"){Ha=parseInt(Math.round(Ha*36000));var d=parseInt(Ha/36000);var m=parseInt(Ha/600)%60;var s=parseInt(Ha/10)%60;var sf=Ha%10;return Ka+" "+d+"&deg;"+_oa(m,2)+"'"+_oa(s,2)+"."+sf+"\"";} return Ka+" "+Ha+"&deg;";} function spr(){if(!_aa)return;var La;try{La=new ActiveXObject("Microsoft.XMLHTTP");} catch(e){La=new XMLHttpRequest();} La.onreadystatechange=function(){if(La.readyState==4){var Ma;try{Ma=La.status;} catch(e){document.getElementById("error").innerHTML="Service is unavailable";setTimeout("spr()",30000);return;} if(La.status==200){var Na=La.responseText;var Oa=Na.split(",");var Pa=document.getElementById("units").value;var Qa=document.getElementById("coords").value;document.getElementById("time").innerHTML=_pa(Oa[1]);document.getElementById("lat").innerHTML=_sa(Oa[2],Qa,"NS");document.getElementById("long").innerHTML=_sa(Oa[3],Qa,"EW");document.getElementById("altitude").innerHTML=_qa(Oa[4],Pa);document.getElementById("speed").innerHTML=_ra(Oa[5],Pa);document.getElementById("heading").innerHTML=Oa[6]+" &deg;";_ta(new GLatLng(parseFloat(Oa[2]),parseFloat(Oa[3])));_ka=Oa;document.getElementById("error").innerHTML="";if(Oa.length==9&&Oa[8]=="CLEAR\n"){setTimeout("ct()",250);} setTimeout("spr()",2000);} else if(La.status==400){var Na="Unknown error";if(La.responseText=="NP"){Na="No data is available for this device";setTimeout("spr()",20000);} else if(La.responseText=="EC"){Na="Your session has expired. Please login again.";} document.getElementById("error").innerHTML=Na;_aa.setZoom(1);} else{document.getElementById("error").innerHTML="Service is unavailable";setTimeout("spr()",30000);}}};La.open("GET","rtt?d="+_fa+"&n=1",true);La.send(null);} function _na(Ra,Sa){var Ta=new GMarker(new GLatLng(parseFloat(Ra[2]),parseFloat(Ra[3])),{icon:_ca,zIndexProcess:zIndexOrderOfCreation});if(Sa){_ja.insertVertex(1000000,Ta.getLatLng());} var Ua=document.getElementById("units").value;var Va=document.getElementById("coords").value;var Wa="<font color=darkgreen>"+_pa(Ra[1])+"</font><br>"+_sa(Ra[2],Va,"NS")+"<br>"+_sa(Ra[3],Va,"EW")+"<br>"+"Altitude: "+_qa(Ra[4],Ua)+"<br>"+"Speed: "+_ra(Ra[5],Ua)+"<br>"+"Heading: "+Ra[6]+" &deg;";Ta.bindInfoWindowHtml(Wa);if(_ia>=_ha){var Xa=_ga[_ia%_ha];_aa.removeOverlay(Xa);GEvent.clearListeners(Xa,"click");_ja.deleteVertex(0);} _ga[_ia%_ha]=Ta;_ia=_ia+1;_aa.addOverlay(Ta);var Ya=document.f.trty.selectedIndex;if(Ya==0||Ya==1){Ta.show();} else{Ta.hide();}} function tap(){if(!_aa)return;if(document.f.ap.checked&&_ea.getLatLng().lat()!=0){_aa.panTo(_ea.getLatLng());}} function _ta(Za){if(_ea.getLatLng().distanceFrom(Za)==0){return;} if(_ha>0&&_ea.getLatLng().lat()!=0){_na(_ka,false);} if(_ga.length>0||(_ha>0&&document.getElementById("error").innerHTML!="")){_ja.insertVertex(1000000,Za);} var $a=_aa.getBounds().getCenter();if(_ea.getLatLng().lat()==0||(document.f.ap.checked&&$a.distanceFrom(Za)*6>$a.distanceFrom(_aa.getBounds().getSouthWest()))){_aa.panTo(Za);} _ea.setPoint(Za);if(_ea.isHidden()){_ea.show();}}