var CategoriesNav = Class.create();

CategoriesNav.prototype = {
	initialize : function(location_id)
	{
		this.location_id = location_id;
	},

	build_menu : function()
	{
		var root = $(this.location_id);
		var elm = root.getElementsByTagName('a');
		for ( var i = 0; i < elm.length; i++ )
		{
			var elm_href = elm[i].getAttribute('href');
			if ( elm_href == 'javascript: void(0);' || elm_href == 'javascript:%20void(0);' )
			{
				var category_id = elm[i].id.replace(/category-link-/, '');
				eval('$(\"category-link-' + category_id + '\").onclick = function(){cat_nav.toggle_menu_item('+category_id+');}');
				if ( this.read_cookie('category-'+category_id+'-siblings-status') == 'show' )
				{
					$('sub-categories-'+category_id).show();
					elm[i].className = 'roll_up';
				}
				else
				{
					$('sub-categories-'+category_id).hide();
					elm[i].className = 'roll_down';
				}
			}
		}
	},

	toggle_menu_item : function(item_id)
	{
		$('sub-categories-'+item_id).toggle();
		$('category-link-'+item_id).className = ($('category-link-'+item_id).className=='roll_up') ? 'roll_down' : 'roll_up';
		var status = ($('sub-categories-'+item_id).style.display=='none') ? 'hide' : 'show';
		this.create_cookie('category-'+item_id+'-siblings-status', status)
	},

	create_cookie : function(name , value , days)
	{
		if (days)
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else
			expires = "";
		document.cookie = name+"="+value+expires+"; path="+escape('/');
	},

	read_cookie : function(name)
	{
		name += "=";
		var ca = document.cookie.split(';');
		for(var i=0; i<ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0)==' ')
				c = c.substring(1,c.length);
			if (c.indexOf(name) == 0)
				return c.substring(name.length,c.length);
		}
		return null;
	}
};
