<!--

var LL_coord = [-99000,-342000];
var UR_coord = [792000,657000];

var Data_basin     = new Array; var Data_Dimension_basin     = new Array;
var Data_elevation = new Array; var Data_Dimension_elevation = new Array;
var Data_discharge = new Array; var Data_Dimension_discharge = new Array;
var Data_runoff    = new Array; var Data_Dimension_runoff    = new Array;

var mx,my = 0;
var St_Over = false;

/////////////////////////////////////////////////////////////////
/*
*
*	Mouse Events Block
*
*/
/////////////////////////////////////////////////////////////////

var Map_coord,Map_size,Map_span,Map_cell;

var Agent = navigator.userAgent.toLowerCase();
var Aname = navigator.appName.toLowerCase();
var Os = navigator.platform.toLowerCase();
var isWin = (Os.indexOf("win")!=-1);
var isMac = (Os.indexOf("mac")!=-1);
var isGec = (Agent.indexOf("gecko")!=-1);
var isExplorer = (Aname.indexOf("explorer")!=-1);
var Win = [-2,6];
//var Win = (isWin && !isGec) ? [0,0] : [-2,5];
var Mac = (isMac && isExplorer) ? [9,14] : [0,0];

function init()
{
  img_0 = document.images['map'];
  img_1 = document.images['map_legend'];

  Map_size = [img_0.width-1,img_0.height-1];
  Map_cell = [img_0.width/10,img_0.height/10];
  Map_span = [(UR_coord[0]-LL_coord[0])/Map_size[0],(UR_coord[1]-LL_coord[1])/Map_size[1]];
  Map_coord = find_xy(img_0);
  img_0.onmousemove=Map_onmousemove;
  img_0.onmouseout =Mouse_Out;

  Set_Sites(); Show_Sites(1); Show_Sites(2);
  Load_Data("basin",0);
}

function find_xy(Img) {
  var Img_coord = new Array(2);
  Img_coord = [Img.offsetLeft+Mac[0]+Win[0], Img.offsetTop+Mac[1]+Win[1]];
  var tempElm = Img.offsetParent;

  while (tempElm != null) {
    Img_coord[0] += tempElm.offsetLeft;
    Img_coord[1] += tempElm.offsetTop;
    tempElm = tempElm.offsetParent;
  }

  return Img_coord;
}

function Map_onmousemove(e)
{
  if (!e) var e = window.event;

  if (!St_Over) {
    mx = e.clientX + document.body.scrollLeft;
    my = e.clientY + document.body.scrollTop;

    mx -= Map_coord[0];
    my -= Map_coord[1];
  }

	////////////////////

  var GeoCoord = xy_2_coord(mx,my);
  document.coord.coord_lon.value = Math.round(GeoCoord[0]*100)/100;
  document.coord.coord_lat.value = Math.round(GeoCoord[1]*100)/100;

  if (Data_basin.length) {
    var dc = Math.floor(my*Data_Dimension_basin[0]/Map_size[1])*Data_Dimension_basin[1]+Math.floor(mx*Data_Dimension_basin[1]/Map_size[0]);
    document.coord.basin.value = (dc<0 || dc>=Data_basin.length) ? '' : (Data_basin[dc] == -9999) ? "Outside of Land" : Basin[Data_basin[dc]] ? Basin[Data_basin[dc]] : "Name not Avalable";
  }

  if (Data_elevation.length) {
    var dc = Math.floor(my*Data_Dimension_elevation[0]/Map_size[1])*Data_Dimension_elevation[1]+Math.floor(mx*Data_Dimension_elevation[1]/Map_size[0]);
    document.coord.elevation.value = (dc<0 || dc>=Data_elevation.length) ? '' : (Data_elevation[dc] == -9999) ? "Outside of Land" : Data_elevation[dc];
  }

  if (Data_discharge.length) {
    var dc = Math.floor(my*Data_Dimension_discharge[0]/Map_size[1])*Data_Dimension_discharge[1]+Math.floor(mx*Data_Dimension_discharge[1]/Map_size[0]);
    document.coord.discharge.value = (dc<0 || dc>=Data_discharge.length) ? '' : (Data_discharge[dc] == -9999) ? "Outside of Land" : Data_discharge[dc];
  }

  if (Data_runoff.length) {
    var dc = Math.floor(my*Data_Dimension_runoff[0]/Map_size[1])*Data_Dimension_runoff[1]+Math.floor(mx*Data_Dimension_runoff[1]/Map_size[0]);
    document.coord.runoff.value = (dc<0 || dc>=Data_runoff.length) ? '' : (Data_runoff[dc] == -9999) ? "Outside of Land" : Data_runoff[dc];
  }
}

function Mouse_Out() {
  document.coord.coord_lon.value = "";
  document.coord.coord_lat.value = "";
  document.coord.basin.value = "";

  if (Data_elevation.length) { document.coord.elevation.value = ""; }
  if (Data_discharge.length) { document.coord.discharge.value = ""; }
  if (Data_runoff.length)    { document.coord.runoff.value = ""; }
}

/////////////////////////////////////////////////////////////////
/*
*
*	Data Download Block
*
*/
/////////////////////////////////////////////////////////////////

var Loading = false;
function Load_Data(Data_File,FileDate,check) {
  if (check && document.coord["load_"+Data_File].checked == false)
  {
    document.coord["load_"+Data_File].checked = true;
    return false;
  }

  if (Loading) {
    if (check) document.coord["load_"+Data_File].checked = false;
    return false;
  }
  else { Loading = true; }

  document.coord[Data_File].value = "Wait, Loading Data";

  FileDate = (FileDate) ? "."+FileDate.replace(/-/g,".") : '';
  var Source = "htm_data/"+Data_File+FileDate+".htm";
  window.frames["data_"+Data_File].location.href = Source;
}

/////////////////////////////////////////////////////////////////
/*
*
*	Sites Block
*
*/
/////////////////////////////////////////////////////////////////

function Set_Sites() {
  for (i=0; i<Station_1_Info.length; i++) {
    var div_layer = document.getElementById("station_1_"+Number(i).toString());
    div_layer.style.left = Map_coord[0]+lon_2_x(Station_1_Info[i][0])-Station_1_Info[i][2]/2;
    div_layer.style.top  = Map_coord[1]+lat_2_y(Station_1_Info[i][1])-Station_1_Info[i][2]/2;
  }

  for (i=0; i<Station_2_Info.length; i++) {
    var div_layer = document.getElementById("station_2_"+Number(i).toString());
    div_layer.style.left = Map_coord[0]+lon_2_x(Station_2_Info[i][0])-Station_2_Info[i][2]/2;
    div_layer.style.top  = Map_coord[1]+lat_2_y(Station_2_Info[i][1])-Station_2_Info[i][2]/2;
  }

  var div_layer = document.getElementById("map_date");
  div_layer.style.left = Map_coord[0]+600;
  div_layer.style.top  = Map_coord[1]+745;
  div_layer.style.visibility="visible";
}

function Show_Sites(num) {
  var Len = eval("Station_"+num+"_Info.length");
  for (i=0; i<Len; i++) {
    if (eval("document.sites.stations_"+num+".checked")) {
      var div_layer = document.getElementById("station_"+num+"_"+Number(i).toString());
      div_layer.style.visibility="visible";
    }
    else {
      var div_layer = document.getElementById("station_"+num+"_"+Number(i).toString());
      div_layer.style.visibility="hidden";
    }
  }
}

var St_Over = false;

function Show_Site(num,st) {
  if (St_Over) {
    document.coord.station.value = eval("Station_"+num+"_Info[st][3]");
    mx = lon_2_x(eval("Station_"+num+"_Info[st][0]"));
    my = lat_2_y(eval("Station_"+num+"_Info[st][1]"));
    Map_onmousemove();
  }
  else { document.coord.station.value = ''; }
}

//////////////  Coordinate conversion functions  //////////////////////

function xy_2_coord(xx,yy) {
  var ind_x = Math.max(Math.min(Math.floor(xx*10/Map_size[0]),9),0);
  var ind_y = Math.max(Math.min(Math.floor(yy*10/Map_size[1]),9),0);

  var dx = xx/Map_cell[0]-ind_x;
  var dy = yy/Map_cell[1]-ind_y;

  var Lon_t = Lon_grid[ind_y][ind_x]+dx*(Lon_grid[ind_y][ind_x+1]-Lon_grid[ind_y][ind_x]);
  var Lon_b = Lon_grid[ind_y+1][ind_x]+dx*(Lon_grid[ind_y+1][ind_x+1]-Lon_grid[ind_y+1][ind_x]);
  var Lat_l = Lat_grid[ind_y][ind_x]+dy*(Lat_grid[ind_y+1][ind_x]-Lat_grid[ind_y][ind_x]);
  var Lat_r = Lat_grid[ind_y][ind_x+1]+dy*(Lat_grid[ind_y+1][ind_x+1]-Lat_grid[ind_y][ind_x+1]);

  return [Lon_t+dy*(Lon_b-Lon_t),Lat_l+dx*(Lat_r-Lat_l)];
}

function lon_2_x(lon) {
  return (lon-LL_coord[0])/Map_span[0];
}

function lat_2_y(lat) {
  return Map_size[1]-(lat-LL_coord[1])/Map_span[1];
}

/////////////////////////////////////////////////////////////////
/*
*
*	Page Block
*
*/
/////////////////////////////////////////////////////////////////

function load_page(date) {
  window.location='map_page.cgi?date='+date+'&type='+MapType+
	"&sites_1=" + (document.sites.stations_1.checked ? "1" : "0") +
	"&sites_2=" + (document.sites.stations_2.checked ? "1" : "0");
}

///////////////////////////////////////////////////////////////////////

// -->
