function isemptyfield(_fieldObj,_msg)
{

	if (typeof trim != 'function') //REQUIRES TRIM.JS FUNCTION
	{
		alert('ISEMPTYFIELD ERROR: missing trim.js');
		return true;
	}

	if (!_fieldObj) //RETURNS TRUE IF IT'S EMPTY
	{
		alert('ISEMPTYFIELD ERROR: _fieldObj not found ' + _fieldObj);
		return true;
	}
	
	var _fieldObjType = _fieldObj.type

	if (!_fieldObjType && _fieldObj[0])	_fieldObjType = _fieldObj[0].type  //WORKS FOR RADIO AND CHECKBOX TYPES

	switch(_fieldObjType) //CHECK THE TYPE
	{

		case 'text': //CHECK IT'S VALUE
		
			if (trim(_fieldObj.value))
				return false
			else
				break;

		case 'textarea': //CHECK IT'S INNERTEXT

			if (trim(_fieldObj.value))
				return false
			else
				break;

		case  'checkbox' : //MAKE SURE AT LEAST ONE IS CHECKED

			if ( (!_fieldObj.length) && (_fieldObj.checked) )
			{
				return false; //WORKS WHEN THERE IS ONE CHECKBOX OR RADIO
				break;
			}

			var idx = 0;

			while (_fieldObj[idx])
			{
				if (_fieldObj[idx].checked)
					return false
				else
					idx ++;
			}

			break;

		case 'radio' : //UNFORTUNATELY case  'checkbox' || 'radio' DOESN'T WORK SAME CODE AS CHECKBOX

			if ( (!_fieldObj.length) && (_fieldObj.checked) )
			{
				return false; //WORKS WHEN THERE IS ONE CHECKBOX OR RADIO
				break;
			}

			var idx = 0;

			while (_fieldObj[idx])
			{
				if (_fieldObj[idx].checked)
					return false
				else
					idx ++;
			}

			break;


		case 'select-one': //ONLY CHECKS THE VALUE
			
			if (_fieldObj[_fieldObj.selectedIndex].value.length > 0)
				return false
			else
				break;

		default: //UNKNOWN FIELD TYPE | NEED TO ADD IT HERE | RETURN FALSE
			
			alert("ISEMPTYFIELD: unknown field type" +
				  "\n_fieldObj.name " + _fieldObj.name +
				  "\n_fieldObjType " + _fieldObjType +
				  "\n_fieldObj[0].name " + _fieldObj[0].name);
			
			return false; //ALLOWS TO CONTINUE EXECUTION

	}

	if (_msg) alert(_msg); //SHOW MSG 1ST BEFORE FOCUS OR FIREFOX WILL ERROR

	//FOCUS IT IF POSSIBLE
	if (_fieldObj.focus)
	{
		_fieldObj.focus()
	}
	else
	{
		if (_fieldObj[0] && _fieldObj[0].focus) _fieldObj[0].focus()
	}


	return true;

}