//------------------------------- TAMyCode ------------------------------------- var EngCode = new Array(); var ThaiCode = new Array(); var TAMyCode=new Array(); //var lang=document.cscform.__language.value; var FormatDate="DD/MM/YYYY"; var systemName="MyHR "; var emp_status = "'U','S','X','Y','Z',''"; if( document.implementation.hasFeature("XPath", "3.0") ) { XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) { if( !xNode ) { xNode = this; } var oNSResolver = this.createNSResolver(this.documentElement) var results = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null) return results.singleNodeValue; } Element.prototype.selectSingleNode = function(cXPathString) { if(this.ownerDocument.selectSingleNode) { return this.ownerDocument.selectSingleNode(cXPathString, this); } else{throw "For XML Elements Only";} } } if(window.ActiveXObject){ var Loader = new ActiveXObject("Msxml.DOMDocument"); Loader.async = false; Loader.load("XML/SWAPLANG.xml"); if(!Loader){ Loader.load("../XML/SWAPLANG.xml"); } objDOM = Loader; }else if(window.XMLHttpRequest) { var Loader = new XMLHttpRequest(); Loader.open("GET", "XML/SWAPLANG.xml" ,false); if(!Loader){ Loader.open("GET", "../XML/SWAPLANG.xml", false); } //edit for IE11 try { Loader.responseType = 'msxml-document'; } catch(e){} Loader.send(null); objDOM = Loader.responseXML; }else{ objDOM = null; } /*===========================================*/ ThaiCode[0]="ทดสอบ"; EngCode[0]="Test"; ThaiCode[1]="กรุณากรอกข้อมูลอย่างน้อย 1 แถว"; EngCode[1]="Please insert data more than 1 row."; ThaiCode[2]="ไม่สามารถกำหนดวันที่สุดเกินวันที่"; EngCode[2]="You can't select limit date."; ThaiCode[3]="กรุณาระบุจำนวนวันที่ต้องการด้วย"; EngCode[3]="Please Entry Count Date to Process." ThaiCode[4]="กรุณาระบุจำนวนวันที่ต้องการอย่างน้อย 1 รายการ"; EngCode[4]="Please Entry Count Date Minimum is 1 row"; TAMyCode=EngCode; //---------------------------------------------------------------------- function setTALang(lan){ lang=lan.toLowerCase(); setCode(); } function getLang(){ return lang; } function setCode(){ if(getLang()=="tha"){ TAMyCode=ThaiCode; //MyAlert=ThaiAlert; }else{ TAMyCode=EngCode; //MyAlert=EngAlert; } } /*================================================================*/ function searchDescEmp(empid, desc, condition){ // alert(condition); var splitDesc="",getField="",setField=""; splitDesc = desc.split(","); for(var i = 0; i < splitDesc.length; i++){ if(splitDesc[i].indexOf("@") > -1 && splitDesc[i].indexOf(":") == -1){ if(splitDesc[i].indexOf("$") > -1) { var newDesc = splitDesc[i].substring(0,splitDesc[i].indexOf("$")); getField += newDesc.replace(/@/g,"."); }else{ getField += splitDesc[i].replace(/@/g,"."); } setField += splitDesc[i]; }else{ getField += splitDesc[i].substring(0,splitDesc[i].indexOf(":")); setField += splitDesc[i].substring(splitDesc[i].indexOf(":")+1,splitDesc[i].length); } if(i+1 == splitDesc.length){ break; }else{ getField+=","; setField+=","; } } SearchDWR.searchDBXMLAll(new Array("MEMPLOYEEHELP3", getField, "memployee:employeeid = '"+empid.value+"' "+condition, "false", "langOn"), function(data){ setField = setField.split(","); if(data.length > 0){ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],data[0][i]); } }else{ empid.value =""; for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],""); } //alert(MyCode[6]); //empid.focus(); //empid.select(); } }); } function searchEmp2(empid, desc, condition){ if(empid.value != ""){ var splitDesc="",getField="",setField=""; splitDesc = desc.split(","); for(var i = 0; i < splitDesc.length; i++){ if(splitDesc[i].indexOf("@") > -1 && splitDesc[i].indexOf(":") == -1){ if(splitDesc[i].indexOf("$") > -1) { var newDesc = splitDesc[i].substring(0,splitDesc[i].indexOf("$")); getField += newDesc.replace(/@/g,"."); }else{ getField += splitDesc[i].replace(/@/g,"."); } setField += splitDesc[i]; }else{ getField += splitDesc[i].substring(0,splitDesc[i].indexOf(":")); setField += splitDesc[i].substring(splitDesc[i].indexOf(":")+1,splitDesc[i].length); } if(i+1 == splitDesc.length){ break; }else{ getField+=","; setField+=","; } } SearchDWR.searchDBXMLAll(new Array("MEMPLOYEEHELP_FULLNAME", getField, "memployee:employeeid = '"+empid.value+"' "+condition, "false", "langOn"), function(data){ setField = setField.split(","); if(data.length > 0){ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],data[0][i]); } }else{ empid.value =""; for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],""); } } }); } } function searchBoss(bossid, desc, condition){ var splitDesc="",getField="",setField=""; splitDesc = desc.split(","); for(var i = 0; i < splitDesc.length; i++){ getField += splitDesc[i].substring(0,splitDesc[i].indexOf(":")); setField += splitDesc[i].substring(splitDesc[i].indexOf(":")+1,splitDesc[i].length); if(i+1 == splitDesc.length){ break; }else{ getField+=","; setField+=","; } } SearchDWR.searchDBXMLAll(new Array("MEMPLOYEEHELP3", getField, "memployee:employeeid = '"+bossid+"' "+condition, "false", "langOn"), function(data){ setField = setField.split(","); if(data.length > 0){ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i],data[0][i]); } }else{ for(i=0;i<setField.length;i++){ DWRUtil.setValue(setField[i], ""); } } }); } function checkAll(chk){ with(document.cscform){ for(i=0; i<elements.length; i++){ if(elements[i].name.indexOf("chk") > -1 && elements[i].name != "chkAll"){ elements[i].checked = chk.checked; } } } } function searchDWRData(helpName, keyField, id){ DWRUtil.setValue(helpName+"@TDESC", ""); if(id.value != ""){ SearchDWR.searchAll(new Array(helpName, keyField+",tdesc,edesc", keyField+" = '"+id.value+"'", keyField, "langon"), {callback:function(data){ if(data.length > 0){ DWRUtil.setValue(helpName+"@TDESC", data[0][1]); }else{ DWRUtil.setValue(helpName+"@TDESC", ""); alert(MyCode[6]); id.focus(); id.select(); } },async:true}); } } /* function : search description; param : helpName (ชื่อ Table), keyField (ชื่อ key), id (object key), no (line ที่เท่าไร) */ function searchDWRChild(helpName, keyField, id, no){ DWRUtil.setValue(helpName+"@TDESC$"+no, ""); if(id.value != ""){ SearchDWR.searchAll(new Array(helpName, keyField+",tdesc,edesc", keyField+" = '"+id.value+"'", keyField, "langon"), {callback:function(data){ if(data.length > 0){ DWRUtil.setValue(helpName+"@TDESC$"+no, data[0][1]); }else{//alert(); DWRUtil.setValue(helpName+"@TDESC$"+no, ""); alert(MyCode[6]); id.focus(); id.select(); } },async:true}); } } function dateDifferenceNoAlert(firstdate,seconddate) { //alert(firstdate +", "+ seconddate); var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year var mArray1 = firstdate.match(datePat); // is the format ok? var mArray2 = seconddate.match(datePat); // is the format ok? var month1 = mArray1[3]; // parse date into variables var day1 = mArray1[1]; var year1 = mArray1[4]; var month2 = mArray2[3]; // parse date into variables var day2 = mArray2[1]; var year2 = mArray2[4]; if(parseInt(year1)>parseInt(year2)){ //alert("Data not match !!! "); return false; }else if(parseFloat(year1)==parseFloat(year2)){ if(parseFloat(month1)>parseFloat(month2)){ //alert("Data not match !!! "); return false; }else if(parseFloat(month1)==parseFloat(month2)){ if(parseFloat(day1)>parseFloat(day2)){ //alert("Data not match !!! "); return false; } } } return true; // form should never submit, returns false } /* function เช็คว่า startdate and enddate อยู่ในสัปดาห์เดียวกันหรือไม่ param : startdate, enddate return true แสดงว่าอยู่ในสัปดาห์เดียวกัน */ function checkWeekEnd(startdate, enddate){ var stday = startdate.value.split("-"); var msg = "You can't select date more "; if(document.cscform.__language.value == "tha"){ msg = "ไม่สามารถกำหนดวันที่สุดเกินวันที่ "; } var dmy = new Date(stday[2], parseInt(stday[1],10)-1, parseInt(stday[0],10)); dmy.setDate(dmy.getDate()+(7-dmy.getDay())); var endOfWeek = dmy.getDate()+"-"+(dmy.getMonth()+1)+"-"+dmy.getYear(); if( dateDifferenceNoAlert(enddate.value, endOfWeek) ){ return true; }else{ alert(msg+setDDMMYYYY(endOfWeek)); enddate.value = setDDMMYYYY(endOfWeek); return false; } } function setDDMMYYYY(strDate){ var subDate = strDate.split("-"); if(subDate[0].length == 1){ subDate[0] = "0"+subDate[0]; } if(subDate[1].length == 1){ subDate[1] = "0"+subDate[1]; } return subDate[0]+"-"+subDate[1]+"-"+subDate[2]; } function overZero(obj){ with(document.cscform){ if(obj.value == "0"){ obj.value = "1"; obj.focus(); obj.select(); } } } function copy(child, value){ with(document.cscform){ for(i=0; i<elements.length; i++){ if(elements[i].name.indexOf(child) > -1){ elements[i].value = value; } } } } function formatNumber(num, decplaces) { num = parseFloat(num); if (!isNaN(num)) { var str = "" + Math.round (eval(num) * Math.pow(10,decplaces)); if (str.indexOf("e") != -1) { return "Out of Range"; } while (str.length <= decplaces) { str = "0" + str; } var decpoint = str.length - decplaces; var tmpNum = str.substring(0,decpoint); //---------------Add Commas-------------------------- var numRet = tmpNum.toString(); var re = /(-?\d+)(\d{3})/; while (re.test(numRet)) { numRet = numRet.replace(re, "$1,$2"); } return numRet + "." + str.substring(decpoint,str.length); } else { return "0.00"; } } function selectedEmp(tableName, fieldName){ with(document.cscform){ var empid = ""; var count = 0; for(i=0; i<elements.length; i++){ if(elements[i].checked && elements[i].type == "checkbox" && elements[i].name.indexOf("chk") > -1){ count++; var line = elements[i].value; empid = DWRUtil.getValue("__wf__"+tableName+"$"+fieldName+"$"+line); if(empid == "") alert(MyCode[15]); return empid; }// end if }// end for return empid; }// end with } function linkHelp_Return_CallFunction(help,input,newFunction){ with( document.cscform ){ var param="BROWSE_TIMEHELP.jsp?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+__fixCon.value+"&__checkVerify=off&__langOn=off&__callFunction="+newFunction; window.open(param,"Help","left=150,top=150,width=530,height=370,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function beforeSaveWF(){ with (document.cscform) { for(i=0;i<__docInputType.length;i++){ if (__docInputType[i].checked){ if (__docInputType[i].value==0) { __wf_status.value='4'; } else if (__docInputType[i].value==1) { __wf_status.value='6'; } else if (__docInputType[i].value==2) { __wf_status.value='8'; } } }// end for } } function getYYYYMMDD(dd){ var splitdate = dd.split("-"); var size = splitdate.length; var result = dd; var msg = "Date is not in a valid format."; //if(document.cscform.__language.value == "tha") msg = "รูปแบบวันที่ไม่ถูกต้อง"; if(size == 3){ result = ""; if(splitdate[0].length == 4 && splitdate[1].length == 2 && splitdate[2].length == 2){ return result; }else{ return setDDMMYYYY(splitdate[2]+"-"+splitdate[1]+"-"+splitdate[0]); } result = result.substring(1,result.length); }else{ alert(msg); } alert(result); return result; } function insertRow(theCell) { if( document.createElement && document.childNodes ) { var inputTxt = document.getElementById("txt"); var max = document.getElementById("max"); var thisRow = theCell.parentNode; var newElement = thisRow.cloneNode(true); max.value++; inputTxt.setAttribute("name","txt"+max.value); inputTxt.setAttribute("value",inputTxt.name); thisRow.parentNode.insertBefore(newElement,thisRow .nextSibling); } } /* deleteRow * Deletes a row when a cell is clicked on. * Gets a reference to the row that the cell is in, then deltes the * entire row from the table. */ function deleteRow1(theCell) { var con = confirm("Are you sure delete."); if(con){ if( document.createElement && document.childNodes ) { var thisRow = theCell.parentNode; thisRow.parentNode.removeChild(thisRow); } } } function isDuplicateDate(firstdate, seconddate){ //alert(firstdate +", "+ seconddate); var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year var mArray1 = firstdate.match(datePat); // is the format ok? var mArray2 = seconddate.match(datePat); // is the format ok? var month1 = mArray1[3]; // parse date into variables var day1 = mArray1[1]; var year1 = mArray1[4]; var month2 = mArray2[3]; // parse date into variables var day2 = mArray2[1]; var year2 = mArray2[4]; if(parseInt(year1)==parseInt(year2) && parseInt(month1)==parseInt(month2) && parseInt(day1)==parseInt(day2)) return true; else return false; // form should never submit, returns false } // check รหัสบัตรประชาชน function checkID(id) { if(id.length != 13) return false; for(i=0, sum=0; i < 12; i++) sum += parseFloat(id.charAt(i))*(13-i); if((11-sum%11)%10!=parseFloat(id.charAt(12))) return false; return true; } /** * Create By : Hunter * Edit Date : 12/1/2551 * Param : Object Name * Return : boolean * Event : true > focus(), select() * : false > ... */ function chkNullValue(objName, eventObj){ var obj = document.getElementById(objName); if (typeof obj != "undefined") { if (obj.value == "") { if (eventObj){ obj.focus(); obj.select(); } return true; }else{ return false; } } } /** * Create By : Hunter * Edit Date : 14/1/2551 * Param : firstdate, seconddate * Return : amount days * Event : */ function countDate(start_date, end_date){ if(isValidDate(start_date) && isValidDate(end_date)){ var splitStDate = start_date.split("-"); var splitEnDate = end_date.split("-"); var stDate = new Date(splitStDate[2], splitStDate[1]-1, splitStDate[0]); var enDate = new Date(splitEnDate[2], splitEnDate[1]-1, splitEnDate[0]); var diff = enDate-stDate; //unit is milliseconds diff=Math.round(diff/1000/60/60/24); return diff+1; } } /** Create By : Hunter Edit Date : 17/1/2551 Param : obj (Object inner Table) Return : Event : */ function deleteRow(btn) { var con = confirm(MyCode[4]); if(con){ var cell, row, sect; if((cell = btn.parentNode) && (row = cell.parentNode)&& (sect = row.parentNode) && sect.removeChild){ row.parentNode.removeChild(cell.parentNode); var list_record = document.getElementById("__wf__list_record"); var line = btn.name.substring(btn.name.lastIndexOf("$")+1, btn.name.length); var split_list = list_record.value.split(","); for(i = 1; i<split_list.length; i++){ if(split_list[i] == line) list_record.value = list_record.value.replace(","+line,""); } } } } /** Create By : Hunter Edit Date : 17/1/2551 Description : Get Table Name From Child Table. It's substring from 0 to $. Param : obj (Object inner Table) Return : table name. ex >> __wf__table Event : */ function getChildTbName(obj){ if (typeof obj != "undefined"){ return obj.name.substring(0, obj.name.indexOf("$")); } } function getChildLine(obj){ if (typeof obj != "undefined"){ return obj.name.substring(obj.name.lastIndexOf("$")+1, obj.name.length); } } /** Create By : Hunter Edit Date : 22/1/2551 Description : Convert time to minute. Param : value (ex. 1.30 hr. >>> 90 min) Return : Minute */ function TmToMin(value){ var subTime = value.split("."); var h2m = 0; var min = 0; if (subTime.length == 2) { var h = Number(subTime[0]); var m = Number(subTime[1]); h2m = h*60; min = m + h2m; } return min; } /** Create By : Hunter Edit Date : 22/1/2551 Description : Convert minute to normal time. Param : value (ex. 90 min >>> 1.30 hr.) Return : HR. */ function MinToTm(value){ var h = 0; var m = 0; var hm = 0; h = parseInt(Number(value)/60); m = Number(value)%60; return h+"."+m; } /* Create By Hunter Edit Date : 3/4/2551 Description : Search data. and set condition too. Param : value (ex. 90 min >>> 1.30 hr.) Return : HR. */ function searchDWRChildFilter(helpName, keyField, id, no, filter){ DWRUtil.setValue(helpName+"@TDESC$"+no, ""); var setFilter = ""; if (filter != "") { setFilter = " and " + filter; } if(id.value != ""){ SearchDWR.searchAll(new Array(helpName, keyField+",tdesc,edesc", keyField+" = '"+id.value+"'"+ setFilter, keyField, "langon"), {callback:function(data){ if(data.length > 0){ DWRUtil.setValue(helpName+"@TDESC$"+no, data[0][1]); }else{//alert(); DWRUtil.setValue(helpName+"@TDESC$"+no, ""); alert(MyCode[6]); id.focus(); id.select(); } },async:true}); } }