
function navigation()
{

/* CSS class names */
	var mp='nav';
	var hp='hide';
	var sp='show';
	var pp='parent';
	var pa='active';
	var cu='current';
	
	var d,uls,i;
	if(!document.getElementById && !document.createTextNode){return;}

/* navigation ID */
	d=document.getElementById('nav');

	if (!d){return;}
	add_class(d,mp)
	uls=d.getElementsByTagName('ul');
	for (i=0;i<uls.length;i++)
	{
		if(check_current(uls[i]))
		{
			add_class(uls[i].parentNode.firstChild,pa);
		} else {
			add_class(uls[i],hp);
			add_class(uls[i].parentNode.firstChild,pp);
			uls[i].parentNode.firstChild.onclick=function()
			{
				swap_class(this,pp,pa);
				swap_class(this.parentNode.getElementsByTagName('ul')[0],hp,sp);
				return false;
			}
		}
	}
	function check_current(o){
		if(check(o.parentNode,cu)){return true;}
		for(var i=0;i<o.getElementsByTagName('li').length;i++)
		{
			if(check(o.getElementsByTagName('li')[i],cu)){return true;}
		}
		return false;
	}
	function swap_class(o,c1,c2)
	{
		var cn=o.className
		o.className=!check(o,c1)?cn.replace(c2,c1):cn.replace(c1,c2);
	}
	function add_class(o,c)
	{
		if(!check(o,c)){o.className+=o.className==''?c:' '+c;}
	}
	function check(o,c)
	{
	 	return new RegExp('\\b'+c+'\\b').test(o.className);
	}
}
window.onload=function(){
	navigation();
}
