function Coord(latm,lonm) { this.lon=(Math.floor(lonm)+(lonm-Math.floor(lonm))/0.6)*Math.PI/180.0; this.lat=(Math.floor(latm)+(latm-Math.floor(latm))/0.6)*Math.PI/180.0; } function CoordRad(latr,lonr) { this.lon=lonr; this.lat=latr; } function CoordUTM(east,north) { this.x=east; this.y=north; } function Rad2Txt(x) { var xgabs=Math.abs(x*180/Math.PI); var grd=Math.floor(xgabs); var min=(xgabs-grd)*60; var minfrac=Math.round((min-Math.floor(min))*1000); return ""+grd+"°"+((min<10)?"0":"")+Math.floor(min)+"."+((minfrac<100)?"0":"")+((minfrac<10)?"0":"")+minfrac+"'"; } function C2Txt(c) { return Rad2Txt(c.lat)+((c.lat>=0)?"N ":"S ") + Rad2Txt(c.lon)+((c.lon>=0)?"E":"W"); } function VendePkt(n,id,txt,coord,pid,utm) { this.n=n; this.id=id; this.txt=txt; this.coord=coord; this.pid=pid; this.utm=utm } function PktAsStr(pkt) { var lond=pkt.coord.lon*180/Math.PI; var lonm=Math.floor(lond)+0.6*(lond-Math.floor(lond)); var latd=pkt.coord.lat*180/Math.PI; var latm=Math.floor(latd)+0.6*(latd-Math.floor(latd)); return (pkt.pid>0)?(''+pkt.pid):pkt.pid+","+pkt.id+","+pkt.txt+",("+lonm+","+latm+"),"+pkt.n; } function StrAsPkt(str) { var p=0; var q=str.indexOf(','); if (q<0) { pid=parseInt(str); if (pid>0 && pid<=VList.length && VList[pid-1]) return VList[pid-1]; return null; } var pid=parseInt(str.slice(p,q)); p=q+1; q=str.indexOf(',',p); if (q<0) return null; var id=str.slice(p,q); p=q+1; q=str.indexOf(',',p); if (q<0) return null; var txt=str.slice(p,q); p=q+1; if (str.charAt(p)!='(') return null; p+=1; q=str.indexOf(',',p); if (q<0) return null; var lon=parseFloat(str.slice(p,q)); if (isNaN(lon)) return null; p=q+1; q=str.indexOf(')',p); if (q<0) return null; var lat=parseFloat(str.slice(p,q)); if (isNaN(lat)) return null; p=q+1; if (str.charAt(p)!=',') return null; p+=1; var n=parseInt(str.slice(p,str.length)); return new VendePkt(n,id,txt,new Coord(lat,lon),pid,null); } var VList=new Array(100); var CardWin=null; function OpenCardWin(n) { if (n>0 && n<=69 && n!=44) { if (CardWin==null || CardWin.closed) CardWin=window.open("vpkort.htm?"+n,"Vendepunktskort",'titlebar,height=450,width=760,status,resize'); CardWin.location.href="vpkort.htm?"+n; CardWin.focus(); } } var RefPkt=null; function SetRefPkt(pkt) { if (pkt.coord.lon==RefPkt.coord.lon && pkt.coord.lat==RefPkt.coord.lat) return; RefPkt=pkt; menu.location.href=menu.location.href; list.location.href=list.location.href; }