function showInfoBox(page, width, position, posElement) {
	closeInfoBox();
	
	var infoBox;
	var shadow;
	var wrapper = document.getElementById('wrapper');
	
	if (position=='relative' && !posElement) {
		position = 'center';
	}
	
	if (!width) {
		width = 674;
	}
	
	if (page != 'langSelect') {
		infoBox = document.getElementById('infoBox');
		shadow = document.getElementById('infoBoxShadow');
		infoBox.style.top = getRealTop(posElement) + jQuery(posElement).outerHeight() + 10 + "px";
		shadow.style.top = getRealTop(posElement) + jQuery(posElement).outerHeight() + 15 + "px";
		//setCurrentPage(page);	
	} else {
		infoBox = document.getElementById('langSelectBox');
		shadow = document.getElementById('langSelectBoxShadow');
		
		position = 'center';
		width = 510;
		
		infoBox.style.top = getRealTop(document.getElementById('footer')) - 220 + "px";
		infoBox.style.height = "200px";
		//infoBox.style.left = getRealLeft(document.getElementById('body')) + (document.getElementById('body').offsetWidth/2) - 250 + "px";
		shadow.style.top = infoBox.style.top;
		//shadow.style.left = infoBox.style.left;
	}
	
	setupOverlay();
	
	switch (position) {
		case 'relative':
			var left = getRealLeft(posElement) - getRealLeft(wrapper);
			if (left + width > wrapper.offsetWidth) {
				left = (wrapper.offsetWidth - width);
			}
			infoBox.style.marginLeft = left+"px";
			break;
		case 'left':
			infoBox.style.marginLeft = "-20px";
			break;
		case 'center':
			infoBox.style.marginLeft = (wrapper.offsetWidth/2) - (width/2) + "px";
			break;
		default:
		case 'right':
			infoBox.style.marginLeft = wrapper.offsetWidth - width - 10 + "px";
			break;
	}
	
	infoBox.style.display = 'block';
	
	if (upArrow = document.getElementById('infoBoxUpArrow')) {
		if (position=='relative' && posElement != null) {
			upArrow.style.marginLeft = (getRealLeft(posElement) + (posElement.offsetWidth/2)) - getRealLeft(infoBox) - (upArrow.offsetWidth/2) + "px";
		}
	}
	
	shadow.style.height = infoBox.offsetHeight + "px";
	shadow.style.marginLeft = Number(String(infoBox.style.marginLeft).replace('px', '')) - 5 + "px";
	shadow.style.display = 'block';
	
	return false;
}

function closeInfoBox() {
	var infoBox;
	var shadow;
	var overlay = document.getElementById('infoBoxOverlay');
	var overlayIFrame = document.getElementById('infoBoxOverlayIFrame');
	
	if (document.getElementById('infoBox') && ((document.getElementById('langSelectBox') != undefined && document.getElementById('langSelectBox').style.display != 'block') || document.getElementById('langSelectBox') == undefined)) {
		if (document.getElementById('infoBox').style.display == 'block') {
			infoBox = document.getElementById('infoBox');
			shadow = document.getElementById('infoBoxShadow');
		} else {
			return false;
		}
	} else if (document.getElementById('langSelectBox') != undefined && document.getElementById('langSelectBox').style.display == 'block') {
		infoBox = document.getElementById('langSelectBox');
		shadow = document.getElementById('langSelectBoxShadow');
	} else {
		return false;
	}
		
	infoBox.style.display = 'none';
	shadow.style.display = 'none';
	overlay.style.display = 'none';
	overlayIFrame.style.display = 'none';
    	
	return false;
}

function setCurrentPage(pageId) {
	var infoBox = document.getElementById('infoBox');
	var shadow = document.getElementById('infoBoxShadow');
	var pages = getPages();
	for (var i=0;i<pages.length;i++) {
		var currentPage = document.getElementById(pages[i]+"Div");
		var currentButton = document.getElementById(pages[i]+"Button");
		if (currentPage && currentButton) {
			if (pages[i] != pageId) {
				currentPage.style.display = 'none';
				currentButton.className = '';
			} else {
				currentPage.style.display = 'block';
				currentButton.className = 'current';
				currentButton.firstChild.blur(); //Remove FF link border;
			}
		}
	}
	shadow.style.height = infoBox.offsetHeight + "px";
	return false;
}

function getPages() {
	var items = document.getElementById('infoBoxMenu').getElementsByTagName('li');
	var pages = new Array();
	for (var i=0;i<items.length;i++) {
		pages.push(String(items[i].id).replace('Button', ''));
	}
	return pages;
}

function setupOverlay() {
	var overlay = document.getElementById('infoBoxOverlay');
	var header = document.getElementById('header');
	
	overlay.style.width = document.body.offsetWidth+"px";
	overlay.style.height = document.body.offsetHeight-header.offsetHeight+"px";
	overlay.style.top = header.offsetHeight+"px";
	overlay.style.display = 'block';
	overlay.onclick=closeInfoBox;
	var overlayIFrame = document.getElementById('infoBoxOverlayIFrame');
	overlayIFrame.style.width = document.body.offsetWidth+"px";
	overlayIFrame.style.height = document.body.offsetHeight-header.offsetHeight+"px";
	overlayIFrame.style.top = header.offsetHeight+"px";
	overlayIFrame.style.display = 'block';
}

function getRealTop(e) {
	var realTop = 0;
	while (e.offsetParent) {
		realTop += e.offsetTop;
		e = e.offsetParent;
	}
	return realTop;
}

function getRealLeft(e) {
	var realLeft = 0;
	while (e.offsetParent) {
		realLeft += e.offsetLeft;
		e = e.offsetParent;
	}
	return realLeft;
}
