/**
 * Sets form page_action, calls an onsubmit function when exists, submits the form
 */
function setAction(form, action, skipVal, form_cd){

    form.page_action.value = action;

    if(form_cd!=null){
        form.app_form_cd.value = form_cd;
    }

    if(form.skipVal && '1' == skipVal){
        form.skipVal.value = '1';
    }
}

function handleDateTime(id,dt_fmt,t_fmt)
{
    //var USER_DATE_FMT_REG = '/[0-3][0-9]/[0-3][0-9]/[12][0-9][0-9][0-9]/';
    ////var test =new RegExp(USER_DATE_FMT_REG);
    var tm = document.getElementById(id);
    var dt = document.getElementById(id + "_dt");
    var t = document.getElementById(id + "_t");

    var date_value = null;
    var time_value = null;

    //check if elements exists
    if(!tm || !dt || !t ) return false;

    //datetime control//date deleted in browser
    if((dt.value == dt_fmt || dt.value == "") &&
        (dt.type != 'hidden' && t.type != 'hidden'))
    {
        t.value = t_fmt;
        tm.value = "";
        return true;
    }

    //date control//date deleted in browser
    if((dt.value == dt_fmt || dt.value == "") &&
        (dt.type != 'hidden' && t.type == "hidden"))
    {
        tm.value = "";
        return true;
    }

    //time control//time deleted in browser
    if((t.value == t_fmt || t.value == "") &&
        (dt.type == 'hidden' && t.type != "hidden"))
    {
        tm.value = "";
        return true;
    }

    if(dt.value != ""){
         date_value = dt.value;
    }

    if(t.value != "" && t.value != t_fmt){
        time_value = t.value.length == 5 ? t.value + ":00:000" :  t.value;
    }else{
        time_value = "00:00:00:000";
    }

    if(date_value == null)
        date_value = "01/01/1900";

    tm.value = date_value + " " + time_value;

    return true;

}

function handleCurrency(id){

    var disp = document.getElementById(id + "_c");
    var hdn = document.getElementById(id); //hidden (value with removed commas)

    //check if element exists
    if(!disp || !hdn)
        return false;

    var str = disp.value;
    hdn.value = str.replace(/,/g,"");

    return true;

}

//ENTER and BACKSPACE handling
$(function() {

        document.onkeydown = function(e) {

          var srcE = null;
          if (window.event){//IE
                e = window.event;
                srcE = e.srcElement;
          }else{
                srcE = e.target;
          }

          //BACKSPACE key
         if (((e.which && e.which == 8) || (e.keyCode && e.keyCode == 8)) &&
              srcE.form != null &&
              srcE.getAttribute('readonly')){

                e.cancelBubble = true;
                e.returnValue = false;

          }

          //ENTER key
          if ( ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) &&
              srcE.tagName != 'SELECT'){

             if($('[type=submit].default').length == 1){

                    $('[type=submit].default').eq(0).focus(); //divided for visually focusing btn in IE
                    $('[type=submit].default').eq(0).click();
                    return false;

              }

              return true;

          } else {

                return true;

          }
    }

});

