var step = 10;
var interval = 1;

function toggleSubItem(id)
{
	var item = document.getElementById('nav_'+id);
	var text = document.getElementById('nav_text_'+id);
	var sign = document.getElementById('nav_sign_'+id);
	var subnav = document.getElementById('subnavholder_'+id);
	
	if ( subnav==null | item==null || text==null || sign==null )
		return;
		
	if ( subnav.style.display=='block' )
	{
		item.className = 'navitem_c';
		subnav.style.display='none';
		sign.innerHTML = '+';
		setCookie('XmenuCookie_' + id, 0, 14);
	}
	else
	{
		item.className = 'navitem_o';
		subnav.style.display='block';
		sign.innerHTML = '-';
		setCookie('XmenuCookie_' + id, 1, 14);
	}
}

function toggleClass(el)
{
	if ( el==null )
		return;
		
	if ( el.old_class == null )
		el.old_class = 'subnavitem_h';
		
	var currClass = el.className;
	el.className = el.old_class;
	el.old_class = currClass;
}

function toggleOptionClass(el)
{
	if ( el==null )
		return;
		
	if ( el.old_class == null )
		el.old_class = 'option_h';
		
	var currClass = el.className;
	el.className = el.old_class;
	el.old_class = currClass;
}

function changeClass(id, currClass)
{
	el = document.getElementById(id);
	
	if ( el!=null )
		el.className = currClass;
}

function showMenu(id, caller)
{
	if ( menus[id]==null )
		return null;
		
	el = document.getElementById('subcontainer_'+menus[id][0]);
	
	if ( el==null )
		return;
		
	if ( el.hideTimer!=null )
		clearTimeout(el.hideTimer);
	if ( el.showTimer!=null )
		clearTimeout(el.showTimer);
	
	var left = el.style.left;
	var start = parseInt(left.substr(0, left.indexOf('px')));
	end = menus[id][2];
	
	start = start + step;
	if ( start>end )
		start = end;
	
	if ( caller!=el )
	{
		eTop = caller.offsetParent.offsetTop + caller.offsetTop;
		el.style.top = (eTop + menus[id][1]) + 'px';
	}
	el.style.left = start + 'px';
	el.style.display = 'block';
	
	if ( start!=end )
		el.showTimer = setTimeout("move_menu_right(" + id + ")",interval);
}

function move_menu_right(id)
{
	if ( menus[id]==null )
		return null;
		
	el = document.getElementById('subcontainer_'+menus[id][0]);
	
	if ( el==null )
		return;
	
	var left = el.style.left;
	var start = parseInt(left.substr(0, left.indexOf('px')));
	end = menus[id][2];
	
	start = start + step;
	if ( start>end )
		start = end;
		
	el.style.left=start + 'px';
	
	if ( start!=end )
		el.showTimer = setTimeout("move_menu_right(" + id + ")",interval);
}

function move_menu_left(id)
{
	if ( menus[id]==null )
		return null;
		
	el = document.getElementById('subcontainer_'+menus[id][0]);
	
	if ( el==null )
		return;
	
	var left = el.style.left;
	var start = parseInt(left.substr(0, left.indexOf('px')));
	end = menus[id][2]-150;
	
	start = start - step;
	if ( end>start || end==start )
	{
		start = end;
		el.style.display='none';
	}
		
	el.style.left=start + 'px';
	
	if ( start!=end )
		el.hideTimer = setTimeout("move_menu_left(" + id + ")",interval);
}

function hideMenu(id)
{
	if ( menus[id]==null )
		return null;
		
	el = document.getElementById('subcontainer_'+menus[id][0]);
	
	if ( el==null )
		return;
		
	if ( el.hideTimer!=null )
		clearTimeout(el.hideTimer);
	if ( el.showTimer!=null )
		clearTimeout(el.showTimer);
		
	el.hideTimer = setTimeout("move_menu_left(" + id + ")",250);
}

function initMenu()
{
	var x;
	for(x in menus)
	{
		var el = document.getElementById('subcontainer_'+menus[x][0]);
		
		if ( el==null )
			continue;
		
		el.style.display='none';
		el.style.position='absolute';
		el.style.left=(menus[x][2]-150) + 'px';
		el.style.cursor='default';
		el.style.zIndex=90;
		el.menu_id = x;

		el.onmouseover = function()
		{
			showMenu(this.menu_id, this);
			toggleClass(document.getElementById('subnav_'+this.menu_id));
		}
		el.onmouseout = function()
		{
			hideMenu(this.menu_id);
			toggleClass(document.getElementById('subnav_'+this.menu_id));
		}
	}
}

function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate( exdate.getDate() + expiredays );
	document.cookie=c_name + "=" +escape(value) + ((expiredays==null) ? "" : ";expires="+exdate);
}


function getCookie(c_name)
{
	if (document.cookie.length>0)
	{
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start = c_start + c_name.length+1 ;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end==-1) 
				c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return null;
}

function checkCookies()
{
	var navbar = document.getElementById('navbar');
	
	if ( navbar==null )
		return;
		
	for (y in navbar.childNodes )
	{
		var itm = navbar.childNodes[y];
		if ( itm.className=='navitem_c' )
		{
			var id = itm.id.substr(itm.id.indexOf('_')+1);
			
			opened = getCookie('XmenuCookie_'+id);
			if (opened!=null && opened==1)
				toggleSubItem(id);
		}
		itm = null;
	}
}

