/*=============================================================================

			 	 TITLE:		NetMediaOne - NPP Event List
		  MODIFIED:		2009.01.24
		 AUTHOR(S): 	Graham Wheeler - NetMediaOne - www.netmediaone.com
		  REQUIRES:		jQuery 1.3

=============================================================================*/

var NPP = window.NPP || {};
	
NPP.EventManager = {

	init: function() {
		
		$("body").append('<div id="eventMenu" style="display: none;"><div class="Overlay"></div><div class="Content"></div></div>');
		NPP.EventManager.menu = $("#eventMenu");
		
		$("table.EventList > tbody > tr").hoverIntent( function() { NPP.EventManager.showMenu( $(this) ); }, function() {} );
		
	},
	
	showMenu: function($tr) {

		var pTop = $tr.offset().top;
		var pLeft = $tr.offset().left;
		var trH = $tr.height();
		var trW = $tr.width();
		var m = NPP.EventManager.menu;
		var rowid = $tr.attr("id").replace("event_", "");
		var overlay = m.find(".Overlay");
		var content = m.find(".Content");
		m.stop(true, true);
		m.height( trH ).width( trW ).css( { top: pTop + "px", left: pLeft + "px" } );
		overlay.height( trH ).width( trW ).css( { top: pTop + "px", left: pLeft + "px" } );
		content.height( trH ).width( trW ).addClass("Loading").html('').load( "?action=GetEventOptionsMenu&id=" + rowid, function() {
			$(document).trigger("eventmenu.loaded");
		} );
		m.fadeIn(300);
		
	},
	
	checkBlur: function() {

		clearTimeout( NPP.EventManager.timer );
		
		if ( NMO.pointerWithin(NPP.EventManager.menu) ) {

			NPP.EventManager.timer = setTimeout( function() { NPP.EventManager.checkBlur(); }, 100 );
			
		} else {
			
			NPP.EventManager.hideMenu();
			
		}		
		
	},
	
	hideMenu: function() {

		clearTimeout( NPP.EventManager.timer );
		NPP.EventManager.menu.fadeOut(500);
		
	}

};

$(document).bind( "eventmenu.loaded", function() {
	$("#eventMenu .Content").removeClass("Loading");
	NPP.EventManager.timer = setTimeout( function() { NPP.EventManager.checkBlur(); }, 100 );
	NMO.PageEnhancements.apply( [ "AjaxifyLinks", "FaceBox" ], $("#eventMenu .Content").get(0) );
} );

$( function() { NPP.EventManager.init(); } );
