/*used to determine if user presses return key.
 *if so call calculate button on tool they are using.
 * from http://www.java-scripts.net/javascripts/Secret-Alert-Popup.phtml
  */
var nav=navigator.appName;
var ns=(nav.indexOf("Netscape")!=-1);

//determine action if user hits return/enter key
if(ns)
{
 if(document.layers)
 {
  document.captureEvents(Event.KEYPRESS);
  document.onkeypress = getkey;
 }
}
else
{
document.onkeypress = getkey;
}

function getkey(keyStroke)
{
 var eventChooser = (ns)?keyStroke.which: event.keyCode;
 if(eventChooser == '13')
 {
  get_solar_position();
 }
}
var saf_counter = 0;

function clear_day_menu(aMenu)
{
 var menu_length = aMenu.length;
 for (var i = menu_length; 0 <= i; i--)
 {
   aMenu.options[i] = null;
 }
} //end clear_day_menu function

function change_days()
{
 var num_days=0;
 var month = document.getElementById("month").value;
 var day = document.getElementById("day");
 var year = document.getElementById("year").value;
 if((month == "4") || (month == "6") || (month == "9") || (month == "11"))
 {
  num_days = 30;
  }
 else if(month == "2")
 {
  if((year == "1980") || (year == "1984") || (year == "1988") || (year == "1992") || (year == "1996") || (year == "2000") || (year == "2004") || (year == "2008") || (year == "2012") || (year == "2016") || (year == "2020"))
  {
   num_days = 29;
  }
  else
  {
   num_days = 28;
  }
 }
 else
 {
  num_days = 31;
 }
 clear_day_menu(day);
 for (var z = 0; z <num_days; z++)
 {
  var num_z = z + 1;
  day.options[z] = new Option(num_z , num_z);
 }
 day.selectedIndex = 0;
} //end change_days function

function check_leap()
{
 var num_days=0;
 var month = document.getElementById("month").value;
 var day = document.getElementById("day");
 var year = document.getElementById("year").value;
 if(month == "2")
 {
  if((year == "1980") || (year == "1984") || (year == "1988") || (year == "1992") || (year == "1996") || (year == "2000") || (year == "2004") || (year == "2008") || (year == "2012") || (year == "2016") || (year == "2020"))
  {
   num_days = 29;
  }
  else
  {
   num_days = 28;
  }
  clear_day_menu(day)
  for (var z = 0; z <num_days; z++) 
  {
   var num_z = z + 1;
   day.options[z] = new Option(num_z,num_z);
  }
 } //end month= february
} //end function check_leap

function update_month()
{
 var chk_box = document.getElementById("incl_times1").checked;
 var time_div = document.getElementById("time_div");
 var hour_sel = document.getElementById("hour");
 var min_sel = document.getElementById("minute");
 var sec_sel = document.getElementById("second");
 if(chk_box == true)
 {
  time_div.style.visibility="hidden";
 }
 else
 {
  time_div.style.visibility="visible";
 }
} //end function update_month

function getHTTPObject()
{
 var xmlhttp;
 /*@cc_on
 @if (@_jscript_version >= 5)
  try {
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (E) {
       xmlhttp = false;
      }
    }
 @else
 xmlhttp = false;
 @end @*/
 if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  try {
   xmlhttp = new XMLHttpRequest();
  } catch (e) {
    xmlhttp = false;
    }
 }
return xmlhttp;
}
var http = getHTTPObject();

function clear_results_area(){
 var res_div = document.getElementById("solar_results");
 res_div.innerHTML = "<br><br><br><br>";
}

function get_solar_position() {
 var temp_long = document.getElementById("lon").value;
 var lat = document.getElementById("lat").value;
 var long_val = "false";
 var lat_val = "false";
 var long_bounds = "false";
 var lat_bounds = "false";
 var tz_val = "false";
 var tz_err = "";
 var error = false;
 var output_error = "";
 var zone = document.getElementById("tz").value;
 if((temp_long == "") || (isNaN(parseFloat(temp_long)))) {
   long_val = "true";
   error = true;
   output_error+= "Longitude must contain a value<br>";
  }
  if((lat == "") || (isNaN(parseFloat(lat)))) {
   lat_val = "true";
   error = true;
   output_error = output_error + "Latitude must contain a value<br>";
  }
  if((parseFloat(temp_long) < -360) || (parseFloat(temp_long) > 360)) {
   long_bounds = "true";
   error = true;
   output_error+= "Longitude must be between -360&#176; and 360&#176;<br>";
  }
  if((parseFloat(zone) < -13) || (parseFloat(zone) > 13)) {
   error = true;
   tz_val = "true";
   output_error+= "Time Zone must be between -13 and 13<br>"; 
  }
  var tz1 = parseFloat(zone)*2;
  var tz2 = parseInt(zone*2);
  if(tz1 != tz2) {
   error = true;
   tz_val = "true";
   output_error+= "Time Zone must be in half an hour increments<br>"; 
  }
  if((zone == "") || (isNaN(parseFloat(lat)))) {
   tz_val = "true";
  }
  if((parseFloat(lat) < -90) || (parseFloat(lat) > 90)) {
   lat_bounds = "true";
   error = true;
   output_error+= "Latitude must be between -90&#176; and 90&#176;<br>"; 
  }
  if(error == true) {
  var error_div = document.getElementById("error_div");
  var lat_div = document.getElementById("latitude_div");
  var long_div = document.getElementById("longitude_div");
  if((lat_val == "true") || (lat_bounds == "true")) {
   lat_div.innerHTML = "<font color='red'>X</font>Latitude&nbsp;&nbsp;"; 
  }
  else {
   lat_div.innerHTML = "Latitude&nbsp;&nbsp;";
  }
  if((long_val == "true") || (long_bounds == "true")) { 
   long_div.innerHTML = "<font color='red'>X</font>Longitude&nbsp;&nbsp;";
  }
  else {
  long_div.innerHTML = "Longitude&nbsp;&nbsp;";
  }
  var er2 = "<br><font color='red'><b>ERRORS</b></font><br>";
  error_div.innerHTML = er2 + output_error;
 }
 else {
 var error_div = document.getElementById("error_div");
 error_div.innerHTML = "";
 var lat_div = document.getElementById("latitude_div");
 lat_div.innerHTML = "Latitude&nbsp;&nbsp;";
 var long_div = document.getElementById("longitude_div");
 long_div.innerHTML = "Longitude&nbsp;&nbsp;";
 var mymonth = document.getElementById('month').value;
 var myday = document.getElementById('day').value;
 var myyear = document.getElementById('year').value;
 var hour = document.getElementById('hour').value;
 var minute = document.getElementById('minute').value;
 var second = document.getElementById('second').value;
 var rise_set = document.getElementById("incl_times1").checked;
 var cityVal = document.getElementById("cities");
 var cityInd = cityVal.selectedIndex;
 var cityName = cityVal.value;
 var user_agent = navigator.appName;
 var remote_addr = document.getElementById("calc_remote_addr").value;
 var remote_host = document.getElementById("calc_remote_host").value;
 var out = "sc_xml=<sc_info><cityInd>" + cityInd + "</cityInd><cityName>" + cityName + "</cityName>";
 out+= "<longitude>" + temp_long + "</longitude><latitude>" + lat + "</latitude><zone>" + zone;
 out+= "</zone><month>" + mymonth + "</month><day>" + myday + "</day><year>" + myyear + "</year><hour>";
 out+= hour+"</hour><minute>"+minute+"</minute><second>"+second+"</second><rise>"+rise_set+"</rise>";
 out+= "<uag>" + user_agent + "</uag><r_addr>" + remote_addr + "</r_addr><r_host>" + remote_host + "</r_host></sc_info>";
 http.open("POST", "calculate.php", true);
 http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 http.setRequestHeader("Content-length", out.length);
 http.setRequestHeader("Connection", "close");
 http.onreadystatechange = handleHttpResponse;
 http.send(out); 
 } //end else
} //end function get_solar_position


function handleHttpResponse() {
 if (http.readyState == 4)  {
  var xmlDocument = http.responseXML;
  var action = xmlDocument.getElementsByTagName('action').item(0).firstChild.data;
  var rdiv = document.getElementById("solar_results");
  var output_str = "";
  var remind =  xmlDocument.getElementsByTagName('remind').item(0).firstChild.data;
  var rnum =  xmlDocument.getElementsByTagName('rnum').item(0).firstChild.data;
  if(rnum >= 50) {
   document.getElementById("solar_submit").disabled = true;
   document.getElementById("solar_clear").disabled = true;
   popUp2("daily_max", "solar");
  }  //end if rnum >=50
  else if(action == "rise") {
   var ast_rise_time = xmlDocument.getElementsByTagName('ast_rise').item(0).firstChild.data;
   var ast_rise_az =  xmlDocument.getElementsByTagName('ast_rise_az').item(0).firstChild.data;
   var ast_rise_alt = xmlDocument.getElementsByTagName('ast_rise_alt').item(0).firstChild.data;
   var nautical_rise_time = xmlDocument.getElementsByTagName('nautical_rise').item(0).firstChild.data;
   var nautical_rise_az =  xmlDocument.getElementsByTagName('nautical_rise_az').item(0).firstChild.data;
   var nautical_rise_alt = xmlDocument.getElementsByTagName('nautical_rise_alt').item(0).firstChild.data;
   var civil_rise_time = xmlDocument.getElementsByTagName('civil_rise').item(0).firstChild.data;
   var civil_rise_az =  xmlDocument.getElementsByTagName('civil_rise_az').item(0).firstChild.data;
   var civil_rise_alt = xmlDocument.getElementsByTagName('civil_rise_alt').item(0).firstChild.data;
   var rise_time = xmlDocument.getElementsByTagName('rise').item(0).firstChild.data;
   var rise_az =  xmlDocument.getElementsByTagName('rise_az').item(0).firstChild.data;
   var rise_alt = xmlDocument.getElementsByTagName('rise_alt').item(0).firstChild.data;
   var transit_time = xmlDocument.getElementsByTagName('transit').item(0).firstChild.data;
   var transit_az =  xmlDocument.getElementsByTagName('transit_az').item(0).firstChild.data;
   var transit_alt = xmlDocument.getElementsByTagName('transit_alt').item(0).firstChild.data;
   var set_time = xmlDocument.getElementsByTagName('set').item(0).firstChild.data;
   var set_az =  xmlDocument.getElementsByTagName('set_az').item(0).firstChild.data;
   var set_alt = xmlDocument.getElementsByTagName('set_alt').item(0).firstChild.data;
   var civil_set_time = xmlDocument.getElementsByTagName('civil_set').item(0).firstChild.data;
   var civil_set_az =  xmlDocument.getElementsByTagName('civil_set_az').item(0).firstChild.data;
   var civil_set_alt = xmlDocument.getElementsByTagName('civil_set_alt').item(0).firstChild.data;
   var nautical_set_time = xmlDocument.getElementsByTagName('nautical_set').item(0).firstChild.data;
   var nautical_set_az =  xmlDocument.getElementsByTagName('nautical_set_az').item(0).firstChild.data;
   var nautical_set_alt = xmlDocument.getElementsByTagName('nautical_set_alt').item(0).firstChild.data;
   var ast_set_time = xmlDocument.getElementsByTagName('ast_set').item(0).firstChild.data;
   var ast_set_az =  xmlDocument.getElementsByTagName('ast_set_az').item(0).firstChild.data;
   var ast_set_alt = xmlDocument.getElementsByTagName('ast_set_alt').item(0).firstChild.data;
   var this_lat = xmlDocument.getElementsByTagName('lat').item(0).firstChild.data;
   var this_long = xmlDocument.getElementsByTagName('lon').item(0).firstChild.data;
   var this_year = xmlDocument.getElementsByTagName('year').item(0).firstChild.data;
   var this_month = xmlDocument.getElementsByTagName('month').item(0).firstChild.data;
   var this_day = xmlDocument.getElementsByTagName('day').item(0).firstChild.data;
   var this_zone = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data;
   output_str = "<div width='100%' align='center'><table border='1' width='600px'>";
   output_str+= "<tr><th>Lat: " + this_lat + " Long: " + this_long;
   output_str+= "<br>" + this_month + "-" + this_day + "-" + this_year + " Timezone offset: " + this_zone + "</th>";
   output_str+= "<th>Time</th><th>Azimuth</th><th>Altitude</th></tr>";
   output_str+= "<tr><td border='1'>Begin Astronomical Twilight</td><td align='center'>" + ast_rise_time + "</td><td align='center'>" + ast_rise_az+ "</td><td align='center'>" + ast_rise_alt + "</tr>";
   output_str+= "<tr><td border='1'>Begin Nautical Twilight</td><td align='center'>" + nautical_rise_time + "</td><td align='center'>" + nautical_rise_az+"</td><td align='center'>" + nautical_rise_alt +  "</td></tr>";
   output_str+= "<tr><td border='1'>Begin Civil Twilight</td><td align='center'>" + civil_rise_time + "</td><td align='center'>" + civil_rise_az+"</td><td align='center'>" + civil_rise_alt +  "</td></tr>";
   output_str+= "<tr><td border='1'>Sunrise</td><td align='center'>" + rise_time + "</td><td align='center'>" + rise_az+"</td><td align='center'>" + rise_alt +  "</td></tr>";
   output_str+= "<tr><td border='1'>Transit</td><td align='center'>" + transit_time + "</td><td align='center'>" + transit_az+"</td><td align='center'>" + transit_alt +  "</td></tr>";
   output_str+= "<tr><td border='1'>Sunset</td><td align='center'>" + set_time + "</td><td align='center'>" + set_az+ "</td><td align='center'>" + set_alt + "</td></tr>";
   output_str+= "<tr><td border='1'>End Civil Twilight</td><td align='center'>" + civil_set_time + "</td><td align='center'>" + civil_set_az + "</td><td align='center'>" + civil_set_alt + "</td></tr>";
   output_str+= "<tr><td border='1'>End Nautical Twilight</td><td align='center'>" + nautical_set_time + "</td><td align='center'>" + nautical_set_az+ "</td><td align='center'>" + nautical_set_alt + "</td></tr>";
   output_str+= "<tr><td border='1'>End Astronomical Twilight</td><td align='center'>" + ast_set_time + "</td><td align='center'>" + ast_set_az+"</td><td align='center'>" + ast_set_alt +  "</td></tr>";
   output_str+= "</table><br><br></div>";
   if(remind == "yes") { 
   popUp2("remind", "solar");
    document.getElementById("solar_submit").disabled = true;
    document.getElementById("solar_clear").disabled = true;
   } //end remind = yes
  } //end action = rise
  else
  {
   var azimuth = xmlDocument.getElementsByTagName('azimuth').item(0).firstChild.data;
   var altitude = xmlDocument.getElementsByTagName('altitude').item(0).firstChild.data;
   var r_asc = xmlDocument.getElementsByTagName('r_asc').item(0).firstChild.data;
   var decl = xmlDocument.getElementsByTagName('decl').item(0).firstChild.data;
   var dist = xmlDocument.getElementsByTagName('dist').item(0).firstChild.data;
   var lat= xmlDocument.getElementsByTagName('lat').item(0).firstChild.data;
   var this_long= xmlDocument.getElementsByTagName('long').item(0).firstChild.data;
   var yr= xmlDocument.getElementsByTagName('yr').item(0).firstChild.data;
   var mon= xmlDocument.getElementsByTagName('mon').item(0).firstChild.data;
   var dy= xmlDocument.getElementsByTagName('dy').item(0).firstChild.data;
   var hr= xmlDocument.getElementsByTagName('hr').item(0).firstChild.data;
   var mn= xmlDocument.getElementsByTagName('mn').item(0).firstChild.data;
   var sec= xmlDocument.getElementsByTagName('sec').item(0).firstChild.data;
   var zone = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data;
   var dte = mon + "-" + dy + "-" + yr;
   var tme = hr + ":" + mn + ":" + sec;
   output_str = "<table align='center' border='1' width='80%'><tr>";
   output_str+= "<th colspan='5' align='center'>Lat:" + lat + " Long: " + this_long + " " + dte + " " + tme + " Timezone offset: " + zone + "</th></tr><tr>";
   output_str+= "<td align='center'><b>Solar Azimuth</b></td><td align='center'><b>Solar Altitude</b></td>";
   output_str+= "<td align='center'><b>Right Ascension</b></td><td align='center'><b>Declination</b></td><td align='center'><b>Distance (km)</b></td></tr>";
   output_str+= "<tr><td align='center'>" + azimuth  + "</td><td align='center'>" + altitude + "</td><td align='center'>";
   output_str+= r_asc + "</td>";
   output_str+= "<td align='center'>" + decl + "</td>";
   output_str+= "<td align='center'>" + dist + "</td></tr></table><br><br>";
   if(remind == "yes") { 
   popUp2("remind", "solar");
    document.getElementById("solar_submit").disabled = true;
    document.getElementById("solar_clear").disabled = true;
   } //end remind = yes 
  }
   rdiv.innerHTML = output_str + rdiv.innerHTML;
   
 } //end if readystate = 4 
} //end handleHttpResponse function


function city(name, lat, lng, zoneHr) {
  this.name = name;
  this.lat = lat;
  this.lng = lng;
  this.zoneHr = zoneHr;
}
var City = new Array();
  j = 0;
  City[j++] = new city("Enter Lat/Long -->",0,0,0);
  City[j++] = new city("",0,0,0);
  City[j++] = new city("US CITIES",0,0,0);
  City[j++] = new city("Albuquerque, NM",35.0833,-106.65,-7);
  City[j++] = new city("Anchorage, AK",61.217,-149.90,-9);
  City[j++] = new city("Atlanta, GA",33.733,-84.383,-5);
  City[j++] = new city("Atqasuk, AK",70.47215,-157.4078,-9);
  City[j++] = new city("Austin, TX",30.283,-97.733,-6);
  City[j++] = new city("Barrow, AK",71.30,-156.683,-9);
  City[j++] = new city("Birmingham, AL",33.521,-86.8025,-6);
  City[j++] = new city("Bismarck, ND",46.817,-100.783,-6);
  City[j++] = new city("Bondville, IL",40.055277,-88.371944,-6);
  City[j++] = new city("Boston, MA",42.35,-71.05,-5);
  City[j++] = new city("Boulder, CO",40.125,-105.237,-7);
  City[j++] = new city("Canaan Valley, WV",39.1,-79.4,-5);
  City[j++] = new city("Chicago, IL",41.85,-87.65,-6);
  City[j++] = new city("Concord, MI",42.1777,-84.6431,-5);
  City[j++] = new city("Dallas, TX",32.46,-96.47,-6);
  City[j++] = new city("Denver, CO",39.733,-104.983,-7);
  City[j++] = new city("Desert Rock, NV",36.626,-116.018,-8);
  City[j++] = new city("Detroit, MI",42.333,-83.05,-5);
  City[j++] = new city("Driggs, ID (GATS West)",43.72255,-111.111,-7);
  City[j++] = new city("Fort Peck, MT",48.310555,-105.1025,-7);
  City[j++] = new city("Goodwin Creek, MS",34.2544444,-89.8738888,-6);
  City[j++] = new city("Hanford, CA",36.31,-119.63,-8);
  City[j++] = new city("Honolulu, HI",21.30,-157.85,-10);
  City[j++] = new city("Houston, TX",29.75,-95.35,-6);
  City[j++] = new city("Indianapolis, IN",39.767,-86.15,-5);
  City[j++] = new city("Jackson, MS",32.283,-90.183,-6);
  City[j++] = new city("Kansas City, MO",39.083,-94.567,-6);
  City[j++] = new city("Los Angeles, CA",34.05,-118.233,-8);
  City[j++] = new city("Madison, WI",43.13,-89.33,-6);    
  City[j++] = new city("Menomonee Falls, WI",43.11,-88.10,-6);
  City[j++] = new city("Miami, FL",25.767,-80.183,-5);
  City[j++] = new city("Minneapolis, MN",44.967,-93.25,-6);
  City[j++] = new city("New Orleans, LA",29.95,-90.067,-6);
//  City[j++] = new city("Newport News, VA",36.978,-76.428,-5);
  City[j++] = new city("Newport News, VA (GATS)", 37.094349,-76.473425,-5);
  City[j++] = new city("New York City, NY",40.7167,-74.0167,-5);
  City[j++] = new city("Oak Ridge, TN",35.96,-84.37,-5);
  City[j++] = new city("Oklahoma City, OK",35.483,-97.533,-6);
  City[j++] = new city("Penn State, PA",40.72,-77.93,-5);
  City[j++] = new city("Philadelphia, PA",39.95,-75.15,-5);
  City[j++] = new city("Phoenix, AZ",33.433,-112.067,-7);
  City[j++] = new city("Pittsburgh, PA",40.433,-79.9833,-5);
  City[j++] = new city("Portland, ME",43.666,-70.283,-5);
  City[j++] = new city("Portland, OR",45.517,-122.65,-8);
  City[j++] = new city("Raleigh, NC",35.783,-78.65,-5);
  City[j++] = new city("Reno, NV (UNR)",39.5386,-119.8171,-8);
  City[j++] = new city("Richmond, VA",37.5667,-77.450,-5);
  City[j++] = new city("Saint Louis, MO",38.6167,-90.1833,-6);
  City[j++] = new city("Salt Lake City, UT",40.77,-111.97,-7);
  City[j++] = new city("San Diego, CA",32.7667,-117.2167,-8);
  City[j++] = new city("San Francisco, CA",37.7667,-122.4167,-8);
  City[j++] = new city("Seattle, WA",47.60,-122.3167,-8);
  City[j++] = new city("Sterling, VA",38.98,-77.47,-5);
  City[j++] = new city("Table Mountain, CO",40.125,-105.23694,-7);
  City[j++] = new city("Tallahassee, FL",30.38,-84.37,-5);
  City[j++] = new city("Washington DC",38.8833,-77.0333,-5);
  City[j++] = new city("",0,0,0);
  City[j++] = new city("WORLD CITIES",0,0,0);
  City[j++] = new city("Beijing, China",39.9167,116.4167,8);
  City[j++] = new city("Berlin, Germany",52.33,13.30,1);
  City[j++] = new city("Bombay, India",18.9333,72.8333,5.5);
  City[j++] = new city("Buenos Aires, Argentina",-34.60,-58.45,-3);
  City[j++] = new city("Cairo, Egypt",30.10,31.3667,2);
  City[j++] = new city("Cape Town, South Africa",-33.9167,18.3667,2);
  City[j++] = new city("Caracas, Venezuela",10.50,-66.9333,-4);
  City[j++] = new city("Darwin, Australia",-12.425,130.891,9.5);
  City[j++] = new city("Helsinki, Finland",60.1667,24.9667,2);
  City[j++] = new city("Hong Kong, China",22.25,114.1667,8);
  City[j++] = new city("Jerusalem, Israel",31.7833,35.2333,2);
  City[j++] = new city("London, England",51.50,-0.1667,0);
  City[j++] = new city("Manus Island, PNG",-2.06,147.425,10);
  City[j++] = new city("Mexico City, Mexico",19.4,-99.15,-6);
  City[j++] = new city("Moscow, Russia",55.75,37.5833,3);
  City[j++] = new city("Nauru Island",-0.52,166.92,12);
  City[j++] = new city("New Delhi, India",28.6,77.2,5.5);
  City[j++] = new city("Ottawa, Canada",45.41667,-75.-7,5);
  City[j++] = new city("Paris, France",48.8667,2.667,1);
  City[j++] = new city("Rio de Janeiro, Brazil",-22.90,-43.2333,-3);
  City[j++] = new city("Riyadh, Saudi Arabia",24.633,46.71667,3);
  City[j++] = new city("Rome, Italy",41.90,12.4833,1);
  City[j++] = new city("Saskatoon, Canada ",51.13,-106.63,-6);
  City[j++] = new city("Stockholm, Sweden",59.37,18.07,1);
  City[j++] = new city("Sydney, Australia",-33.8667,151.2167,10);
  City[j++] = new city("Tokyo, Japan",35.70,139.7667,9); 
  City[j++] = new city("Zurich, Switzerland",47.3833,8.5333,1);
  City[j++] = new city("",0,0,0);

function calcLocation(){
 var places = document.getElementById("cities");
 myindex = places.selectedIndex;
 var mycity = City[myindex];
 var myname = mycity.name;
 var lat = document.getElementById("lat");
 lat.value = mycity.lat;
 var lon = document.getElementById("lon");
 lon.value = mycity.lng;
 var tz = document.getElementById("tz");
 tz.value = mycity.zoneHr;
}

function close_popup() {
 document.getElementById("solar_submit").disabled = false;
 document.getElementById("solar_clear").disabled = false;
 popUp2("remind", "solar"); 
} //end close popup

function close_popup_go_home() {
  popUp2("daily_max", "solar");
  window.location = "../info/about.php";
} //end close popup go home

//this function will get the last calculation done during this session and load it on the page.
function load_last_calc() {
 var remote_addr = document.getElementById("calc_remote_addr").value; 
 var out = "tool=solar&r_addr=" + remote_addr;
 lc_http = getHTTPObject();
 lc_http.open("POST", "../last_calc.php", true);
 lc_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 lc_http.setRequestHeader("Content-length", out.length);
 lc_http.setRequestHeader("Connection", "close");
 lc_http.onreadystatechange = load_calc;
 lc_http.send(out);
}

function load_calc() {
 if(lc_http.readyState == 4) {
  var xmlDocument = lc_http.responseXML;
  var ext = xmlDocument.getElementsByTagName('calc').item(0).firstChild.data;
  if(ext != "None") {
   var lng = xmlDocument.getElementsByTagName('longitude').item(0).firstChild.data;
   document.getElementById("lon").value = lng;
   var lat = xmlDocument.getElementsByTagName('latitude').item(0).firstChild.data;
   document.getElementById("lat").value = lat;   
   var zone = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data; 
   document.getElementById("tz").value = zone;         
   var month = xmlDocument.getElementsByTagName('month').item(0).firstChild.data; 
   var m2 = parseInt(month) - 1;  
   document.getElementById("month").selectedIndex = m2;
   var day = xmlDocument.getElementsByTagName('day').item(0).firstChild.data;
   var d2 = parseInt(day) - 1;
   document.getElementById("day").selectedIndex = d2;   
   var yr = xmlDocument.getElementsByTagName('year').item(0).firstChild.data;
   var Ymnu = document.getElementById("year");
   var mnuY = "";
   var cityInd = xmlDocument.getElementsByTagName('cityInd').item(0).firstChild.data;
   document.getElementById("cities").selectedIndex = cityInd;
   for(var d=0; d < Ymnu.length; d++) {
    mnuY = Ymnu[d].value;
    if(mnuY == yr) {
     Ymnu.selectedIndex = d;
    }
   }   
   //document.getElementById("year").selectedIndex = yr;   
   var hr = xmlDocument.getElementsByTagName('hour').item(0).firstChild.data;
   var HRmnu = document.getElementById("hour");
   var mnuV = "";
   for(var i=0; i < HRmnu.length; i++) {
    mnuV = HRmnu[i].value;
    if(mnuV == hr) {
     HRmnu.selectedIndex = i;
    }
   }   
   
   var minu = xmlDocument.getElementsByTagName('minute').item(0).firstChild.data; 
   var MNmnu = document.getElementById("minute");
   var mnuV2 = "";
   for(var x=0; x < MNmnu.length; x++) {
    mnuV2 = MNmnu[x].value;
    if(mnuV2 == minu) {
     MNmnu.selectedIndex = x;
    }
   }   
   var secs = xmlDocument.getElementsByTagName('second').item(0).firstChild.data;
   var SCmnu = document.getElementById("second");
   var mnuV3 = "";
   for(var q=0; q < SCmnu.length; q++) {
    mnuV3 = SCmnu[q].value;
    if(mnuV3 == secs) {
     SCmnu.selectedIndex = q;
    }
   }   
   var rise = xmlDocument.getElementsByTagName('rise').item(0).firstChild.data;
   if(rise == "true") {
    document.getElementById("incl_times1").checked = true;
    document.getElementById("incl_times2").checked = false;    
   }
   else {
    document.getElementById("time_div").style.visibility="visible";
    document.getElementById("incl_times2").checked = true;
    document.getElementById("incl_times1").checked = false;   
   }

  

  } //end if ext != None
 }  //end lc_http.readyState = 4
} //end function load_calc  

