var errordisplayDiv    = false;
var errordisplayiFrame = false;

/* Show error message */
function dpErrorOpen(inputid, text) {
	if (document.getElementById(inputid)) {
		var addDiv = false;
		var addIFrame = false;
		var des = document.getElementById(inputid);
		var opacityValue = 9.5;
		
		var x = des.offsetLeft + des.offsetWidth;
		var y = des.offsetTop + des.offsetHeight;
		
		var parent = des;
		while (parent.offsetParent)
		{
			parent = parent.offsetParent;
			x += parent.offsetLeft;
			y += parent.offsetTop;
		}

		y -= (des.offsetHeight + 19);
		
		if (!errordisplayDiv) {
			errordisplayDiv = document.createElement('div');
			errordisplayDiv.setAttribute('id', 'errordisplayDiv');
			errordisplayDiv.style.position	      = 'absolute';
			errordisplayDiv.style.backgroundColor = 'red';
			errordisplayDiv.style.border	      = 'solid 1px #e5e5e5';
			errordisplayDiv.style.color	     	  = 'white';
			errordisplayDiv.style.fontSize    	  = '11px';
			errordisplayDiv.style.paddingLeft     = errordisplayDiv.style.paddingRight = '4px';
			errordisplayDiv.style.paddingTop      = errordisplayDiv.style.paddingBottom = '1px';
			errordisplayDiv.style.height     	  = (isIE ? 20 : 16) + 'px';
			errordisplayDiv.style.zIndex 		  = 11000;
						
			if (isIE) {
				errordisplayDiv.onclick = des.onclick = des.onkeydown = des.onblur = new Function('dpErrorClose();');
				errordisplayDiv.style.filter = 'alpha(opacity=' + (opacityValue * 10) + ')';
			} else {
				errordisplayDiv.onclick = des.onclick = des.onkeydown = new Function('dpErrorClose();');
				errordisplayDiv.style.opacity = (opacityValue / 10);
			}
		
			addDiv = true;
		}
		
		errordisplayDiv.style.left = (x - (des.offsetWidth)) + 'px';
		errordisplayDiv.style.top  = y + 'px';
		
		errordisplayDiv.innerHTML = text;
		
		if (addDiv) {
			document.body.appendChild(errordisplayDiv);
		}
		
		if (isIE) {
			if (!errordisplayiFrame) {
				errordisplayiFrame = document.createElement('iFrame');
				errordisplayiFrame.setAttribute('id', 'errordisplayiFrame');
				errordisplayiFrame.setAttribute('scrolling', 'no');
				errordisplayiFrame.setAttribute('frameborder', '0');
				errordisplayiFrame.style.position = 'absolute';
				errordisplayiFrame.style.zIndex   = errordisplayDiv.style.zIndex - 1;
				errordisplayiFrame.style.display  = 'none';
				
				
				errordisplayiFrame.style.filter = 'alpha(opacity=0)';
				addIFrame = true;
			}
			
			errordisplayiFrame.style.top  = errordisplayDiv.style.top;
			errordisplayiFrame.style.left = errordisplayDiv.style.left;
			
			if (addIFrame) {
				document.body.appendChild(errordisplayiFrame);
			}
		}
		
		errordisplayDiv.style.display 	 = '';
		
		if (errordisplayiFrame) {
			errordisplayiFrame.style.width    = errordisplayDiv.offsetWidth;
			errordisplayiFrame.style.height   = errordisplayDiv.offsetHeight;		
			errordisplayiFrame.style.display  = '';
		}
		
		des.focus();
	}
}

/* Close error message */
function dpErrorClose() {
	if (errordisplayDiv && errordisplayDiv.style.display != 'none') {
		errordisplayDiv.style.display = 'none';
		
		if (errordisplayiFrame) {
			errordisplayiFrame.style.display = errordisplayDiv.style.display;
		}
	}
}
