function elm_encode(object_value){ return encodeURIComponent(object_value); } function elm_decode(object_value){ return decodeURIComponent(object_value); } function vld_elm_val(type, nm, alias, req, max_len, auto_focus){ if(typeof auto_focus == 'undefined') var auto_focus = false; try{ vld_elm_typ(type, nm, alias); var elm_name = type + "_" + nm; elm = get_obj(elm_name); if(elm == null) return; var elm_val = elm_decode(get_elm_val(type, nm)); switch(type){ default: if(req && elm_val == "") catch_error(alias + " must not be empty"); else if(max_len > 0 && elm_val.length > max_len) catch_error(alias + " must not exceed " + max_len.toString() + " character(s)"); break; } }catch(e){ if(auto_focus) elm.focus(); catch_error(get_error(e)); } } function set_elm_val(type, nm, val, param){ if(typeof param == 'undefined') var param = new Array(); var elm_name = type + "_" + nm; elm = get_obj(elm_name); if(elm == null) return; switch(type){ case "dap": tmp_elm_dd = get_obj(elm_name + "_dd"); tmp_elm_mm = get_obj(elm_name + "_mm"); tmp_elm_yy = get_obj(elm_name + "_yy"); if(val != "" && val != "0000-00-00"){ elm.value = param["text"]; tmp_val = val.split("-"); tmp_elm_dd.value = tmp_val[2]; tmp_elm_mm.options[to_int(tmp_val[1])].selected = true; tmp_elm_yy.value = tmp_val[0]; tmp_elm_dd.readOnly = false; tmp_elm_yy.readOnly = false; }else{ elm.value = ""; tmp_elm_dd.value = ""; tmp_elm_mm.options[0].selected = true; tmp_elm_yy.value = ""; tmp_elm_dd.readOnly = true; tmp_elm_yy.readOnly = true; } break; case "dtp": tmp_elm_dd = get_obj(elm_name + "_dd"); tmp_elm_mm = get_obj(elm_name + "_mm"); tmp_elm_yy = get_obj(elm_name + "_yy"); tmp_elm_h = get_obj(elm_name + "_h"); tmp_elm_m = get_obj(elm_name + "_m"); tmp_elm_s = get_obj(elm_name + "_s"); if(val != "" && val != "0000-00-00 00:00:00" && val.length == 19 && val.substring(0,10) != "0000-00-00" ){ elm.value = param["text"]; dap_val = val.substring(0,10).split("-"); tmp_elm_dd.value = dap_val[2]; tmp_elm_mm.options[to_int(dap_val[1])].selected = true; tmp_elm_yy.value = dap_val[0]; tmp_elm_dd.readOnly = false; tmp_elm_yy.readOnly = false; tip_val = val.substring(11).split(":"); tmp_elm_h.value = tip_val[0]; tmp_elm_m.value = tip_val[1]; tmp_elm_s.value = tip_val[2]; tmp_elm_h.readOnly = false; tmp_elm_m.readOnly = false; tmp_elm_s.readOnly = false; }else{ elm.value = ""; tmp_elm_dd.value = ""; tmp_elm_mm.options[0].selected = true; tmp_elm_yy.value = ""; tmp_elm_h.value = ""; tmp_elm_m.value = ""; tmp_elm_s.value = ""; tmp_elm_dd.readOnly = true; tmp_elm_yy.readOnly = true; tmp_elm_h.readOnly = true; tmp_elm_m.readOnly = true; tmp_elm_s.readOnly = true; } break; case "num": tmp_elm_scl = get_obj(elm_name + "_scl"); tmp_elm_pre = get_obj(elm_name + "_pre"); elm.value = param["text"]; if(val != ""){ tmp_val = val.split("."); tmp_elm_scl.value = tmp_val[0]; tmp_elm_pre.value = tmp_val[1]; }else{ tmp_elm_scl.value = "0"; tmp_elm_pre.value = "0"; } break; case "cbo": cbo_select(elm_name, val); break; case "uim": dimension = get_obj("dim_" + elm_name).value.split(","); img_url = url("thumbnail", "unt"); img_url = url_add_prm(img_url, "w", dimension[0]); img_url = url_add_prm(img_url, "h", dimension[1]); if(val == ""){ elm.value = ""; img_url = url_add_prm(img_url, "f", ""); }else{ elm.value = val; img_url = url_add_prm(img_url, "f", val); } get_obj(elm_name + "_img").src = img_url; break; case "chk": elm.checked = val; break; case "htm": elm_edt = get_obj(elm_name + "_edt"); elm.innerHTML = val; elm_edt.value = val; break; case "url": if(val == "") elm.value = "http://" else elm.value = val; break; case "tip": tmp_elm_hh = get_obj(elm_name + "_hh"); tmp_elm_mm = get_obj(elm_name + "_mm"); tmp_elm_ss = get_obj(elm_name + "_ss"); elm.value = prm["text"]; if(val != ""){ tmp_val = val.split(":"); tmp_elm_hh.value = tmp_val[0]; tmp_elm_mm.value = tmp_val[1]; tmp_elm_ss.value = tmp_val[2]; }else{ tmp_elm_hh.value = ""; tmp_elm_mm.value = ""; tmp_elm_ss.value = ""; } break; case "nup": tmp_elm_scl = get_obj(elm_name + "_scl"); tmp_elm_pre = get_obj(elm_name + "_pre"); elm.value = param["text"]; if(val != ""){ tmp_val = val.split("."); tmp_elm_scl.value = tmp_val[0]; tmp_elm_pre.value = tmp_val[1]; }else{ tmp_elm_scl.value = "0"; tmp_elm_pre.value = "0"; } break; default: elm.value = val; break; } } function get_elm_val(type, nm){ var elm_name = type + "_" + nm; elm = get_obj(elm_name); if(elm == null) return; switch(type){ case "dap": tmp_elm_dd = get_obj(elm_name + "_dd"); tmp_elm_mm = get_obj(elm_name + "_mm"); tmp_elm_yy = get_obj(elm_name + "_yy"); dd = tmp_elm_dd.value; if(dd == "") dd = "00"; if(dd.length == 1) dd = "0" + dd; mm = tmp_elm_mm.value; if(mm == "") mm = "00"; if(mm.length == 1) mm = "0" + mm; yy = tmp_elm_yy.value; if(yy == "") yy = "00"; for(var i=yy.length;i<4;i++) yy = "0" + yy; val = yy + "-" + mm + "-" + dd; return val; break; case "inm": val = elm.value; val = str_replace(val, ",", ""); val = to_int(val); return elm_encode(val); break; case "inp": val = elm.value; val = str_replace(val, ",", ""); val = to_int(val); return elm_encode(val); break; case "dtp": tmp_elm_dd = get_obj(elm_name + "_dd"); tmp_elm_mn = get_obj(elm_name + "_mm"); tmp_elm_yy = get_obj(elm_name + "_yy"); dd = tmp_elm_dd.value; if(dd == "") dd = "00"; if(dd.length == 1) dd = "0" + dd; mm = tmp_elm_mn.value; if(mm == "") mm = "00"; if(mm.length == 1) mm = "0" + mm; yy = tmp_elm_yy.value; if(yy == "") yy = "00"; for(var i=yy.length;i<4;i++) yy = "0" + yy; dap_val = yy + "-" + mm + "-" + dd; tmp_elm_hh = get_obj(elm_name + "_h"); tmp_elm_mm = get_obj(elm_name + "_m"); tmp_elm_ss = get_obj(elm_name + "_s"); hh = tmp_elm_hh.value; if(hh != ""){ if(hh.length == 1) hh = "0" + hh; }else hh = "00"; mm = tmp_elm_mm.value; if(mm != ""){ if(mm.length == 1) mm = "0" + mm; }else mm = "00"; ss = tmp_elm_ss.value; if(ss != ""){ if(ss.length == 1) ss = "0" + ss; }else ss = "00"; tip_val = hh + ":" + mm + ":" + ss; return dap_val + " " + tip_val; break; case "num": tmp_elm_scl = get_obj(elm_name + "_scl"); tmp_elm_pre = get_obj(elm_name + "_pre"); tmp_elm_pre.value = str_replace(tmp_elm_pre.value,"-",""); val = tmp_elm_scl.value; val_pre = tmp_elm_pre.value; if(val == "-0"){ val = to_num("0." + val_pre) * -1; }else{ if(val == "-" || val == "") val = "0"; val = to_num(val); if(val >= 0) val = val + to_num("0." + val_pre); else val = val - to_num("0." + val_pre); } return elm_encode(val); break; case "chk": if(elm.checked) return "1"; else return "0"; break; case "htm": elm_edt = get_obj(elm_name + "_edt"); return elm_encode(elm_edt.value); break; case "tip": tmp_elm_hh = get_obj(elm_name + "_hh"); tmp_elm_mm = get_obj(elm_name + "_mm"); tmp_elm_ss = get_obj(elm_name + "_ss"); hh = tmp_elm_hh.value; if(hh != ""){ if(hh.length == 1) hh = "0" + hh; } mm = tmp_elm_mm.value; if(mm != ""){ if(mm.length == 1) mm = "0" + mm; } ss = tmp_elm_ss.value; if(ss != ""){ if(ss.length == 1) ss = "0" + ss; } if(hh == "" || mm == "" || ss == "") val = ""; else val = hh + ":" + mm + ":" + ss; return elm_encode(val); break; case "nup": tmp_elm_scl = get_obj(elm_name + "_scl"); tmp_elm_pre = get_obj(elm_name + "_pre"); tmp_elm_pre.value = str_replace(tmp_elm_pre.value,"-",""); val = tmp_elm_scl.value; val_pre = tmp_elm_pre.value; if(val == "-0"){ val = to_num("0." + val_pre) * -1; }else{ if(val == "-" || val == "") val = "0"; val = to_num(val); if(val >= 0) val = val + to_num("0." + val_pre); else val = val - to_num("0." + val_pre); } return elm_encode(val); break; default: return elm_encode(elm.value); break; } } function vld_elm_typ(type, field_name, elm){ switch(type){ default: return ""; break; } return ""; } function set_elm_lock(type, nm, lock){ if(typeof lock == "undefined") var lock = true; var elm_name = type + "_" + nm; elm = get_obj(elm_name); if(elm == null) return; switch(type){ case "dap": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_pck = get_obj(elm_name + "_pck"); elm_pck.style.display = enable_sub; elm_dd = get_obj(elm_name + "_dd"); elm_yy = get_obj(elm_name + "_yy"); if(elm.value == ""){ elm_dd.readOnly = true; elm_yy.readOnly = true; }else{ elm_dd.readOnly = false; elm_yy.readOnly = false; } break; case "inm": tmp_val = elm.value; tmp_val = str_replace(tmp_val, ",", ""); elm.value = tmp_val; elm.readOnly = enable; break; case "inp": tmp_val = elm.value; tmp_val = str_replace(tmp_val, ",", ""); elm.value = tmp_val; elm.readOnly = lock; break; case "dtp": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_pck = get_obj(elm_name + "_pck"); elm_pck.style.display = enable_sub; elm_dd = get_obj(elm_name + "_dd"); elm_yy = get_obj(elm_name + "_yy"); if(elm.value == ""){ elm_dd.readOnly = true; elm_yy.readOnly = true; }else{ elm_dd.readOnly = false; elm_yy.readOnly = false; } break; case "cmd": enable = ""; if(lock) enable = "disabled"; elm.disabled = enable; break; case "num": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_edt = get_obj(elm_name + "_edt"); elm_edt.style.display = enable_sub; break; case "cbo": enable = ""; if(lock) enable = "disabled"; elm.disabled = enable; break; case "uim": enable_sub = ""; if(lock) enable_sub = "none"; elm_edt = get_obj(elm_name + "_upload"); elm_edt.style.display = enable_sub; break; case "chk": enable = ""; if(lock) enable = "disabled"; elm.disabled = enable; break; case "htm": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_edt = get_obj(elm_name + "_edt"); elm_edt.style.display = enable_sub; break; case "tip": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_edt = get_obj(elm_name + "_edt"); elm_edt.style.display = enable_sub; break; case "nup": enable_sub = ""; enable = "none"; if(lock){ enable = ""; enable_sub = "none"; } elm.style.display = enable; elm_edt = get_obj(elm_name + "_edt"); elm_edt.style.display = enable_sub; break; default: elm.readOnly = lock; break; } } function validate_date(date_name){ tmp_elm_dd = get_obj("dap_" + date_name + "_dd"); tmp_elm_mm = get_obj("dap_" + date_name + "_mm"); tmp_elm_yy = get_obj("dap_" + date_name + "_yy"); if (tmp_elm_mm.value == "0") set_elm_val("dap", date_name,""); else{ tmp_elm_dd.readOnly = false; tmp_elm_yy.readOnly = false; dt = new Date(); dd = 1; yy = dt.getYear(); if(!is_ie()) yy = yy + 1900; if(tmp_elm_dd.value != "" && to_int(tmp_elm_dd.value) != 0 && !isNaN(to_int(tmp_elm_dd.value))) dd = to_int(tmp_elm_dd.value); if(tmp_elm_yy.value != "" && to_int(tmp_elm_yy.value) != 0 && !isNaN(to_int(tmp_elm_yy.value))) yy = to_int(tmp_elm_yy.value); dt_max = new Date(yy, to_int(tmp_elm_mm.value), 0); if(dd > dt_max.getDate()) dd = dt_max.getDate(); dd = dd.toString(); yy = yy.toString(); if(dd.length == 1) dd = "0" + dd; for(var i=yy.length;i<4;i++) yy = "0" + yy; tmp_elm_dd.value = dd; tmp_elm_yy.value = yy; } } function validate_inm_key(name, evt, len){ elm = get_obj("inm_" + name); if(evt.keyCode == 109 || evt.keyCode == 189){ validate_inm(name, len, ","); tmp_val = to_int(elm.value); tmp_val = tmp_val * -1; elm.value = tmp_val; cancel_event(evt); return false; }else{ tmp_val = to_int(elm.value); if(tmp_val >= 0 && tmp_val.toString().length >= len){ if(!is_number_helper_key(evt.keyCode)){ cancel_event(evt); return false; } } } return true; } function validate_inm(name, len){ var val = 0; elm = get_obj("inm_" + name); elm.value = str_replace(elm.value,",",""); val = elm.value; if(val == "-" || val == "") val = "0"; val = to_int(val); if(val > 0 && val.toString().length > len) val = val.toString().substring(0,len); else if(val.toString().length > (len+1)) val = val.toString().substring(0,(len+1)); elm.value = val; } function validate_inp(nm, len){ var val = 0; elm = get_obj("inp_" + nm); elm.value = str_replace(elm.value, ",", ""); val = elm.value; if(val == "-" || val == "") val = "0"; val = to_int(val); if(val < 0) val = val * -1; if(val > 0 && val.toString().length > len) val = val.toString().substring(0,len); else if(val.toString().length > (len+1)) val = val.toString().substring(0,(len+1)); elm.value = val; } function validate_date_time(nm){ tmp_elm_dd = get_obj("dtp_" + nm + "_dd"); tmp_elm_mm = get_obj("dtp_" + nm + "_mm"); tmp_elm_yy = get_obj("dtp_" + nm + "_yy"); tmp_elm_h = get_obj("dtp_" + nm + "_h"); tmp_elm_m = get_obj("dtp_" + nm + "_m"); tmp_elm_s = get_obj("dtp_" + nm + "_s"); if (tmp_elm_mm.value == "0") set_elm_val("dtp", nm, ""); else{ tmp_elm_dd.readOnly = false; tmp_elm_yy.readOnly = false; tmp_elm_h.readOnly = false; tmp_elm_m.readOnly = false; tmp_elm_s.readOnly = false; dt = new Date(); dd = 1; yy = dt.getYear(); if(!is_ie()) yy = yy + 1900; if(tmp_elm_dd.value != "" && to_int(tmp_elm_dd.value) != 0 && !isNaN(to_int(tmp_elm_dd.value))) dd = to_int(tmp_elm_dd.value); if(tmp_elm_yy.value != "" && to_int(tmp_elm_yy.value) != 0 && !isNaN(to_int(tmp_elm_yy.value))) yy = to_int(tmp_elm_yy.value); dt_max = new Date(yy, to_int(tmp_elm_mm.value), 0); if(dd > dt_max.getDate()) dd = dt_max.getDate(); dd = dd.toString(); yy = yy.toString(); if(dd.length == 1) dd = "0" + dd; for(var i=yy.length;i<4;i++) yy = "0" + yy; tmp_elm_dd.value = dd; tmp_elm_yy.value = yy; h = tmp_elm_h.value; m = tmp_elm_m.value; s = tmp_elm_s.value; if(h == "" || to_int(h) < 0 || to_int(h) > 23) tmp_elm_h.value = "00"; else{ if(h.length == 1) tmp_elm_h.value = "0" + h; } if(m == "" || to_int(m) < 0 || to_int(m) > 59) tmp_elm_m.value = "00"; else{ if(m.length == 1) tmp_elm_m.value = "0" + m; } if(s == "" || to_int(s) < 0 || to_int(s) > 59) tmp_elm_s.value = "00"; else{ if(s.length == 1) tmp_elm_s.value = "0" + s; } } } function validate_num_key(nm, evt, len, pre){ tmp_elm_scl = get_obj("num_" + nm + "_scl"); tmp_elm_pre = get_obj("num_" + nm + "_pre"); val = get_elm_val("num", nm); if(evt.keyCode == 109 || evt.keyCode == 189){ validate_num(nm, len, pre); val = val * -1; res = val.toString().split("."); tmp_elm_scl.value = res[0].toString().substring(0,len); if(res.length > 1) tmp_elm_pre.value = res[1].toString().substring(0,pre); else tmp_elm_pre.value = "0"; cancel_event(evt); return false; }else{ if(val >= 0 && tmp_elm_scl.value.toString().length >= (len-1)){ if(!is_number_helper_key(evt.keyCode)){ cancel_event(evt); return false; } } } return true; } function validate_num_key_pre(nm, evt, len, pre){ if(evt.keyCode == 109 || evt.keyCode == 189){ tmp_elm_scl = get_obj("num_" + nm + "_scl"); tmp_elm_pre = get_obj("num_" + nm + "_pre"); val = get_elm_val("num", nm); validate_num(nm, len, pre); val = val * -1; res = val.toString().split("."); tmp_elm_scl.value = res[0].toString().substring(0,len); if(res.length > 1) tmp_elm_pre.value = res[1].toString().substring(0,pre); else tmp_elm_pre.value = "0"; cancel_event(evt); return false; } return true; } function validate_num(nm, len, pre){ tmp_elm_scl = get_obj("num_" + nm + "_scl"); tmp_elm_pre = get_obj("num_" + nm + "_pre"); val = get_elm_val("num", nm); res = val.toString().split("."); tmp_elm_scl.value = res[0].toString().substring(0,len); if(res.length > 1) tmp_elm_pre.value = res[1].toString().substring(0,pre); else tmp_elm_pre.value = "0"; } function cbo_select(cbo_name, val){ var cbo = get_obj(cbo_name); var len = cbo.options.length; for(var i=0;i 23) tmp_elm_hh.value = "00"; else{ if(hh.length == 1) tmp_elm_hh.value = "0" + hh; } if(mm == "" || to_int(mm) < 0 || to_int(mm) > 59) tmp_elm_mm.value = "00"; else{ if(mm.length == 1) tmp_elm_mm.value = "0" + mm; } if(ss == "" || to_int(ss) < 0 || to_int(ss) > 59) tmp_elm_ss.value = "00"; else{ if(ss.length == 1) tmp_elm_ss.value = "0" + ss; } }else{ var param= new Array() param["text"] = ""; set_elm_val("tip", time_name, "", param); } } function validate_nup(name, len, pre){ tmp_elm_scl = get_obj("nup_" + name + "_scl"); tmp_elm_pre = get_obj("nup_" + name + "_pre"); val = get_elm_val("nup", name); if(val < 0) val = val * -1; res = val.toString().split("."); scl_val = res[0].toString().substring(0,len); try{ pre_val = res[1].toString().substring(0,pre); }catch(e){ pre_val = 0; } tmp_elm_scl.value = scl_val; tmp_elm_pre.value = pre_val; }