var PI=3.14159265;var FOURTHPI=PI/4;var deg2rad=PI/180;var rad2deg=180.0/PI;var LongOrigin;var LetterDesignator;var eccPrimeSquared;var N,T,C,A,M;var LongTemp;function create_node(point,flag){if(flag=="start"){icon["image"]="./data/icons/dd-start.png";} else {icon["image"]="./data/icons/dd-end.png";} ;icon["iconSize"]= new GSize(10,17);icon["iconAnchor"]= new GPoint(5,17);icon["infoWindowAnchor"]= new GPoint(5,17);var markerOpts={};markerOpts={"icon":icon,"clickable":true};var marker= new GMarker(point,markerOpts);return marker;} ;function mapClick(my_overlay,point){if(addressSet==true){map["removeOverlay"](addrMarker);} ;i_window=document["getElementById"]("Inner_Infobox");coord_box=document["getElementById"]("ClickedCoorddBox");toUTM(point);if(document["getElementById"]("ck_route")["checked"]==true){if(!startMarker){resetRoute();i_window["innerHTML"]="Start: "+point["y"]["toFixed"](5)+" Lat, "+point["x"]["toFixed"](5)+" Lon ";startMarker="1";start_marker=create_node(point,"start");point_start=point;marker_start= new Object();marker_start=start_marker;map["addOverlay"](start_marker);} else {if(!endMarker){var bounds= new GLatLngBounds();var p1=point_start;var p2=point;bounds["extend"](p1);bounds["extend"](p2);end_marker=create_node(point,"end");marker_end= new Object();marker_end=end_marker;map["addOverlay"](end_marker);var fPoints= new Array();with(Math){var lat1=p1["y"]*(PI/180);var lon1=p1["x"]*(PI/180);var lat2=p2["y"]*(PI/180);var lon2=p2["x"]*(PI/180);var d=2*asin(sqrt(pow((sin((lat1-lat2)/2)),2)+cos(lat1)*cos(lat2)*pow((sin((lon1-lon2)/2)),2)));var bearing=atan2(sin(lon1-lon2)*cos(lat2),cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon1-lon2))/-(PI/180);bearing=bearing<0?360+bearing:bearing;for(var n=0;n<51;n++){var f=(1/50)*n;f=f["toFixed"](6);var A=sin((1-f)*d)/sin(d);var B=sin(f*d)/sin(d);var x=A*cos(lat1)*cos(lon1)+B*cos(lat2)*cos(lon2);var y=A*cos(lat1)*sin(lon1)+B*cos(lat2)*sin(lon2);var z=A*sin(lat1)+B*sin(lat2);var latN=atan2(z,sqrt(pow(x,2)+pow(y,2)));var lonN=atan2(y,x);var p= new GLatLng(latN/(PI/180),lonN/(PI/180));fPoints["push"](p);} ;} ;routes["push"](fPoints);var pLine= new GPolyline(fPoints,"#FFFFFF",2,1);map["addOverlay"](pLine);line_layer[0]= new Object();line_layer[0]=pLine;map["setCenter"](bounds["getCenter"](),map["getBoundsZoomLevel"](bounds)-1);var dist=d*6378.137;var distNM=dist*0.54;i_window["innerHTML"]="Distance: "+dist["toFixed"](2)+" KM, ";i_window["innerHTML"]+=distNM["toFixed"](2)+" NM | ";i_window["innerHTML"]+="Bearing: "+bearing["toFixed"](2)+"°";startMarker=null;endMarker=1;} ;} ;} ;} ;function resetRoute(){if(endMarker){line_layer[0]["hide"]();marker_start["hide"]();marker_end["hide"]();} ;routes=[];startMarker=null;endMarker=null;document["getElementById"]("Inner_Infobox")["innerHTML"]="";} ;function check_calc(checked){if(!checked){line_layer[0]["hide"]();marker_start["hide"]();marker_end["hide"]();startMarker=null;endMarker=null;window_doc["innerHTML"]="";map["getDragObject"]()["setDraggableCursor"]("default");} else {window_doc=document["getElementById"]("Inner_Infobox");map["getDragObject"]()["setDraggableCursor"]("crosshair");window_doc["innerHTML"]="Left click on the map to initialise the starting point. Second left click will set the ending point.";} ;} ;function current_coord(point){var lastPoint;var latDec=point["lat"]()["toFixed"](5);var lonDec=point["lng"]()["toFixed"](5);var latDecMin;var lonDecMin;if(latDec<0){latDecMin="-"+Math["floor"](Math["abs"](latDec))+"° "+(60*(-1*latDec-Math["floor"](Math["abs"](latDec))))["toFixed"](3)+"\x27";} else {latDecMin=Math["floor"](Math["abs"](latDec))+"° "+(60*(latDec-Math["floor"](Math["abs"](latDec))))["toFixed"](3)+"\x27";} ;if(lonDec<0){lonDecMin="-"+Math["floor"](Math["abs"](lonDec))+"° "+(60*(-1*lonDec-Math["floor"](Math["abs"](lonDec))))["toFixed"](3)+"\x27";} else {lonDecMin=Math["floor"](Math["abs"](lonDec))+"° "+(60*(lonDec-Math["floor"](Math["abs"](lonDec))))["toFixed"](3)+"\x27";} ;var latLngStrF="\x3Ctable\x3E\x3Ctr\x3E\x3Ctd\x3E\x3Cb\x3EGeographic\x3C/b\x3E\x3C/td\x3E\x3Ctd\x3ELat:\x3C/td\x3E\x3Ctd width=\x2260px\x22\x3E"+latDecMin+"\x3C/td\x3E\x3Ctd\x3ELon:\x3C/td\x3E\x3Ctd width=\x2290px\x22\x3E"+lonDecMin+"\x3C/td\x3E\x3C/tr\x3E\x3Ctr\x3E\x3Ctd\x3E\x3Cb\x3ECoordinates\x3C/b\x3E\x3C/td\x3E\x3Ctd\x3ELat:\x3C/td\x3E\x3Ctd width=\x2260px\x22\x3E"+latDec+"\x3C/td\x3E\x3Ctd\x3ELon:\x3C/td\x3E\x3Ctd width=\x2290px\x22\x3E"+lonDec+"\x3C/td\x3E\x3C/tr\x3E\x3C/table\x3E";document["getElementById"]("CurrCoordBox")["innerHTML"]=latLngStrF;lastPoint=point;} ;function toUTM(point){lon=point["x"]["toFixed"](6);lat=point["y"]["toFixed"](6);a=6378137;eccSquared=0.00669438;k0=0.9996;var LatRad=lat*deg2rad;var LongRad=lon*deg2rad;var LongOriginRad=0;var ZoneNumber=0;LongTemp=(parseInt(lon)+180);ZoneNumber=Math["floor"](LongTemp/6)+1;if(lat>=56.0&&lat<64.0&&LongTemp>=3.0&&LongTemp<12.0){ZoneNumber=32;} ;if(lat>=72.0&&lat<84.0){if(LongTemp>=0.0&&LongTemp<9.0){ZoneNumber=31;} else {if(LongTemp>=9.0&&LongTemp<21.0){ZoneNumber=33;} else {if(LongTemp>=21.0&&LongTemp<33.0){ZoneNumber=35;} else {if(LongTemp>=33.0&&LongTemp<42.0){ZoneNumber=37;} ;} ;} ;} ;} ;LongOrigin=(ZoneNumber-1)*6-180+3;LongOriginRad=LongOrigin*deg2rad;eccPrimeSquared=(eccSquared)/(1-eccSquared);N=a/Math["sqrt"](1-eccSquared*Math["sin"](LatRad)*Math["sin"](LatRad));T=Math["tan"](LatRad)*Math["tan"](LatRad);C=eccPrimeSquared*Math["cos"](LatRad)*Math["cos"](LatRad);A=Math["cos"](LatRad)*(LongRad-LongOriginRad);M=a*((1-eccSquared/4-3*eccSquared*eccSquared/64-5*eccSquared*eccSquared*eccSquared/256)*LatRad-(3*eccSquared/8+3*eccSquared*eccSquared/32+45*eccSquared*eccSquared*eccSquared/1024)*Math["sin"](2*LatRad)+(15*eccSquared*eccSquared/256+45*eccSquared*eccSquared*eccSquared/1024)*Math["sin"](4*LatRad)-(35*eccSquared*eccSquared*eccSquared/3072)*Math["sin"](6*LatRad));UTMEasting=(k0*N*(A+(1-T+C)*A*A*A/6+(5-18*T+T*T+72*C-58*eccPrimeSquared)*A*A*A*A*A/120)+500000.0);UTMNorthing=(k0*(M+N*Math["tan"](LatRad)*(A*A/2+(5-T+9*C+4*C*C)*A*A*A*A/24+(61-58*T+T*T+600*C-330*eccPrimeSquared)*A*A*A*A*A*A/720)));if(lat<0){UTMNorthing+=10000000.0;} ;if((84>=lat)&&(lat>=72)){LetterDesignator="X";} else {if((72>lat)&&(lat>=64)){LetterDesignator="W";} else {if((64>lat)&&(lat>=56)){LetterDesignator="V";} else {if((56>lat)&&(lat>=48)){LetterDesignator="U";} else {if((48>lat)&&(lat>=40)){LetterDesignator="T";} else {if((40>lat)&&(lat>=32)){LetterDesignator="S";} else {if((32>lat)&&(lat>=24)){LetterDesignator="R";} else {if((24>lat)&&(lat>=16)){LetterDesignator="Q";} else {if((16>lat)&&(lat>=8)){LetterDesignator="P";} else {if((8>lat)&&(lat>=0)){LetterDesignator="N";} else {if((0>lat)&&(lat>=-8)){LetterDesignator="M";} else {if((-8>lat)&&(lat>=-16)){LetterDesignator="L";} else {if((-16>lat)&&(lat>=-24)){LetterDesignator="K";} else {if((-24>lat)&&(lat>=-32)){LetterDesignator="J";} else {if((-32>lat)&&(lat>=-40)){LetterDesignator="H";} else {if((-40>lat)&&(lat>=-48)){LetterDesignator="G";} else {if((-48>lat)&&(lat>=-56)){LetterDesignator="F";} else {if((-56>lat)&&(lat>=-64)){LetterDesignator="E";} else {if((-64>lat)&&(lat>=-72)){LetterDesignator="D";} else {if((-72>lat)&&(lat>=-80)){LetterDesignator="C";} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;} ;coord_box=document["getElementById"]("ClickedCoorddBox");coord_box["innerHTML"]="\x3Ctable border=\x220\x22\x3E\x3Ctr\x3E\x3Ctd\x3E\x3Cb\x3EClicked\x3C/b\x3E\x3C/td\x3E\x3Ctd\x3ELat:\x3C/td\x3E\x3Ctd width=\x2290px\x22 align=\x22center\x22\x3E"+point["y"]["toFixed"](6)+"\x3C/td\x3E\x3Ctd\x3E\x3Cb\x3EUTM\x3C/b\x3E\x3C/td\x3E\x3Ctd\x3E\x3C/td\x3E\x3Ctd width=\x2290px\x22 align=\x22center\x22\x3E"+UTMNorthing["toFixed"](2)+"\x3C/td\x3E\x3Ctd\x3ENorthing\x3C/tr\x3E\x3Ctr\x3E\x3Ctd\x3E\x3Cb\x3Eposition\x3C/b\x3E\x3C/td\x3E\x3Ctd\x3ELon:\x3C/td\x3E\x3Ctd width=\x2290px\x22 align=\x22center\x22\x3E"+point["x"]["toFixed"](6)+"\x3C/td\x3E\x3Ctd\x3E\x3Cb\x3EZone\x3C/b\x3E\x3C/td\x3E\x3Ctd width=\x2215px\x22\x3E"+ZoneNumber+LetterDesignator+"\x3C/td\x3E\x3Ctd width=\x2290px\x22 align=\x22center\x22\x3E"+UTMEasting["toFixed"](2)+"\x3C/td\x3E\x3Ctd\x3EEasting\x3C/td\x3E\x3C/tr\x3E\x3C/table\x3E";} ;
