function getRealTop(el) 
{
	yPos = el.offsetTop;
	tempEl = el.offsetParent; 
	while (tempEl != null) 
	{ 
		yPos += tempEl.offsetTop; 
		tempEl = tempEl.offsetParent; 
	} 
	return yPos; 
}
function getRealLeft(el) 
{
	xPos = el.offsetLeft;
	tempEl = el.offsetParent; 
	while (tempEl != null) 
	{ 
		xPos += tempEl.offsetLeft; 
		tempEl = tempEl.offsetParent; 
	} 
	return xPos; 
}
function hideValidators(fld)
{
	var dlg = $(fld.id + 'ReqVal');
	if(dlg) dlg.style.display = 'none';
}
function validateReq(fieldId, errMsg)
{
	var field = $(fieldId);
	
	hideValidators(field);
	
	if(field.value == '')
	{
		var dlg = new Element('div', {
			    'styles': {
	    		    'position':'absolute'
			    },
			    'events': {
		    	    'mousedown': function(){
	        		    this.style.display = 'none';
		    	}
		    },
	    	'class':'tool-tip'	    
		});
	
		dlg.setProperty('id', fieldId + 'ReqVal');
		
		var elLeft = getRealLeft(field);
		if(elLeft + 278 > document.documentElement.offsetWidth)
			elLeft -= 288;
		else
			elLeft += field.offsetWidth + 10;
			
		dlg.style.left = elLeft + 'px';
		dlg.style.top = getRealTop(field) + 'px';
		
		dlg.setHTML('<div class="tool-title"><div class="iconWarning">Value is required.</div></div><div class="tool-text">' + errMsg + '</div>');
		dlg.injectAfter(field.id);			
		
		return false;
	}
	
	return true;
}