var map;
var isloaded=0;
var blip=[];
var icon;
var points=[];
var wptbg=[];
var xmlDoc;
var ismultitrack=false;
var isplaying=false;
var framenumber=0;
var polylinecount=0;
var replayspeed=100;
var zoomlatpadding=0.001;
var zoomlngpadding=0.001;
var lastxmlurl;
var trackpointOnLoad=-1;
var livedeviceShownOnLoad=0;
var sectors=["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"];
var monthnames=["January","February","March","April","May","June","July","August","September","October","November","December"];
var unitsspd=0,unitsdst=0,unitsalt=0,unitsvsi=0,unitsdeg=0,unitsarea=0;
function setUnits(_1,_2,_3,_4,_5,_6){
unitsspd=_1;
unitsdst=_2;
unitsvsi=_4;
unitsalt=_3;
unitsdeg=_5;
unitsarea=_6;
}
function formatSpeed(_7){
if(unitsspd==1){
return "<b>"+(_7*3.6/1.609344).toFixed(1)+"</b> mph";
}else{
if(unitsspd==2){
return "<b>"+(_7*3.6/1.852).toFixed(1)+"</b> kts";
}else{
if(unitsspd==3&&_7<0.01){
return "-";
}else{
if(unitsspd==3){
return "<b>"+formatDurationPlain(1000000/_7)+"</b>/km";
}else{
if(unitsspd==4){
return "<b>"+(_7).toFixed(1)+"</b> m/s";
}else{
return "<b>"+(_7*3.6).toFixed(1)+"</b> km/h";
}
}
}
}
}
}
function formatDistance(_8){
if(unitsdst==1){
return "<b>"+(_8/1609.344).toFixed(1)+"</b> M";
}else{
if(unitsdst==2){
return "<b>"+(_8/1852).toFixed(1)+"</b> NM";
}else{
if(unitsdst==3&&_8>1500){
return "<b>"+(_8/1609.344).toFixed(1)+"</b> M";
}else{
if(unitsdst==3){
return "<b>"+(_8).toFixed(0)+"</b> m";
}else{
return "<b>"+(_8/1000).toFixed(1)+"</b> km";
}
}
}
}
}
function formatDuration(_9){
var _a=Math.floor(_9/3600000);
var _b=Math.floor(_9/60000)%60;
var _c=Math.floor(_9/1000)%60;
var _d=_9%1000;
var _e=_b+":"+_c;
if(_d>0){
_e+="."+_d.toFixed(0);
}
if(_a>0){
_e=_a+"h:"+_e;
}
return _e;
}
function formatDurationPlain(_f){
var _10=Math.floor(_f/3600000);
var _11=Math.floor(_f/60000)%60;
var _12=Math.floor(_f/1000)%60;
var _13=_f%1000;
var _14=_11+":"+_12;
return _14;
}
function formatAltitude(_15){
if(unitsalt==1){
return "<b>"+(_15/0.3048).toFixed(0)+"</b> ft";
}else{
return "<b>"+(_15).toFixed(1)+"</b> m";
}
}
function formatDate(_16,_17){
var dt=new Date();
dt.setTime(_16.getTime()+_17*60000);
var _19="UTC";
if(_17>0){
_19+="+"+Math.floor(_17/60)+":"+padLeft((_17%60).toString(),"0",2);
}
if(_17<0){
_19+="-"+Math.floor(-_17/60)+":"+padLeft((-_17%60).toString(),"0",2);
}
return "<b>"+dt.getUTCDate()+" "+monthnames[dt.getUTCMonth()]+" "+dt.getUTCFullYear()+" "+dt.getUTCHours()+":"+padLeft(dt.getUTCMinutes().toString(),"0",2)+":"+padLeft(dt.getUTCSeconds().toString(),"0",2)+"</b> "+_19;
}
function formatDegrees(_1a,_1b,_1c){
var _1d;
var bs="<b>",be="</b>",dg="&deg;",mn="&#39;",sc="&#34;";
if(_1c==null){
_1c=false;
}
if(_1c){
bs="";
be="";
dg=" ";
mn=" ";
sc="";
}
if(unitsdeg==3||(unitsdeg==0&&_1c)){
var _23=Math.floor(Math.abs(_1a)*3600000+0.5);
var _24=Math.floor(_23/3600000);
var _25=Math.floor(_23/60000)%60;
var _26=(_23%60000)/1000;
_1d=bs+_24+be+dg;
if(_25>0||_26>0){
_1d+=bs+padLeft(_25,"0",2)+be+mn;
}
if(_26>0){
_1d+=bs+_26.toFixed(3)+be+sc;
}
}else{
if(unitsdeg==1){
var _24=Math.floor(Math.abs(_1a));
var _27=60*(Math.abs(_1a)-Math.floor(Math.abs(_1a)));
_1d=bs+_24+be+dg;
if(_27>0){
_1d+=bs+_27.toFixed(_1c?6:3)+be+mn;
}
}else{
if(unitsdeg==0){
var _23=Math.floor(Math.abs(_1a)*3600+0.5);
var _24=Math.floor(_23/3600);
var _25=Math.floor(_23/60)%60;
var _28=_23%60;
_1d=bs+_24+be+dg;
if(_25>0||_28>0){
_1d+=bs+padLeft(_25,"0",2)+be+mn;
}
if(_28>0){
_1d+=bs+padLeft(_28,"0",2)+be+sc;
}
}else{
_1d=bs+Math.abs(_1a).toFixed(_1c?7:6)+be+dg;
}
}
}
if(_1b==null||_1c){
return (_1a>0?"":"-")+_1d;
}else{
return _1d+_1b.charAt(_1a>0?0:1);
}
}
function formatBearing(_29){
while(_29<0){
_29+=360;
}
while(_29>360){
_29-=360;
}
return "<b>"+_29.toFixed(0)+"\xb0</b> <i>"+formatBearingName(_29)+"</i>";
}
function formatBearingName(_2a){
while(_2a<0){
_2a+=360;
}
var _2b=Math.floor(((_2a%360)+11.25)/22.5)%16;
return sectors[_2b];
}
function padLeft(str,_2d,_2e){
while(str.length<_2e){
str=_2d+str;
}
return str;
}
function loadXMLLive(_2f){
if(window.XMLHttpRequest){
var _30=new XMLHttpRequest();
_30.onreadystatechange=function(){
if(_30.readyState==4){
xmlDoc=_30.responseXML;
parseXMLLive();
}
};
_30.open("GET",_2f,true);
_30.send("");
}else{
if(document.implementation&&document.implementation.createDocument){
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.onload=parseXMLLive;
xmlDoc.load(_2f);
}else{
if(window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=true;
xmlDoc.onreadystatechange=function(){
if(xmlDoc.readyState==4){
parseXMLLive();
}
};
xmlDoc.load(_2f);
}else{
alert("Your browser cannot handle this script");
}
}
}
lastxmlurl=_2f;
}
function parseXMLLive(){
var _31=xmlDoc.documentElement.getElementsByTagName("marker");
if(isloaded==0){
for(var i=0;i<_31.length;i++){
var _33=new Object();
_33.devid=parseInt(_31[i].getAttribute("id"));
_33.name=_31[i].getAttribute("name");
_33.user=_31[i].getAttribute("username");
_33.title=_33.user;
_33.lat=parseFloat(_31[i].getAttribute("lat"));
_33.lng=parseFloat(_31[i].getAttribute("lng"));
_33.alt=parseFloat(_31[i].getAttribute("alt"));
_33.speed=parseFloat(_31[i].getElementsByTagName("speed")[0].firstChild.nodeValue);
_33.bearing=parseFloat(_31[i].getElementsByTagName("bearing")[0].firstChild.nodeValue);
_33.nearto=_31[i].getElementsByTagName("nearto")[0].firstChild.nodeValue;
_33.lastupdate=_31[i].getElementsByTagName("lastupdate")[0].firstChild.nodeValue;
if(_33.devid==livedeviceShownOnLoad||(livedeviceShownOnLoad==0&&_31[i].getElementsByTagName("visible")[0].firstChild.nodeValue=="1")){
_33.visible=true;
}else{
_33.visible=false;
}
blip.push(_33);
createinfotext(blip.length-1);
_33.marker=newMarker(blip.length-1,_33,icon);
if(_33.visible==true){
addMarker(_33);
}
}
isloaded=1;
}else{
for(var i=0;i<_31.length;i++){
blip[i].lat=parseFloat(_31[i].getAttribute("lat"));
blip[i].lng=parseFloat(_31[i].getAttribute("lng"));
blip[i].alt=parseFloat(_31[i].getAttribute("alt"));
blip[i].lastupdate=_31[i].getElementsByTagName("lastupdate")[0].firstChild.nodeValue;
blip[i].speed=parseFloat(_31[i].getElementsByTagName("speed")[0].firstChild.nodeValue);
blip[i].bearing=parseFloat(_31[i].getElementsByTagName("bearing")[0].firstChild.nodeValue);
blip[i].nearto=_31[i].getElementsByTagName("nearto")[0].firstChild.nodeValue;
createinfotext(i);
if(blip[i].visible){
setMarkerLoc(blip[i]);
}
}
}
if(document.options.autozoom.checked&&document.options.autopan.checked){
zoomtoall(1,1);
}else{
if(document.options.autopan.checked){
zoomtoall(0,1);
}
}
updatedatatable();
d=new Date();
document.getElementById("lastupdate").innerHTML="Last update: "+d.toTimeString();
}
function updatepoints(){
loadXMLLive(lastxmlurl);
return false;
}
function createinfotext(i){
blip[i].info="Device: <b>"+blip[i].name+"</b><br/>";
if(!isNaN(blip[i].speed)){
blip[i].info+="Speed: "+formatSpeed(blip[i].speed)+"<br/>";
blip[i].info+="Direction: "+formatBearing(blip[i].bearing)+"<br/>";
}
if(blip[i].nearto!="null"){
blip[i].info+="Near to: <b>"+blip[i].nearto+"</b><br/>";
}
blip[i].info+="Latitude: "+formatDegrees(blip[i].lat,"NS")+"<br/>";
blip[i].info+="Longitude: "+formatDegrees(blip[i].lng,"EW")+"<br/>";
blip[i].info+="Altitude: "+formatAltitude(blip[i].lng)+"<br/>";
blip[i].info+="Last update: <b>"+blip[i].lastupdate+"</b>";
}
function updatedatatable(){
if(isloaded==1){
var _35="<table cellpadding=\"0\" cellspacing=\"0\" style=\"width: 95%;\">";
_35+="<tr><td class=\"theadl\" style=\"text-align: left;\">&nbsp;</td>";
_35+="<td class=\"thead\" style=\"text-align: left;\">User/Device</td>";
_35+="<td class=\"thead\" style=\"text-align: left;\">Location</td>";
_35+="<td class=\"thead\" style=\"text-align: left;\">Altitude &amp; Speed</td>";
_35+="<td class=\"theadr\" style=\"text-align: left;\">Last Update &amp; Location</td></tr>";
var _36;
for(var i=0;i<blip.length;i++){
if(((new Date()).getTime()-Date.parse(blip[i].lastupdate)-300000)<3600000){
_36="bs2c";
}else{
if((i%2)==0){
_36="bs2a";
}else{
_36="bs2b";
}
}
_35+="<tr><td class=\""+_36+"l\"><input onclick=\"showhide("+i+")\" type=\"checkbox\" ";
if(blip[i].visible){
_35+="checked ";
}
_35+="name=\"marker"+i+"\">";
_35+="<td class=\""+_36+"\" style=\"padding:3px;\"><b>"+blip[i].user+"</b>&nbsp;<br/>"+blip[i].name+"&nbsp;</td>";
_35+="<td class=\""+_36+"\">Lat: "+formatDegrees(blip[i].lat,"NS")+"&nbsp;<br/>Long: "+formatDegrees(blip[i].lng,"EW")+"</td>";
_35+="<td class=\""+_36+"\">Altitude: "+formatAltitude(blip[i].alt)+"<br/>Speed: ";
if(blip[i].speed==0){
_35+="-";
}else{
_35+=formatSpeed(blip[i].speed)+" "+formatBearing(blip[i].bearing);
}
_35+="</td>";
_35+="<td class=\""+_36+"r\"><b>"+blip[i].lastupdate+"</b>";
if(blip[i].nearto!="null"){
_35+="</br>&nbsp;"+blip[i].nearto+"";
}
_35+="</td></tr>";
}
_35+="<tr><td class=\"tfootl\">&nbsp;</td><td class=\"tfoot\" colspan=\"3\">&nbsp;</td><td class=\"tfootr\">&nbsp;</td></tr>";
_35+="</table>";
if(blip.length==0){
_35+="<p>No live data available!</p>";
}
document.getElementById("datatable").innerHTML=_35;
}
}
function showhide(i){
if(isloaded==1){
blip[i].visible=!blip[i].visible;
if(blip[i].visible){
blip[i].marker=newMarker(i,blip[i],icon);
addMarker(blip[i]);
}else{
removeMarker(blip[i]);
}
zoomtoall(0,0,1);
}
return false;
}
function zoomtoall(_39,_3a,_3b){
if(isloaded==1){
var _3c=90,_3d=180,_3e=-90,_3f=-180,_40=true;
for(var i=0;i<blip.length;i++){
if(blip[i].visible){
_40=false;
if(blip[i].lat<_3c){
_3c=blip[i].lat;
}
if(blip[i].lng<_3d){
_3d=blip[i].lng;
}
if(blip[i].lat>_3e){
_3e=blip[i].lat;
}
if(blip[i].lng>_3f){
_3f=blip[i].lng;
}
}
}
if(!_40){
if(_39==1||(_3b==1&&document.options.autozoom.checked&&document.options.autopan.checked)){
mapZoomAndPan(_3c,_3d,_3e,_3f);
}else{
if(_3a==1||(_3b==1&&document.options.autopan.checked)){
mapPanTo((_3c+_3e)/2,(_3d+_3f)/2);
}
}
}
}
return false;
}
function loadClickLocation(_42,_43){
var _44=new Object();
_44.name="Home Location";
_44.title="";
_44.user="";
_44.lat=_42;
_44.lng=_43;
_44.lastupdate="";
_44.visible=true;
blip.push(_44);
createinfotext(0);
_44.marker=newMarker(0,_44,icon);
addMarker(_44);
setOnClickGeneral();
isloaded=1;
}
function loadWaypointsBackground(){
var _45=getMapCorners();
minlat=1.5*_45.minlat-_45.maxlat/2;
maxlat=1.5*_45.maxlat-_45.minlat/2;
minlng=1.5*_45.minlng-_45.maxlng/2;
maxlng=1.5*_45.maxlng-_45.minlng/2;
if(window.XMLHttpRequest){
var _46=new XMLHttpRequest();
_46.onreadystatechange=function(){
if(_46.readyState==4){
xmlBGDoc=_46.responseXML;
parseXMLWaypointsBG();
}
};
_46.open("GET","./xmlwaypoints.php?limitgroup=100&minlat="+minlat+"&maxlat="+maxlat+"&minlng="+minlng+"&maxlng="+maxlng,true);
_46.send("");
}else{
if(document.implementation&&document.implementation.createDocument){
xmlBGDoc=document.implementation.createDocument("","",null);
xmlBGDoc.onload=parseXMLWaypointsBG;
xmlBGDoc.load("./xmlwaypoints.php?limitgroup=100&minlat="+minlat+"&maxlat="+maxlat+"&minlng="+minlng+"&maxlng="+maxlng);
}else{
if(window.ActiveXObject){
xmlBGDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlBGDoc.async=true;
xmlBGDoc.onreadystatechange=function(){
if(xmlBGDoc.readyState==4){
parseXMLWaypointsBG();
}
};
xmlBGDoc.load("./xmlwaypoints.php?limitgroup=100&minlat="+minlat+"&maxlat="+maxlat+"&minlng="+minlng+"&maxlng="+maxlng);
}else{
alert("Your browser cannot handle this script");
}
}
}
var btn=document.getElementById("btnwptbg");
btn.disabled=true;
btn.value="Loading Waypoints...";
}
function parseXMLWaypointsBG(){
while(wptbg.length>0){
var wpt=wptbg.pop();
removeBasicMarker(wpt.mrkr);
}
var _49=xmlBGDoc.documentElement.getElementsByTagName("wpt");
for(var i=0;i<_49.length;i++){
var wpt=new Object();
wpt.lat=new Number(_49[i].getAttribute("lat"));
wpt.lng=new Number(_49[i].getAttribute("lon"));
wpt.name=_49[i].getElementsByTagName("name")[0].firstChild.nodeValue;
wpt.type=_49[i].getElementsByTagName("type")[0].firstChild.nodeValue;
var _4b=addBasicMarker(wpt.name,wpt.lat,wpt.lng,"./images/waypoints/wpt"+wpt.type+".png",16);
wpt.mrkr=_4b;
wptbg.push(wpt);
}
var btn=document.getElementById("btnwptbg");
btn.disabled=false;
btn.value="Reload Waypoints";
}
function loadWaypoint(_4d,_4e){
var _4f=new Object();
_4f.name="Home Location";
_4f.title="";
_4f.user="";
_4f.lat=_4d;
_4f.lng=_4e;
_4f.lastupdate="";
_4f.visible=true;
blip.push(_4f);
createinfotext(0);
_4f.marker=newMarker(0,_4f,icon);
addMarker(_4f);
setOnClickForWaypoints();
isloaded=1;
}
function getWayPoint(){
return (getMarkerLoc(blip[0]));
}
function selectWaypoint(_50,_51){
blip[0].lat=_50;
blip[0].lng=_51;
setMarkerLoc(blip[0]);
setMapCenter(_50,_51);
return false;
}
function loadXMLTrack(_52){
if(window.XMLHttpRequest){
var _53=new XMLHttpRequest();
_53.onreadystatechange=function(){
if(_53.readyState==4){
xmlDoc=_53.responseXML;
parseXMLTrack();
}
};
_53.open("GET",_52,true);
_53.send("");
}else{
if(document.implementation&&document.implementation.createDocument){
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.onload=parseXMLTrack;
xmlDoc.load(_52);
}else{
if(window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=true;
xmlDoc.onreadystatechange=function(){
if(xmlDoc.readyState==4){
parseXMLTrack();
}
};
xmlDoc.load(_52);
}else{
alert("Your browser cannot handle this script");
}
}
}
}
function parseXMLTrack(){
var _54=xmlDoc.documentElement.getElementsByTagName("trk");
for(var t=0;t<_54.length;t++){
var _56=[];
var _57=_54[t].getElementsByTagName("extensions");
var _58=_57[0].getElementsByTagName("color")[0].firstChild.nodeValue;
var _59=_57[0].getElementsByTagName("linewidth")[0].firstChild.nodeValue;
var _5a=parseInt(_57[0].getElementsByTagName("timezone")[0].firstChild.nodeValue);
var _5b=_54[t].getElementsByTagName("trkseg");
var _5c=_5b[0].getElementsByTagName("trkpt");
for(var i=0;i<_5c.length;i++){
var loc=new Object();
loc.id=parseFloat(_5c[i].getAttribute("id"));
loc.lat=parseFloat(_5c[i].getAttribute("lat"));
loc.lng=parseFloat(_5c[i].getAttribute("lng"));
loc.speed=parseFloat(getSubNode(_5c[i],"speed"));
loc.bearing=parseFloat(getSubNode(_5c[i],"bearing"));
loc.alt=parseFloat(getSubNode(_5c[i],"ele"));
loc.time=getSubNode(_5c[i],"time");
loc.timezone=_5a;
loc.timeoffset=parseFloat(getSubNode(_5c[i],"timeoffset"));
loc.distance=parseFloat(getSubNode(_5c[i],"distance"));
if(loc.time.length>18){
loc.timestamp=Date.UTC(loc.time.substr(0,4),loc.time.substr(5,2)-1,loc.time.substr(8,2),loc.time.substr(11,2),loc.time.substr(14,2),loc.time.substr(17,2));
loc.date=new Date();
loc.date.setTime(loc.timestamp);
}
if(t==0){
points.push(loc);
}
_56.push(makePoint(loc.lat,loc.lng));
}
addMapPolyLine(_56,_59,_58);
}
if(_54.length==1){
var _5f=new Object();
_5f.name="";
_5f.title="";
_5f.user="";
_5f.lat=points[0].lat;
_5f.lng=points[0].lng;
_5f.lastupdate="";
_5f.visible=true;
blip.push(_5f);
_5f.marker=newMarker(0,_5f,icon);
addMarker(_5f);
}else{
ismultitrack=true;
}
isloaded=1;
if(trackpointOnLoad>=0){
setTrackMarkerFraction(trackpointOnLoad,points[points.length-1].id,1,1);
}
}
function getSubNode(_60,_61){
var _62=_60.getElementsByTagName(_61);
if(_62.length>0){
return _62[0].firstChild.nodeValue;
}
return "";
}
function nextFrame(){
if(isplaying){
framenumber=(framenumber+1)%points.length;
setTrackMarker(framenumber,1,1);
var _63=20;
if(framenumber==(points.length-1)){
_63=3000;
}else{
var _64=points[framenumber];
var _65=points[framenumber+1];
_63=Math.round((_65.timeoffset-_64.timeoffset)*1000/replayspeed);
if(_63>3000){
_63=2000;
}
}
var t=setTimeout("nextFrame();",_63);
}
}
function startstop(btn){
if(isplaying){
isplaying=false;
btn.value=" Play > ";
}else{
isplaying=true;
btn.value=" Pause ";
nextFrame();
}
}
function setspeed(btn){
if(replayspeed==5){
replayspeed=10;
}else{
if(replayspeed==10){
replayspeed=20;
}else{
if(replayspeed==20){
replayspeed=50;
}else{
if(replayspeed==50){
replayspeed=100;
}else{
if(replayspeed==100){
replayspeed=500;
}else{
replayspeed=5;
}
}
}
}
}
btn.value=" "+replayspeed+"x ";
}
function setTrackMarker(num,_6a,_6b){
var _6c=Math.max(0,Math.min(parseInt(num)-1,points.length-1));
if(!ismultitrack&&blip[0]){
var _6d=points[Math.floor(num)];
blip[0].lat=_6d.lat;
blip[0].lng=_6d.lng;
setMarkerLoc(blip[0]);
if(_6a==1){
setMapCenter(_6d.lat,_6d.lng);
}
if(_6b==1){
updateTable(Math.floor(num));
}
}
return false;
}
function setTrackMarkerFraction(num,_6f,_70,_71){
if(isplaying||points.length<2){
return false;
}
var _72=points[points.length-1].id;
var _73=Math.max(0,Math.min(parseInt(num*_72/_6f),_72-1));
if(!ismultitrack&&blip[0]){
var idx=Math.max(0,Math.min(points.length-1,parseInt(_73*points.length/_72)));
if(points[idx].id>_73){
while(idx>0&&points[idx].id>_73){
idx--;
}
}else{
if(points[idx].id<_73){
while(idx<(points.length-1)&&points[idx].id<_73){
idx++;
}
}
}
var _75=points[idx];
blip[0].lat=_75.lat;
blip[0].lng=_75.lng;
setMarkerLoc(blip[0]);
if(_70==1){
mapPanTo(_75.lat,_75.lng);
framenumber=idx;
}
if(_71==1){
updateTable(idx);
}
}
return false;
}
function setTrackMarkerTimeOffset(_76){
var idx=0;
while(idx<(points.length-2)&&points[idx].timeoffset<_76){
idx++;
}
var _78=points[idx];
blip[0].lat=_78.lat;
blip[0].lng=_78.lng;
setMarkerLoc(blip[0]);
mapPanTo(_78.lat,_78.lng);
updateTable(idx);
return false;
}
function getMouseEventPosition(e){
var _7a=0;
var _7b=0;
if(!e){
var e=window.event;
}
if(e.pageX||e.pageY){
_7a=e.pageX;
_7b=e.pageY;
}else{
if(e.clientX||e.clientY){
_7a=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;
_7b=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;
}
}
return [_7a,_7b];
}
function getObjectPosition(obj){
var _7d=curtop=0;
if(obj.offsetParent){
_7d=obj.offsetLeft;
curtop=obj.offsetTop;
while(obj=obj.offsetParent){
_7d+=obj.offsetLeft;
curtop+=obj.offsetTop;
}
}
return [_7d,curtop];
}
function getOffsetX(e,t){
var _80=getMouseEventPosition(e);
var _81=getObjectPosition(t);
return (_80[0]-_81[0]);
}


