<!--
/*
*	jso7F_Menu class
*/
function jso7F_MenuItem(id, level, label, url, target){
	// initialize properties
	this.id = id?id:0;
	this.level = level?level:0;
	this.label = label?label:'';
	this.url = url?url:'';
	this.target = target?target:'_Self';
	this.arMnu = new Array();
}

jso7F_MenuItem.prototype.addMenu = function(label, url, target) {
	var i = this.arMnu.length;
	i==0?i++:null;
	this.arMnu[i] = new jso7F_MenuItem(i, this.level+1, label, url, target);
	return this.arMnu[i];
}

jso7F_MenuItem.prototype.getParentId = function (args){
	var id = 'mnu';
	if(this.level>args.length) return id;		
	for(var i=0; i<this.level; i++){
		//if(args[i] == 0) return id;
		id += '_'+args[i];
	}
	return id;
}

jso7F_MenuItem.prototype.getId = function (args){
	var id = 'mItem';
	if(this.level>args.length) return id;		
	for(var i=0; i<this.level; i++){
		//if(args[i] == 0) return id;
		id += '_'+args[i];
	}
	return id+'_'+this.id;
}

jso7F_MenuItem.prototype.findId = function (args){
	if(this.id==args[this.level]){
		if(this.level==args.length-1){
			return this;
		}else if(args[this.level+1] == 0){
			return this;
		}else{
			for(i in this.arMnu){
				m = this.arMnu[i].findId(args);
				if(m) return m;
			}
		}
	}
	return null;
}

jso7F_MenuItem.prototype.displayMenu = function (args){
	// get parent id
	var parent_id = this.getParentId(args);
	var id = parent_id+'_'+this.id;
	// check if parent is visible
	var e = document.getElementById(parent_id);
	var show = e?(e.style.display=='block'):true;

	e = document.getElementById(id);
	if(e){
		e.style.display=(show && this.id==args[this.level])?'block':'none';
		for (var i in this.arMnu) this.arMnu[i].displayMenu(args);
	}
}

jso7F_MenuItem.prototype.toString = function(eol) {
	var d = 'level '+this.level+' : '+this.label+'('+this.url+')';
	if(this.arMnu.length){
		for (m in this.arMnu) d += eol+'\n'+m+' '+this.arMnu[m].toString(eol);
	}
    return d;
}

jso7F_MenuItem.prototype.printMenu = function (id) {
	if(document.getElementById(id)) document.getElementById(id).innerHTML += this.toString('<br />');
	else return this.toString();
}

/*
*	jso7F_Menu class
*/
function jso7F_Menu(){
	// initialize properties
	this.arMnu = new Array();
}

jso7F_Menu.prototype.addMenu = function(label, url, target) {
	var i = this.arMnu.length;
	i==0?i++:null;
	this.arMnu[i] = new jso7F_MenuItem(i, 0, label, url, target);
	return this.arMnu[i];
}

jso7F_Menu.prototype.setMenu = function() {
	// convert arguments to array
	var args = Array.prototype.slice.call(arguments);
	// display selected menu/submenu
	for (var i in this.arMnu){
		this.arMnu[i].displayMenu(args);
	}
	// find the selected MenuItem
	for (var i in this.arMnu){
		var m = this.arMnu[i].findId(args);
		if(m && m.url){
			//getContent(m.url);
			eval(m.url);
		}
	}
}

jso7F_Menu.prototype.toString = function(eol) {
	var d = 'Menu : \n';
	if(this.arMnu.length){
		for (m in this.arMnu) d += eol+'\n'+m+' '+this.arMnu[m].toString(eol);
	}
    return d;
}

jso7F_Menu.prototype.printMenu = function (id) {
	if(document.getElementById(id)) document.getElementById(id).innerHTML += this.toString('<br />');
	else return this.toString();
}
//-->
