﻿var urlToLoadOnPopupClose = null;

function openPopup(url, height, newUrl, width) {
	if (document.getElementById) {
		var popupOverlay = document.getElementById('popupOverlay');

		var popupBox = document.getElementById('popupBox');
		var popupBoxContent = document.getElementById('popupBoxContent');
		var popupBoxContentClone = popupBoxContent.cloneNode(true);
		var popupBoxClose = document.getElementById('popupBoxClose');

		popupBoxContentClone.src = url;
		popupBoxContentClone.style.height = height + 'px';
		if (typeof(width) == 'number') {
			popupBox.style.left = '50%';
			popupBox.style.marginLeft = "-" + (width / 2) + 'px';
			popupBox.style.width = width + 'px';
			popupBoxContentClone.style.width = width + 'px';
		}
		
		popupBox.removeChild(popupBoxContent);
		popupBox.appendChild(popupBoxContentClone);

		popupOverlay.onclick = hidePopup;
		popupBoxClose.onclick = hidePopup;

		//var documentBody = document.getElementsByTagName("body").item(0);
		//documentBody.style.overflow = 'hidden';

		showPopup();
		
		if (typeof(newUrl) == 'string') {
			urlToLoadOnPopupClose = newUrl;
		} else {
			urlToLoadOnPopupClose = null;
		}
		
		return false;
	}
}

function showPopup() {
	if (document.getElementById) {
		var popupOverlay = document.getElementById('popupOverlay');
		popupOverlay.style.height = getPageHeight() + 'px';
		popupOverlay.style.display = 'block';
		
		var popupBox = document.getElementById("popupBox");
		popupBox.style.top = (getYScrollOffset() + 100) + 'px';
		popupBox.style.display = 'block';
	}
}

function hidePopup(url) {
	if (document.getElementById) {
		var popupOverlay = document.getElementById('popupOverlay');
		popupOverlay.style.display = 'none';
		
		var popupBox = document.getElementById('popupBox');
		popupBox.style.display = 'none';

		//var documentBody = document.getElementsByTagName("body").item(0);
		//documentBody.style.overflow = 'auto';
	}
	
	if (typeof(url) == 'string') {
		location.href = url;
	}
	
	if (urlToLoadOnPopupClose != null && typeof(urlToLoadOnPopupClose) == 'string') {
		location.href = urlToLoadOnPopupClose;
	}
}

function getXScrollOffset() {
	var offset = getScrollOffset();
	return offset.xOffset;
}

function getYScrollOffset() {
	var offset = getScrollOffset();
	return offset.yOffset;
}

function getScrollOffset() {
	var x, y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	
	return {xOffset:x, yOffset:y};
}

function getPageHeight() {
	var dimensions = getPageDimensions();
	return dimensions.height;
}

function getPageDimensions() {
	var x, y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) // all but Explorer Mac
	{
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else // Explorer Mac;
		 //would also work in Explorer 6 Strict, Mozilla and Safari
	{
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	
	return {width:x, height:y};
}

function toggleElement(id) {
	if (document.getElementById) {
		var block = document.getElementById(id);
		if (block.style.display == 'block') {
			block.style.display = 'none';
		} else {
			block.style.display = 'block';
		}
	}
}

function toggleAlternativeMenu() {
	if (document.getElementById) {
		var block = document.getElementById('alternative');
		var button = document.getElementById('alternativeMenuButton');
		block.style.left = (button.offsetLeft - 179) + 'px';
		toggleElement('alternative');
	}
}