var ie6 = detect_ie6();

var black_overlay = document.getElementById('fade');

function detect_ie6()
{
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	return (version < 7);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function blacken_background(id)
{
	document.getElementById(id).style.display = 'block';
	document.getElementById('fade').style.height = f_scrollTop() + screen.height + "px";
	document.getElementById('fade').style.display = 'block';
	
	if (ie6) // Damn ie6 requires extra convincing for lightbox effects
	{
		black_overlay.style.height = document.documentElement.clientHeight + "px";
		black_overlay.style.width = document.documentElement.clientWidth + "px";
	}
}

function deblacken_background(id)
{
	document.getElementById(id).style.display='none';
	black_overlay.style.display='none';	
}

function msgBox(content_element)
{	
	var panel_obj = document.getElementById('maintable');
	var panel_id = 'framed_element_msg_box';
	
	var panel = document.getElementById('msg_box_contents');
	while (panel.childNodes[0])
	{
		panel.removeChild(panel.childNodes[0]);
	}

	panel.appendChild(content_element);
	blacken_background(panel_id);
	var framed_element = document.getElementById(panel_id);	
	var width = framed_element.offsetWidth;

	if (width > document.body.clientWidth - 20)
	{
		width = (document.body.clientWidth - 20);
		framed_element.style.width = width + "px";
	}
		
	var left;
	
	left = (document.body.clientWidth - width) / 2;
	
	framed_element.style.left = left + "px";
		
	var top = f_scrollTop() + (screen.height - framed_element.offsetHeight) / 2;

	top = Math.max(top, 0);
	framed_element.style.top = top + "px";
	
	document.getElementById(panel_id).style.visibility = 'visible';	
}

function msgBox_vanish()
{
	var frame_id = 'framed_element_msg_box';
	
	document.getElementById('msg_box_contents').innerHTML = "";

	document.getElementById(frame_id).style.visibility = 'hidden';
	document.getElementById(frame_id).style.width = "";
	deblacken_background(frame_id);
}