YPNestedCats = {

	init : function()
	{
		var uls = $$('ul.nested ul');
	
		uls.each(
		
			function(o)
			{
				// hide the nested UL			
				//o.hide();
				
				var a = $(document.createElement('a'));
				a.addClassName('treeExpand');
				a.title = 'Collapse this level';
				
				var img = $(document.createElement('img'));
				img.src = '/images/icons/collapse.gif';
				
				a.appendChild(img);
				
				o.previous('li').insertBefore(a, o.previous('li').firstChild);
				
				Event.observe(a, 'click', YPNestedCats.toggle);
			}
		);	
	},
	
	toggle : function(e)
	{
		var el = Event.element(e);
		
		if (el.tagName != 'IMG')
		{
			el = el.down('img');
		}
		
		var ul = el.up('li').next('ul');
		ul.toggle();
		
		if (ul.visible())
		{
			el.src = "/images/icons/collapse.gif";
			el.up('a').title = 'Collapse this level';
		}
		else
		{
			el.src = "/images/icons/expand.gif";
			el.up('a').title = 'Expand this level';
		}	
	}

};

Event.observe( window, 'load', YPNestedCats.init );

