
var renderNav = true;
if((navigator.appName != "Microsoft Internet Explorer")){
  renderNav = false;
}

if(!renderNav){
  function createMenu(){         
  } 
}else{

//settings
var autoClose = true;

var startHTML = "<table cellpadding=0 cellspacing=0>";
var endHTML = "</table>";

//design settings
function DesignStyle(){
  this.htmlStartToOpenSymbol = '<tr><td>';
  this.htmlSymbolToLink = "&nbsp;";
  this.htmlLinkStart = "<span class=navText>";
  this.htmlLinkEnd = "</span>";
  this.htmlLinkToChildren = "";
  this.htmlChildrenToEnd = "</td></tr>";
  this.htmlCloseSymbol = "<span class=navSymbol>[-]</span>";
  this.htmlOpenSymbol = "<span class=navSymbol>[+]</span>";
  this.htmlNoChildrenSymbol = "<span class=navSymbol>&nbsp;&nbsp;&nbsp;</span>";
  
}

var arrDesigns = new Array();
arrDesigns[0] = new DesignStyle();





if(document.cookie.indexOf("nav=") != -1){
  var cookieRE = new RegExp("nav=([^;]*)", "");
  var resultArray = cookieRE.exec(document.cookie);
  var strOpenPages = resultArray[1];
}else{
  strOpenPages = ",";
  setCookie();
}
function setCookie(){
  document.cookie = "nav=" + strOpenPages;
}



function writeHTML(strHTML){
  if(navigator.appName == "Netscape") {
    document.netscapeClockLayer.document.write(strHTML);
    document.netscapeClockLayer.document.close();
  }

  if(navigator.appVersion.indexOf("MSIE") != -1){
  msieClockSpan.innerHTML = strHTML;
  }
  
  return(false);
}


function MenuItem(id, strTitle, strUrl, parent_id){
  this.id = id;
  this.strTitle = strTitle;
  this.strUrl = strUrl;
  this.parent_id = parent_id;
}


MenuItem.prototype.isOpen = function(){
  return(strOpenPages.indexOf("," + this.id + ",") != -1);
}
MenuItem.prototype.togglePage = function(forceOpen, reCreateHTML){
  if(this.isOpen()){
    if(!forceOpen){
      strOpenPages = strOpenPages.replace("," + this.id + ",", ",");
	}
  }else{
    strOpenPages += this.id + ",";
	if(autoClose){
      for(var count=0; count<arrMenuItems.length; count++){
	    if(((arrMenuItems[count].parent_id == this.parent_id)||(arrMenuItems[count].parent_id == this.id))&&(this.id != arrMenuItems[count].id)){
	      if(arrMenuItems[count].isOpen()){
		    arrMenuItems[count].togglePage();
		  }
	    }
	  }
    }
  }
  
  
  setCookie();
  if(reCreateHTML) createMenu();
}


function togglePage(menuItem_id, forceOpen, reCreateHTML){
  var oMenuItem = arrMenuItems.findByID(menuItem_id);
  if(oMenuItem != null){
    oMenuItem.togglePage(forceOpen, reCreateHTML);
  }
  return(true);
}

MenuItem.prototype.html = function(tier){

  if(typeof tier == "undefined") tier = 0;


  if(arrDesigns.length > tier){
    var oDesignStyle = arrDesigns[tier];
  }else{
    var oDesignStyle = arrDesigns[arrDesigns.length-1];
  }
  


  var subHTML = "";
  var isOpen = this.isOpen();
  var hasChildren = false;
  for(var count=0; count<arrMenuItems.length; count++){
    var oMenuItem = arrMenuItems[count];
	if(oMenuItem.parent_id == this.id){
      if((isOpen)||(this.parent_id==-1)){
	    subHTML += oMenuItem.html(tier + 1);
	  }
	  hasChildren = true;
	}
  }

  var strHTML = oDesignStyle.htmlStartToOpenSymbol;

  
  var strOpenSymbol = oDesignStyle.htmlNoChildrenSymbol;
  if(this.parent_id != -1){
    if(hasChildren){
      if(isOpen){
	    strOpenSymbol = oDesignStyle.htmlCloseSymbol;
	  }else{
	    strOpenSymbol = oDesignStyle.htmlOpenSymbol;
	  }
	}
  }
  strHTML += "<a href='#' onclick='togglePage(" + this.id + ", false, true);return(false);'>" + strOpenSymbol + "</a>";
  strHTML += oDesignStyle.htmlSymbolToLink;
  strHTML += "<a href='" + this.strUrl + "' onclick='togglePage(" + this.id + ",true,false);return(true);' oncclick='togglePage(" + this.id + ", true); return(true);'>";
  strHTML += oDesignStyle.htmlLinkStart + this.strTitle + oDesignStyle.htmlLinkEnd;
  strHTML += "</a>";
  strHTML += oDesignStyle.htmlLinkToChildren;  
  strHTML += subHTML;
  strHTML += oDesignStyle.htmlChildrenToEnd;  
  
  return(strHTML);
}

function menuHTML(){
  strHTML = "";
  for(var count=0; count<arrMenuItems.length; count++){
    if(arrMenuItems[count].parent_id == -1){
	  strHTML += arrMenuItems[count].html();
	}
  }
  return(startHTML + strHTML + endHTML);
}


function createMenu(){
  writeHTML(menuHTML());
  return(false);
}


Array.prototype.addMenuItem = function(oMenuItem){
  this[this.length] = oMenuItem;
}
Array.prototype.findByID = function(id){
  for(var count=0; count<this.length;count++){
    if(this[count].id == id) return(this[count]); 
  }
  return(null);
}
var arrMenuItems = new Array();


}


