var MODAL = new Object();
MODAL.init = function() {
	MODAL.visible = false;
	MODAL.iframe = document.createElement('IFRAME');
	MODAL.iframe.style.position = 'absolute';
	MODAL.iframe.style.top = '0px';
	MODAL.iframe.style.left = '0px';
	MODAL.iframe.style.border = 'none';
	MODAL.iframe.border = '0';
	MODAL.iframe.style.filter = 'alpha(opacity:0)'; 
	MODAL.iframe.zIndex = 1000;
	MODAL.iframe.style.display = 'none';
	MODAL.div = document.createElement('DIV');
	MODAL.div.style.position = 'absolute';
	MODAL.div.style.top = '0px';
	MODAL.div.style.left = '0px';
	MODAL.div.style.border = 'none';
	MODAL.div.style.backgroundColor = '#000000';
	MODAL.div.style.fontSize = '0px';
	MODAL.div.style.width = '100px';
	MODAL.div.style.height = '100px';
	MODAL.div.style.filter = 'alpha(opacity:30)'; 
	MODAL.div.zIndex = 1001;
	MODAL.div.style.display = 'none';
	MODAL.box = document.createElement('DIV');
	MODAL.box.style.border = '2px solid black';
	MODAL.box.style.paddingTop = '20px';
	MODAL.box.style.paddingBottom = '20px';
	MODAL.box.style.paddingLeft = '10px';
	MODAL.box.style.paddingRight = '10px';
	MODAL.box.style.display = 'none';
	MODAL.box.style.backgroundColor = 'white';
	MODAL.boxTable = document.createElement('TABLE');
	MODAL.box.appendChild(MODAL.boxTable);
	MODAL.boxTable.border = 0;
	MODAL.boxTable.cellPadding = 10;
	MODAL.boxTable.cellSpacing = 0;
	MODAL.boxTable.width = 200;
	var r = MODAL.boxTable.insertRow();
	r.vAlign = 'top';
	var c = r.insertCell();
	c.width = '32';
	MODAL.boxImage = document.createElement('IMG');
	c.appendChild(MODAL.boxImage);
	c = r.insertCell();
	c.width = '100%';
	c.style.fontFamily = 'Arial';
	c.style.fontSize = '9pt';
	MODAL.boxCaption = document.createElement('DIV');
	c.appendChild(MODAL.boxCaption);
	MODAL.boxButtons = document.createElement('DIV');
	c.appendChild(MODAL.boxButtons);
	MODAL.boxButtons.align = 'center';
	MODAL.boxButtons.style.paddingTop = '16px';
	document.body.appendChild(MODAL.iframe);
	document.body.appendChild(MODAL.div);
	document.body.appendChild(MODAL.box);
}
MODAL.onResizeOnScroll = function() {
	if(MODAL.visible) {
		var oBody = document.body;
		var width = oBody.clientWidth;
		var height = oBody.clientHeight;
		var top = oBody.scrollTop;
		var left = oBody.scrollLeft;
		var oIFrameStyle = MODAL.iframe.style;
		var oDivStyle = MODAL.div.style;
		try {oIFrameStyle.top = top;} catch(e) {}
		try {oIFrameStyle.left = left;} catch(e) {}
		try {oIFrameStyle.width = width;} catch(e) {}
		try {oIFrameStyle.height = height;} catch(e) {}
		try {oDivStyle.top = top;} catch(e) {}
		try {oDivStyle.left = left;} catch(e) {}
		try {oDivStyle.width = width;} catch(e) {}
		try {oDivStyle.height = height;} catch(e) {}
		var oBox = MODAL.box;
		if(oBox.offsetWidth > width) {
			oBox.style.left = left;
		} else {
			oBox.style.left = ((width - oBox.offsetWidth) / 2) + left;
		}
		if(oBox.offsetHeight > height) {
			oBox.style.top = top;
		} else {
			oBox.style.top = ((height - oBox.offsetHeight) / 2) + top;
		}
	}
}
MODAL.showLoading = function(caption) {
	MODAL.show('loading',caption);
}
MODAL.showError = function(caption) {
	MODAL.show('error',caption,'OK','MODAL.hide()');
}

MODAL.setBoxImageSrc = function(src){
	switch(src) {
		case 'error':
			MODAL.boxImage.src = '/images/errorMsg/msgCritical32.gif';
			break;
		case 'info':
			MODAL.boxImage.src = '/images/errorMsg/msgInformation32.gif';
			break;
		case 'loading':
			MODAL.boxImage.src = '/images/errorMsg/loading32.gif';
			break;
		case 'warn':
			MODAL.boxImage.src = '/images/errorMsg/msgWarning32.gif';
			break;
		default:
			MODAL.boxImage.src = src;
			break;
	}

}
MODAL.show = function() {
	MODAL.iframe.style.display = 'block';
	MODAL.div.style.display = 'block';
	MODAL.box.style.position = 'absolute';
	MODAL.box.style.display = 'block';
	MODAL.box.style.zIndex = 1002;
	if(arguments.length > 0) {
		MODAL.boxImage.style.display = 'inline';
		MODAL.setBoxImageSrc(arguments[0]);
	} else {
		MODAL.boxImage.style.display = 'none';
	}
	if(arguments.length > 1) {
		MODAL.boxCaption.innerHTML = arguments[1];
	}
	var html = '';
	for(var i = 2; i < arguments.length; i += 2) {
		if(i > 2) {
			html += '&nbsp;&nbsp;';
		}
		html += '<button class="GreenButton" onclick="' + arguments[i+1] + '">' + arguments[i] + '</button>';
	}
	MODAL.boxButtons.innerHTML = html;
	MODAL.visible = true;
	MODAL.onResizeOnScroll();
}

MODAL.hide = function() {
	MODAL.iframe.style.display = 'none';
	MODAL.div.style.display = 'none';
	MODAL.box.style.display = 'none';
	MODAL.visible = false;
}
window.attachEvent('onload',MODAL.init);
window.attachEvent('onresize',MODAL.onResizeOnScroll);
window.attachEvent('onscroll',MODAL.onResizeOnScroll);
