function MenuItem(id,title,submenu,url){
	this.id = id;
	this.title = title;
	this.submenu = submenu;
	this.url = url
};

function Menu(objname){
	this.obj = objname;
	this.MenuItems = [];
	this.MainMenu = {
		MenuWidth : 207,
		MenuHeight: 24,
		MenuZ: 2,
		MenuLeft : -208,
		MenuTop : -6,
		MenuIcon : "nwmenu/img/dot.gif",
		SubMenuIcon : "nwmenu/img/red_arrow.gif",
		MenuIconHSpace : 8,
		MenuIconVSpace : 0,
		MenuIconAlign : "absmiddle",
		MenuSpeed : 4,
		MenuItemBg: "nwmenu/img/bg_menu.jpg"		
		
	}
	this.SubMenu = {
		SubWidth : 207,
		SubHeight: 20,
		ItemHeight: 20,
		SubZ: 2,
		SubLeft : 8,
		SubTop : 95,
		SubItemPadding: 27,
		SubItemBg : "#F1E8CB"
	}
	this.settings = {
		enableCookie: false
	}
	this.running = true;
};
Menu.prototype.add = function(id,title,submenu,url) {
	this.MenuItems[this.MenuItems.length] = new MenuItem(id,title,submenu,url);
};

Menu.prototype.toString = function() {
	str = "";
	if (document.getElementById) {
		str += '<div style="position:absolute;">';
		str += this.makeMenu();
		str += '</div>';
		//alert(str)
	} else str += 'Browser not supported.';
	//str += "</div>"
	//alert(str);
	return str
};

Menu.prototype.makeMenu = function(){
	//return this.MenuItems.length;
	var str = '';
	var tmpstr = '';
	var divIndex = 0;
	var curTop = this.MainMenu.MenuTop;
	for(i=0;i<this.MenuItems.length; i++){
		var mnuitem = this.MenuItems[i];
		if(mnuitem.url == null)
		
		{
			tmpstr = '<div id="MFX' + divIndex + '" style="position:absolute; width:' + this.MainMenu.MenuWidth +'px; height:'+ this.MainMenu.MenuHeight +'px; z-index:'+ this.MainMenu.MenuZ+'; left:'+this.MainMenu.MenuLeft+'px; top: '+curTop+'px; visibility: hidden">';
			tmpstr += '<table cellpadding="0" cellspacing="0" border=0 background="' + this.MainMenu.MenuItemBg + '" width="' + this.MainMenu.MenuWidth + '" height="'+ this.MainMenu.MenuHeight +'"><tr><td height=22>'
			tmpstr += '<a href="javascript:;" onClick="MFXrunMenu('+ divIndex +','+ this.MainMenu.MenuSpeed +')" class="FirstLevel"'
			//tmpstr += ' onMouseover="ddrivetip(Menu.makeToolTip(' + i +'),\'#E4E4E4\',\'207\');" onMouseout="hideddrivetip();">' @sreeju commented because aou doesn't have mouse over action
			tmpstr += '>'; 
			if(this.MainMenu.MenuIcon != "")
				tmpstr+= '<img src="' + this.MainMenu.MenuIcon + '" border=0 hspace="'+ this.MainMenu.MenuIconHSpace +'" vspace="'+ this.MainMenu.MenuIconVSpace +'"  align="'+ this.MainMenu.MenuIconAlign +'" alt="Icon">'
			tmpstr += this.MenuItems[i].title + '</a></td></tr>'
			//tmpstr += '<tr><td  height=2><img src="/enaou/nwmenu/img/main_sep.gif"></td></tr>'
			tmpstr += '</table>'
			tmpstr += '</div>'
		}
		else
		{
			tmpstr = '<div id="MFX' + divIndex + '" style="position:absolute; width:' + this.MainMenu.MenuWidth +'px; height:'+ this.MainMenu.MenuHeight +'px; z-index:'+ this.MainMenu.MenuZ+'; left:'+this.MainMenu.MenuLeft+'px; top: '+curTop+'px; visibility: hidden">';
			tmpstr += '<table cellpadding="0" cellspacing="0" border=0 background="' + this.MainMenu.MenuItemBg + '" width="' + this.MainMenu.MenuWidth + '" height="'+ this.MainMenu.MenuHeight +'"><tr><td height=22>'
			//tmpstr += '<a href="' + mnuitem.url + '" onClick="MFXrunMenu('+ divIndex +','+ this.MainMenu.MenuSpeed +')" class="FirstLevel"'
			//tmpstr += ' onMouseover="ddrivetip(Menu.makeToolTip(' + i +'),\'#E4E4E4\',\'207\');" onMouseout="hideddrivetip();">' @sreeju commented because aou doesn't have mouse over action
			tmpstr += '<a href="' + mnuitem.url + '"  class="FirstLevel"'
			tmpstr += '>'; 
			if(this.MainMenu.MenuIcon != "")
				tmpstr+= '<img src="' + this.MainMenu.MenuIcon + '" border=0 hspace="'+ this.MainMenu.MenuIconHSpace +'" vspace="'+ this.MainMenu.MenuIconVSpace +'"  align="'+ this.MainMenu.MenuIconAlign +'" alt="Icon">'
			tmpstr += this.MenuItems[i].title + '</a></td></tr>'
			//tmpstr += '<tr><td  height=2><img src="/enaou/nwmenu/img/main_sep.gif"></td></tr>'
			tmpstr += '</table>'
			tmpstr += '</div>'
		}
		divIndex++;
		curTop = curTop + this.MainMenu.MenuHeight;
		//alert(str);
		//alert(this.MenuItems[i].submenu.length);
		
		var submenuheight = this.SubMenu.ItemHeight * this.MenuItems[i].submenu.length;
		tmpstr += '<div id="MFX' + divIndex + '" style="position:absolute; width:' + this.SubMenu.SubWidth +'px; height:'+ submenuheight +'px; z-index:'+ this.SubMenu.SubZ +'; left:'+this.SubMenu.SubLeft+'px; top: '+curTop+'px; visibility: hidden">';
		tmpstr += '<table width="100%" border="0" cellspacing="0" cellpadding="0" align="right" bgcolor="' + this.SubMenu.SubItemBg + '" class="sublevel">';
		for(j=0;j<this.MenuItems[i].submenu.length;j++){
			tmpstr += '<tr>'
			if(this.SubMenu.SubItemPadding >0)
			{
				tmpstr += '<td width="'+ this.SubMenu.SubItemPadding+'"></td>';
			}
			tmpstr += '<td valign="top" height="' + this.SubMenu.ItemHeight + '">'
			tmpstr += '<a href="' + this.MenuItems[i].submenu[j][1] + '" class="SubLevel" onClick="Menu.setMenuCookie(' + i + ')"><img src="' + this.MainMenu.SubMenuIcon + '" border=0 hspace="'+ this.MainMenu.MenuIconHSpace +'" vspace="'+ this.MainMenu.MenuIconVSpace +'"  align="'+ this.MainMenu.MenuIconAlign +'" alt="Icon">' + this.MenuItems[i].submenu[j][0] + '</a></td>'
			tmpstr += '</tr>'
		}
		tmpstr += '</table>';
		tmpstr += '</div>';
		divIndex++;
		//alert(tmpstr)
		//document.getElementById("msgbox").value = tmpstr;
		str += tmpstr;
		//if(i==2)break;
				//alert("first line ok");
		//Make the Main Menu Item
		/*str += '<div class="MainItem" style="' + this.createMainItemStyle() + '" id="MainItem' + mnuitem.id + '">'
		str += this.addMainMenu(mnuitem)
		this.MainItemLeft = parseInt(this.settings.MainItemWidth) + parseInt(this.MainItemLeft) + parseInt(this.settings.MainItemMargin)
		str += '</div>'
		//add submenu to the above main menu
		str += '<div class="SubItemHolder" id="SubItem' + mnuitem.id + '" style="' + this.createSubItemStyle() + '">'
		str += this.addSubMenu(mnuitem.id)
		str += '</div>'
		 */
		
	}
	return str
};
Menu.prototype.makeToolTip = function(id){
	var mnuitem = this.MenuItems[id];
	var tmpstr = '';
	for(j=0;j<this.MenuItems[id].submenu.length;j++){
			tmpstr += this.MenuItems[id].submenu[j][0] 
			if(j<(this.MenuItems[id].submenu.length-1))//add coma if it is not the last item
			{
				tmpstr += ", ";	
			}
			else if(j>1)// if two or more items to show just display ....
				tmpstr += " ..."
		}
	return tmpstr;

};


Menu.prototype.setMenuCookie = function(selectedMain){
	//alert(selectedMain)
	if(this.settings.enableCookie){
		Set_Cookie(this.obj + 'selectedMain',selectedMain);
	}
		
}

Menu.prototype.retrieveCookie= function(){
	if(this.settings.enableCookie){
		//set the value for this.settings.selectedMain
		ckmain = Get_Cookie(this.obj +"selectedMain");
		//alert(ckmain)
		if(ckmain != null){
			return ckmain >= 0? ckmain: -1
		}
	}
};
/////////////////////////////////////////////////////////////////////////////
//general functions to cookie handling
//thanks & credits to http://www.webreference.com
function Set_Cookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	Delete_Cookie(name,path,domain);
	alert("after deleting :" + document.cookie);
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
	alert(document.cookie)
}

function Get_Cookie(name) 
{
	alert(name)
	alert(document.cookie);
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function Delete_Cookie( name, path, domain ) 
{
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


/////////////////////////////////////////////////////////////////////////////