function showLayer(layerElement)
{
	var tohide = document.getElementsByTagName('select');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'hidden';
	var tohide = document.getElementsByTagName('input');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'hidden';
	var tohide = document.getElementsByTagName('textarea');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'hidden';
	var tohide = document.getElementsByTagName('object');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'hidden';
	window._scrollPositionV = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
	window._scrollPositionH = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
	resizeLayer(layerElement);
	document.documentElement.scrollTop = window._scrollPositionV;
	document.documentElement.scrollLeft = window._scrollPositionH;
	window._layer = layerElement;
	window.onscroll = function () {
		window._scrollPositionV = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		window._scrollPositionH = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
		/*if (window._centered)
			showElementCenter(window._centered);*/
	}
	window.onresize = function () {
		window._scrollPositionV = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		window._scrollPositionH = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
		/*if (window._layer)
			resizeLayer(window._layer);
		if (window._centered)
			showElementCenter(window._centered);*/
	};
	
	document.body.style.overflow = 'hidden';
}

function resizeLayer(layerElement)
{
	var docHeight = document.documentElement.scrollHeight;
	var docWidth = document.documentElement.scrollWidth;
	var bodyHeight = document.body.scrollHeight;
	var bodyWidth = document.body.scrollWidth;
	layerElement.style.visibility = 'visible';
	layerElement.style.width = Math.max(document.viewport.getWidth(), Math.max(docWidth, bodyWidth)) + 'px';
	layerElement.style.height = Math.max(document.viewport.getHeight(), Math.max(docHeight, bodyHeight)) + 'px';
	layerElement.style.display = 'block';
	document.className="onbody";
}

function hideLayer(layerElement)
{
	var tohide = document.getElementsByTagName('select');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'visible';
	var tohide = document.getElementsByTagName('input');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'visible';
	var tohide = document.getElementsByTagName('textarea');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'visible';
	var tohide = document.getElementsByTagName('object');
	for (i = 0; i < tohide.length; i++)
		tohide[i].style.visibility = 'visible';
	if (window._centered)
		$(window._centered).hide();
	$(layerElement).hide();
	window._layer = null;
	window._centered = null;
	window._scrollPositionV = null;
	window._scrollPositionH = null;
	window.onresize = function () {};
	window.onscroll = function () {};
}

function showElementCenter(element)
{
	if (window._centered)
		$(window._centered).hide();
	element.style.position = 'absolute';
	element.style.display = 'block';
	element.style.left = (window._scrollPositionH?window._scrollPositionH:0) + (document.viewport.getWidth() - element.getWidth()) / 2 + 'px';
	element.style.top = (window._scrollPositionV?window._scrollPositionV:0) + (document.viewport.getHeight() - element.getHeight()) / 2 + 'px';
	element.style.visibility = 'visible';
	window._centered = element;
}

function loadImage(imageElement, imageURL)
{
	imageElement.src = ' ';
	imageElement.onload = function() {
		showElementCenter(this);
		this.onload = function() {};
	}
	imageElement.src = imageURL;
	
}

function showLayerWithImage(layerElement, imageElement, imageURL)
{
	showLayer(layerElement);
	loadImage(imageElement, imageURL);
}

function loadContent(layerElement, containerElement, loaderImage, contentURL)
{
	showLayerWithImage(layerElement, loaderImage, '../img/loading.gif');
	var request = new Ajax.Request(contentURL, {
		method: 'get',
		onSuccess: function(transport) {
			var containerID = transport.request.container.id;
			transport.request.container.insert({after: transport.responseText});
			var tempContainer = transport.request.container.next();
			transport.request.container.remove();
			tempContainer.id = transport.request.container.id;
			showElementCenter(tempContainer);
		}
	});
	request.loader = loaderImage;
	request.container = containerElement;
}

function sendForm(layerElement, containerElement, formElement, loaderImage, actionURL)
{
	formElement.action = actionURL;
	showLayerWithImage(layerElement, loaderImage, '../img/loading.gif');
	var request = $(formElement).request({
		method: 'post',
		onSuccess: function(transport) {
			var containerID = transport.request.container.id;
			transport.request.container.insert({after: transport.responseText});
			var tempContainer = transport.request.container.next();
			transport.request.container.remove();
			tempContainer.id = transport.request.container.id;
			showElementCenter(tempContainer);
		}
	});
	request.loader = loaderImage;
	request.container = containerElement;
}

