function SimplePopUpManager(splash_div_class)
{
	var current_popup_div = undefined;
	var splash_div = undefined;
	var replaced_onkeydown_action = undefined;
	var replaced_onscroll_action = undefined;
	
	var popUpWindowSize = undefined;
	
	var data = {};

	var onKeyDown = function(e) {
		var keyNum = null;
		if (window.event) keyNum = window.event.keyCode;
		else if (e.which) keyNum = e.which;
		if (current_popup_div && keyNum==27) hide();
	}

	var onScroll = function(e) {
		var docEl = document.documentElement;
		current_popup_div.style['left'] = (popUpWindowSize.left+docEl.scrollLeft)+"px";
		current_popup_div.style['top'] = (popUpWindowSize.top+docEl.scrollTop)+"px";
		return false;
	}

	var stop_scroll = function(e){
		e = e ? e : window.event;
		if(e.stopPropagation)
			e.stopPropagation();
		if(e.preventDefault)
			e.preventDefault();
		e.cancelBubble = true;
		e.cancel = true;
		e.returnValue = false;
		return false;
	}

	function set_stop_scroll(element_obj_id){
		if (typeof(element_obj_id) == "string") {
			var element = document.getElementById(element_obj_id);
		} else {
			var element = element_obj_id;
		}
		var eventName = "mousewheel";
		if(element.addEventListener){
			element.addEventListener('DOMMouseScroll', stop_scroll, false);  
			element.addEventListener(eventName, stop_scroll, false);
		} else if(element.attachEvent)
			element.attachEvent("on" + eventName, stop_scroll);
	}

	/*
	function unset_stop_scroll(element_id) {
		element = document.getElementById(element_id);
		var eventName = "mousewheel";
		if(element.removeEventListener){
			element.removeEventListener('DOMMouseScroll', callback, false);  
			element.removeEventListener(eventName, ???, false);
		} else if(element.detachEvent)
			element.detachEvent("on" + eventName, ???);
	}
	*/

	var hide = function() {
		if (current_popup_div) current_popup_div.style.visibility = "hidden";
		splash_div.style.visibility = "hidden";
		document.onkeydown = replaced_onkeydown_action;
		window.onscroll = replaced_onscroll_action;
		current_popup_div = undefined;
		data = {}
		//unset_stop_scroll(current_popup_div);
		return false;
	}

	this.show = function(div_id) {
		replaced_onkeydown_action = document.onkeydown;
		replaced_onscroll_action = window.onscroll;
		document.onkeydown = onKeyDown;

		if (arguments.length>1) this.data = arguments[1]

		if (!splash_div) {
			splash_div = document.createElement("div");
			splash_div.className = splash_div_class;
			splash_div.style.visibility = "hidden";
			splash_div.style.width = "100%";//document.body.offsetWidth+'px';
			splash_div.style.height = document.body.offsetHeight+'px';
			document.body.appendChild(splash_div);
		}

		//set_stop_scroll(div_id);
		//set_stop_scroll(splash_div);

		if (current_popup_div) this.hide();
		current_popup_div = document.getElementById(div_id);
		var docEl = document.documentElement;
		popUpWindowSize = {
			'width': current_popup_div.offsetWidth,
			'height': current_popup_div.offsetHeight,
			'left': parseInt(docEl.clientWidth / 2),
			'top': parseInt(docEl.clientHeight / 2) + docEl.scrollTop
		}
		current_popup_div.style['left'] = popUpWindowSize.left + "px";
		current_popup_div.style['top'] = popUpWindowSize.top + "px";

		splash_div.style.visibility = "visible";

		if (current_popup_div) current_popup_div.style.visibility = "visible";
		return false;
	}

	this.hide = hide;
	this.data = data;
}

pm = new SimplePopUpManager("splesh_reg");