function checkAll(formId, elementName, checked)
{
    for (i = 0; i < document.getElementById(formId).elements.length; i++) {
        if (document.getElementById(formId).elements[i].name == elementName) {
            document.getElementById(formId).elements[i].checked = checked;
        }
    }
}

function checkFirst(formId, elementName, elementValue)
{
    checked = true;
    for (i = 0; i < document.getElementById(formId).elements.length; i++) {
        if (document.getElementById(formId).elements[i].name == elementName &&
            document.getElementById(formId).elements[i].checked == false) {
            if (document.getElementById(formId).elements[i].value != elementValue) {
                checked = false;
                break;
            }
        }
    }

    for (i = 0; i < document.getElementById(formId).elements.length; i++) {
        if (document.getElementById(formId).elements[i].name == elementName &&
            document.getElementById(formId).elements[i].value == elementValue) {
            document.getElementById(formId).elements[i].checked = checked;
            break;
        }
    }
}

function numChecked(formId, elementName)
{
    count = 0;
    for (i = 0; i < document.getElementById(formId).elements.length; i++) {
        if (document.getElementById(formId).elements[i].name == elementName) {
            count += document.getElementById(formId).elements[i].checked;
        }
    }
	return count;
}
function doSubmit(elementName, formId, action, href, referer)
{
    if (undefined != referer) {
        document.getElementById(formId).referer.value = referer;
    }

	if ('cancel' == action) {
		document.location.href = document.getElementById(formId).referer.value;
	}
	
	if ('saveandadd' == action || 'save' == action) {
		document.getElementById(formId).submit();
	}

    if ('add' == action || 'index' == action) {
        document.location.href = href;
    } else {
		if ('delete' == action || 'hide' == action || 'show' == action || 'decline' == action || 'enable' == action || 'disable' == action || 'approve' == action || 'move' == action || ('cancel' != action && 'saveandadd' != action && 'save' != action)) {
        	if (numChecked(formId, elementName + '[]')) {
            	document.getElementById(formId).action = href;
            	document.getElementById(formId).submit();
        	}
		}
    }
}
