menu_rate= 30;
menu_dist= 30;
menu_wdt= 90;

var menu_pos= 0;
var menu_dir= 0;
var menu_len= 0;
var menu_lock= false;
var menu_req= false;
var menu_elem= false;

function menu_roll(){
	if(!menu_elem && menu_req){
		menu_elem= menu_req;
		menu_req= false;
		
		if(anchors= menu_elem.getElementsByTagName("a")){
			menu_len= menu_wdt*anchors.length;
			menu_elem.style.visibility= "visible";
			menu_pos= 0;
			menu_dir= menu_dist;
		}
		else menu_len= 0;
	}
	else if(menu_elem == menu_req){
		if(menu_dir < 0) menu_dir= menu_dist;
		menu_req= false;
	}

	if(menu_elem){
		if(menu_dir > 0 && menu_pos >= menu_len){
			menu_elem.style.width= (menu_pos= menu_len)+"px";
			menu_dir= 0;
			if(!menu_req) menu_lock= window.clearInterval(menu_lock);
		}
		else if(menu_dir < 0 && menu_pos <= 0){
			menu_elem.style.width= "0px";
			menu_elem.style.visibility= "hidden";
			menu_pos= 0;
			menu_elem= false;
			menu_dir= 0;
			if(!menu_req) menu_lock= window.clearInterval(menu_lock);
		}
		else if(menu_dir)
			menu_elem.style.width= (menu_pos+= menu_dir)+"px";
	}
}

function menu(){
	if(arguments[0]){
		menu_req= arguments[0];
		if(!menu_lock) menu_lock= window.setInterval("menu_roll()", menu_rate);
	}
	else if(menu_elem){
		menu_dir= -menu_dist;
		if(!menu_lock) menu_lock= window.setInterval("menu_roll()", menu_rate);
	}
}

