/**
* Returns the value of the selected radio button in the radio group, null if
* none are selected, and false if the button group doesn't exist
*
* @param {radio Object} or {radio id} el
* OR
* @param {form Object} or {form id} el
* @param {radio group name} radioGroup
* var value = $RF('radio_btn_id');
* var value = $RF('form_id', 'radio_grp_name');
*/
function $RF(el, radioGroup) { 
    if($(el).type && $(el).type.toLowerCase() == 'radio') { 
        var radioGroup = $(el).name; 
        var el = $(el).form; 
    } else if ($(el).tagName.toLowerCase() != 'form') { 
        return false; 
    } 

    var checked = $(el).getInputs('radio', radioGroup).find( 
        function(re) {return re.checked;} 
    ); 
    return (checked) ? $F(checked) : null; 
}  

function add_error_box(field)
{
	if( ! $$(field).first().hasClassName("input-error") ) $$(field).first().addClassName("input-error");
}

function remove_error_box(field)
{
	if( $$(field).first().hasClassName("input-error") ) $$(field).first().removeClassName("input-error");
}

function show_error(input_id, msg)
{
	add_error_box(input_id);
	var pos = $$(input_id).first().cumulativeOffset();
	if( ! $('input-error') )
	{
		var c = new Element("div", {
							id: 'input-error'
							});
		c.update(msg);
		c.setStyle({
				   left: pos[0] + 'px'
				   , top: parseInt(pos[1] + $$(input_id).first().getHeight() + 10) + 'px'
				   , display: 'none'
				   , backgroundColor: '#fbffc1'
				   , border: '1px solid #faa'
				   , color: '#900'
				   , fontFamily: 'Arial'
				   , position: 'absolute'
				   , zIndex: 100
				   , padding: '5px'
				   , fontSize: '12px'
				   , fontWeight: 'bold'
				   });
		document.body.appendChild(c);
		c.show();
	} else {
		$('input-error').update(msg);
		$('input-error').setStyle({
								  left: pos[0] + 'px'
								  , top: parseInt(pos[1] + $$(input_id).first().getHeight() + 10) + 'px'
								  });
		
		$('input-error').show();
	}
	$$(input_id).first().focus();
	$$('body').first().observe("click", function(e) {
		if(Event.element(e).identify() != "submit")
		{
			hide_error();
			remove_error_box(input_id);
			$$('body').first().stopObserving('click');
		} 
	});
}

function hide_error()
{
	if($('input-error').style.display != 'none') $('input-error').hide();
}

