var escapeOverlay = {
	fx: function(e) {
		// To make script compatable with both MSIE and Firefox
		var kC  = (window.event) ? event.keyCode : e.keyCode;
		var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE;
		
		// If keypressed is escape and the new entry field is empty
		if(kC==Esc)
			closeDialogue();
	}
}

// Save in cache (to be able to stopObserving() it), see Prototype API docs for more info:
// http://www.prototypejs.org/api/event
escapeOverlay.bfx = escapeOverlay.fx.bindAsEventListener(escapeOverlay);

var popups = new Array();
function loadPopup(divName) {
	popups.push(divName);
	
	showOverlay();
	
	// Show dialogue and focus on newvalue
	$(divName).style.top = getScroll()+5;
	$(divName).show();
	$(divName).focus();
}

function getScroll() {
	var ScrollTop = document.body.scrollTop;
	
	if (ScrollTop == 0) {
	    if (window.pageYOffset)
	        ScrollTop = window.pageYOffset;
	    else
	        ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}
	
	return ScrollTop;
}

function justShowOverlay() {
	$('overlay').style.height = Math.max(document.getElementById('bigtable').clientHeight, 3000);
	$('overlay').style.top = getScroll();
	$('overlay').show();	
}
 
function showOverlay() {
	document.body.style.overflow = 'hidden';
	justShowOverlay();
	
	if(popups.length == 1) {
		Event.observe(document, 'keypress', escapeOverlay.bfx );
	} else {
		updateOverlay();
	}
}

function hideOverlay() {
	if(popups.length == 0) {
		$('overlay').hide();
		document.body.style.overflow = '';
		Event.stopObserving(document, 'keypress', escapeOverlay.bfx );
	} else {
		updateOverlay();
	}
}

function closeDialogue() {
	// Hide dialogue
	if(popups.length > 0) {
		var div = popups.pop();
		if(div == "detailsMain") emptyDetailsDiv();
		$(div).hide();
		
		hideOverlay();
	}
}

function enterKey(event, field) {
	// If the event key pressed was a return (code 13)
	if (event.which == 13 || event.keyCode == 13) {
		
	}
}

function updateOverlay() {
	var baseZ = 1000;
	var zO = baseZ+popups.length-1;
	var zP = baseZ+popups.length;
	document.getElementById('overlay').style.zIndex = ""+zO;
	document.getElementById(popups[popups.length-1]).style.zIndex = ""+zP;
	
	for(var i=0 ; i<popups.length-1 ; i++) {
		//alert(baseZ+i);
		document.getElementById(popups[i]).style.zIndex = ""+(baseZ+i);
	}
}
