

function ExecTable(Cmd, Param1, Param2, Param3, Message, Selected, SelectedNames) {
    Param1          = Param1            || 0;
    Param2          = Param2            || 0;
    Param3          = Param3            || 0;
    Message         = Message           || 0;
    SelectedNames   = SelectedNames     || 'CheckList[]';

    //return  alert('ExecTable: Cmd=' + Cmd + ', Param1=' + Param1 + ', Param2=' + Param2 + ', Param3=' + Param3 + ', Selected=' + Selected);
    if (Selected > 0) {
        var Items = document.getElementsByName(SelectedNames); //'CheckList[]'
        var Len = Items.length;
        var Total = 0;
    	for (i=0; i < Len; i++) {
    		if (Items[i].checked == true) Total++;
    	}
        if (Selected == 1) {
            if (Total == 0) {
                alert('Please, select an item first.');
                return false;
            } else if (Total > 1) {
                alert('Please, select only one item first.');
                return false;
            }
        } else if (Total == 0) {
            alert('Please, select some items first.');
            return false;
        }
        if (Message) Message = Message.replace('[Total]', Total);
    }
    if (Message) if (!confirm(Message)) return;

    var f = document.getElementById('FormExecTable');
    f.Cmd.value    = Cmd;
    f.Param1.value = Param1;
    f.Param2.value = Param2;
    f.Param3.value = Param3;
    f.submit();
    return false;
}
function OnTableCheck(id) {
    var check  = get('CheckAll');
    var items  = document.getElementsByName('CheckList[]');
    var length = items.length;

    if (id == 0) {
        for (i = 0; i < length; i++) {
            id = items[i].id;
            id = id.replace('grid-row-check', '');
            if (items[i].disabled == false) {
    			items[i].checked = check.checked;
                var r = get('grid-row' + id);
                if (check.checked) {
                    if (!hasClass(r, 'selected')) r.className += ' ' + 'selected';
                } else {
                    if (hasClass(r, 'selected')) removeClass(r, 'selected');
                }
            }
        }
    } else {
        var all = true;
		for (i = 0; i < length; i++ ) {
			if (items[i].disabled) continue;
            if (items[i].checked) continue;
            all = false;
			break;
		}
        check.checked = all;
	}
}
