jQuery.fn.menu=function()
{
	this.each(function(index,frame)
	{
		var menu = $(frame);
		$(this).bar({widget:this,view:this.id});
		var tabs = menu.is('.tabs');
		var selectable = menu.is('.selectable');
		var selector = tabs ?'li:not(.off)>a':'li:not(.off)>a:not([href])';
		if (menu.is('.breadcrumbs')) menu.delegate('.separator','mousedown',function(event){return ajax.callFwd('view-alternative',{view:frame.id,item:getIndex(event.target)});});
		$('li.submenu',frame).hover(MenuItem.onItemOver,MenuItem.onItemOut);
		$(selector ,menu.find('ul').get(0)).each(
		function(menuIndex,menuItem){
			if ($(menuItem).hasClass('.draggable')) $(menuItem).draggable();
			var callback = function (){
				$(".selected",menu.find('.tab-menu')).removeClass("selected");
				$(menuItem.parentNode).addClass("selected");
				return true;
				};
			$(menuItem).bind('mousedown', 
					function(event){return (frame['cashed'+menuIndex])?callback():ajax.callFwd('select-menu',{view:frame.id,item:menuIndex},callback);
				});
		});
	});
};


var MenuItem=
{
	onItemOver:function (event)
	{
		var menu = $(this).find('div.menu');
		if (menu.css('position')!='absolute') 
		{
			var p = $(this).position();
			menu.css({position:'absolute',top:p.top+$(this).height(),left:p.left,width:this.clientWidth+2,opacity:.9});
		}
		$(this).find('div.menu').fadeIn(300);
	},
	onItemOut:function (){
		$(this).find('div.menu').fadeOut(300);}
};
