
	var M=Array();
	M['time']=30;
	M['all']=Array();
	M['all_actual']=0;
	M['all_mode']='block';
	M['pos']=0;

	function Menu(idm)
	{
		GO('ma-' + idm).blur();

		if(M['run'])
		{
			if(idm != M['idm'])
			{
				M['next']=idm;
			}
			return	;
		}

		M['run']=true;

		var elem=GO('mb-' + idm);
		M['idm']=idm;
		M['list']=elem.childNodes;

		if(M['run_all'])
		{
			M['mode']=M['all_mode'];

			if(M['mode'] == 'block')
			{
				elem.style.display='block';
				MenuChange(0);
			}
			else
			{
				MenuChange(M['list'].length - 1);
			}
		}
		else
		{
			if(elem.style.display != 'block')
			{
				M['mode']='block';
				elem.style.display='block';
				MenuChange(0);
			}
			else
			{
				M['mode']='none';
				MenuChange(M['list'].length - 1);
			}
		}
	}



	function MenuChange(pos)
	{
		var i, ex;

		if(M['mode'] == 'block')
		{
			for(i=pos; i<M['list'].length; i++)
			{
				if((M['list'][i].nodeName == 'li') || (M['list'][i].nodeName == 'LI') || (M['list'][i].nodeName == 'ul') || (M['list'][i].nodeName == 'UL'))
				{
					if(M['list'][i].id.indexOf('mm-') != -1)
					{
						CCS(M['list'][i].id, 'display', 'block');

						if(M['run_all'])
						{
							ex=M['list'][i].id.split('-');
							if(GO('mb-' + ex[1]) && (GO('mb-' + ex[1]).style.display != 'block'))
							{
								if(++i < M['list'].length)
								{
									M['temp_mode']=M['mode'];
									M['temp_list']=M['list'];
									M['temp_pos']=i;
									M['temp_idm']=M['idm'];
								}
								M['run']=false;
								Menu(ex[1]);
								return;
							}
						}

						if(++i < M['list'].length)
						{
							setTimeout('MenuChange(' + i + ');', M['time']);
							return;
						}
					}
				}
			}
		}
		else
		{
			for(i=pos; i>=0; i--)
			{
				if((M['list'][i].nodeName == 'li') || (M['list'][i].nodeName == 'LI') || (M['list'][i].nodeName == 'ul') || (M['list'][i].nodeName == 'UL'))
				{
					if(M['list'][i].id.indexOf('mm-') != -1)
					{
						ex=M['list'][i].id.split('-');
						if(GO('mb-' + ex[1]) && (GO('mb-' + ex[1]).style.display == 'block'))
						{
							if(--i < M['list'].length)
							{
								M['temp_mode']=M['mode'];
								M['temp_list']=M['list'];
								M['temp_pos']=i;
								M['temp_id']=M['list'][++i].id;
								M['temp_idm']=M['idm'];
							}
							M['run']=false;
							Menu(ex[1]);
							return;
						}

						CCS(M['list'][i].id, 'display', 'none');

						if(--i > 0)
						{
							setTimeout('MenuChange(' + i + ');', M['time']);
							return;
						}
					}
				}
			}


			if(M['run_all'])
			{
				if(GO('mb-' + M['idm']).style.display == 'none')
				{
					CCS('mb-' + M['all_id'], 'display', 'none');
				}
				else
				{
					CCS('mb-' + M['idm'], 'display', 'none');
				}
			}
			else
			{
				CCS('mb-' + M['idm'], 'display', 'none');
			}
		}


		if(M['temp_list'])
		{
			M['list']=M['temp_list'];
			M['mode']=M['temp_mode'];
			M['idm']=M['temp_idm'];

			if(M['mode'] == 'block')
			{
				M['pos']=M['temp_pos'] + 1;
			}
			else
			{
				M['pos']=M['temp_pos'] - 1;
				if(M['temp_id'])
				{
					CCS(M['temp_id'], 'display', 'none');
				}
			}

			M['temp_idm']=false;
			M['temp_mode']=false;
			M['temp_list']=false;
			M['temp_pos']=false;
			M['temp_id']=false;

			setTimeout('MenuChange(' + M['pos'] + ');', M['time']);
			return;
		}

		if(M['run_all'])
		{
			MenuEnd();
		}
		else
		{
			setTimeout('MenuEnd();', 350);
		}

	}



	function MenuEnd()
	{
		M['run']=false;

		if(M['next'])
		{
			var mid=M['next'];
			M['next']=false;
			Menu(mid);
		}
	}



	function MenuAll()
	{
		var elem, i, e=0, ex;

		if(M['run_all']) return;

		M['run_all']=true;

		elem=GO('mm-a');

		for(i=0; i<elem.childNodes.length; i++)
		{
			if((elem.childNodes[i].nodeName == 'li') || (elem.childNodes[i].nodeName == 'LI'))
			{
				if(elem.childNodes[i].id.indexOf('mm-') != -1)
				{
					ex=elem.childNodes[i].id.split('-');
					M['all'][e++]=ex[1];
				}
			}
		}

		MenuAllRun();
	}



	function MenuAllRun()
	{
		if(M['all_actual'] >= M['all'].length)
		{
			M['all_actual']=0;
			M['all']=Array();
			M['run_all']=false;
			M['all_mode']=(M['all_mode'] == 'block') ? 'none' : 'block';

			return;
		}

		if(!M['run'])
		{
			if(M['all_actual'] < M['all'].length)
			{
				M['all_id']=M['all'][M['all_actual']];
				Menu(M['all'][M['all_actual']++]);
			}
		}

		setTimeout('MenuAllRun();', 100);
	}
