

function getCookie(name)
{
	var cookies = document.cookie;
	var start = cookies.indexOf(name + '=');
	if( start < 0 ) return null;
	var len = start + name.length + 1;
	var end = cookies.indexOf(';', len);
	if( end < 0 ) end = cookies.length;
	return unescape(cookies.substring(len, end));
}
function setCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + '=' + escape (value) +
		((expires) ? '; expires=' + ( (expires == 'never') ? 'Thu, 31-Dec-2099 23:59:59 GMT' : expires.toGMTString() ) : '') +
		((path)    ? '; path='    + path    : '') +
		((domain)  ? '; domain='  + domain  : '') +
		((secure)  ? '; secure' : '');
}
function delCookie(name, path, domain)
{
	if( getCookie(name) )
	{
		document.cookie = name + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT' +
			((path)    ? '; path='    + path    : '') +
			((domain)  ? '; domain='  + domain  : '');
	}
}

function menuCat(id, rows)
{
	this.cat_id = id;
	this.cat_rows = rows;
	this.status = 'block';
}

var menuCats = new Array();
menuCats['menuCat_0'] = new menuCat('0', 1);
menuCats['menuCat_1'] = new menuCat('1', 1);
menuCats['menuCat_2'] = new menuCat('2', 1);
menuCats['menuCat_3'] = new menuCat('3', 1);
menuCats['menuCat_4'] = new menuCat('4', 1);
menuCats['menuCat_5'] = new menuCat('5', 1);
menuCats['menuCat_6'] = new menuCat('6', 1);
menuCats['menuCat_7'] = new menuCat('7', 1);
menuCats['menuCat_8'] = new menuCat('8', 1);
menuCats['menuCat_9'] = new menuCat('9', 1);
menuCats['menuCat_10'] = new menuCat('10', 1);
menuCats['menuCat_11'] = new menuCat('11', 1);
menuCats['menuCat_12'] = new menuCat('12', 1);
menuCats['menuCat_13'] = new menuCat('13', 1);
menuCats['menuCat_14'] = new menuCat('14', 1);
menuCats['menuCat_14'] = new menuCat('15', 1);
menuCats['menuCat_14'] = new menuCat('16', 1);
menuCats['menuCat_14'] = new menuCat('17', 1);
menuCats['menuCat_14'] = new menuCat('18', 1);
menuCats['menuCat_14'] = new menuCat('19', 1);
menuCats['menuCat_14'] = new menuCat('20', 1);
menuCats['menuCat_14'] = new menuCat('21', 1);
menuCats['menuCat_14'] = new menuCat('22', 1);
menuCats['menuCat_14'] = new menuCat('23', 1);
menuCats['menuCat_14'] = new menuCat('24', 1);


function getObj(obj)
{
	return ( document.getElementById ? document.getElementById(obj) : ( document.all ? document.all[obj] : null ) );
}

function displayObj(obj, status)
{
	var x = getObj(obj);
	if( x && x.style ) x.style.display = status;
}

var queueInterval = 10;		// milliseconds between queued steps.
var execInterval = 0;
var queuedSteps;
var currentStep;

function queueStep(o, s)
{
	this.obj = o;
	this.status = s;
}
function execQueue()
{
	if( currentStep < queuedSteps.length )
	{
		var obj = queuedSteps[currentStep].obj;
		var status = queuedSteps[currentStep].status;
		displayObj(obj, status);
		if( menuCats[obj] ) menuCats[obj].status = status;
		currentStep++;
		setTimeout("execQueue();", execInterval);
	}
	else
	{
		execInterval = queueInterval;
	}
}
function onMenuCatClick(cat_id)
{
	var currentCat, currentStatus;

	currentCat = 'menuCat_'+cat_id;
	currentStatus = menuCats[currentCat].status;

	queuedSteps = new Array();
	currentStep = 0;

	for( var catName in menuCats )
	{
		if( menuCats[catName].status == 'none' ) continue;

		for( var i=(menuCats[catName].cat_rows-1); i >= 0; i-- )
		{
			queuedSteps[currentStep++] = new queueStep(catName+'_'+i, 'none');
		}
		queuedSteps[currentStep++] = new queueStep(catName, 'none');
	}

	if( currentStatus == 'none' )
	{
		queuedSteps[currentStep++] = new queueStep(currentCat, 'block');
		for( var i=0; i < menuCats[currentCat].cat_rows; i++ )
		{
			queuedSteps[currentStep++] = new queueStep(currentCat+'_'+i, 'block');
		}
		var	expdate = new Date();		// 72 Hours from now
		expdate.setTime(expdate.getTime() + (72 * 60 * 60 * 1000));
		setCookie('phpbb2mysql_menu_cat_id', cat_id, expdate,
				('/'   == '') ? null : '/',
				('' == '') ? null : '',
				('0' == '0') ? false : true);
	}
	else
	{
		delCookie('phpbb2mysql_menu_cat_id',
				('/'   == '') ? null : '/',
				('' == '') ? null : '');
	}

	currentStep = 0;
	setTimeout("execQueue();", execInterval);
}

function doOnLoadMenuACP()
{
	var cat_id;

	if( getObj('menuCat_0') )
	{
		cat_id = getCookie('phpbb2mysql_menu_cat_id');
		if( !menuCats['menuCat_'+cat_id] )
		{
			cat_id = 0;
		}
		else
		{
			menuCats['menuCat_'+cat_id].status = 'none';
		}
		onMenuCatClick(cat_id);
	}
	if( oldOnLoadMenuACP )
	{
		oldOnLoadMenuACP();
	}
}


var	oldOnLoadMenuACP = window.onload;
window.onload = doOnLoadMenuACP;

// end
