dwh/js/incl.js
Daeng Deni Mardaeni 5321a5434b first commit
2023-10-02 17:26:17 +07:00

342 lines
11 KiB
JavaScript

// declare variable
var obj_target
var obj_type_target
function changeColor(obj,bgcolor){
obj.style.backgroundColor = bgcolor;
}
function getComboValue (obj) {
return obj.options[obj.selectedIndex].value;
}
function chgAttr(elem) {
elem.disabled = false
}
function page_refresh(obj) {
obj.style.display='none';
location.reload(true);
}
function toUpper(field) {
field.value = field.value.toUpperCase()
}
function getCoordinates(event) {
xPos = event.clientX;
yPos = event.clientY;
}
function validateForm(frm) {
var retValidate = 1;
var fType;
var fAttrib;
var fValue;
var fNote;
var fName;
var dbname;
var fReadOnly;
var fDisplay;
var dAkhir;
for (i = 0; i < frm.elements.length; i++) {
dbname = frm.elements[i].dbname;
fDisplay = frm.elements[i].display;
//alert(fType + ' - '+ dbname + ' - '+ fDisplay);
if ( dbname.length > 0 && fDisplay == 'block' ) {
fName = frm.elements[i].name;
fType = frm.elements[i].type.toUpperCase();
fAttrib = frm.elements[i].ATTRIB;
fNote = frm.elements[i].note;
fValue = frm.elements[i].value;
//alert(fType + ' - ' + fName +' - '+dbname + ' - '+fDisplay + ' - ' + fNote + ' - ' + fAttrib);
if (fType == 'TEXT') {
fReadOnly = frm.elements[i].readOnly;
var dType = cekDataType(fAttrib.charAt(0), fValue);
//alert('fReadOnly ' + fReadOnly + 'dType ' + dType);
if (fAttrib.charAt(1) == 'M' && fValue.length == 0) {
alert(fNote + ' Mandatory !');
if (fReadOnly == false) {
frm.elements[i].focus();
}
retValidate = 0;
break;
}
if (fReadOnly == false || dType == 'D') {
switch (dType) {
case "N":
alert(fNote + ' Numerik !');
frm.elements[i].focus();
retValidate = 0;
break;
case "I":
alert(fNote + ' Integer !');
frm.elements[i].focus();
retValidate = 0;
break;
case "S":
alert(fNote + ' mengandung karakter tidak diijinkan !');
frm.elements[i].focus();
retValidate = 0;
break;
case "D":
if (dbname == 'TGL_AWAL') {
var checkTgl = check_range(frm.elements[i], document.getElementById("TGL_AKHIR"));
if (checkTgl == 0) {
frm.elements[i].focus();
retValidate = 0;
}
}
if (dbname == 'TGL_AKHIR') {
var checkTgl = check_range(document.getElementById("TGL_AWAL"), frm.elements[i]);
if (checkTgl == 0) {
frm.elements[i].focus();
retValidate = 0;
}
}
break;
}
if (retValidate == 0) {
break;
}
if (fAttrib.charAt(2) == 'K') {
strRegExp = "[^A-Za-z0-9]";
charpos = fValue.search(strRegExp);
if (charpos >= 0) {
alert(fNote + ' hanya boleh Alfabet dan atau numerik !');
frm.elements[i].focus();
retValidate = 0;
break;
}
}
}
} else if (fType == 'TEXTAREA') {
if (fAttrib.charAt(1) == 'M' && fValue.length == 0) {
alert(fNote + ' Mandatory !');
frm.elements[i].focus();
retValidate = 0;
break;
}
dType = cekDataType('S', fValue);
if (dType == "S") {
alert(fNote + ' mengandung karakter tidak diijinkan !');
frm.elements[i].focus();
retValidate = 0;
break;
}
} else if (fType == 'HIDDEN') {
if (fAttrib.charAt(1) == 'M' && fValue.length == 0) {
alert(fNote + ' Mandatory !');
retValidate = 0;
break;
}
} else if (fType == 'SELECT-ONE') {
if (fAttrib.charAt(1) == 'M') {
var fSelect = frm.elements[i].options[frm.elements[i].selectedIndex].text;
//alert(fName + '-' + fType + '-' + fValue + '-' + fSelect);
if (fSelect.length == 0) {
alert(fNote + ' Mandatory !');
frm.elements[i].focus();
retValidate = 0;
break;
}
}
}
}
}
return retValidate;
}
function cekDataType(type, value) {
var retVal = '1';
var strRegExp;
var charpos;
switch (type) {
case "N":
strRegExp = "[^0-9\.]";
charpos = value.search(strRegExp);
if (charpos >= 0) {
retVal = 'N';
}
break;
case "I":
strRegExp = "[^0-9]";
charpos = value.search(strRegExp);
if (charpos >= 0) {
retVal = 'I';
}
break;
case "S":
if (value.indexOf("^") >= 0) {
retVal = 'S';
break;
}
if (value.indexOf("*") >= 0) {
retVal = 'S';
break;
}
// if (value.indexOf("&") >= 0) {
// retVal = 'S';
// break;
// }
case "C":
strRegExp = "[^\.\,]";
charpos = value.search(strRegExp);
if (charpos >= 0) {
retVal = 'C';
}
break;
case "D":
retVal = 'D';
break;
}
return retVal;
}
function build_param(frm) {
var v_sep = "*";
var f_sep = "^";
var param = "";
//alert('build_param');
for (i = 0; i < frm.elements.length; i++) {
var fType = frm.elements[i].type.toUpperCase();
var dbname = frm.elements[i].dbname;
var fDisplay = frm.elements[i].display;
if ( dbname.length > 0 && fDisplay == 'block') {
//if ( fType != "BUTTON") {
var fValue = frm.elements[i].value;
var fName = frm.elements[i].name;
var dbname = frm.elements[i].dbname;
//alert(dbname+' - '+fType+' - '+fValue);
if (fValue.length > 0 && dbname.length > 0) {
param = param+fName+v_sep+fValue+f_sep;
}
}
}
return param;
}
function build_attr(frm) {
var v_sep = "*";
var f_sep = "^";
var param = "";
var fValue;
var fName;
var dType;
var fType;
//alert('build_attr');
for (i = 0; i < frm.elements.length; i++) {
var dbname = frm.elements[i].dbname;
var fDisplay = frm.elements[i].display;
if ( dbname.length > 0 && fDisplay == 'block') {
fName = frm.elements[i].dbname;
fAttrib = frm.elements[i].ATTRIB;
dType = fAttrib.charAt(0);
fValue = frm.elements[i].value;
fType = frm.elements[i].type.toUpperCase();
//alert(frm.elements[i].name + ' - ' + fType + ' - ' + fValue);
if (fType == 'CHECKBOX' && frm.elements[i].checked) {
fValue = '1';
}
if (dType == 'D') {
fValue = fValue.substr(6,4)+fValue.substr(3,2)+fValue.substr(0,2);
}
param = param+fName+v_sep+fValue+f_sep;
}
}
return param;
}
function check_range(obj1, obj2) {
var retValidate = 1;
var fAttrib1 = obj1.ATTRIB;
var fValue1 = obj1.value;
var fNote1 = obj1.note;
var fAttrib2 = obj2.ATTRIB;
var fValue2 = obj2.value;
var fNote2 = obj2.note;
if (fAttrib1.charAt(0) == fAttrib2.charAt(0)) {
if ((fValue1.length == 0 && fValue2.length != 0) || (fValue1.length != 0 && fValue2.length == 0)) {
alert('Kedua '+fNote1+' dan '+fNote2+' harus diisi atau tidak diisi semua');
retValidate = 0;
} else {
if (fAttrib1.charAt(0) == "D") {
fObj1Date = fValue1.substr(6,4)+fValue1.substr(3,2)+fValue1.substr(0,2);
fObj2Date = fValue2.substr(6,4)+fValue2.substr(3,2)+fValue2.substr(0,2);
if (fObj2Date < fObj1Date) {
alert(fNote1 + ' lebih besar dari ' +fNote2);
retValidate = 0;
}
} else {
if (fValue2 < fValue1) {
alert(fNote1 + ' lebih besar dari ' +fNote2);
retValidate = 0;
}
}
}
} else {
retValidate = 0;
}
return retValidate;
}
function GetDesc(obj_type, obj_name, tab, col_sel, val, col_val) {
obj_target = obj_name;
obj_type_target = obj_type;
var str = val.value;
if (obj_type_target == "SPAN" && str.length == 0) {
document.getElementById(obj_target).innerHTML = "";
return;
}
var data="action=DESC";
data=data+"&tab="+tab;
data=data+"&col_sel="+col_sel;
data=data+"&val="+str;
data=data+"&col_val="+col_val;
data=data+"&sid="+Math.random();
ajax.requestFile = 'ajax_lov.php?'+data;
ajax.onCompletion = descChanged;
ajax.runAJAX();
}
function descChanged(){
if (ajax.response == -1) {
alert("Data Tidak Ada !");
} else {
switch (obj_type_target) {
case "SPAN":
document.getElementById(obj_target).innerHTML=ajax.response;
break;
case "TEXT":
document.getElementById(obj_target).value=ajax.response;
break;
case "CHECK":
if (ajax.response == 'Y') {
document.getElementById(obj_target).checked=true;
document.getElementById(obj_target).value="1"
} else {
document.getElementById(obj_target).checked=false;
document.getElementById(obj_target).value="0"
}
break;
}
}
}
function RefreshGroupDPK(obj, name) {
var text = obj.options[obj.selectedIndex].text;
var val = obj.options[obj.selectedIndex].value;
if (name == "JNS_DEPO" || name == "JNS_GIRO" || name == "JNS_TAB") {
if (val == "%") {
document.getElementById("GROUP_REP").disabled = false;
} else {
document.getElementById("GROUP_REP").selectedIndex = 1;
document.getElementById("GROUP_REP").disabled = true;
}
}
}