/* <![CDATA[ */
$(document).ready(function() {
  $menu = $('#ElevatorMenu');
  $(menuJSON).each(function(i) {
    var obj = this;
    if (obj.Nodes == null) {
      $('<li/>').addClass("Level0").append($('<a/>').attr('href', obj.Url).html("<div>" + obj.Name + "</div>")).appendTo($menu);
    }
    else {
      var $ul = $('<ul/>');
      $(obj.Nodes).each(function() {
        BuildChildNodes($ul, this, 1);
      });
      $('<li/>').addClass("Level0").addClass("HasNode").attr("rel", "0").html("<div>" + obj.Name + "</div>").append($ul).appendTo($menu);
    }
  });

  $("#ElevatorMenu").find("ul").find("li:first").addClass("FirstMenuItem");
  $("#ElevatorMenu").find("ul").find("li:last").addClass("LastMenuItem");
  $("#ElevatorMenu > li:last").addClass("LastMenuItem");

  $(".HasNode").click(function(e) {
    e.stopPropagation();
    e.cancelBubble = true;

    var $this = $(this);
    var level = $this.attr("rel");

    if (level == "0") {
      $(".Level0").removeClass("Level1Clicked");
      $("li", this).removeClass("Level1Clicked");
      $("ul", this).hide();
    }
    if (level == "1")
      $(".Level0Clicked").addClass("Level1Clicked").removeClass("Level0Clicked");
    $(".Level" + level).removeClass("Level" + level + "Clicked");
    $this.addClass("Level" + level + "Clicked");
    $("li[rel='" + level + "'] > ul").not($("ul:first", this)).slideUp();
    $("ul:first", this).slideDown();
  });
  $("#ElevatorMenu li:has(a[href='" + location.href.substring(location.href.lastIndexOf('/') + 1) + "'])").click();
});

function BuildChildNodes($parent, obj, level) {
  if (obj.Nodes == null) {
    $('<li/>').addClass("Level" + level).append($('<a/>').attr('href', obj.Url).html("<div>" + obj.Name + "</div>")).appendTo($parent);
  }
  else {
    var $ul = $('<ul/>');
    $(obj.Nodes).each(function() {
      BuildChildNodes($ul, this, level + 1);
    });
    $('<li/>').addClass("Level" + level).addClass("HasNode").attr("rel", level).html("<div>" + obj.Name + "</div>").append($ul).appendTo($parent);
  }
}
/* ]]> */
