document.writeln('<style>');
document.writeln('html, body { width:100%; height: 100%; margin:0px; padding:0px;  font-size: 9pt;}');
document.writeln('#overlay1 { width:100%; height: 100%; background-color:#000; filter: alpha(opacity=60); -moz-opacity:0.6; position:absolute; z-index: 2; visibility:hidden; top: 0px; left: 0px; font-size: 0px;}');
document.writeln('#overlay2 { width:100%; height: 100%; position:absolute; z-index: 3; visibility:hidden; top: 0px; left: 0px;}');
document.writeln('#overlay2 .overlayCell { width: 100%; height:100%; vertical-align: middle;}');
document.writeln('<\/style>');
document.writeln('<div id="overlay1"></div>');
document.writeln('<table id="overlay2" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">');
document.writeln('<tr><td align="center" valign="middle" class="overlayCell"><div id="OverlayContentsHolder" align="center"></div>');
//document.writeln('<div><button id="closeBtn" onclick="hideOverlay(); return false;">Hide</button></div></td></tr></table>');
document.writeln('</td></tr></table>');

function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	}
	else if (document.body.scrollHeight > document.body.offsetHeight){
		// all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	}
	else {
		// Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {
		// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth;
		}
		else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		// Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	}
	else if (document.body) {
		// other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	}
	else {
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = xScroll;
	}
	else {
		pageWidth = windowWidth;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}

function getPageScroll() {
	var xScroll, yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop) {
		// Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	}
	else if (document.body) {
		// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;
	}
	arrayPageScroll = new Array(xScroll,yScroll);
	return arrayPageScroll;
}

function getWindowSize() {
	var ww = 0;
	var wh = 0;
	if (self.innerWidth) {
		ww = self.innerWidth; 
	}	else if (document.documentElement && document.documentElement.clientWidth) {
		ww = document.documentElement.clientWidth;
	} 	else if (document.body) {
		ww = document.body.clientWidth;
	}
	if (self.innerHeight) {
		wh = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		wh = document.documentElement.clientHeight;
	} else if (document.body) {
		wh = document.body.clientHeight;
	}
	return new Array(ww, wh);
}

function getOffsetLeft (el) {
	var ol = el.offsetLeft;
	while ((el = el.offsetParent) != null)
		ol += el.offsetLeft;
	return ol;
}

function getOffsetTop (el) {
	var ot = el.offsetTop;
	while((el = el.offsetParent) != null)
		ot += el.offsetTop;
	return ot;
}

var overlayactivated = false;

function showOverLay(codes, re) {
	var contentHolder = document.getElementById('OverlayContentsHolder');
	var overlay1 = document.getElementById('overlay1');
	var overlay2 = document.getElementById('overlay2');
	var pageSize = getPageSize();
	var offsetT = getOffsetTop(overlay1);
	var offsetL = getOffsetLeft(overlay1);
	var pageScroll = getPageScroll();
	var windowSize = getWindowSize();

	overlay1.style.width = pageSize[0] +'px';
	overlay1.style.height = pageSize[1] +'px';
	overlay2.style.width = pageSize[0] +'px';
	overlay2.style.height = windowSize[1]+'px';

	overlay1.style.left = '-' + offsetL +'px';
	overlay1.style.top = '-' + offsetT +'px';
	overlay2.style.left = pageScroll[0] - offsetL +'px';
	overlay2.style.top = pageScroll[1] - offsetT +'px';

	if(typeof(codes) == 'object') {
		contentHolder.innerHTML = codes.innerHTML;
		if(codes.id.indexOf('hint') >= 0) {
			var tds = overlay2.getElementsByTagName('TD');
			for(i=0;i<tds.length;i++) {
				if(tds[i].className == 'overlayCell') {
					var olTd = tds[i];
					break;
				}
			}
			olTd.style.verticalAlign = 'top';
			overlay2.style.height = contentHolder.offsetHeight + 'px';
			overlay2.style.top = 740 - contentHolder.offsetHeight + 'px';
		}
	} else if (codes) {
		contentHolder.innerHTML = codes;
	}
	
	overlay1.style.visibility = 'visible';
	overlay2.style.visibility = 'visible';
	overlayactivated = true;

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
		var ieversion=new Number(RegExp.$1) 
		if (ieversion<=6 && !re) {
			var ifrs = document.getElementById('registerFrame');
			if (ifrs) {
				ifrs.src = ifrs.src + '&rnd=' + ((new Date()).getTime());
			}
		}
	}
}

function hideOverlay() {
	var overlay1 = document.getElementById('overlay1');
	var overlay2 = document.getElementById('overlay2');
	overlay1.style.visibility = 'hidden';
	overlay2.style.visibility = 'hidden';
	overlay1.style.width = '100%';
	overlay1.style.height = '100%';
	overlay2.style.width = '100%';
	overlay2.style.height = '100%';
	overlay1.style.left = '0px';
	overlay1.style.top = '0px';
	overlay2.style.left = '0px';
	overlay2.style.top = '0px';
	var tds = overlay2.getElementsByTagName('TD');
	for(i=0;i<tds.length;i++) {
		if(tds[i].className == 'overlayCell') {
			var olTd = tds[i];
			break;
		}
	}			
	olTd.style.verticalAlign = 'middle';
	overlayactivated = false;
}

function resetOverlayPos() {
	var overlay1 = document.getElementById('overlay1');
	if (overlayactivated) {
		hideOverlay();
		showOverLay('', true);
	}
}

 if (window.addEventListener) {
	window.addEventListener('resize', resetOverlayPos, false);
 } else if (window.attachEvent) {
	window.attachEvent("onresize",resetOverlayPos);
}