function expand(menu)
{
	var id=menu;
	if($(id).hasClass('open'))
	{
		$(id).removeClass(); $(id).addClass('close');
		$(id).children('ul').eq(0).hide();
	}
	else if ($(id).hasClass('close'))
	{
		$(id).removeClass(); $(id).addClass('open');
		$(id).children('ul').eq(0).show();
	}
	else if($(id).hasClass('openLevel2'))
	{
		$(id).removeClass(); $(id).addClass('closeLevel2');
		$(id).children('ul').eq(0).hide();
	}
	else if($(id).hasClass('closeLevel2'))
	{
		$(id).removeClass(); $(id).addClass('openLevel2');
		$(id).children('ul').eq(0).show();
	}
}

function selectLeftMenu(menu)
{
	var id='#'+menu;
	if($(id).length>0)
	{
		if($(id).hasClass('alone')) {$(id).removeClass(); $(id).addClass('aloneActive');}
		else if($(id).hasClass('simple')) {$(id).removeClass(); $(id).addClass('simpleActive');}
		else
		{
			if($(id).hasClass('close'))
			{
				$(id).removeClass(); $(id).addClass('open');
				$(id+' ul:eq(0)').show();
			}
			else if($(id).hasClass('closeLevel2'))
			{
				$(id).removeClass(); $(id).addClass('openLevel2');
				$(id+' ul:eq(0)').show();
				expand($(id).parents().eq(1));
			}
			else if($(id).hasClass('simpleLevel2'))
			{
				$(id).removeClass(); $(id).addClass('simpleLevel2Active');
				expand($(id).parents().eq(1));
			}
			else if($(id).hasClass('simpleLevel3'))
			{
				$(id).removeClass(); $(id).addClass('simpleLevel3Active');
				expand($(id).parents().eq(1));
				expand($(id).parents().eq(3));
			}
		}
	}
}


/* ----- HTML Select ----- */

function resetAllSelects()
{
	uls=document.getElementsByTagName("ul");
	for(i=0;i<uls.length;i++)
	{
		if(uls[i].className=="HTMLoptions" && uls[i].style.display!="none")
		{
			if(uls[i].parentNode.className=="HTMLselectOpened")
			{
				uls[i].parentNode.className="HTMLselect"
			}
			uls[i].style.display="none";
		}
	}
}

function scrollToLetter(letter)
{
	if(document.getElementsByTagName("body")[0].innerHTML.indexOf('class="HTMLselectOpened"')>-1)
	{
		var found=false;
		var lis=new Array();
		uls=document.getElementsByTagName("ul");
		for(i=0;i<uls.length;i++)
		{
			if(uls[i].className=="HTMLoptions" && uls[i].style.display!="none")
			{
				if(uls[i].parentNode.className=="HTMLselectOpened")
				{
					lis=uls[i].getElementsByTagName("li");
					break;
				}
			}
		}
		for(j=0;j<lis.length;j++)
		{
			if(found==false)
			{
				if(lis[j].getElementsByTagName("a").length>0)
				{
					liNodes=lis[j].getElementsByTagName("a");
					
					if(liNodes[0].innerHTML.indexOf(letter)==0)
					{
						lis[j].scrollIntoView(true);
						found=true;
					}
				}
				else if(lis[j].innerHTML.indexOf(letter)==0)
				{
					uls[i].parentNode.scrollTo(lis[j]);
					found=true;
				}
			}
		}
	}
}

function expandSelect(HTMLselect)
{
	
	if(HTMLselect.className!="HTMLselectOpened")
	{
		resetAllSelects();
	}
	Hselect=HTMLselect;
	Hnodes=Hselect.childNodes;
	if(Hselect.className=="HTMLselect")
	{
		Hselect.className="HTMLselectOpened";
		for(i=0;i<Hnodes.length;i++)
		{
			if(Hnodes[i].className=="HTMLoptions")
			{
				Hnodes[i].style.display="block";
				Hnodes[i].style.height="100px";
				Hnodes[i].style.overflow="auto";
			}
		}
	}
	else
	{
		Hselect.className="HTMLselect";
		for(i=0;i<Hnodes.length;i++)
		{
			if(Hnodes[i].className=="HTMLoptions")
			{
				Hnodes[i].style.display="none";
			}
		}
	}
}

function selectOption(option)
{
	Hselect=option.parentNode.parentNode;
	Hnodes=Hselect.childNodes;
	for(i=0;i<Hnodes.length;i++)
	{
		if(Hnodes[i].className=="HTMLselected")
		{
			Hnodes[i].innerHTML=option.innerHTML;
			expandSelect(Hselect);
		}
	}
}

function showDropdown(drop)
{
	dropdown=document.getElementById(drop);
	Hselect=dropdown.parentNode;
	
	dd=document.createElement("div");
	dd.innerHTML=dropdown.innerHTML;
	dd.className="HTMLselect";
	dd.style.width=dropdown.style.width;
	dd.id=dropdown.id;
	
	Hnodes=Hselect.childNodes;
	for(i=0;i<Hnodes.length;i++)
	{
		if(Hnodes[i].style)
		{
			Hnodes[i].style.display="none";
		}
	}
	
	Hselect.appendChild(dd);
	Hselect.removeChild(dropdown);
}

/* ----- End HTML Select ----- */

/* ----- When a key is pressed ----- */

function onKeyPress(event)
{
var keynum=event.keyCode;
keychar = String.fromCharCode(keynum);
scrollToLetter(keychar);
}
