function menu(){

  this.bubble = "";

  if(navigator.appName == "Microsoft Internet Explorer")
	{
  	this.bubble = "window.event.cancelBubble = true;";
  }
  if(navigator.appName == "Netscape")
	{
    this.bubble = "event.stopPropagation();";
  }
  
	this.items = new Array();
	this.itemsL1 = new Array();
	this.name = "";
	this.l1div = "";
	this.l1frame = "";
	this.l2div = "";
	this.l2frame = "";
	this.l2menu = "parent.navigation.menu";
	this.active = null;
	this.actual = ""; 
	
	this.addLevel1Item 			 = fn_addLevel1Item;
	this.addLevel2Item 			 = fn_addLevel2Item;
	this.addMenuName 			 	 = fn_addMenuName;
	this.setFillLevel1Div 	 = fn_setFillLevel1Div;
	this.setFillLevel2Div 	 = fn_setFillLevel2Div;
	this.fillLevel1Div 			 = fn_fillLevel1Div;
	this.fillLevel2Div 			 = fn_fillLevel2Div;
	this.clearLevel2Div 		 = fn_clearLevel2Div;
	this.highlightItem 			 = fn_highlightItem;


	function fn_addLevel1Item(newitem,pos,url) {

		this.items[newitem] = new Array();
		this.items[newitem][0] = new Array();
		this.items[newitem][1] = (url)? url:'blank.html';
		this.itemsL1[pos] = newitem;
	}

	function fn_addLevel2Item(parentitem,newitem,pos,url) {
		if(this.items[parentitem]) {
			this.items[parentitem][0][pos] = new Array();
			this.items[parentitem][0][pos]['item'] = newitem;
			this.items[parentitem][0][pos]['url'] = (url)? url:'blank.html';
		}
		else {
			this.items[parentitem] = new Array();
			this.items[parentitem][0][pos] = new Array();
			this.items[parentitem][0][pos]['item'] = newitem;
			this.items[parentitem][0][pos]['url'] = (url)? url:'blank.html';
		}

	}

	function fn_setFillLevel1Div(div,frame){
		this.l1div = div;
		this.l1frame = frame;
	}
	
	function fn_setFillLevel2Div(div,frame){
			this.l2div = div;
			this.l2frame = frame;
	}

	function fn_fillLevel1Div(){
		div = this.l1frame.document.getElementById(this.l1div);
		html = "";
		pos = 0;
	for(i=0; i<this.itemsL1.length; i++){
			items = this.itemsL1[i];
			if(items){
				html+="<div id=\""+items+"\" ";
				html+="class=\"level1nav\" ";
				if(document.all)
					html+="style=\"cursor:hand\" ";
				else
					html+="style=\"cursor:pointer\" ";
				html+="onclick=\"clicked='active';parent."+this.l2div+".location.href = '"+this.items[items][1]+"';\" onmouseover=\""+this.name+".highlightItem('"+items+"');";
				if(this.items[items][0].length > 0)
					html+="if(clicked == 'clear'){"+this.name+".fillLevel2Div('"+items+"','"+pos+"');}\">"+items+"</div>";
				else
					html+="if(clicked == 'clear'){"+this.name+".clearLevel2Div();}\">"+items+"</div>";
				pos++;
			}
		}
		div.innerHTML  = html;
	}
	
	function fn_fillLevel2Div(items,pos){
	
		div = this.l2frame.document.getElementById(this.l2div);
		
		html 	= "";
		px 		= 0;
		topOffset = 9;
		itemOffset = 28;
		if(div){
			for(i=0;items && i<this.items[items][0].length; i++){
				if(this.items[items][0][i]){
					html+="<div class=\"level2nav\" ";
					if(document.all)
						html+="style=\"cursor:hand\" ";
					else
						html+="style=\"cursor:pointer\" ";
					html+="onclick=\"parent.navigation.clicked='active';location.href = '"+this.items[items][0][i]['url']+"';\" ";			
					html+="onmouseout=\"if(parent.navigation.clicked == 'clear'){this.className = 'level2nav';}\" ";
					html+="onmouseover=\""+ this.bubble +"if(parent.navigation.clicked == 'clear'){this.className = 'level2navHigh';parent."+this.l1div+"."+this.name+".highlightItem('"+items+"');}\"";
					html+=">"+this.items[items][0][i]['item']+"</div>";
				}
			}
			if(document.all)
				px = this.l2frame.document.body.scrollTop;
			else
				px = this.l2frame.window.pageYOffset;

			div.style.top = topOffset + px + pos * itemOffset;
			div.style.display = 'block'; 
			div.innerHTML  = html;
			this.actual = items;
		}
	}

	function fn_clearLevel2Div(){
			if (this.l2frame.document != null)
			{
				div = this.l2frame.document.getElementById(this.l2div);
				if(div)
					div.style.display = 'none';
      }
	}
	
	function fn_highlightItem(actitem){
		for(items in this.items){
		if(items != actitem){
				document.getElementById(items).className = 'level1nav';
			}
			else {
				document.getElementById(items).className = 'level1navHigh';
			}
		}
	}	
	
	function fn_addMenuName(name){
		this.name = name;
	}
}

