// JavaScript Document
/*
Requires jquery
*/
var popUpX = 0;
var popUpY = 0;
var shiftKeyIsDown = false;
$(document).ready(function(){
	
	// save the mouse position...
	$(document).mousemove(function(e){
		popUpX = e.pageX;
		popUpY = e.pageY;
		viewPort = e.viewPort;
	});
	
	// trigger mouseover events...
	$('.mouseOverPopUpItem').hover(
		function(){
			processMouseOverPopUpOver( this );
		},
		function(){
			processMouseOverPopUpOut( this );
		}
	);
	
	$('.mouseOverPopUpItem').attr('title', 'Hold down shift key to lock help window open.');
	
	$(document).keydown(function(event){
		
		shiftKeyIsDown = false;
		if(event.keyCode == '16'){
			shiftKeyIsDown = true;
		}
		
		// close pop-ups if escape key pressed...
		if(event.keyCode == '27'){
			// close all open popups...
			$('.mouseOverPopUpWindow').each(function(){
				closePopUp(this);
			});
		}
		
	});
	
	$(document).keyup(function(){
		shiftKeyIsDown = false;
	});
	
	
});

function processMouseOverPopUpOver( control ){
	var windowId = $(control).attr('id');
	var popUpWindow = $(".mouseOverPopUpWindow[id='" + windowId + "']");
	var windowWidth = $(popUpWindow).attr('width');
	var leftPos = 0;
	var topPos = 0;
	
	// close all open popups...
	$('.mouseOverPopUpWindow').each(function(){
		closePopUp(this);
	});
		
	if(windowWidth != undefined){
		$(popUpWindow).css('width', windowWidth);
	}
	windowWidth = $(popUpWindow).width();
	
	// add the close link...
	$(popUpWindow).prepend('<a href="javascript:" class="mouseOverPopUpCloseLink" title="Close">X</a>');
	$('.mouseOverPopUpCloseLink').click(function(){
		closePopUp($(this).parent());
	});
	
	var screenCenter = $(document).width() / 2;

	topPos = popUpY;
	if(popUpX > screenCenter){
		leftPos = popUpX - (windowWidth + 10);	
	}
	else {
		leftPos = popUpX + 10;
		topPos = topPos + 35;  // to clear tooltip message.
	}
	
	$(popUpWindow).css('top', topPos);
	$(popUpWindow).css('left', leftPos);
	$(popUpWindow).css('display', 'inline');
}

function closePopUp( control ){
	$(control).children('.mouseOverPopUpCloseLink').remove();
	$(control).css('display', 'none');
}

function processMouseOverPopUpOut( control ){
	if(shiftKeyIsDown){return}
	var windowId = $(control).attr('id');
	var popUpWindow = $(".mouseOverPopUpWindow[id='" + windowId + "']");
	$(popUpWindow).css('display', 'none');
}

