var imgarray = new Array(), curpg, maxpg;
var fireDesc = [];
var imgInfo=[], fireInfo=[], mapInfo=[];

var A_years = {};

function getData( newyear ) {
  var _year = obj("year").value;
  var countySelectedIndex = obj("county").selectedIndex;
  if (newyear) {
    countySelectedIndex = 0;
    obj("imageChecker").checked = true;
    obj("fires").style.display = "none";
  }
  obj("county").options.length = 0;
  obj("county").options[obj("county").options.length] = new Option("ALL", "ALL");
  obj("fires").options.length = 0;
  obj("fires").options[obj("fires").options.length] = new Option("ALL", "ALL");
  var A_trackCounties = {};
  var A_trackFires = {};

  var N_tmp = [];

  for (var YEAR in A_years){
    /*
    DEBUGGER: {
      N_tmp.push(YEAR);
      N_tmp.push("\tCOUNTIES");
      for (var COUNTY in A_years[YEAR].county){
        N_tmp.push("\t\t"+COUNTY); //A_years[YEAR].county[COUNTY]);
      }
      N_tmp.push("\tFIRES");
      for (var FIRE in A_years[YEAR].fire){
        N_tmp.push("\t\t"+FIRE); //A_years[YEAR].fire[FIRE]);
      }
    }
    */

    if (_year == "ALL" || _year == YEAR) {
      for (var COUNTY in A_years[YEAR].county) {
        if (COUNTY in A_trackCounties) continue;
        A_trackCounties[COUNTY] = 1;
        obj("county").options[obj("county").options.length] = new Option(COUNTY, COUNTY);
      }
      obj("county").selectedIndex = countySelectedIndex;

      for (var COUNTYFIRE in A_years[YEAR].countyfire){
        if (COUNTYFIRE in A_trackFires) continue;
        A_trackFires[COUNTYFIRE] = 1;
        var testCounty = COUNTYFIRE.split(":")[0];
        var wantCounty = obj("county").value;
        var fire = A_years[YEAR].countyfire[COUNTYFIRE];
        var fireinfo = A_years[YEAR].fireinfo[COUNTYFIRE];
        if (wantCounty == "ALL" || wantCounty == testCounty) {
          obj("fires").options[obj("fires").options.length] = new Option(fire, fireinfo);
        }
      }
      var results = grep(RegExp(YEAR), mapInfo).pop();
      //alert(results.split(":")[1])
      obj("fireDisplay").innerHTML = results.split(":")[1];
    }

    obj("fires").selectedIndex = 0;
  }

  getFireData();
  // DEBUGGER ####################################################
  //alert(N_tmp.join("\n"))
};

function getFireData() {
  obj("fires").style.display = "block";
  //obj("imageChecker").style.display = "block";

  var N_html = [];
  var fireDataLength = obj("fires").options.length;

  for (var i = 1; i < fireDataLength; i++) {
    var qualify = false;
    if (obj("fires").options[0].selected) {
      qualify = true;
    }
    if (obj("fires").options[i].selected) {
      qualify = true;
    }
    if (qualify) {
      var N_tmp = [];
      var N_data = obj("fires").options[i].value.split(/[~:]/);
/*If the checkbox is selected show the Images else show the fire data.*/
      if (obj("imageChecker").checked) {
/* Collects the information for the fire Images.*/
/*testing to see if there is a match in the photos database.*/
        var N_results = grep(RegExp("~" + N_data[2] + ":"), imgInfo);
        if (N_results != null) {
          var result = N_results.pop();
          result = result.split(/[~:]/)[3];
          N_images = result.split(/\s*,\s*/);

          for (var k = 0; k < N_images.length; k++) {
            N_tmp.push("<img src='images/" + N_images[k] + ".jpg' style='border:double 4px #of3e5b' /><br><br>");
          }
        }
      } else {
        N_tmp.push("<div  align=justify class=basicSpan>");
        N_tmp.push(N_data[7]);
        N_tmp.push("</div><br>");
      }

      if (N_tmp.length) {
        N_tmp.unshift("<div class=secondheader>" + obj("fires").options[i].text + "</div>");
      }

      N_html.push(N_tmp.join(""));
    }
  }

  obj("fireDisplay").innerHTML = N_html.join("");
};

grep = function( exp, data ) {
  var N_tmp = [];

  for (var i in data) {
    if (data[i].toString().match(exp)) {
      N_tmp.push(data[i]);
    }
  }

  return (N_tmp.length)?N_tmp:null;
};

function showImages( v, url ) {
  var file = url.split("/");
  var info = v.split(/\r|\n/);

  if (file[1] == "photos.txt") {
    imgInfo = info;
  }
  if (file[1] == "mapinfo.txt") {
    mapInfo = info;
  }

  if (file[1] == "fires.txt") {
    //fireInfo = info;
    //05~2002:16:cc:plata:cherry creek fire:...
    for (i in info){
      if (!info[i]) continue;

      var data = info[i].split(/[~:]/);
      var year = data[1];
      var county = data[4];
      var fire = data[5];
      var fireinfo = data[7];
      if (!A_years[year]) {
        A_years[year] = {};
        A_years[year].county = {};
        A_years[year].countyfire = {};
        A_years[year].fireinfo = {};
      }
      A_years[year].county[county] = 1;
      A_years[year].countyfire[county + ":" + fire] = fire;
      A_years[year].fireinfo[county + ":" + fire] = info[i];
    }

    obj("year").options[obj("year").options.length] = new Option("ALL", "ALL");
    for (var KEY in A_years){
      obj("year").options[obj("year").options.length] = new Option(KEY, KEY);
    }

    var optionsLength = obj("year").options.length - 1;
    obj("year").options.selectedIndex = optionsLength;

    var lastYearOption = obj("year").options[optionsLength].value;

    if (!mapInfo.length) {
      index_default.HTTP("GET", "bin-data/fires.txt", showImages);
      return false;
    }

    getData(lastYearOption);

    //var results = grep(RegExp(lastYearOption), mapInfo).pop();
    //obj("fireDisplay").innerHTML = results.split(":")[1];
  }
};

/**********************************************************************/
/*
if ((!parent.ie) || (!parent.ns)){
  var ie = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
  var ns = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4))
} else {
  var ie = parent.ie
  var ns = parent.ns
}
var maxHeight, maxWidth, mapX = 0, mapY = 0, indW = 0, indH = 0

function obj(id) { return document.getElementById(id) }

function initpg(){
  imgarray.length = 0
  if (ie) maxHeight = Math.round((document.body.clientHeight)*.90/2), maxWidth = Math.round((document.body.clientWidth-130)*.90/2)
  if (ns) maxHeight = Math.round((window.innerHeight)*.90/2), maxWidth = Math.round((window.innerWidth-130)*.90/2)
  var action = location.search.replace("?action=","")

  if (!action) return false
  else if ((action == "photos") && (parent.fire)) loadFireImgs()
  else if (action.match(/\bcrewrating\b/i)) {
    X_selectBox_crewRating = obj("crewRatings")
    X_selectBox_crewRating.selectedIndex = 0
    showinfo(X_selectBox_crewRating.value)
  }
}

function showinfo(v){
  var array = new Array( obj("c1"), obj("c2"), obj("c3"), obj("c4"), obj("c5"), obj("c6"), obj("c7"), obj("c8"), obj("c9"),  obj("c10"), obj("c11"), obj("c12"), obj("c13"), obj("c14"), obj("c15"), obj("c16"), obj("c17"), obj("c18"), obj("c19"), obj("c20"), obj("c21"), obj("c22"), obj("c23"), obj("c24"), obj("c25"), obj("c26"), obj("c27"), obj("c28"), obj("c29"), obj("c30"), obj("c31"), obj("c32"), obj("c33"), obj("c34"), obj("c35"), obj("c36"), obj("c37"), obj("c38"), obj("c39"), obj("c40"), obj("c41"), obj("c42"), obj("c43"), obj("c44"), obj("c45"), obj("c46"), obj("c47"), obj("c48"), obj("c49"), obj("c50"), obj("c51"), obj("c52"), obj("c53"), obj("c54"), obj("c55"), obj("c56"), obj("c57"), obj("c58"), obj("c59"), obj("c60") )
  var values = new Array()
  values = v.split(":")
  for (var i = 0; i < array.length; i++)
    array[i].innerHTML = values[i]
}

function resize( id, i ){
  var o = obj(id)
  var b = document.body
  var h, w, max, factor = 1, x = 0
  if (i){
    if (ie) max = (b.clientHeight)*.9
    if (ns) max = (window.innerHeight)*.9
  } else {
    if (obj("logo1")) x = obj("logo1").width
    if (ie) max = (b.clientWidth - x)*.9
    if (ns) max = (window.innerWidth - x)*.9
    if (o.width > max) factor = parseFloat( max / o.width )
  }

  if (factor < 1){
    w = parseInt(o.width * factor)
    h = parseInt(o.height * factor)
    o.width = w, o.height = h
  }
}


function resizeImg( id ){
  var img = obj(id)
  var b = document.body
  var h, w

  if (ie) h = (b.clientHeight)*.98
  if (ns) h = (window.innerHeight)*.98
  var factor = (h/img.height)
  if (factor > 1) factor = 1
  w = img.width*factor, h = img.height*factor
  img.width = w
  img.height = h
  var map = img.getAttribute("usemap")
  if (map) remapMap(factor, map.replace("#",""))
}

function remapMap( f, id ){
  var m = document.getElementById(id)
  for (x = 0; x < m.areas.length; x++){
    var a = new Array()
    a = m.areas[x].coords.split(",")
    for (i = 0; i < a.length; i++){
      a[i] = Math.round(a[i] * f)
      m.areas[x].coords = a.join(",")
    }
  }
}


function loadFireImgs(){
  for (i = 0; i < imgs.length; i++)
    if ((imgs[i]) && (imgs[i].fireloc == parent.fire)){
      var img = new Object()
      img.src = "../" + imgs[i].src
      img.caption = imgs[i].caption
      imgarray[imgarray.length] = img
    }
  setPg()
}

function highlight(id,i){
  return false
  var m = obj(id)
  var map = obj("colomap")
  var div = obj("ind_div")
  div.style.display = "none"
  var x = parseInt(m.areas[i].coords.split(",")[0]) - parseInt(indW)
  var y = parseInt(m.areas[i].coords.split(",")[1]) - parseInt(indH / 2)
  div.style.left = x + mapX
  div.style.top = y + mapY
  div.style.display = "block"
}



function resizeFireimg( w1, h1, img, w2, h2 ){
  var f, nh, nw
  f = parseFloat(h1/h2)
  nw = Math.round(w2*f), nh = Math.round(h2*f)
  img.width = 100
  img.height = 100
  return true
}

function setPg(i){
  if (!imgarray.length){
    document.getElementById("prev").disabled = true
    document.getElementById("next").disabled = true
    document.getElementById("pg").innerHTML = ""
    document.getElementById("caption1").innerHTML = parent.fire.toUpperCase() + "<br>" + parent.firedesc + "<div style=\"font: bold 10pt arial; color: red; text-align: center;\">Sorry No images for this fire</div>"
    return false
  }
 curpg = 0, maxpg = Math.ceil(imgarray.length / 6)
  if (maxpg){
    turnpg("next")
    document.getElementById("prev").disabled = true
    document.getElementById("pg").innerHTML ="page " +curpg +" of "+ maxpg
    document.getElementById("caption1").innerHTML = parent.fire.toUpperCase() + "<br>" + parent.firedesc
  } else {
    document.getElementById("prev").disabled = true
    document.getElementById("next").disabled = true
    document.getElementById("pg").innerHTML = ""
    document.getElementById("caption1").innerHTML = ""
  }
}

function turnpg( dir ){
  if (dir == "prev") --curpg
  else if (dir == "next") ++curpg
  var y, z
  z = curpg * 6
  y = z - 6

  for (i = y,x=0; i < z; i++,x++){
    var img = document.getElementById("img"+x)
    var cap = document.getElementById("imgcap"+x)
   if (imgarray[i]){
      img.src = imgarray[i].src
       cap.innerHTML = imgarray[i].caption
      if (cap.innerHTML != "") cap.style.display = "block"
      cap.style.width = img.width
    } else {
      cap.innerText = ""
      cap.style.display = "none"
    }

  }

  if (curpg == maxpg) document.getElementById("next").disabled = true
  else if (curpg < maxpg) document.getElementById("next").disabled = false

  if (curpg > 1) document.getElementById("prev").disabled = false
  else if (curpg == 1) document.getElementById("prev").disabled = true

  document.getElementById("pg").innerText = "page "+curpg+ " of "+maxpg
}

function setDesc(arrayPos){
  var s = fireDesc[arrayPos].split("|")
  parent.fire = s[0]
  parent.firedesc = s[1]
}

function show(v){
    var values = new Array(v)
    for (var i = 0; i < values.length;  i++)
    obj("info").innerHTML = values[i]
}

var lastFire = ""

function toggleFires(){
  status = arguments[0]
  if (lastFire > "")document.getElementById(lastFire).style.display = "none"
  document.getElementById(arguments[0]).style.display = "block"
  lastFire = arguments[0]
}

function toggle(){
    if (document.getElementById(arguments[0]).style.display == "") document.getElementById(arguments[0]).style.display = "none"
    else document.getElementById(arguments[0]).style.display = "block"
}

function showimg (img){
//document.getElementById("theimg").src = document.getElementById(img).src

    //if(arguments[1])document.getElementById("theimg").innerHTML = ""
     document.getElementById("theimg").innerHTML = "<img src="+img+" />"

}

function shownames( ){
    for (i = 0; i < 50; i++ ){
        try {
              if (arguments[0]) document.getElementById("fireName"+i).style.display = "none"
              else document.getElementById("fireName"+i).style.display = "block"
        }catch(o){}
    }
}

 var letterArray = new Array(5);
 var currentLetter = 0;

function newLetter(dir){
    if (dir == "prev"){
        currentLetter--;
        if (currentLetter == -1){
            currentLetter++;
        }
    } else if (dir == "next"){
            currentLetter++;
            if (currentLetter == letterArray.length) currentLetter--;
    }
    if ((currentLetter == 0) || (obj("ppNumb").indnerHTML != "Snake River Fire")){
     obj("ppNumb").innerHTML ="&nbsp; Snake River Fire";
     obj("imgSrc").src ="images/letter-snakeriver.jpg";
    }
    if (currentLetter == 1){
     obj("ppNumb").innerHTML ="&nbsp; Stonewall Fire Protection District";
     obj("imgSrc").src ="images/letter-stonewall.jpg";
    }
    if (currentLetter == 2){
     obj("ppNumb").innerHTML ="&nbsp; Douglas County Sheriff";
     obj("imgSrc").src ="images/letter-sheriff.jpg";
    }
    if (currentLetter == 3){
     obj("ppNumb").innerHTML ="&nbsp; Picnic Rock";
     obj("imgSrc").src ="images/letter-picnic.jpg";
    }
    if (currentLetter == 4){
     obj("ppNumb").innerHTML ="&nbsp; Leadville Lake County";
     obj("imgSrc").src ="images/letter-leadville.jpg";
    }
}
*/
