// Script Dependancies
// popup_image_script.js

// CSS Dependancies
// modal_layer_styles.js

function CreateShadowElement() {
	var shadow;
	
	try {
		shadow = document.createElement('<div id="shadow_layer" class="modal_opaque_layer">');
		
	} catch (e) {
		shadow = document.createElement('div');
		shadow.setAttribute('id', 'shadow_layer');
		shadow.setAttribute('class', 'modal_opaque_layer');
	}
	
	document.body.appendChild(shadow);
	return shadow;
}

function CreateLoadingElement() {
	var message_window, loading;
	
	try {
		message_window = document.createElement('<div id="message_layer" class="modal_loading_layer">');
		loading = document.createElement('<img src="' + dir_nesting + 'httpdocs/images/misc/loading.gif">');
	} catch (e) {
		message_window = document.createElement('div');
		message_window.setAttribute('id', 'message_layer');
		message_window.setAttribute('class', 'modal_loading_layer');
	}
	
	message_window.innerHTML = 'LOADING...';
	document.body.appendChild(message_window);
	return message_window;
}

function CreateMessageElement(message) {
	var message_window, loading;
	
	try {
		message_window = document.createElement('<div id="message_layer" class="modal_message_layer">');
	} catch (e) {
		message_window = document.createElement('div');
		message_window.setAttribute('id', 'message_layer');
		message_window.setAttribute('class', 'modal_message_layer');
	}
	
	message_window.innerHTML = message;
	document.body.appendChild(message_window);
	return message_window;
}

function SetModalLayerPosition() {
	var w = getWindowBoundary();
	
	var shadow = document.getElementById('shadow_layer');
	var additional_height = (navigator.appName == 'Microsoft Internet Explorer') ? 35 : 10;
	shadow.style.left = '0px';
	shadow.style.top = '0px';
	shadow.style.width = w.width + 'px';
	shadow.style.height = (w.height + additional_height) + 'px';
	
	var message = document.getElementById('message_layer');
	message.style.left = parseInt((w.width - message.offsetWidth) / 2) + 'px';
	message.style.top = parseInt((w.height - message.offsetHeight) / 2) + 'px';
}

function ShowModalLayerLoading() {
	var shadow = CreateShadowElement();
	var loading = CreateLoadingElement();
	
	shadow.style.display = "block"; 
    loading.style.display = "block";
	
	SetModalLayerPosition();
	window.onresize = SetModalLayerPosition;
}

function ShowModalLayerMessage(message) {
	var shadow = CreateShadowElement();
	var message_window = CreateMessageElement(message);
	
	window.onresize = SetModalLayerPosition;
	SetModalLayerPosition();
	
	shadow.style.display = "block"; 
    message_window.style.display = "block";
}