/**
* Author: Alexadner Gavazov
* Created date: 2007-10-18
*/

var listMenu = {
	menuElement: '',
	elementsList: [],
	elementsListIncrement: 0,

	init: function(className)
	{
		if($C(className))
		{
			this.elementsList[this.elementsListIncrement] = $C(className);
			this.elementsListIncrement++;

			this.menuElement = $C(className);
			
			this.setActions();
			this.expandActive();
		}
	},

	setActions: function()
	{
		var tags = this.menuElement.getElementsByTagName('SPAN');
		for(var i = 0; i < tags.length; i++)
		{
			tags[i].onclick = function()
			{
				if(this.parentNode.className == 'active')
				{
					this.parentNode.className = '';
					
					if(this.className == 'haschildren') {
						this.getElementsByTagName('a')[0].innerHTML = '<img src="/images/sitemap_expand.gif" border="0" />';
					}
				}
				else
				{
					listMenu.hideAllTags(this.parentNode.parentNode);
					this.parentNode.className = 'active';
					
					if(this.className == 'haschildren') {
						this.getElementsByTagName('a')[0].innerHTML = '<img src="/images/sitemap_collapse.gif" border="0" />';
					}
				}
			}
		}
	},

	hideAllTags: function(element)
	{
		var tags = element.getElementsByTagName('LI');
		for(var i = 0; i < tags.length; i++)
		{
			if(tags[i].className != 'image') /* Fix for site map */
			{
				tags[i].className = '';
				
				var spanElem = tags[i].getElementsByTagName('span');
				
				if(spanElem != null && spanElem.length > 0 && spanElem[0].className == 'haschildren') {
					spanElem[0].getElementsByTagName('a')[0].innerHTML = '<img src="/images/sitemap_expand.gif" border="0" />';
				}
			}
		}
	},

	expandActive: function()
	{
		var tags = this.menuElement.getElementsByTagName('LI');
		for(var i = 0; i < tags.length; i++)
		{
			if(tags[i].className == 'active')
			{
				tags[i].parentNode.parentNode.className = 'active';
			}
		}
	},

	expandElements: function()
	{
		for(var i = 0; i < this.elementsList.length; i++)
		{
			var tags = this.elementsList[i].getElementsByTagName('LI');
			for(var i2 = 0; i2 < tags.length; i2++)
			{
				if(tags[i2].className != 'image') /* Fix for site map */
				{
					tags[i2].className = 'active';
					
					var spanElem = tags[i2].getElementsByTagName('span');
				
					if(spanElem != null && spanElem.length > 0 && spanElem[0].className == 'haschildren') {
						spanElem[0].getElementsByTagName('a')[0].innerHTML = '<img src="/images/sitemap_collapse.gif" border="0" />';
					}
				}
			}
		}
	},

	unExpandElements: function()
	{
		for(var i = 0; i < this.elementsList.length; i++)
		{
			var tags = this.elementsList[i].getElementsByTagName('LI');
			for(var i2 = 0; i2 < tags.length; i2++)
			{
				if(tags[i2].className != 'image') /* Fix for site map */
				{
					tags[i2].className = '';
					
					var spanElem = tags[i2].getElementsByTagName('span');
				
					if(spanElem != null && spanElem.length > 0 && spanElem[0].className == 'haschildren') {
						spanElem[0].getElementsByTagName('a')[0].innerHTML = '<img src="/images/sitemap_expand.gif" border="0" />';
					}
				}
			}
		}
	}
}