var off_menu = new Array();
var markers = new Array();

function show_submenu() {
  var submenu = this.getElementsByTagName("ul")[0];
  if (submenu.style.display == "none") {
    hide_submenus();
    submenu.style.left = find_position(this)[0] + "px";
    submenu.style.top = (find_position(this)[1]+15) + "px";
    Effect.Appear(submenu, { duration: 0 });
  }
  off_menu[this.id] = false;
}

function hide_submenu(bucket_id) {
  var submenu = document.getElementById(bucket_id).getElementsByTagName("ul")[0];
  if (off_menu[bucket_id] == true)
    Effect.Fade(submenu, { duration: 0 });
}

function mouseoff_menu() {
  var bucket_id = this.id;
  off_menu[bucket_id] = true;
  window.setTimeout("hide_submenu('"+bucket_id+"');", 500);
}

function hide_submenus() {
  var lis = document.getElementsByTagName("li");
  for (i=0; i < lis.length; i++) {
    if (lis[i].className == "bucket") {
      lis[i].getElementsByTagName("ul")[0].style.display = "none";
    }
  }
}

function load_gmap() {
  if (GBrowserIsCompatible()) {
    GDownloadUrl("/markers.php", function(data) {
      var lat = lng = avg_lat = avg_lng = 0;
      var xml = GXml.parse(data);
      var stops = xml.documentElement.getElementsByTagName("stop");
      var plots = new Array();
      for (i=0; i < stops.length; i++) {
        var marker = create_marker(stops[i]);
        lat += parseFloat(stops[i].getAttribute("lat"));
        lng += parseFloat(stops[i].getAttribute("lng"));
        plots[i] = marker;
      }
      if (stops.length > 0) avg_lat = lat/stops.length;
      if (stops.length > 0) avg_lng = lng/stops.length;
      var map = new GMap2(document.getElementById("itinerary_map"));
      map.setCenter(new GLatLng(avg_lat, avg_lng), 12);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
      for (i=0; i< plots.length; i++) {
        map.addOverlay(plots[i]);
      }
    });
  }
}

function create_marker(stop) {
  var point = new GLatLng(parseFloat(stop.getAttribute("lat")),
                          parseFloat(stop.getAttribute("lng")));
  var marker = new GMarker(point);
  var id = stop.getAttribute("id");
  var title = stop.getAttribute("title");
  var address = stop.getAttribute("address");
  var city = stop.getAttribute("city");
  var state = stop.getAttribute("state");
  var zip = stop.getAttribute("zip");

  var html = "<a href='article.php?id=" + id + "' style='display: block; color: #000000; font-size: 13px; margin: 15px; width: 300px;'>" + title + "</a>"
           + "<p style='margin: 0 15px 15px 15px;'>"
           + "  " + address + "<br />"
           + "  " + city + ", " + state + " " + zip
           + "</p>";

  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html);
  });
  markers[id] = marker;
  return marker;
}

function show_stop() {
  click_info(this.getAttribute("rel"));
  return(false);
}

function click_info(id) {
  GEvent.trigger(markers[id], "click");
}

function find_position(element) {
  var cur_left = cur_top = 0;
  if (element.offsetParent) {
    do {
      cur_left += element.offsetLeft;
      cur_top += element.offsetTop;
    } while (element = element.offsetParent);
  }
  return [cur_left, cur_top];
} 

function set_featured_article() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs. length; i++) {
    if (inputs[i].type == "radio" && inputs[i].className == "featured_article" && inputs[i].checked)
      new Ajax.Request('/setfeaturedarticle.php?cnt=1&id=' + inputs[i].value);
  }
}  

function set_featured_article2() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs. length; i++) {
    if (inputs[i].type == "radio" && inputs[i].className == "featured_article2" && inputs[i].checked)
      new Ajax.Request('/setfeaturedarticle.php?cnt=2&id=' + inputs[i].value);
  }
}  

function set_featured_article3() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs. length; i++) {
    if (inputs[i].type == "radio" && inputs[i].className == "featured_article3" && inputs[i].checked)
      new Ajax.Request('/setfeaturedarticle.php?cnt=3&id=' + inputs[i].value);
  }
}  

function set_featured_article4() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs. length; i++) {
    if (inputs[i].type == "radio" && inputs[i].className == "featured_article4" && inputs[i].checked)
      new Ajax.Request('/setfeaturedarticle.php?cnt=4&id=' + inputs[i].value);
  }
}  

function set_featured_video() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs. length; i++) {
    if (inputs[i].type == "radio" && inputs[i].className == "featured_video" && inputs[i].checked)
      new Ajax.Request('/setfeaturedvideo.php?id=' + inputs[i].value);
  }
}                                                                                        

window.onload = function() {
  var inputs = document.getElementsByTagName("input");
  for (i=0; i < inputs.length; i++) {
    if (inputs[i].type == "text" || inputs[i].type == "password")
      inputs[i].onfocus = inputs[i].select;
    if (inputs[i].className == "featured_article")
      inputs[i].onchange = set_featured_article;
    if (inputs[i].className == "featured_article2")
      inputs[i].onchange = set_featured_article2;
     if (inputs[i].className == "featured_article3")
      inputs[i].onchange = set_featured_article3;
    if (inputs[i].className == "featured_article4")
      inputs[i].onchange = set_featured_article4;
   if (inputs[i].className == "featured_video")
      inputs[i].onchange = set_featured_video;
  }
  var lis = document.getElementsByTagName("li");
  for (i=0; i < lis.length; i++) {
    if (lis[i].className == "bucket") {
      lis[i].onmouseover = show_submenu;
      lis[i].onmouseout = mouseoff_menu;
    }
  }
  var as = document.getElementsByTagName("a");
  for (i=0; i < as.length; i++) {
    if (as[i].className == "map_link") {
      as[i].onclick = show_stop;
    }
    if (as[i].className == "remove_stop") {
      as[i].onclick = function() {
        if (!window.confirm("You are about to remove this item from your list.\n\nPress OK to continue.")) return false;
      }
    }
    if (as[i].className == "delete_link") {
      as[i].onclick = function() {
        if (!window.confirm("You are about to delete this item.\n\nPress OK to continue.")) return false;
      }
    }                  
    if (as[i].className == "hopstop") {
      as[i].target = "_blank";
    }                  
    if (as[i].className == "external") {
      as[i].target = "_blank";
    }
  }
  if (document.getElementById("article_content")) {
    var article_as = document.getElementById("article_content").getElementsByTagName("a");
    for (i=0; i < article_as.length; i++) {
      if (article_as[i].className !== "add_to_list")
        article_as[i].target = "_blank";
    }
  }
  if (document.getElementById("print_my_gomet")) {
    document.getElementById("print_my_gomet").target = "_blank";
  }
  if (document.getElementById("itinerary_map")) {
    load_gmap();
    window.unload = GUnload;
  }
  if (typeof(nicEditor) == 'function') {
    new nicEditor({fullPanel : true}).panelInstance('body',{hasPanel : true});
  }
  if (document.getElementById("splash_imgmap"))
    var rollovers = document.getElementById("splash_imgmap").getElementsByTagName("li");
  else var rollovers = new Array();
  for (i=0; i < rollovers.length; i++) {
    rollovers[i].onmouseover = function() {
      var popup = this.getElementsByTagName("div")[0];
      if (popup.style.display == "none") {
        Effect.Appear(popup, { duration: 0 });
      }
      popup.onmouseout = function() {
        Effect.Fade(this, { duration: 0 })
      }
    }
    rollovers[i].onmouseout = function() {
    }
  }
  if (document.getElementById("dog")) {
    document.getElementById("dog").onmouseover = function() {
      var dog_logo = document.getElementById("dog");
      var submenu = document.getElementById("dog_content");
      if (submenu.style.display == "none") {
        /*hide_submenus();
        submenu.style.left = find_position(this)[0] + "px";
		submenu.style.top = (find_position(this)[1]-400) + "px";
		alert(find_position(this)[1]);
        //submenu.style.top = (find_position(this)[1]+65) + "px";
		
        Effect.Appear(submenu, { duration: 0 });
		*/
		dog_logo.style.display="none";
		submenu.style.display="";
      }
      submenu.getElementsByTagName('a')[0].onmouseout = function() {
        //Effect.Fade(document.getElementById("dog_content"), { duration: 0 });
		dog_logo.style.display="";
		submenu.style.display="none";
      }
    }
  }
  if (document.getElementById("tree")) {
    document.getElementById("tree").onmouseover = function() {
      var tree_content = document.getElementById("tree_content");
      Effect.Appear(tree_content, { duration: 0 } );
      tree_content.onmouseout = function() {
        Effect.Fade(document.getElementById("tree_content"), { duration: 0 });
      }
    }
    document.getElementById("tree").onmouseout = function() {
      var tree_content = document.getElementById("tree_content");
      Effect.Fade(tree_content, { duration: 0 });
    }
  }
  if (typeof(FCKeditor) == 'function') {
    var editor = new FCKeditor('body');
    editor.BasePath = '/editor/';
    editor.ToolbarSet = 'Basic';
    editor.Width = '700';
    editor.Height = '400';
    editor.ReplaceTextarea();
  }
  if (document.getElementById("print_guide")) {
    var subdivs = document.getElementById("print_guide").getElementsByTagName("div");
    for (i=0; i < subdivs.length; i++) {
      if (subdivs[i].className == "print_map") {
        if (GBrowserIsCompatible()) {
          var coords = new String(subdivs[i].innerHTML).split(",");
          subdivs[i].innerHTML = "";
          var point = new GLatLng(coords[0], coords[1]);
          var marker = new GMarker(point);
          var map = new GMap2(subdivs[i]);
          map.setCenter(new GLatLng(coords[0], coords[1]), 15);
          map.addOverlay(marker);
        }
      }
    }
    window.unload = GUnload;
    window.print();
  }
}
