/*
 
Olas Pacifico web site java scripts

Copyright 2006, Baird & Associates

Note: it is now possible to build image map using
      fractional coordinates and image size, or 
      lat/lon coordinates, origin etc.
      eg.
        x = mapw*(lon-mapxorg)/maplonrange
        y = a little more involved
        coord = x + "," + y + ",r";

*/

var nloc = 81;
var loc_name = new Array(nloc)
loc_name[0] = "--- no selection ---";
loc_name[1] = "Tahiti (-17,-149.5)";
loc_name[2] = "Easter Island (-27,-110)";
loc_name[3] = "Chile, 56 S (-56,-73.75)";
loc_name[4] = "Chile, 54 S (-54,-75)";
loc_name[5] = "Chile, Faro Felix (-53,-76)";
loc_name[6] = "Chile, 52 S (-52,-76.25)";
loc_name[7] = "Chile, 50 S (-50,-77.5)";
loc_name[8] = "Chile, 48 S (-48,-77.5)";
loc_name[9] = "Chile, 46 S (-46,-77.5)";
loc_name[10] = "Chile, 44 S (-44,-76.25)";
loc_name[11] = "Chile, Golfo Coronados (-42,-75)";
loc_name[12] = "Chile, 42 S (-42,-76.25)";
loc_name[13] = "Chile, 40 S (-40,-75)";
loc_name[14] = "Chile, 38 S (-38,-75)";
loc_name[15] = "Chile, San Vicente (-37,-74)";
loc_name[16] = "Chile, 36 S (-36,-75)";
loc_name[17] = "Chile, Constitucion (-35,-74)";
loc_name[18] = "Chile, 34 S (-34,-73.75)";
loc_name[19] = "Chile, Valparaiso (-33,-73)";
loc_name[20] = "Chile, 32 S (-32,-73.75)";
loc_name[21] = "Chile, 30 S (-30,-73.75)";
loc_name[22] = "Chile, Coquimbo (-30,-72)";
loc_name[23] = "Chile, 28 S (-28,-72.5)";
loc_name[24] = "Chile, Caldera (-27,-72)";
loc_name[25] = "Chile, 26 S (-26,-72.5)";
loc_name[26] = "Chile, 24 S (-24,-72.5)";
loc_name[27] = "Chile, Antofagasta (-24,-71)";
loc_name[28] = "Chile, Mejillones (-23,-71)";
loc_name[29] = "Chile, 22 S (-22,-72.5)";
loc_name[30] = "Chile, 20 S (-20,-72.5)";
loc_name[31] = "Chile, Iquique (-20,-71)";
loc_name[32] = "Chile, Arica (-18,-71)";
loc_name[33] = "Peru, 18 S (-18,-72.5)";
loc_name[34] = "Peru, 17 S (-17,-75)";
loc_name[35] = "Peru, 15 S (-15,-77.5)";
loc_name[36] = "Peru, Lima (-13,-78.75)";
loc_name[37] = "Peru, 15 S (-13,-79)";
loc_name[38] = "Peru, 11 S (-11,-80)";
loc_name[39] = "Peru, 9 S (-9,-80)";
loc_name[40] = "Peru, 7 S (-7,-81.25)";
loc_name[41] = "Peru, 5 S (-5,-82.5)";
loc_name[42] = "Ecuador, Golfo de Guayaquil (-3,-82.5)";
loc_name[43] = "Ecuador, 1 S (-1,-82.5)";
loc_name[44] = "Ecuador, 1 N (1,-81.25)";
loc_name[45] = "Colombia, 3 N (3,-80)";
loc_name[46] = "Colombia, 5 N (5,-78.75)";
loc_name[47] = "Panama, 6 N (6,-81.25)";
loc_name[48] = "Panama, 7 N (7,-83.75)";
loc_name[49] = "Costa Rica (9,-86.25)";
loc_name[50] = "Nicaragua (11,-87.5)";
loc_name[51] = "El Salvador (12,-90)";
loc_name[52] = "Guatemala (13,-92.5)";
loc_name[53] = "Mexico, Golfo de Tehuantepec (14,-97.5)";
loc_name[54] = "Mexico, 14 N (14,-95)";
loc_name[55] = "Mexico, Acapulco (15,-100)";
loc_name[56] = "Mexico, 16 N (16,-102.5)";
loc_name[57] = "Mexico, 18 N (18,-105)";
loc_name[58] = "Mexico, 20 N (20,-107.5)";
loc_name[59] = "Mexico, Golfo de California (22,-108.75)";
loc_name[60] = "Mexico, 24 N (24,-112.5)";
loc_name[61] = "Mexico, 26 N (26,-115)";
loc_name[62] = "Mexico, 28 N (28,-116.25)";
loc_name[63] = "Mexico, 30 N (30,-117.5)";
loc_name[64] = "Mexico, 32 N (32,-118.75)";
loc_name[65] = "Mexico, Costa Azul (32,-117)";
loc_name[66] = "USA, San Miguel Island (34,-121.25)";
loc_name[67] = "USA, Monterey Bay (36,-123.75)";
loc_name[68] = "USA, San Francisco (38,-125)";
loc_name[69] = "USA, 40 N (40,-126.25)";
loc_name[70] = "USA, 42 N (42,-126.25)";
loc_name[71] = "USA, 44 N (44,-126.25)";
loc_name[72] = "USA, 46 N (46,-126.25)";
loc_name[73] = "USA, 48 N (48,-127.5)";
loc_name[74] = "Canada, 50 N (50,-128.75)";
loc_name[75] = "Canada, Queen Charlotte Sound (52,-130)";
loc_name[76] = "Canada, Queen Charlotte Islands (53,-132.5)";
loc_name[77] = "USA, 55 N (55,-135)";
loc_name[78] = "USA, 57 N (57,-137.5)";
loc_name[79] = "USA, 58 N (58,-140)";
loc_name[80] = "USA, 59 N (59,-142.5)";

var loc_ts = new Array(nloc)
loc_ts[0] = "";
loc_ts[1] = "ww3_Tahiti.txt";
loc_ts[2] = "ww3_Easter.txt";
loc_ts[3] = "ww3_Chile56S.txt";
loc_ts[4] = "ww3_Chile54S.txt";
loc_ts[5] = "ww3_FaroFelix.txt";
loc_ts[6] = "ww3_Chile52S.txt";
loc_ts[7] = "ww3_Chile50S.txt";
loc_ts[8] = "ww3_Chile48S.txt";
loc_ts[9] = "ww3_Chile46S.txt";
loc_ts[10] = "ww3_Chile44S.txt";
loc_ts[11] = "ww3_Coronados.txt";
loc_ts[12] = "ww3_Chile42S.txt";
loc_ts[13] = "ww3_Chile40S.txt";
loc_ts[14] = "ww3_Chile38S.txt";
loc_ts[15] = "ww3_SanVicente.txt";
loc_ts[16] = "ww3_Chile36S.txt";
loc_ts[17] = "ww3_Constituci.txt";
loc_ts[18] = "ww3_Chile34S.txt";
loc_ts[19] = "ww3_Valparaiso.txt";
loc_ts[20] = "ww3_Chile32S.txt";
loc_ts[21] = "ww3_Chile30S.txt";
loc_ts[22] = "ww3_Coquimbo.txt";
loc_ts[23] = "ww3_Chile28S.txt";
loc_ts[24] = "ww3_Caldera.txt";
loc_ts[25] = "ww3_Chile26S.txt";
loc_ts[26] = "ww3_Chile24S.txt";
loc_ts[27] = "ww3_Antofagast.txt";
loc_ts[28] = "ww3_Mejillones.txt";
loc_ts[29] = "ww3_Chile22S.txt";
loc_ts[30] = "ww3_Chile20S.txt";
loc_ts[31] = "ww3_Iquique.txt";
loc_ts[32] = "ww3_Arica.txt";
loc_ts[33] = "ww3_Peru18S.txt";
loc_ts[34] = "ww3_Peru17S.txt";
loc_ts[35] = "ww3_Peru15S.txt";
loc_ts[36] = "ww3_Lima.txt";
loc_ts[37] = "ww3_Peru15S.txt";
loc_ts[38] = "ww3_Peru11S.txt";
loc_ts[39] = "ww3_Peru09S.txt";
loc_ts[40] = "ww3_Peru07S.txt";
loc_ts[41] = "ww3_Peru05S.txt";
loc_ts[42] = "ww3_Guayaquil.txt";
loc_ts[43] = "ww3_Ecuador01S.txt";
loc_ts[44] = "ww3_Ecuador01N.txt";
loc_ts[45] = "ww3_Colombia3N.txt";
loc_ts[46] = "ww3_Colombia5N.txt";
loc_ts[47] = "ww3_Panama6N.txt";
loc_ts[48] = "ww3_Panama7N.txt";
loc_ts[39] = "ww3_CostaRica.txt";
loc_ts[50] = "ww3_Nicaragua.txt";
loc_ts[51] = "ww3_ElSalvador.txt";
loc_ts[52] = "ww3_Guatemala.txt";
loc_ts[53] = "ww3_Tehuantepe.txt";
loc_ts[54] = "ww3_Mexico14N.txt";
loc_ts[55] = "ww3_Acapulco.txt";
loc_ts[56] = "ww3_Mexico16N.txt";
loc_ts[57] = "ww3_Mexico18N.txt";
loc_ts[58] = "ww3_Mexico20N.txt";
loc_ts[59] = "ww3_Mexico22N.txt";
loc_ts[60] = "ww3_Mexico24N.txt";
loc_ts[61] = "ww3_Mexico26N.txt";
loc_ts[62] = "ww3_Mexico28N.txt";
loc_ts[63] = "ww3_Mexico30N.txt";
loc_ts[64] = "ww3_Mexico32N.txt";
loc_ts[65] = "ww3_CostaAzul.txt";
loc_ts[66] = "ww3_SanMiguel.txt";
loc_ts[67] = "ww3_Monterey.txt";
loc_ts[68] = "ww3_SanFrancis.txt";
loc_ts[69] = "ww3_USA40N.txt";
loc_ts[70] = "ww3_USA42N.txt";
loc_ts[71] = "ww3_USA44N.txt";
loc_ts[72] = "ww3_USA46N.txt";
loc_ts[73] = "ww3_USA48N.txt";
loc_ts[74] = "ww3_Canada50N.txt";
loc_ts[75] = "ww3_Canada52N.txt";
loc_ts[76] = "ww3_Canada53N.txt";
loc_ts[77] = "ww3_USA55N.txt";
loc_ts[78] = "ww3_USA57N.txt";
loc_ts[79] = "ww3_USA58N.txt";
loc_ts[80] = "ww3_USA59N.txt";

var loc_coord = new Array(nloc)
loc_coord[0] = "0,0,0";
loc_coord[1] = "127,508,3";
loc_coord[2] = "371,570,3";
loc_coord[3] = "596,750,3";
loc_coord[4] = "588,738,3";
loc_coord[5] = "582,732,3";
loc_coord[6] = "580,725,3";
loc_coord[7] = "573,713,3";
loc_coord[8] = "573,701,3";
loc_coord[9] = "573,688,3";
loc_coord[10] = "580,676,3";
loc_coord[11] = "588,663,3";
loc_coord[12] = "580,663,3";
loc_coord[13] = "588,651,3";
loc_coord[14] = "588,639,3";
loc_coord[15] = "594,632,3";
loc_coord[16] = "588,626,3";
loc_coord[17] = "594,620,3";
loc_coord[18] = "596,614,3";
loc_coord[19] = "600,608,3";
loc_coord[20] = "596,601,3";
loc_coord[21] = "596,589,3";
loc_coord[22] = "607,589,3";
loc_coord[23] = "604,577,3";
loc_coord[24] = "607,570,3";
loc_coord[25] = "604,564,3";
loc_coord[26] = "604,552,3";
loc_coord[27] = "613,552,3";
loc_coord[28] = "613,546,3";
loc_coord[29] = "604,539,3";
loc_coord[30] = "604,527,3";
loc_coord[31] = "613,527,3";
loc_coord[32] = "613,515,3";
loc_coord[33] = "604,515,3";
loc_coord[34] = "588,508,3";
loc_coord[35] = "573,496,3";
loc_coord[36] = "565,484,3";
loc_coord[37] = "563,484,3";
loc_coord[38] = "557,471,3";
loc_coord[39] = "557,459,3";
loc_coord[40] = "549,446,3";
loc_coord[41] = "542,434,3";
loc_coord[42] = "542,422,3";
loc_coord[43] = "542,409,3";
loc_coord[44] = "549,397,3";
loc_coord[45] = "557,384,3";
loc_coord[46] = "565,372,3";
loc_coord[47] = "549,366,3";
loc_coord[48] = "534,360,3";
loc_coord[49] = "518,347,3";
loc_coord[50] = "511,335,3";
loc_coord[51] = "495,329,3";
loc_coord[52] = "480,322,3";
loc_coord[53] = "449,316,3";
loc_coord[54] = "464,316,3";
loc_coord[55] = "433,310,3";
loc_coord[56] = "418,304,3";
loc_coord[57] = "402,291,3";
loc_coord[58] = "387,279,3";
loc_coord[59] = "379,267,3";
loc_coord[60] = "356,254,3";
loc_coord[61] = "340,242,3";
loc_coord[62] = "333,229,3";
loc_coord[63] = "325,217,3";
loc_coord[64] = "317,205,3";
loc_coord[65] = "328,205,3";
loc_coord[66] = "302,192,3";
loc_coord[67] = "286,180,3";
loc_coord[68] = "279,167,3";
loc_coord[69] = "271,155,3";
loc_coord[70] = "271,143,3";
loc_coord[71] = "271,130,3";
loc_coord[72] = "271,118,3";
loc_coord[73] = "263,105,3";
loc_coord[74] = "255,93,3";
loc_coord[75] = "248,81,3";
loc_coord[76] = "232,74,3";
loc_coord[77] = "217,62,3";
loc_coord[78] = "201,50,3";
loc_coord[79] = "186,43,3";
loc_coord[80] = "170,37,3";

var nbuoy = 18;
var buoy_name = new Array(nbuoy)
buoy_name[0] = "--- no selection ---";
buoy_name[1] = "32302 (-18,-85.1)";
buoy_name[2] = "51028 (0.2,-153.9)";
buoy_name[3] = "51002 (17.14,-157.79)";
buoy_name[4] = "51004 (17.52,-152.48)";
buoy_name[5] = "51003 (19.16,-160.74)";
buoy_name[6] = "51001 (23.43,-162.21)";
buoy_name[7] = "Point Loma (32.63,-117.45)";
buoy_name[8] = "San Nicholas Island (33.22,-119.83)";
buoy_name[9] = "Harvest Buoy (34.46,-120.7)";
buoy_name[10] = "46047 (32.43,-119.53)";
buoy_name[11] = "46059 (37.98,-130)";
buoy_name[12] = "Point Reyes (37.95,-123.47)";
buoy_name[13] = "46006 (40.84,-137.5)";
buoy_name[14] = "46002 (42.58,-130.36)";
buoy_name[15] = "46005 (46.05,-131.02)";
buoy_name[16] = "46066/46003 (52.2,-155.4)";
buoy_name[17] = "46001 (56.3,-148.17)";

var buoy_ts = new Array(nbuoy)
buoy_ts[0] = "";
buoy_ts[1] = "ww3_32302.txt";
buoy_ts[2] = "ww3_51028.txt";
buoy_ts[3] = "ww3_51002.txt";
buoy_ts[4] = "ww3_51004.txt";
buoy_ts[5] = "ww3_51003.txt";
buoy_ts[6] = "ww3_51001.txt";
buoy_ts[7] = "ww3_PointLoma.txt";
buoy_ts[8] = "ww3_SanNichola.txt";
buoy_ts[9] = "ww3_Harvest.txt";
buoy_ts[10] = "ww3_46047.txt";
buoy_ts[11] = "ww3_46059.txt";
buoy_ts[12] = "ww3_PointReyes.txt";
buoy_ts[13] = "ww3_46006.txt";
buoy_ts[14] = "ww3_46002.txt";
buoy_ts[15] = "ww3_46005.txt";
buoy_ts[16] = "ww3_46066.txt";
buoy_ts[17] = "ww3_46001.txt";

var buoy_coord = new Array(nbuoy)
buoy_coord[0] = "0,0,0";
buoy_coord[1] = "526,515,3";
buoy_coord[2] = "100,402,3";
buoy_coord[3] = "76,297,3";
buoy_coord[4] = "108,294,3";
buoy_coord[5] = "57,284,3";
buoy_coord[6] = "48,258,3";
buoy_coord[7] = "325,201,3";
buoy_coord[8] = "311,197,3";
buoy_coord[9] = "305,189,3";
buoy_coord[10] = "312,202,3";
buoy_coord[11] = "248,168,3";
buoy_coord[12] = "288,168,3";
buoy_coord[13] = "201,150,3";
buoy_coord[14] = "245,139,3";
buoy_coord[15] = "241,117,3";
buoy_coord[16] = "90,79,3";
buoy_coord[17] = "135,54,3";

var nsat = 7;
var sat_name = new Array(nsat)
sat_name[0] = "--- no selection ---";
sat_name[1] = "Topex 1 (-53.5,-76.6)";
sat_name[2] = "Topex 3 (-46.2,-76.6)";
sat_name[3] = "Topex 5 (-37.2,-75.1)";
sat_name[4] = "Topex 7 (-33,-72)";
sat_name[5] = "Topex 9 (-23.8,-70.9)";
sat_name[6] = "Topex 10 (-20.6,-72.3)";

var sat_ts = new Array(nsat)
sat_ts[0] = "";
sat_ts[1] = "ww3_Topex01.txt";
sat_ts[2] = "ww3_Topex03.txt";
sat_ts[3] = "ww3_Topex05.txt";
sat_ts[4] = "ww3_Topex07.txt";
sat_ts[5] = "ww3_Topex09.txt";
sat_ts[6] = "ww3_Topex10.txt";

var sat_coord = new Array(nsat)
sat_coord[0] = "0,0,0";
sat_coord[1] = "578,735,3";
sat_coord[2] = "578,689,3";
sat_coord[3] = "587,634,3";
sat_coord[4] = "607,608,3";
sat_coord[5] = "613,551,3";
sat_coord[6] = "605,531,3";

var nset = 2;
var set_name = new Array(nset)
set_name[0] = "Full";
set_name[1] = "Summary";

var nyear = 21;
var year_name = new Array(nyear)
year_name[0] = "All";
year_name[1] = "1983";
year_name[2] = "1984";
year_name[3] = "1985";
year_name[4] = "1986";
year_name[5] = "1987";
year_name[6] = "1988";
year_name[7] = "1989";
year_name[8] = "1990";
year_name[9] = "1991";
year_name[10] = "1992";
year_name[11] = "1993";
year_name[12] = "1994";
year_name[13] = "1995";
year_name[14] = "1996";
year_name[15] = "1997";
year_name[16] = "1998";
year_name[17] = "1999";
year_name[18] = "2000";
year_name[19] = "2001";
year_name[20] = "2002";

function load_droplist(droplist, arr , n)
{
  var i;

  droplist.options.length = 0;
  for (i=0; i<n; i++) droplist.options[i] = new Option(arr[i], arr[i]);

  return true;
}

function calc_cost(loc, set, year)
{
  var v = 0;

  if (loc_name[0] != loc) // "--- no selection ---"
  {
    if (set_name[0] == set) // "Full" 
    {
      if (year_name[0] == year) // "All"
        v = 7.5; // $k
      else 
        v = 2; // $k
    } 
    else 
    {
      if (year_name[0] == year) // "All" 
        v = 5; // $k
      else 
        v = 1; // $k
    }
  }

  return v;
}

function dollars(v)
{
  var s, i, f;

  i = parseInt(v);
  f = parseFloat(v);

  if (v > 0)
  {
    if(i != f)
      s = "$" + i + ",500.00";
    else
      s = "$" + i + ",000.00";
  }
  else s = "$0.00";

  return s;
}

function update_cost()
{
  with(document.all)
  {
    var v1, v2, v3, v4, v5, v;

    v1 = calc_cost(order_location1.value, order_set1.value, order_year1.value);
    v2 = calc_cost(order_location2.value, order_set2.value, order_year2.value);
    v3 = calc_cost(order_location3.value, order_set3.value, order_year3.value);
    v4 = calc_cost(order_location4.value, order_set4.value, order_year4.value);
    v5 = calc_cost(order_location5.value, order_set5.value, order_year5.value);
  
    v = v1 + v2 + v3 + v4 + v5;

    cost1.innerHTML = dollars(v1);
    cost2.innerHTML = dollars(v2);
    cost3.innerHTML = dollars(v3);
    cost4.innerHTML = dollars(v4);
    cost5.innerHTML = dollars(v5);
    total.innerHTML = dollars(v);
  }

  return true;
}

function show_url(url)
{
  if ("" == url) return false;
  return window.open(url, "", "scrollbars=1,resizable=1,width=320,height=480");
}

function show_buoy_ts(idx)
{
  if(!idx) return false;
  return show_url("sample_ts/" + buoy_ts[idx]);
}

function show_sat_ts(idx)
{
  if(!idx) return false;
  return show_url("sample_ts/" + sat_ts[idx]);
}

function show_model_ts(idx)
{
  if(!idx) return false;
  return show_url("sample_ts/" + loc_ts[idx]);
}

function gen_map()
{
  var map, pt, i;

  map = document.getElementById("data_locations");

  while (map.childNodes.length) map.removeChild(map.firstChild);

  for (i=1; i<nbuoy; i++)
  {  
    pt = document.createElement("AREA");
    pt.shape = "circle";
    pt.coords = buoy_coord[i];
    pt.value = i;
    pt.onclick = function() { show_buoy_ts(this.value); };
    pt.title = buoy_name[i];
    map.appendChild(pt);
  }

  for (i=1; i<nsat; i++)
  {  
    pt = document.createElement("AREA");
    pt.shape = "circle";
    pt.coords = sat_coord[i];
    pt.value = i;
    pt.onclick = function() { show_sat_ts(this.value); };
    pt.title = sat_name[i];
    map.appendChild(pt);
  }

  for (i=1; i<nloc; i++)
  {  
    pt = document.createElement("AREA");
    pt.shape = "circle";
    pt.coords = loc_coord[i];
    pt.value = i;
    pt.onclick = function() { show_model_ts(this.value); };
    pt.title = loc_name[i];
    map.appendChild(pt);
  }
}

// if we have problems with using this in onLoad, then we can check for body loaded,
// and recurse with a timer until loaded which might require moving 
// script tag to body and calling olas_initialize at end of this file
//
function olas_initialize()
{
  load_droplist(document.all.buoy, buoy_name, nbuoy);
  load_droplist(document.all.satellite, sat_name, nsat);
  load_droplist(document.all.model, loc_name, nloc);

  load_droplist(document.all.order_location1, loc_name, nloc);
  load_droplist(document.all.order_location2, loc_name, nloc);
  load_droplist(document.all.order_location3, loc_name, nloc);
  load_droplist(document.all.order_location4, loc_name, nloc);
  load_droplist(document.all.order_location5, loc_name, nloc);

  load_droplist(document.all.order_year1, year_name, nyear);
  load_droplist(document.all.order_year2, year_name, nyear);
  load_droplist(document.all.order_year3, year_name, nyear);
  load_droplist(document.all.order_year4, year_name, nyear);
  load_droplist(document.all.order_year5, year_name, nyear);

  load_droplist(document.all.order_set1, set_name, nset);
  load_droplist(document.all.order_set2, set_name, nset);
  load_droplist(document.all.order_set3, set_name, nset);
  load_droplist(document.all.order_set4, set_name, nset);
  load_droplist(document.all.order_set5, set_name, nset);
}

function olas_initialize_en()
{
  loc_name[0]  = "--- no selection ---";
  buoy_name[0] = "--- no selection ---";
  sat_name[0]  = "--- no selection ---";
  set_name[0]  = "Full";
  set_name[1]  = "Summary";
  year_name[0] = "All";
  olas_initialize();
}

function olas_initialize_es()
{
  loc_name[0]  = "--- falta seleccion ---";
  buoy_name[0] = "--- falta seleccion ---";
  sat_name[0]  = "--- falta seleccion ---";
  set_name[0]  = "Completo";
  set_name[1]  = "Sumario";
  year_name[0] = "Todos";
  olas_initialize();
}

