function selectAll(form_obj, name)
{ 
    for(var i = 0; i < form_obj.elements.length; i++)
    {
        var elem = form_obj.elements[i];
        if(elem.type == 'checkbox' && elem.name == name)
        {
            elem.checked = true;
        }
    }
    return;
}
function selectNone(form_obj, name)
{
    for(var i = 0; i < form_obj.elements.length; i++)
    {
        var elem = form_obj.elements[i];
        if(elem.type == 'checkbox' && elem.name == name)
        {
            elem.checked = false;
        }
    }
    return;
}
function selectInverse(form_obj, name)
{
    for(var i = 0; i < form_obj.elements.length; i++)
    {
        var elem = form_obj.elements[i];
        if(elem.type == 'checkbox' && elem.name == name)
        {
            elem.checked = elem.checked ? false: true;
        }
    }
    return;
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
    if(!radioObj)
        return "";
    var radioLength = radioObj.length;
    if(radioLength == undefined)
        if(radioObj.checked)
            return radioObj.value;
        else
            return "";
    for(var i = 0; i < radioLength; i++) {
        if(radioObj[i].checked) {
            return radioObj[i].value;
        }
    }
    return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
    if(!radioObj)
        return;
    var radioLength = radioObj.length;
    if(radioLength == undefined) {
        radioObj.checked = (radioObj.value == newValue.toString());
        return;
    }
    for(var i = 0; i < radioLength; i++) {
        radioObj[i].checked = false;
        if(radioObj[i].value == newValue.toString()) {
            radioObj[i].checked = true;
        }
    }
}
