function notEmptyIf(object, params, thisForm)
{
	var field2name = params['field2'];
	var field2_value = params['field2_value']
	var dependsOnField = thisForm[field2name];
	var is_checked, i;

	var dependsOnFieldValue = '';
	if(dependsOnField.length)
	{
		// a list of some sort:
		if(dependsOnField.type && dependsOnField.type == 'select-one')
        {
        	dependsOnFieldValue = dependsOnField.value;
        }
        else
        {
            is_checked = false;
            for(i = 0; i < dependsOnField.length; i++)
            {
               if(dependsOnField.item(i).checked == true && dependsOnField.item(i).value == field2_value)
               {
                   dependsOnFieldValue = field2_value;
                   break;
               }
            }
        }
	}
	else
	{
		dependsOnFieldValue = dependsOnField.value;
	}

	var result = true; // assume we don't need to check object
	var docheck = false;
	if (field2_value.indexOf(",")!=-1)
	{
		var field2_array=field2_value.split(",");
		for(i = 0; i < field2_array.length; i++)
		{
			if(dependsOnFieldValue == field2_array[i])
			{
				docheck = true;
			}
		}
	}
	else
	{
		if(dependsOnFieldValue == field2_value)
			docheck = true;
	}

	if(docheck == true)
	{
		// need to check if object is not empty
		result = false;
	    if(object.length)
	    {
	        // radio buttons or select list
	        if(object.type && object.type == 'select-one')
	        {
	        	if(object.value != '')
	        	{
	        		result = true;
	        	}
	        }
	        else
	        {
	            is_checked = false;
	            for(i = 0; i < object.length; i++)
	            {
	               if(object.item(i).checked == true)
	               {
	                   is_checked = true;
	               }
	            }
	            result = is_checked;
	        }
	    }
	    else
	    {
	    	if(object.value != '')
	    	{
	    		result = true;
	    	}
	    }
	}

    return result;

}