MOB.treeview = function(id){
	this.ID = id;
	this.INCLUDE_PATH = '/assets/scripts/mob/treeview/';	
	this.ICON_PATH = this.INCLUDE_PATH+'images/';	
	this.NODES = [];
	this.createFromList(this.ID);	
}
MOB.treeview.prototype.createFromList = function(id)
{
	if(this.CONTAINER = document.getElementById(this.ID))
	{
		var i;
		var childNodes = this.CONTAINER.getElementsByTagName('UL');
		for(var i=0;i<childNodes.length;i++)
		{
			if(childNodes[i].parentNode.parentNode.nodeName=='UL')
			{
				childNodes[i].style.display = 'none';
			}
			var lis = childNodes[i].childNodes;
			for(var j=0;j<lis.length;j++)
			{
				if(lis[j].nodeName=='LI')
				{
					this.NODES[this.NODES.length] = new MOB.treeviewNode(lis[j],this.ICON_PATH);
				}
			}
		}
	}
}
MOB.treeviewNode = function(el,path)
{
	this.EL = null;
	this.UL = null;
	this.PATH = path;
	this.init(el);
}
MOB.treeviewNode.prototype.init = function(el){
	this.EL = el;
	this.EL.NODE = this;
	var childNodes = this.EL.childNodes;
	for(var i=0;i<childNodes.length;i++)
	{
		if(childNodes[i].nodeName=='UL')
		{
			this.UL = childNodes[i];
			this.UL.START_DISPLAY = this.UL.style.display;
			this.EL.START_CLASS = this.EL.className;
			//this.EL.style.marginLeft = '10px';
			this.IMG = new Image();
			this.IMG.NODE = this;
			this.IMG.src = this.PATH+'plus.gif';
			if(!document.all)
			{
				this.IMG.style.position = 'absolute';
			}
			//this.IMG.style.marginTop = '0px';
			this.IMG.style.marginLeft = '-32px';			
			this.IMG.onclick = function()
			{
				this.NODE.toggle();
			}
			this.EL.insertBefore(this.IMG,this.EL.firstChild);		
			break;
		}
	}
}
MOB.treeviewNode.prototype.toggle = function(){
	if(this.UL!=null)
	{
		switch(this.UL.style.display)
		{
			case 'none':
			this.UL.style.display = this.UL.START_DISPLAY;
			this.EL.className = this.EL.START_CLASS+'_open';
			this.IMG.src = this.PATH+'minus.gif';
			break;

			default:
			this.UL.style.display = 'none';
			this.EL.className = this.EL.START_CLASS;
			this.IMG.src = this.PATH+'plus.gif';
			break;
		}
	}
}