(function($)
{
	$.popupMenu =function(){}
	$.extend(
		$.popupMenu, 
		{
			current:null,
			hittest:false,
			show:function(btn,popup)
			{
				$.popupMenu.hide();
				
				var _btn=$(btn);
				var _popup=$(popup);
				var _offset =  _btn.offset();
				var dock= _btn.attr('dock');
				var w=_popup.outerWidth();
				var x = _offset.left- ((w-_btn.outerWidth())/2);
				var y  = _offset.top+_btn.outerHeight();
				if(dock=='right')
				{
					x = _offset.left - (w-_btn.outerWidth());
				}
				_popup.css({"left": x,"top": y});	
			
				_btn.addClass('current');
				$.popupMenu.current = [_btn,_popup];
				_popup.show();
				
			},
			hide:function()
			{
				if($.popupMenu.current)
				{
					$.popupMenu.current[0].removeClass('current');
					$.popupMenu.current[1].hide();
				}
				$.popupMenu.current=null;
			}
		}
	);
	
	$.fn.bindPopup=function()
	{
		this.each(function()
		{
			var _this=$(this);
			var btn= this;
			var popup_id= btn.getAttribute('popup');
			if(popup_id){
				var popup = document.getElementById(popup_id);
				btn.popup = popup;
				popup.style.display='none';
				btn.onclick = function(){
					var href=btn.getAttribute('href');
					if(href=='#' || href=='')
						return false;
				}
				popup.onmouseover=function()
				{
					$.popupMenu.hittest=true;
				}
				btn.onmouseout = popup.onmouseout=function()
				{
					$.popupMenu.hittest=false;
				}
				_this.mouseover(function()
				{
					$.popupMenu.hittest=true;
					$.popupMenu.show(btn, this.popup);
		
				});
			}
		});
	}

})(jQuery);
