function doAction(form_name, action_desc,action) {
    act = document.getElementById("ACTION:"+form_name);
    act.value = action_desc;
    frm = document.getElementById(form_name);
    if (!(action === undefined)) frm.action = action;
    frm.submit();
}
function checkRequired(fld_list) {
    var missing = new Array()
    flds = fld_list.split(',');
    for ( var fld in flds ) {
        var farr=document.getElementsByName(fld);
        for ( var f in farr) {
            if (f.type == "text" || f.type == "textarea" || f.type == "file" || f.type == "password") {
                if (f.value.length == 0) {
                    missing.push(fld);
                }
            } else if (f.type == "checkbox") {
                if (!f.checked) {
                    missing.push(fld);
                }
            } else if (f.type == "select-one" || f.type == "select-multiple") {
                if (f.options[f.selectedIndex].value == "") {
                    missing.push(fld);
                }
            }
        }
    } 
    return missing;
}

function changePage(form_name, pageno_obj, page_offset) {
    var pn = document.getElementById(pageno_obj);
    if(pn) {
        pn.selectedIndex=pn.selectedIndex + page_offset;
        document.getElementById(form_name).submit();
    }
}
function disableLike(formid,disabled,prefix) {
    frm = document.getElementById(formid);
    for (var i=0;i<frm.length;i++) {
    if (frm.elements[i] != undefined && frm.elements[i].name != undefined && frm.elements[i].name.substring(0,prefix.length) == prefix) {
            try {
                frm.elements[i].disabled = disabled;
                frm.elements[i].className = frm.elements[i].className.replace(/readonly/,'');
                if (disabled) {
                    frm.elements[i].className.concat(' readonly');
                }
                frm.elements[i].className = frm.elements[i].className.replace(/^\s+|\s+$/g,"");
            } catch(err) {
            }
        }
    }
}

function postwith (to,p) {
  var myForm = document.createElement("form");
  myForm.method="post";
  myForm.action = to;
  for (var k in p) {
    var myInput = document.createElement("input");
    myInput.setAttribute("type", "hidden");
    myInput.setAttribute("name", k);
    myInput.setAttribute("value", p[k]);
    myForm.appendChild(myInput);
  }
  document.body.appendChild(myForm);
  myForm.submit();
  document.body.removeChild(myForm);
}

function numbersOnly(e) {
    var evt = (e) ? e : window.event;
    var key = (evt.keyCode) ? evt.keyCode : evt.which;

    if(key != null) {
        key = parseInt(key, 10);
        if((key < 48 || key > 57) && (key < 96 || key > 105)) {
            if(!isUserFriendlyChar(key))
                return false;
        } else {
            if(evt.shiftKey)
            return false;
        }
    }
    return true;
}

function isUserFriendlyChar(val) {
    // Backspace, Tab, Enter, Insert, and Delete
    if(val == 8 || val == 9 || val == 13 || val == 45 || val == 46)
    return true;

    // Ctrl, Alt, CapsLock, Home, End, and Arrows
    if((val > 16 && val < 21) || (val > 34 && val < 41))
    return true;

    // The rest
    return false;
}