function getLayoutOffsets(){
var de = document.documentElement;
var screenWidth = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
var screenHeight = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
var screenHeightDecal = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
return [screenWidth,screenHeight,screenHeightDecal];
}

function centerOnScreen(obj){
var screenOffsetWidth = getLayoutOffsets()[0];
var screenOffsetHeight = getLayoutOffsets()[1];
var screenOffsetHeightDecal = getLayoutOffsets()[2];

if(obj.style.position!='absolute') obj.style.position = 'absolute';
obj.style.left = (screenOffsetWidth/2)-(obj.getWidth()/2)+'px';
obj.style.top = (screenOffsetHeight/2)-(obj.getHeight()/2)+screenOffsetHeightDecal+'px';
}

function initMsgBox(){
	var msgBox = document.createElement('div');
	msgBox.id = 'msgBox';
	msgBox.style.display = 'none';
	
	var header = document.createElement('div');
	header.className = 'header';
	header.id = 'msgBoxHandle';
	
	var btnClose = document.createElement('div');
	btnClose.className = 'close';
	btnClose.onmouseover = function(){
		this.style.backgroundPosition = 'bottom left';
	}
	btnClose.onmouseout = function(){
		this.style.backgroundPosition = 'top left';
	}
	btnClose.onclick = function(){
		closeMsgBox();
	}
	
	var content = document.createElement('div');
	content.id = 'msgBoxContent';
	
	var zoneBtn = document.createElement('div');
	zoneBtn.className = 'msgBoxZoneBtn';
	
	var btn = document.createElement('input');
	btn.type = 'button';
	btn.value = '';
	btn.onclick = function(){
		closeMsgBox();
	}
	
	var footer = document.createElement('div');
	footer.className = 'footer';
	
	var pN = $A(document.getElementsByTagName('body'))[0];
	
	msgBox.appendChild(header);
	header.appendChild(btnClose);
	msgBox.appendChild(content);
	zoneBtn.appendChild(btn);
	msgBox.appendChild(zoneBtn);
	msgBox.appendChild(footer);
	pN.appendChild(msgBox);
	
	new Draggable('msgBox', {revert:false, starteffect:false, endeffect:false, handle:'msgBoxHandle'});
	
	Event.observe(document, 'keypress', handleKeyPress);
	
	window.alert = function(msg){
		showMsgBox(msg);
	}
}

function showMsgBox(content){
	var lstInputs = $A(document.getElementsByTagName('INPUT'));
	lstInputs.each(function(input){
		if(input.focus){
			input.blur();
			throw $break;
		}
	});
	$('msgBoxContent').innerHTML = content;
	centerOnScreen($('msgBox'));
	new Effect.Appear('msgBox',{duration:0.2});
}

function closeMsgBox(){
	new Effect.Fade('msgBox',{duration:0.2});
}

function handleKeyPress(event){
	if((event.keyCode==27 || event.keyCode==13) && $('msgBox').visible()){
		closeMsgBox();
	}
}