if (typeof(browserDetect) == 'undefined') {
	var browserDetect = detectBrowser('', '');
}
function MessageBox(path, className) {
	var code = generateCodeNumber + '' + generateCode();
	generateCodeNumber ++;
	var interval = '';
	var intervalResizeDelay = 100;
	var interval_ = '';
	var interval2 = '';
	var command_ = '';
	var okButton = new Button_(39, 'Ok', className + '.command()', path);
	this.show = show;
	this.hide = hide;
	this.command = command;
	this.swapDepth = swapDepth;
	this.setIntervalResizeDelay = setIntervalResizeDelay;
	
	if (browserDetect[0] == 'msie') {
		var myElement = document.createElement('<div id = "' + code + '" style = "position:absolute; left:-425; top:-100; visibility:hidden; z-index:auto;"></div>');
	}
	else {
		var myElement = document.createElement('div');
		myElement.id = code;
		myElement.style.position = 'absolute';
		myElement.style.left = '-425px';
		myElement.style.top = '-100px';
		myElement.width = '1px';
		myElement.height = '1px';
		myElement.style.visibility = 'hidden';
	}
	window.document.body.appendChild(myElement);
	var object = document.getElementById(code);
	var tag = '<table id="MessageBox' + code + '" border="0" cellspacing="0" cellpadding="0">';
	  tag += '<tr>';
		tag += '<td id="TitleBar' + code + '">';
			tag += '<table border="0" cellspacing="0" cellpadding="0">';
			  tag += '<tr>';
				tag += '<td width="8"><img src="' + path +'images/windows/title-bar-left.png"></td>';
				tag += '<td width="408" background="' + path +'images/windows/title-bar-center.png" class="messageBoxText1"><b>Message</b></td>';
				tag += '<td width="9"><img src="' + path +'images/windows/title-bar-right.png"></td>';
			  tag += '</tr>';
			tag += '</table>';
		tag += '</td>';
	  tag += '</tr>';
	  tag += '<tr>';
		tag += '<td>';
			tag += '<table border="0" cellspacing="0" cellpadding="0">';
			  tag += '<tr>';
				tag += '<td width="3" background="' + path +'images/windows/left.png"></td>';
				tag += '<td width="418" bgcolor="#FFFFFF">';
					tag += '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
					  tag += '<tr>';
						tag += '<td><img src="' + path +'images/space.gif" width="15" height="15"></td>';
						tag += '<td>&nbsp;</td>';
						tag += '<td><img src="' + path +'images/space.gif" width="8"></td>';
					  tag += '</tr>';
					  tag += '<tr>';
						tag += '<td>&nbsp;</td>';
						tag += '<td width="100%" height="100%">';
							tag += '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">';
							  tag += '<tr>';
								tag += '<td height="100%" valign="top">';
									tag += '<table border="0" cellspacing="0" cellpadding="0">';
									  tag += '<tr>';
										tag += '<td valign="top"><img src="' + path +'images/massage-box/message-icon.jpg"></td>';
										tag += '<td width="10"></td>';
										tag += '<td id="Message' + code + '" class="messageBoxText1"></td>';
									  tag += '</tr>';
									tag += '</table>';
								tag += '</td>';
							  tag += '</tr>';
							  tag += '<tr>';
								tag += '<td height="10"></td>';
							  tag += '</tr>';
							  tag += '<tr>';
								tag += '<td align="right">' + okButton.create() + '</td>';
							  tag += '</tr>';
							tag += '</table>';
						tag += '</td>';
						tag += '<td>&nbsp;</td>';
					  tag += '</tr>';
					  tag += '<tr>';
						tag += '<td height="7" colspan="3"></td>';
					  tag += '</tr>';
					tag += '</table>';
				tag += '</td>';
				tag += '<td width="4" background="' + path +'images/windows/right.png"></td>';
			  tag += '</tr>';
			  tag += '<tr>';
				tag += '<td><img src="' + path +'images/windows/left-bottom.png"></td>';
				tag += '<td height="4" background="' + path +'images/windows/center-bottom.png"></td>';
				tag += '<td><img src="' + path +'images/windows/right-bottom.png"></td>';
			  tag += '</tr>';
			tag += '</table>';
		tag += '</td>';
	  tag += '</tr>';
	tag += '</table>';
	object.innerHTML = tag;
	var messageObject = document.getElementById('Message' + code);
	
	function addEventListener_() {
		if (window.attachEvent) {
			if (browserDetect[0] == 'msie') {
				window.attachEvent('onresize', resizeDelay);
				window.attachEvent('onscroll', scrollDelay);
			}
			else {
				window.attachEvent('onresize', resize_);
				window.attachEvent('onscroll', scroll_);
			}
		}
		else {
			if (browserDetect[0] == 'safari') {
				window.addEventListener('resize', resizeDelay, false);
				window.addEventListener('scroll', scrollDelay, false);
			}
			else {
				window.addEventListener('resize', resize_, false);
				window.addEventListener('scroll', scroll_, false);
			}
		}
	}
	
	function removeEventListener_() {
		if (window.detachEvent) {
			if (browserDetect[0] == 'msie') {
				window.detachEvent('onresize', resizeDelay);
				window.detachEvent('onscroll', scrollDelay);
			}
			else {
				window.detachEvent('onresize', resize_);
				window.detachEvent('onscroll', scroll_);
			}
		}
		else {
			if (browserDetect[0] == 'safari') {
				window.removeEventListener('resize', resizeDelay, false);
				window.removeEventListener('scroll', scrollDelay, false);
			}
			else {
				window.removeEventListener('resize', resize_, false);
				window.removeEventListener('scroll', scroll_, false);
			}
		}
	}
	
	function resizeDelay() {
		if (object.style.visibility == 'visible') {
			object.style.top = (parseInt(object.style.width) *  -1) + 'px';
			object.style.left = (parseInt(object.style.height) *  -1) + 'px';
			if (interval != '') {
				clearInterval(interval);
				interval = '';
			}
			interval = setInterval(resize_, intervalResizeDelay);
		}
	}
	
	function scrollDelay() {
		if (object.style.visibility == 'visible') {
			if (interval2 != '') {
				clearInterval(interval2);
				interval2 = '';
			}
			interval2 = setInterval(scroll_, 100);
		}
	}
	
	function resize_() {
		if (interval != '') {
			clearInterval(interval);
			interval = '';			
		}
		
		if (object.style.visibility == 'visible') {
			object.style.top = (parseInt(object.style.width) *  -1) + 'px';
			object.style.left = (parseInt(object.style.height) *  -1) + 'px';
			align_();
		}
	}
	
	function scroll_() {
		if (interval2 != '') {
			clearInterval(interval2);
			interval2 = '';
		}
		
		if (object.style.visibility == 'visible') {
			align_();
		}
	}
	
	function command() {
		if (command_ != '') {
			if (typeof(command_) == 'function') {
				command_();
			}
			else {			
				for (var index = 0; index < command_.length; index ++) {
					if (typeof(command_[index]) == 'function') {
						command_[index]();
					}
					else if (typeof(command_[index]) == 'string') {
						eval(command_[index]);
					}
				}
			}
		}
	}
	
	function align_() {
		if (document.onmousemove == null) {
			var documentAreaShowSize = getDocumentAreaShowSize();
			var width1 = documentAreaShowSize[0];
			var height1 =  documentAreaShowSize[1];
			var width_ = parseInt(object.style.width);
			var height_ = parseInt(object.style.height);
			var scrollXY = getScrollXY();
			var left_ = scrollXY[0];
			var top_ = scrollXY[1];
			var top = (Math.round((height1 - height_) / 2)) + top_;
			var left = (Math.round((width1 - width_) / 2)) + left_;
			if ((top + height_) > (height1 + top_)) {
				top = (height1 - height_) +  top_;
			}
			if ((left + width_) > (width1 + left_)) {
				left = (width1 - width_ ) + left_;
			}
			object.style.top = top + 'px';
			object.style.left = left + 'px';
		}
	}
	
	function show(zindex_, massage, command, intervalResizeDelay_) {
		if (intervalResizeDelay_ !== '') {
			intervalResizeDelay = intervalResizeDelay_;
		}
		command_ = command;
		massages = massage.split('<br>');
		massage = '';
		for (var index = 0; index < massages.length; index ++) {
			if (massage != '') {
				massage +=  '<br>';
			}
			massage +=  replaceWordHtml(massages[index]);
		}
		messageObject.innerHTML = massage;
		if (typeof(zindex_) == 'number') {
			object.style.zIndex = zindex_;
		}
		if (interval_ != '') {
			clearInterval(interval_);
		}
		interval_ = setInterval(show_, 100);
	}
	
	function show_() {
		clearInterval(interval_);
		interval_ = '';
		
		object.style.width = object.offsetWidth + 'px';	
		object.style.height = object.offsetHeight + 'px';
		align_();
		if (document.getElementById('TitleBar'  + code).onmousedown == null) {
			var dragAndDrap = new DragAndDrap();
			dragAndDrap.createDragDrop(object, document.getElementById('TitleBar'  + code), '', '', '', '');
		}
		object.style.visibility = 'visible';
		addEventListener_();
	}
	
	function hide() {
		removeEventListener_();
		if (interval != '') {
			clearInterval(interval);
			interval = '';
		}
		if (interval_ != '') {
			clearInterval(interval_);
			interval_ = '';
		}
		if (interval2 != '') {
			clearInterval(interval2);
			interval2 = '';
		}
		object.style.width = object.offsetWidth + 'px';
		object.style.height = object.offsetHeight + 'px';
		object.style.top = (parseInt(object.style.width) *  -1) + 'px';
		object.style.left = (parseInt(object.style.height) *  -1) + 'px';
		object.style.visibility = "hidden";
	}
	
	function swapDepth(zindex_) {
		if (typeof(zindex_) == 'number') {
			object.style.zIndex = zindex_;
		}
	}
	
	function setIntervalResizeDelay(delay) {
		intervalResizeDelay = delay;
	}
}