function get_screen_dimensions() {

	// Get the viewable width and height of the window
	if (window.innerHeight) {
		var dimensions = new Array(
			window.innerWidth,
			window.innerHeight);
			
	} else {
		
		var dimensions = new Array(
			document.documentElement.clientWidth,
			document.documentElement.clientHeight
		);
	}
	
	return dimensions;
}		

function show_overlay_content(div, screen_width, screen_height) {
	
	div.style.display = 'block';
	
	var scroll_height = document.documentElement.scrollHeight;
	
	var y = Math.floor((screen_height - div.offsetHeight) / 2) + document.documentElement.scrollTop;
	var x = Math.floor((screen_width - div.offsetWidth) / 2);
	
	div.style.top = y + 'px';
	div.style.left = x + 'px';
	
	
}

function hide_overlay(overlay, overlay_content) {
	overlay.style.display = 'none';
	overlay_content.style.display = 'none';
	document.documentElement.style.overflow = 'auto';
}

function show_overlay(overlay, overlay_content) {
	
	var screen_dimensions = get_screen_dimensions();
	
	var doc_height = ((document.height !== undefined) ? document.height : document.body.offsetHeight)+30;
	
	if (screen_dimensions[1] > doc_height) {
		var width = screen_dimensions[0];
		var height = screen_dimensions[1];
	} else {
		
		var width = screen_dimensions[0] + 30;					
		var height = screen_dimensions[1];
	}
	
	overlay.style.width = width + 'px';
	overlay.style.height = height + 'px';
	
	overlay.style.display = 'block';
	
	document.documentElement.style.overflow = 'hidden';
	
	show_overlay_content(overlay_content, width, height);
}
