
var EF_prevElement; // previous element
var EF_prevColor; //prev row colour
var EF_prevClass;

function EF_HighLightRow(oRow){  
	
	//if prevElement has been set, reset it to original settings (ie. deselect row)
	if (typeof(EF_prevElement) != 'undefined') {	
					
		EF_prevElement.style.backgroundColor = EF_prevColor;
	} 
	
	EF_prevColor = oRow.style.backgroundColor;
	EF_prevElement = oRow;

	oRow.style.backgroundColor = '#ffff99';

}

//GET a float value from a field.
//if field value contain a non-number, zero is returned
function __EFGetFieldValue(fieldId)
{
	var obj = document.getElementById(fieldId);
	var tmp;

	if (obj != null && obj.value)
	{
		tmp = parseFloat(obj.value);
		if (! isNaN(tmp))
			return tmp;
		else
			return 0;
	}
	else if (obj != null && obj.options)
	{
		//for option fields
		var count;
		for (count = 0; count < obj.options.length; count++)
		{
			if (obj.options[count].checked)
			{
				tmp = parseFloat(obj.value);
				if (! isNaN(tmp))
					return tmp;
				else
					return 0;
			}
		}
	} 
	else if (obj != null && obj.innerText)
	{
		tmp = parseFloat(obj.innerText);
		if (! isNaN(tmp))
			return tmp;
		else
			return 0;	
	}
	else if (obj != null && obj.innerHTML)
	{
		tmp = parseFloat(obj.innerHTML);
		if (! isNaN(tmp))
			return tmp;
		else
			return 0;
	}
	else
	{
		return 0;
	}
}

//SET a given value to a form field
function __EFSetFieldValue(fieldId, fieldValue)
{	
	var obj = document.getElementById(fieldId);

	if (obj != null)
	{
		//alert(obj);
		if (obj.value)
		{
			//alert('Value');
			obj.value = fieldValue;
		}
		else if(obj.innerText || obj.innerText == '')
		{
			obj.innerText = fieldValue;
		}
		else if (obj.innerHTML)
		{
			//alert('HTML ' + fieldValue);
			obj.innerHTML = fieldValue;
		}
		else
		{
			//alert('Text ' + fieldValue);
			obj.innerText = fieldValue;
		}
	}
}



