var elevator1,elevator2,elevator3,elevator,elevator4,map,chart1,chart2,chart3,infowindow=new google.maps.InfoWindow,polyline1,polyline2,polyline3,horizon_elevation_angle=0,last_elevation=0,endlocation,height_offset_corrected_for_earth_sfere,copy_pointtopointdistance,satellite_elevation=20.484,SatLon=359,r_sat=42168.64,Mont_Everest=3E3,compass_angle,drawpath1finished="False",drawpath2finished="False",drawpath3finished="False",zoom,count_down=10,doubleclickdisabled="False",first_elevation,first_distance, elevation_site,first_elevation_angle,sample_resolution,currentAddressResponse,thissitelocation,currentsitelocation,selectedsitelon,selectedsitelat,Lat,Lon,zoomlevel,SatLatitude,CurrentAltitude,AntennaHightAboveGround,currentselectedlocation,SatNameCurrentIndex,chart13,countdown,countdownvalue,Int,satelliteposition,Browser={Version:function(){-1!=navigator.appVersion.indexOf("MSIE")&&parseFloat(navigator.appVersion.split("MSIE")[1]);return 99}};Lat=37.77;Lon=237.58;zoomlevel=2; currentselectedlocation=new google.maps.LatLng(Lat,Lon);SatNameCurrentIndex=359;AntennaHightAboveGround=0;var geocoder=new google.maps.Geocoder;CurrentAltitude=0;countdown="False";countdownvalue=10; google.maps.LatLng.prototype.distanceFrom=function(a){var b=[this.lat(),a.lat()],c=[this.lng(),a.lng()];a=(b[1]-b[0])*Math.PI/180;c=(c[1]-c[0])*Math.PI/180;b=Math.sin(a/2)*Math.sin(a/2)+Math.cos(b[0]*Math.PI/180)*Math.cos(b[1]*Math.PI/180)*Math.sin(c/2)*Math.sin(c/2);return Math.round(12756274*Math.atan2(Math.sqrt(b),Math.sqrt(1-b)))};function sleep(a){var b=new Date;for(b.setTime(b.getTime()+a);(new Date).getTime()c?360+c:c)+90)+90)%360} function ifbelowhorison(a,b){document.getElementById("tilt").innerHTML="Tilt=Sat Elevation:"+formatvalue(1*satellite_elevation,3)+" \u00b0";"Microsoft Internet Explorer"!=navigator.appName&&(document.getElementById("newgstreetdiv").innerHTML='');document.getElementById("newgstreetdiv").style.backgroundImage="url('https://maps.googleapis.com/maps/api/streetview?size=500x500&location="+currentselectedlocation.lat()+","+currentselectedlocation.lng()+"&heading="+ compass_angle+"&fov=90&pitch="+1*satellite_elevation+"&key=AIzaSyBGRdxCC8nxLb7n3-wcRfkmQn8Hb49qONw')";b>a?(document.getElementById("mapcell").style.borderWidth="thick",document.getElementById("mapcell").style.borderColor="red"):(document.getElementById("mapcell").style.borderWidth="thick",document.getElementById("mapcell").style.borderColor="green")} function setsatelliteposition(){satelliteposition=new google.maps.LatLng(0,document.getElementById("satellite_longitude").value);SatLon=0>1*document.getElementById("satellite_longitude").value?360+1*document.getElementById("satellite_longitude").value:1*document.getElementById("satellite_longitude").value;0>1*document.getElementById("satellite_longitude").value?document.getElementById("sat_pos").innerHTML=formatvalue(Math.abs(1*document.getElementById("satellite_longitude").value),2)+"\u00b0W":document.getElementById("sat_pos").innerHTML= formatvalue(1*document.getElementById("satellite_longitude").value,2)+"\u00b0E";document.getElementById("azimuth").innerHTML=formatvalue(calculateBearing(currentselectedlocation,satelliteposition),3)+"\u00b0";SelectSatellite();satellite_elevation=Elevation2(SatLon,currentselectedlocation.lat(),currentselectedlocation.lng(),0*CurrentAltitude,1*SatLatitude,1*r_sat)}function Radians(a){return a*Math.PI/180} function setinfowindowinitialize(){infowindow.setPosition(currentselectedlocation);var a=infowindow.getPosition();infowindow.setContent("Position is "+a.lat()+" "+a.lng());infowindow.open(map)} function compensate_altitude_for_two_locations(a,b){a.lng();var c=a.lat();b.lng();var e=b.lat();earth_omkrets=4E7;earth_radius=4E7/(2*Math.PI);var g=Math.sin(Radians(c))*earth_radius,k=Math.sin(Radians(e))*earth_radius;g-=k;k=Math.cos(Radians(e))*earth_radius;var d=Math.cos(Radians(c))*earth_radius;k-=d;copy_pointtopointdistance=g=Math.sqrt(k*k+g*g);g=Math.sqrt(earth_radius*earth_radius-g/2*(g/2))-earth_radius;Radians(c);Radians(e);return 1*g} function ShowCookie(){var a=document.cookie;if(""!==a){a=a.split(":");var b="COOKIE CONTENT:\nSite Latitude:"+a[0]+" "+a[1];b=b+"\r\nSite Latitude:"+a[2]+" "+a[3];b=b+"\r\nSite Position List Index:"+a[4];b=b+"\r\nSat Position List Index:"+a[5];b=b+"\r\nSet Location:"+a[6];b=b+"\r\nCalibrate pulsevalue:"+a[7];b=b+"\r\nCalibrate puls per HA degree:"+a[8];b=b+"\r\nPulse counter increasing in direction:"+a[9];b=b+"\r\nHourangle for calibrated position:"+a[10];b=b+"\r\nHight above ocean:"+a[11];b=b+"\r\nAntenna Size:"+ 1*a[12];b=b+"\r\nRx Frequency:"+1*a[13];b=b+"\r\nCookie14:"+a[14];b=b+"\r\nSite name:"+a[15];b=b+"\r\nGoogle Map Zoom:"+a[16];b=b+"\r\nAntenna hight above ground:"+1*a[17];b=b+"\r\nCookie18:"+a[18];b=b+"\r\nCookie19:"+a[19];b=b+"\r\nCookie20:"+a[19];alert(b)}else alert("Cookie is empty")} function initialize(){ReadCookie();currentselectedlocation=new google.maps.LatLng(Lat,Lon);zoom=1*zoomlevel;detect_browser();var a={scrollwheel:!0,disableDoubleClickZoom:!0,panControl:!0,streetViewControl:!1,zoom:zoom,center:currentselectedlocation,scaleControl:!0,draggable:!0,mapTypeId:"terrain"};map=new google.maps.Map(document.getElementById("map_canvas"),a);a=document.createElement("div");adUnit=new google.maps.adsense.AdUnit(a,{format:google.maps.adsense.AdFormat.BANNER,position:google.maps.ControlPosition.TOP_CENTER, backgroundColor:"grey",borderColor:"black",titleColor:"red",textColor:"black",urlColor:"blue",map:map,visible:!0,publisherId:"ca-pub-1045325887862292"});a=document.createElement("div");adUnit2=new google.maps.adsense.AdUnit(a,{format:google.maps.adsense.AdFormat.BANNER,position:google.maps.ControlPosition.BOTTOM_CENTER,backgroundColor:"#C0BBB7",borderColor:"#C0BBB7",titleColor:"#222222",textColor:"#000000",urlColor:"#222222",map:map,visible:!0,publisherId:"ca-pub-1045325887862292"});elevator1=new google.maps.ElevationService; elevator2=new google.maps.ElevationService;elevator3=new google.maps.ElevationService;elevator4=new google.maps.ElevationService;elevatordrawRoadPath2=new google.maps.ElevationService;180>SatLon?document.getElementById("sat_pos").innerHTML=formatvalue(SatLon,3)+"\u00b0E":document.getElementById("sat_pos").innerHTML=formatvalue(360-SatLon,3)+"\u00b0W";currentselectedlocation=new google.maps.LatLng(Lat,Lon);setsatelliteposition();setElevationInfoScreen();reverseGeocode(currentselectedlocation);document.getElementById("el_info").innerHTML= "";document.getElementById("terrain_elevation").innerHTML="";document.getElementById("el_limit").innerHTML="";document.getElementById("sat_el").innerHTML=formatvalue(satellite_elevation,3)+"\u00b0";document.getElementById("azimuth").innerHTML=formatvalue(calculateBearing(currentselectedlocation,satelliteposition),3)+"\u00b0";loadlistners()}function setposition(){drawPath()} function loadlistners(){google.maps.event.addListener(map,"mousemove",function(a){[].push(a.latLng);a=infowindow.getPosition();document.getElementById("lngspan").innerHTML=formatvalue(a.lng(),3)+"\u00b0";document.getElementById("latspan").innerHTML=formatvalue(a.lat(),3)+"\u00b0";document.getElementById("azimuth").innerHTML=formatvalue(calculateBearing(currentselectedlocation,satelliteposition),3)+"\u00b0"});google.maps.event.addListener(map,"zoom_changed",function(){SetGoogleMapZoomCookie()});google.maps.event.addListener(map, "click",function(a){var b=[];setToRed();count_down=10;setsatelliteposition();document.getElementById("el_info").innerHTML="";document.getElementById("terrain_elevation").innerHTML="";document.getElementById("el_limit").innerHTML="";document.getElementById("sat_el").innerHTML=formatvalue(satellite_elevation,3)+"\u00b0";document.getElementById("azimuth").innerHTML=formatvalue(calculateBearing(currentselectedlocation,satelliteposition),3)+"\u00b0";var c=a.latLng;currentselectedlocation=c;Lat=currentselectedlocation.lat(); Lon=currentselectedlocation.lng();SetGoogleMapCookie();reverseGeocode(currentselectedlocation);b.push(c);document.getElementById("azimuth").innerHTML=formatvalue(calculateBearing(currentselectedlocation,satelliteposition),3)+"\u00b0";elevator1.getElevationForLocations({locations:b},function(a,b){if(b==google.maps.ElevationStatus.OK)if(a[0]){infowindow.setPosition(c);var e=infowindow.getPosition();0>a[0].elevation?document.getElementById("altitude").innerHTML=formatvalue(0,3)+" meters":document.getElementById("altitude").innerHTML= formatvalue(a[0].elevation,3)+" meters";CurrentAltitude=1*a[0].elevation;0Position is "+formatvalue(e.lat(),6)+" "+formatvalue(e.lng(),6)+"
The altitude at this point
is "+formatvalue(a[0].elevation,3)+" meters."):infowindow.setContent("Address:"+currentAddressResponse+"
Position is "+formatvalue(e.lat(),3)+" "+formatvalue(e.lng(),3)+"
The altitude at this point
is 0 meters (sea depth="+formatvalue(-1* a[0].elevation,3)+" meters)");infowindow.open(map)}else alert("No results found");else alert("Elevation service failed due to: "+b)});polyline1.setMap(null);drawPath();setToRed();polyline3.setMap(null);elevationPath3.setMap(null);setToRed();drawPath3(endlocation);setToRed()})} function setElevationInfoScreen(){var a=[];reverseGeocode(currentselectedlocation);a.push(currentselectedlocation);elevator4.getElevationForLocations({locations:a},function(a,c){if(c==google.maps.ElevationStatus.OK)if(a[0]){infowindow.setPosition(currentselectedlocation);map.setCenter(currentselectedlocation);var b=currentselectedlocation;document.getElementById("lngspan").innerHTML=formatvalue(b.lng(),3)+"\u00b0";document.getElementById("latspan").innerHTML=formatvalue(b.lat(),3)+"\u00b0";0>a[0].elevation? document.getElementById("altitude").innerHTML=formatvalue(0,3)+" meters":document.getElementById("altitude").innerHTML=formatvalue(a[0].elevation,3)+" meters";CurrentAltitude=1*a[0].elevation;0Position is "+formatvalue(b.lat(),3)+"\u00b0 "+formatvalue(b.lng(),3)+"\u00b0
The altitude at this point
is "+formatvalue(a[0].elevation,3)+" meters."):infowindow.setContent("Address:"+currentAddressResponse+"
Position is "+ formatvalue(b.lat(),3)+"\u00b0 "+formatvalue(b.lng(),3)+"\u00b0
The altitude at this point
is 0 meters (sea depth="+formatvalue(-1*a[0].elevation,3)+" meters)");infowindow.open(map)}else alert("No results found");else alert("Elevation service failed due to: "+c)})}function open_single_satellite_view(){satcatid=document.Position.SelectList.value.split(":")[3];window.open("Catalog/"+satcatid+".htm",satcatid,"")} function open_170h_predictions(){satcatid=document.Position.SelectList.value.split(":")[3];window.open("170HourListings/170h_listing_"+satcatid+".htm","170h_predictions_"+satcatid,"")} function writetestout(){document.Position.SelectList.disabled=!0;document.getElementById("misc").innerHTML=Date();document.getElementById("waitinfotext").style.color="red";document.getElementById("waitinfotext").innerHTML="Wait 10 seconds before next action !";doubleclickdisabled="True"} function enable_mouseevents(){countdown="False";int=window.clearInterval(int);document.Position.SelectList.disabled=!1;document.getElementById("waitinfotext").style.color="blue";document.getElementById("waitinfotext").innerHTML="Ready for next action !";google.maps.event.clearListeners(map,"click");doubleclickdisabled="False";google.maps.event.clearListeners(map,"mousemove");google.maps.event.clearListeners(map,"drag");loadlistners();map.setOptions({options:{draggable:!0}})} function function_count_down(){"True"==countdown&&(--countdownvalue,0Wait "+countdownvalue+" seconds before next action !":(document.getElementById("waitinfotext").style.color="blue",document.getElementById("waitinfotext").innerHTML="Ready for next action !",int=window.clearInterval(int),document.Position.SelectList.disabled=!1))} function drawPath(){SelectSatellite();satellite_elevation=Elevation2(SatLon,currentselectedlocation.lat(),currentselectedlocation.lng(),0*CurrentAltitude,1*SatLatitude,1*r_sat);elevator1.getElevationAlongPath({path:[currentselectedlocation,satelliteposition],samples:512},plotElevation);drawpath1finished="True";compass_angle=calculateBearing(currentselectedlocation,satelliteposition);var a={draggable:!1};map.setOptions({options:a});map.setOptions(a);google.maps.event.clearListeners(map,"click");google.maps.event.clearListeners(map, "mousemove");google.maps.event.addListener(map,"drag",do_nothing());google.maps.event.addListener(map,"click",do_nothing());google.maps.event.addListener(map,"mousemove",do_nothing());countdown="True";countdownvalue=10;int=self.setInterval("function_count_down()",1E3);writetestout();window.setTimeout("enable_mouseevents()",1E4)}function drawPath2(a){elevator2.getElevationAlongPath({path:[currentselectedlocation,a],samples:100},plotElevation2);drawpath2finished="True"} function drawRoadPath2(a){elevatordrawRoadPath2.getElevationAlongPath({path:[currentselectedlocation,a],samples:Math.floor(sample_resolution)},plotElevationRoadpath2)}function drawPath3(a){elevator3.getElevationAlongPath({path:[currentselectedlocation,a],samples:512},plotElevation3);drawpath3finished="True"}function barMouseOver(a){}function barMouseOut(a){} function plotElevation(a,b){if(b==google.maps.ElevationStatus.OK){elevations=a;var c="False",e="False",g="blue";document.getElementById("firstloc").innerHTML="";document.getElementById("firstlocdist").innerHTML="";var k=[];CurrentAltitude=1*elevations[0].elevation;for(var d=0;dMont_Everest?"True":"False";if(0satellite_elevation&&(e="True");thiselevation>last_elevation&&thiselevation>horizon_elevation_angle&&(horizon_elevation_angle=thiselevation);last_elevation=thiselevation;endlocation=elevations[d].location;c="True";document.getElementById("firstloc").innerHTML= formatvalue(thiselevation,3)+"\u00b0( "+formatvalue(satellite_elevation,3)+"\u00b0 ) index="+d+" "+Date();document.getElementById("firstlocdist").innerHTML=formatvalue(n,3)+"m index="+d+" "+Date()+endlocation}"True"==e&&(g="red")}"True"==c&&(endlocation=elevations[1].location);polyline1=new google.maps.Polyline({path:k,strokeColor:g,opacity:1,strokeWeight:2,map:map});c=new google.visualization.DataTable;c.addColumn("string","Sample");c.addColumn("number","Elevation");for(d=0;dMont_Everest?"True":"False";0satellite_elevation&&(e="True"),thiselevation>last_elevation&&thiselevation>horizon_elevation_angle&&(horizon_elevation_angle=thiselevation),last_elevation=thiselevation,endlocation=elevations[d].location);"True"==e&&(g="red")}polyline2=new google.maps.Polyline({path:c,strokeColor:g,opacity:1,strokeWeight:4,map:map});c=new google.visualization.DataTable; c.addColumn("string","Sample");c.addColumn("number","Elevation");for(d=0;delevations[0].elevation&&(elevations[0].elevation=0);kelevations[f].elevation&&(d=elevations[f].elevation);if(0elevations[f].elevation?0:elevations[f].elevation+height_offset_corrected_for_earth_sfere;thiselevation=calculate_elevation_angle(m,elevations[f].elevation-elevations[0].elevation-AntennaHightAboveGround);if(thiselevation>last_elevation&& thiselevation>horizon_elevation_angle){horizon_elevation_angle=thiselevation;h=m;l=elevations[f].elevation;var n=calculate_height_from_elevation_and_distance(h,satellite_elevation);terrain_clearance_in_meters=1*n+1*elevations[0].elevation+1*AntennaHightAboveGround-1*l}last_elevation=thiselevation;n=m;endlocation=elevations[f].location;thiselevation>satellite_elevation&&"False"==e&&(e="True",l=f,g="red",document.getElementById("secondrunfirstloc").innerHTML=formatvalue(thiselevation,3)+"\u00b0( "+ formatvalue(satellite_elevation,3)+"\u00b0 ) index="+f+" "+Date(),document.getElementById("secondrunfirstlocdist").innerHTML="First obstruction at "+formatvalue(n,3)+"m "+formatvalue(thiselevation,3)+"\u00b0 abindex="+l+"("+a.length+") "+Date())}}document.getElementById("sat_el").innerHTML=formatvalue(satellite_elevation,3)+" \u00b0";satellite_elevationsatellite_elevation?(document.getElementById("sat_el").innerHTML= formatvalue(satellite_elevation,3)+" \u00b0",document.getElementById("el_limit").innerHTML="Satellite is "+formatvalue(satellite_elevation-horizon_elevation_angle,3)+"\u00b0 below horizon"):document.getElementById("el_limit").innerHTML="Satellite is "+formatvalue(satellite_elevation-horizon_elevation_angle,3)+"\u00b0 below terrain",-99==satellite_elevation&&(document.getElementById("sat_el").innerHTML="Below horizon \u00b0")):(document.getElementById("el_limit").style.color= "green",document.getElementById("el_limit").innerHTML="Satellite is "+formatvalue(satellite_elevation-horizon_elevation_angle,3)+"\u00b0 above terrain",document.getElementById("sat_el").innerHTML=formatvalue(satellite_elevation,3)+" \u00b0");sample_resolution=m/512;document.getElementById("el_info").innerHTML="Terrain elevation: "+formatvalue(horizon_elevation_angle,3)+"\u00b0
Earth sphere altitude correction="+formatvalue(height_offset_corrected_for_earth_sfere,3)+"m
Distance= "+ formatvalue(m,3)+"m
point to point distance="+formatvalue(copy_pointtopointdistance,3)+"m
Resolution:"+formatvalue(m/512,3)+" meters per sample";document.getElementById("terrain_elevation").innerHTML="Max Terrain elevation: "+formatvalue(horizon_elevation_angle,3)+"\u00b0 at distance "+Math.floor(h)+" meters";document.getElementById("sample_info").innerHTML="Resolution:"+formatvalue(m/512,3)+" meters per sample";ifbelowhorison(satellite_elevation,horizon_elevation_angle);document.getElementById("terrain_clearance").innerHTML= Math.floor(terrain_clearance_in_meters)+" meters at distance "+Math.floor(h)+" meters";CurrentAltitude=1*elevations[0].elevation;drawRoadPath2(elevations[1].location);polyline3=new google.maps.Polyline({path:c,strokeColor:g,opacity:1,strokeWeight:4,map:map});c=new google.visualization.DataTable;e=new google.visualization.DataTable;e.addColumn("string","Distance[m]");e.addColumn("number","Terrain Altitude[m]");l=currentselectedlocation;for(f=0;felevations[f].elevation?0:elevations[f].elevation,e.addRow([m.toString(),1*formatvalue(g,5)]);c.addColumn("string","Distance[m]");c.addColumn("number","Terrain Altitude[m]");c.addColumn("number","Terrain clearance[m]");for(f=0;felevations[f].elevation?0:elevations[f].elevation,0==f%2&&calculate_height_from_elevation_and_distance(m,satellite_elevation),g=1*Math.floor(g),e=1*Math.floor(1*elevations[0].elevation+1*AntennaHightAboveGround+ calculate_height_from_elevation_and_distance(m,satellite_elevation)),h=Math.floor(e-g),0>h&&(h=0),0>satellite_elevation&&(g=h=0),(ef)&&c.addRow([m.toString(),g,h]);chart13=9>Browser.Version()?new google.visualization.ColumnChart(document.getElementById("elevation_chart13")):new google.visualization.SteppedAreaChart(document.getElementById("elevation_chart13"));0h&&(a=-99);return a}function Deg(a){return 180*a/Math.PI}function infomessage(){}function checkifdblclickdisabled(){"True"==doubleclickdisabled&&alert("Map not ready.. try again in a few seconds ")} function calculateonsatchange(){"False"==doubleclickdisabled?(setsatelliteposition(),setElevationInfoScreen(),SetGoogleMapCookie(),polyline1.setMap(null),drawPath(),setToRed(),polyline3.setMap(null),elevationPath3.setMap(null),setToRed(),drawPath3(endlocation),setToRed()):alert("Map not ready.. try again in a few seconds(doubleclick on selected satellite)")}function setToRed(){}function setToBlack(){}function do_nothing(){} function formatvalue(a,b){var c=Math.pow(10,Math.abs(b)==b?b:2),e=String(Math.round(a*c)/c).replace(/^(\d)/," $1");0>a&&(e=" "+e);var g=e.split(".");if(0!==a&&1Lat?"South":"North",f=0>Lon?"West":"East";Lat=1*Math.abs(Lat);Lon=1*Math.abs(Lon);a[5]=document.Position.SelectList.selectedIndex;var l=1*document.getElementById("antenna_height").value;a[11]=CurrentAltitude;h=Lat+":"+h+":"+Lon+":"+f+":"+a[4]+":"+a[5]+":"+a[6]+":"+a[7]+":"+a[8]+":"+a[9]+":"+a[10]+ ":"+a[11]+":"+b+":"+c+":"+e+":undefined:"+g+":"+l+":"+k+":"+d+";expires=Tue, 10 Jul 2040 23:59:59 UTC;";deleteAllCookies();document.cookie=h} function SetGoogleMapZoomCookie(){var a=[];MyCookieVal=document.cookie;if(""!==MyCookieVal){a=MyCookieVal.split(":");var b=a[12],c=a[13],e=a[14],g=a[15],k=map.getZoom(),d=a[17],h=a[19],f=a[20]}b=a[0]+":"+a[1]+":"+a[2]+":"+a[3]+":"+a[4]+":"+a[5]+":"+a[6]+":"+a[7]+":"+a[8]+":"+a[9]+":"+a[10]+":"+a[11]+":"+b+":"+c+":"+e+":"+g+":"+k+":"+d+":"+h+":"+f+";expires=Tue, 10 Jul 2040 23:59:59 UTC;";deleteAllCookies();document.cookie=b} function deleteAllCookies(){for(var a=document.cookie.split(";"),b=0;bBrowser.Version()?google.load("visualization","1",{packages:["columnchart"]}):google.load("visualization","1",{packages:["corechart"]});