//***********************************************************
// DOM
//***********************************************************
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
WhatItUses="document.all["; useDaOrLa="].style";
if (ie5 || ns6 || (navigator.userAgent.indexOf("Opera") > -1)) {WhatItUses="document.getElementById("; useDaOrLa=").style";}


//***********************************************************
// MENU OBJECT
//***********************************************************
function menuObject(oName, oSectionDef){
	this.name				= oName;
	this.items				= new Array();
	this.itemCount			= 0;
	this.subMenus			= new Array();
	this.subMenuCount		= 0;
	this.selectedMenu		= 0;
	this.section			= oSectionDef;
	this.handleMenu			= 0;
	
	this.appendItem			= fnAppendMenuItem;
	this.initialize			= fnInitializeMenuItems;
	this.toggle				= fnToggleMenu;
	return this
};
//***********************************************************
function fnToggleMenu(oItemId){
	var endChar = (WhatItUses.indexOf("(")!=-1) ? ")" : "]"; 
	if(eval(WhatItUses+'"submenu' + oItemId + '"' + endChar)){
		if(eval(WhatItUses+'"submenu' + oItemId + '"'+useDaOrLa+'.display=="block"')){
			eval(WhatItUses+'"submenu' + oItemId + '"'+useDaOrLa+'.display="none"');
			this.selectedMenu = 0;
		}else{
			if(this.selectedMenu != 0){
				eval(WhatItUses+'"submenu' + this.selectedMenu + '"'+useDaOrLa+'.display="none"')
			};
			this.selectedMenu = oItemId;
			eval(WhatItUses+'"submenu' + oItemId + '"'+useDaOrLa+'.display="block"');
		};
	};
};
//***********************************************************
function fnAppendMenuItem(oItem){
		if(oItem.dtlevel==0){
			this.itemCount	= this.items.push(oItem);
		}else{
			this.subMenuCount	= this.subMenus.push(oItem);
			if(oItem.id_section==this.section){
				this.handleMenu = oItem.id_section_parent;
			};
		};
};
//***********************************************************
function fnInitializeMenuItems(){
	this.subMenus.sort(fnSortMenuItems);
	document.write('<div class="menu_01">\n<ul>\n');
	for(var i=0; i<this.itemCount; i++){
		var sbCount	= getSubMenuPos(this.subMenus, this.items[i].id_section);
		if(sbCount!=-1){
				//writeTopMenuItem(this.name, this.items[i].name, this.items[i].id_section);
				document.write(writeTopMenuHref(this.items[i], "menu"));
				document.write('<div id="submenu' + this.items[i].id_section + '" class="submenu">\n');
				document.write('<ul class="ul_02">\n');
				writeSubMenuItems(this.subMenus, sbCount, this.items[i].id_section);
				document.write('</ul>\n');
				document.write('</div>\n');
		}else{
			document.write(writeTopMenuHref(this.items[i], "menu"));
		};
	};
	document.write('</ul>\n</div>\n');
	if(this.handleMenu!=0){
		this.toggle(this.handleMenu);
	};
};
//***********************************************************
// MENU ITEM OBJECT
//***********************************************************
function menuItemObject(id_section, id_section_parent, dtlevel, name, redirurl){
	this.id_section			= id_section;
	this.id_section_parent	= id_section_parent;
	this.dtlevel			= dtlevel;
	this.name				= name;
	this.redirurl			= redirurl;
	
	return this
};
//***********************************************************
// COMMON FNS FOR MENU OBJECT
//***********************************************************
function fnSortMenuItems(a,b){
	return a.dtlevel < b.dtlevel;
};
//***********************************************************
function getSubMenuPos(oArray, oParent){
	for(var k=0; k<oArray.length; k++){
		if(oArray[k].id_section_parent == oParent){
			return k
		};
	};
	return -1;
};
//***********************************************************
function writeSubMenuItems(oItems, oStart, oParent){
	for(var l=oStart; l<oItems.length; l++){
		if(oItems[l].id_section_parent == oParent){

			var sbCount = getSubMenuPos(oItems, oItems[l].id_section);
			if(sbCount!=-1){
				//writeTopMenuItem(this.name, oItems[l].name, oItems[l].id_section);
				document.write(writeTopMenuHref(oItems[l], "menu"));
				document.write('<ul class="ul_02" style="margin-left: 15px;">\n');
				writeSubMenuItems(oItems, sbCount, oItems[l].id_section);
				document.write('</ul>\n');
			}else{
				document.write(writeTopMenuHref(oItems[l], "menu"));
			};

			//document.write('<li>' + writeTopMenuHref(oItems[l]) + '</li>');
		}else{
			//return;
		};
	};
};
//***********************************************************
function writeTopMenuItem(oMenuName, oItemName, cnt){
	document.write('<li><a href="#" class="menu" onclick="' + oMenuName + '.toggle(' + cnt + ');return false" onfocus="this.blur()">' + oItemName + '</a></li>\n');
};
//***********************************************************
function writeTopMenuHref(oItemObject, cClass){
	var mHref = (oItemObject.redirurl!="") ? oItemObject.redirurl : "/default.aspx?section=" + oItemObject.id_section;
	return '<li><a href="' + mHref + '"' + (!cClass ? '' : (' class="' + cClass + '"')) + ' onfocus="this.blur()">' + oItemObject.name + '</a></li>\n';
};
//***********************************************************
// HANDLER FOR IE 5
//***********************************************************
if (Array.prototype && !Array.prototype.push) {
	Array.prototype.push = function() {
		for (var i=0; i<arguments.length; i++) this[this.length] = arguments[i];
		return this.length;
	};
}
