// // version: 2021-03-04 15:48 // changed by: jurgend var stopScroll = 0; var numbFormat = 'nl-BE'; /*'en-US'*/ var Gender; var GenderEntries = "Onbekend,Man,Vrouw,Anders"; (function (Gender) { Gender[Gender["Onbekend"] = 0] = "Onbekend"; Gender[Gender["Man"] = 1] = "Man"; Gender[Gender["Vrouw"] = 2] = "Vrouw"; Gender[Gender["Ander"] = 3] = "Ander"; })(Gender || (Gender = {})); function echo(theText) { alert("Warning! use alert function instead." + "\n" + theText); } function quoter(theText) { return "'" + theText + "'"; } function quoter2(theText) { return '"' + theText + '"'; } function dquoter(theText) { return '"' + theText + '"'; } function fldQuoter(theText) { return "`" + theText + "`"; } function trim(stringToTrim) { return stringToTrim.replace(/^\s+|\s+$/g,""); } function ltrim(stringToTrim) { return stringToTrim.replace(/^\s+/,""); } function rtrim(stringToTrim) { return stringToTrim.replace(/\s+$/,""); } function ageFromDate(theDate) { var ageYears = -1; if (theDate !== undefined) { var current = new Date().getTime(), dateSelect = new Date(theDate).getTime(), ageSeconds = current - dateSelect; /* age / ms / sec / min / hour / days in a year */ ageYears = Math.floor(ageSeconds / 1000 / 60 / 60 / 24 / 365.25); } return ageYears; } function pfx(tableName) { return "bxpo_" + tableName; } function notEmpty(value) { if (value == undefined) { return ""; } return value; } function addText2Area(area, text) { var areaObj = document.getElementById(area); if (areaObj.value !== "") { text += "\r"; } areaObj.value += text || ''; } function showJavaInfo () { alert("jQuery version: " + $().jquery); } function openUrl (pageUrl) { window.open(pageUrl, "_parent"); return false; } function openUrlInBlank (pageUrl) { window.open(pageUrl, "_blank"); return false; } function openUrlInModal (divName, objectReference, title, pageUrl) { var inEditDiv = document.getElementById(divName); var inEditDivMsg = document.getElementById(divName + '-message'); var message = ""; if (title != "") { "" + title + ""; } unhideDiv(message, "Tooltip", inEditDiv, inEditDivMsg); //alert(pageUrl + "&noCallMenu=true&objectReference=" + objectReference); //alert("screen.height: " + screen.height); if (screen.height >= 500) { window.open(pageUrl + "&noCallMenu=true&objectReference=" + objectReference, divName + '-frame'); } else { openUrlInBlank(pageUrl + "&noCallMenu=true&objectReference=" + objectReference); } return true; } function openForDownload (pageUrl) { var link=document.createElement('a'); document.body.appendChild(link); link.href=pageUrl; link.click(); } function closeModal(inEditCloseBtn) { var inEditDiv = (inEditCloseBtn.parentElement); if (inEditDiv.id.startsWith("inEdit")) { closeInEdit(inEditDiv, "inEdit-message", inEditDiv.id + "-frame"); } else alert("Probleem sluiten Modal frame, contacteer webapp admin.\n" + inEditCloseBtn); } function closeInEdit(element, sTheDivMes, sTheFrame) { var theDivMes = document.getElementById(sTheDivMes); var theIFrame = document.getElementById(sTheFrame); //unhideDiv("", "", theDiv, theDivMes); refreshDropDowns(); if(element.style.display == "block") { element.style.display = "none"; //msgDiv.innerHTML = message; //msgDiv.title = tooltip; } window.open("", theIFrame.id); } /*function closeInEdit(theDiv, theDivMes, theFrame) { var theDiv = document.getElementById(theDiv); var theDivMes = document.getElementById(theDivMes); var theIFrame = document.getElementById(theFrame); unhideDiv("", "", theDiv, theDivMes); window.open("", theIFrame.id); }*/ /* $(document).on('click','.inEdit-btn', function(){ stopScroll = 1; stopWindowScrollPosition = $(window).scrollTop(); //$('.popup').fadeIn(300); }); $(document).on('click','.close-popup', function(){ stopScroll = 0; //$('.popup').fadeOut(300); }); */ function refreshDropDowns () { alert("refreshDropDowns"); } function replaceChars(theText) { theText = theText.replace(/&/g,"%26"); theText = theText.replace(/'/g,"''"); return theText; } function hideDiv (element) { if(element.style.display != "none") { element.style.display = "none"; } return true; } function unhideDiv (message, tooltip, element, msgDiv) { if (element == null) { return false; } if(element.style.display != "block") { element.style.display = "block"; } if (message) { msgDiv.innerHTML = message; } if (tooltip) { msgDiv.title = tooltip; } return true; } function updQrSize (el, largeSize, smallSize) { var newSize = largeSize; if (el.getAttribute('height') == largeSize) { newSize = smallSize; } el.setAttribute('height', newSize); el.setAttribute('width', newSize); } function check4Error(jsonReturn) { var pos = jsonReturn.indexOf(":"); var phpResponsText = jsonReturn.substring(pos+1); phpResponsText = phpResponsText.substring(0,phpResponsText.length-1); var myJSTableArray = $.parseJSON(phpResponsText); var messageNr = -1; var message = ""; var error = ""; var query = ""; if (myJSTableArray.length !== 0) { for (i in myJSTableArray) { // alert(myJSTableArray[i].nr + " " + myJSTableArray[i].message); if (myJSTableArray[i].nr) { messageNr = myJSTableArray[i].nr; } if (myJSTableArray[i].message) { message = myJSTableArray[i].message; } if (myJSTableArray[i].error) { error = myJSTableArray[i].error; } if (myJSTableArray[i].query) { query = myJSTableArray[i].query; } } } if (jsonReturn.substring(0,12) == '{"Errors":[{') { var errorDiv = document.getElementById('error-div'); var errorDivMsg = document.getElementById('error-div-message'); message = "Error: " + messageNr + " " + message + ""; if (error !== "") { message = message + "
-- " + error + " -- "; } if (query !== "") { message = message + "
Bericht: " + query; } unhideDiv(message, "Tooltip", errorDiv, errorDivMsg); return true; } if (jsonReturn.substring(0,12) == '{"Warning":[{') { var warningDiv = document.getElementById('warning-div'); var warningDivMsg = document.getElementById('warning-div-message'); message = "Warning: " + messageNr + " " + message; if (error !== "") { message = message + "
: " + error; } if (query !== "") { message = message + "
Bericht: " + query; } unhideDiv(message, "Tooltip", warningDiv, warningDivMsg); return true; } return false; } function createWarnButton(el, title, warning, color = "orange"){ if ($("#" + el + "_warning").length == 0) { var iconType = "warning"; var buttonType = "fas fa-exclamation-triangle"; if (color == "blue") { iconType = "info"; buttonType = "fas fa-info-circle"; } if (color == "green") { iconType = "success"; buttonType = "fas fa-check-circle"; } if (color == "red") { iconType = "error"; buttonType = "fas fa-exclamation-circle"; } var $input = $(''); $input.attr("id",el + "_warning"); $input.attr("value",warning); $input.addClass(color); $input.attr("title",title); $input.click(function(){ swal({ title: title, text: warning, icon: iconType, closeOnClickOutside: true }); }); $input.appendTo($("#p_" + el)); } } function removeWarnButton(el) { if ($("#" + el + "_warning").length != 0) { $("#" + el + "_warning").remove(); } } function showError(title, messageNr, message, error, query) { var errorDiv = document.getElementById('error-div'); var errorDivMsg = document.getElementById('error-div-message'); message = "Error: " + messageNr + " " + message + ""; if (error !== "") { message = message + "
-- " + error + " -- "; } if (query !== "") { message = message + "
Bericht: " + query; } unhideDiv(message, "Tooltip", errorDiv, errorDivMsg); return true; } function showWarning(title, messageNr, message, error, query) { var warningDiv = document.getElementById('warning-div'); var warningDivMsg = document.getElementById('warning-div-message'); message = "Warning: " + messageNr + " " + message + ""; if (error !== "") { message = message + "
-- " + error + " -- "; } if (query !== "") { message = message + "
Bericht: " + query; } unhideDiv(message, "Tooltip", warningDiv, warningDivMsg); return true; } function hideInfo() { var infoDiv = document.getElementById('info-div'); hideDiv(infoDiv); return true; } function hideIWEdivs() { if ($("#error-div").length) { $('#error-div').hide(); } if ($("#notification-div").length ) { $('#notification-div').hide(); } if ($("#info-div").length) { $('#info-div').hide(); } if ($("#userMessage-div").length) { $('#userMessage-div').hide(); } if ($("#success-div").length) { $('#success-div').hide(); } if ($("#warning-div").length) { $('#warning-div').hide(); } } function showInfo(title, messageNr, message, error, query) { var infoDiv = document.getElementById('info-div'); var infoDivMsg = document.getElementById('info-div-message'); message = "Info: " + messageNr + " " + message + ""; if (error !== "") { message = message + "
-- " + error + " -- "; } if (query !== "") { message = message + "
Bericht: " + query; } unhideDiv(message, "Tooltip", infoDiv, infoDivMsg); return true; } function showInfoHide(title, messageNr, message, error, query, autoHide) { showInfo(title, messageNr, message, error, query); if (autoHide > 0) { $("#info-div").fadeTo(2000, autoHide * 100).slideUp(autoHide * 100, function(){ $("#info-div").slideUp(autoHide * 100); }); } } function getColumnIndexByHeadId(tableId, columnId) { var elem = $('#' + tableId + ' th'); var rIndex; var index = elem.filter( function(index) { var idText = $(this).attr('id'); var result = idText == columnId; if (result) rIndex = index; return result; }).index(); return rIndex; } function unFoldEdit (divElement, button) { unhideDiv(null, null, divElement, null); if(divElement.style.display == "none") { button.innerHTML = ''; } else { button.innerHTML = ''; } } function updateUrlParam(url, parName, parVal) { if (url.indexOf('?') === -1) { url = url + '?' + parName + '=' + parVal; } else { if (url.indexOf(parName + '=') === -1) { url = url + '&' + parName + '=' + parVal; } else { var index = url.indexOf('&' + parName + '='); if (index === -1) { index = url.indexOf('?' + parName + '='); } temp0 = url.substr(0, index + 1); var temp1 = url.substr(index); var temp2 = url.substr(index + 8, url.length); if (temp2 && (temp2.indexOf('&') > 0)) { temp2 = temp2.substr(temp2.indexOf('&'), temp2.length); } else { temp2 = ''; } url = temp0 + parName + '=' + parVal + temp2; } } // alert("url: " + url); return url; } function replaceClassProp(cl,prop,val) { if(!cl || !prop || !val){console.error('Wrong function arguments');return false;} if(!cl || !prop || !val){alert('Wrong function arguments');return false;} // Select style tag value var tag = '#style'; var style = $(tag).text(); var str = style; // Find the class you want to change var n = str.indexOf('.'+cl); str = str.substr(n,str.length); n = str.indexOf('}'); str = str.substr(0,n+1); var before = str; // Find specific property n = str.indexOf(prop); str = str.substr(n,str.length); n = str.indexOf(';'); str = str.substr(0,n+1); // Replace the property with values you selected var after = before.replace(str,prop+':'+val+';'); style=style.replace(before,after); // Submit changes $(tag).text(style); return true; } function adjustFrameHeightOnLoad(frameIdName) { var iframe = document.getElementById(frameIdName); iframe.onload = function(){ iframe.style.height = iframe.contentWindow.document.body.scrollHeight + "px"; } } function formatIcsDate(date) { var d = new Date(date), month = '' + (d.getMonth() + 1), day = '' + d.getDate(), year = '' + d.getFullYear(), hour = '' + d.getHours(), minute = '' + d.getMinutes(), second = '' + d.getSeconds(); if (month.length < 2) { month = '0' + month; } if (day.length < 2) { day = '0' + day; } if (hour.length < 2) { hour = '0' + hour; } if (minute.length < 2) { minute = '0' + minute; } if (second.length < 2) { second = '0' + second; } return [year, month, day,'T',hour,minute,second].join(''); } function getSelectedText(elementId) { var elt = document.getElementById(elementId); if (elt.selectedIndex == -1) { return null; } return elt.options[elt.selectedIndex].text; } function StringToSeconds (value) { var hms = value + ":00:00:00"; var a = hms.split(':'); // split it at the colons | minutes are worth 60 seconds. Hours are worth 60 minutes. return (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); } Date.prototype.addHours= function(h){ this.setHours(this.getHours()+h); return this; } function getClass(obj) { if (typeof obj === "undefined") return "undefined"; if (obj === null) return "null"; return Object.prototype.toString.call(obj) .match(/^\[object\s(.*)\]$/)[1]; } function copyToClipboard(elem) { /* create hidden text element, if it doesnt already exist */ var targetId = "_hiddenCopyText_"; var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA"; var origSelectionStart, origSelectionEnd; if (isInput) { // can just use the original source element for the selection and copy target = elem; origSelectionStart = elem.selectionStart; origSelectionEnd = elem.selectionEnd; } else { // must use a temporary form element for the selection and copy target = document.getElementById(targetId); if (!target) { var target = document.createElement("textarea"); target.style.position = "absolute"; target.style.left = "-9999px"; target.style.top = "0"; target.id = targetId; document.body.appendChild(target); } target.textContent = elem.textContent; } // select the content var currentFocus = document.activeElement; target.focus(); target.setSelectionRange(0, target.value.length); // copy the selection var succeed; try { succeed = document.execCommand("copy"); } catch(e) { succeed = false; } // restore original focus if (currentFocus && typeof currentFocus.focus === 'function') { currentFocus.focus(); } if (isInput) { // restore prior selection elem.setSelectionRange(origSelectionStart, origSelectionEnd); } else { // clear temporary content target.textContent = ""; } return succeed; } function printEl(elem, title) { var mywindow = window.open('', 'PRINT', 'height=400,width=600'); if (title == '') { title = document.title; } mywindow.document.write('' + title + ''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write(''); mywindow.document.write('

' + title + '

'); mywindow.document.write(elem.innerHTML); mywindow.document.write(''); mywindow.document.close(); // necessary for IE >= 10 mywindow.focus(); // necessary for IE >= 10*/ mywindow.print(); mywindow.close(); return true; } function fnExcelReportXlsx(tab) { var docName = tab.getAttribute("docname") || "Download"; var useSheetName = tab.getAttribute("sheetname") || "Blad 1"; var table = TableExport(tab, { headers: true, footers: true, formats: ["xlsx"], exportButtons: false, trimWhitespace: true, filename: docName, sheetname: useSheetName }); var xlsxData = table.getExportData()[tab.id]["xlsx"]; xlsxData.sheetname = xlsxData.sheetname || useSheetName; //alert(xlsxData.sheetname); table.export2file(xlsxData.data, xlsxData.mimeType, xlsxData.filename, xlsxData.fileExtension, xlsxData.merges, xlsxData.RTL, xlsxData.sheetname); return; } function fnExcelReport(tab) { var docName = tab.getAttribute("docname") || "Download"; var useSheetName = tab.getAttribute("sheetname") || "Blad 1"; TableExport(tab, { headers: true, // (Boolean), display table headers (th or td elements) in the , (default: true) footers: true, // (Boolean), display table footers (th or td elements) in the , (default: false) formats: ["xlsx", "csv", "txt"], // (String[]), filetype(s) for the export, (default: ['xlsx', 'csv', 'txt']) filename: docName, // (id, String), filename for the downloaded file, (default: 'id') bootstrap: true, // (Boolean), style buttons using bootstrap, (default: true) exportButtons: true, // (Boolean), automatically generate the built-in export buttons for each of the specified formats (default: true) position: "bottom", // (top, bottom), position of the caption element relative to table, (default: 'bottom') ignoreRows: null, // (Number, Number[]), row indices to exclude from the exported file(s) (default: null) ignoreCols: null, // (Number, Number[]), column indices to exclude from the exported file(s) (default: null) trimWhitespace: true, // (Boolean), remove all leading/trailing newlines, spaces, and tabs from cell text in the exported file(s) (default: false) RTL: false, // (Boolean), set direction of the worksheet to right-to-left (default: false) sheetname: useSheetName // (id, String), sheet name for the exported spreadsheet, (default: 'id') }); return; } // RM Click $("[data-toggle='noRightMClick']").click(function (e) { e.preventDefault(); e.stopPropagation(); }); $("[data-toggle='noRightMClick']").on("contextmenu", function(e) { e.preventDefault(); $("#homeAlert").removeClass("in").show(); //$("#homeAlert").delay(1500).addClass("in").fadeOut(1000); }) function findInArray(theArray) { //alert('findInArray'); return theArray.ID === 1; } function filterArrayByValues(array, value, propertyName) { return array.filter(function (arrayItem) { return value == arrayItem[propertyName]; }); } function moveCursorToEnd(el) { el.focus(); if (typeof el.selectionStart == "number") { el.selectionStart = el.selectionEnd = el.value.length; } else if (typeof el.createTextRange != "undefined") { var range = el.createTextRange(); range.collapse(false); range.select(); } } function isNumeric(str) { if (typeof str != "string") return false // we only process strings! return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)... !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail } function currencyFormatEU(num, numberOfDigits = 2) { return ( num .toFixed(numberOfDigits) // always two decimal digits .replace('.', ',') // replace decimal point character with , .replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') + '€' ) // use . as a separator } function formatNumber(number, numberOfDigits = 2) { return ( num .toFixed(numberOfDigits) // always two decimal digits .replace('.', ',') // replace decimal point character with , .replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') ) // use . as a separator } // Hide message-div instead of close , add modal-hide rename type 'alert' to 'modal' $(function () { $(".modal-hide").click(function () { this.parentNode.style.display = "none"; }); }); var MD5 = function (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } } function F(x,y,z) { return (x & y) | ((~x) & z); } function G(x,y,z) { return (x & z) | (y & (~z)); } function H(x,y,z) { return (x ^ y ^ z); } function I(x,y,z) { return (y ^ (x | (~z))); } function FF(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function GG(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function HH(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function II(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function ConvertToWordArray(string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<>>29; return lWordArray; }; function WordToHex(lValue) { var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); } return WordToHexValue; }; function Utf8Encode(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }; var x=Array(); var k,AA,BB,CC,DD,a,b,c,d; var S11=7, S12=12, S13=17, S14=22; var S21=5, S22=9 , S23=14, S24=20; var S31=4, S32=11, S33=16, S34=23; var S41=6, S42=10, S43=15, S44=21; string = Utf8Encode(string); x = ConvertToWordArray(string); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k < x.length;k+=16) { AA=a; BB=b; CC=c; DD=d; a=FF(a,b,c,d,x[k+0], S11,0xD76AA478); d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756); c=FF(c,d,a,b,x[k+2], S13,0x242070DB); b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); d=FF(d,a,b,c,x[k+5], S12,0x4787C62A); c=FF(c,d,a,b,x[k+6], S13,0xA8304613); b=FF(b,c,d,a,x[k+7], S14,0xFD469501); a=FF(a,b,c,d,x[k+8], S11,0x698098D8); d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE); a=FF(a,b,c,d,x[k+12],S11,0x6B901122); d=FF(d,a,b,c,x[k+13],S12,0xFD987193); c=FF(c,d,a,b,x[k+14],S13,0xA679438E); b=FF(b,c,d,a,x[k+15],S14,0x49B40821); a=GG(a,b,c,d,x[k+1], S21,0xF61E2562); d=GG(d,a,b,c,x[k+6], S22,0xC040B340); c=GG(c,d,a,b,x[k+11],S23,0x265E5A51); b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); a=GG(a,b,c,d,x[k+5], S21,0xD62F105D); d=GG(d,a,b,c,x[k+10],S22,0x2441453); c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681); b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); d=GG(d,a,b,c,x[k+14],S22,0xC33707D6); c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87); b=GG(b,c,d,a,x[k+8], S24,0x455A14ED); a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905); d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); c=GG(c,d,a,b,x[k+7], S23,0x676F02D9); b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942); d=HH(d,a,b,c,x[k+8], S32,0x8771F681); c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122); b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C); a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6); d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA); c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085); b=HH(b,c,d,a,x[k+6], S34,0x4881D05); a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039); d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665); a=II(a,b,c,d,x[k+0], S41,0xF4292244); d=II(d,a,b,c,x[k+7], S42,0x432AFF97); c=II(c,d,a,b,x[k+14],S43,0xAB9423A7); b=II(b,c,d,a,x[k+5], S44,0xFC93A039); a=II(a,b,c,d,x[k+12],S41,0x655B59C3); d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92); c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D); b=II(b,c,d,a,x[k+1], S44,0x85845DD1); a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F); d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); c=II(c,d,a,b,x[k+6], S43,0xA3014314); b=II(b,c,d,a,x[k+13],S44,0x4E0811A1); a=II(a,b,c,d,x[k+4], S41,0xF7537E82); d=II(d,a,b,c,x[k+11],S42,0xBD3AF235); c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); b=II(b,c,d,a,x[k+9], S44,0xEB86D391); a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD); } var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d); return temp.toLowerCase(); }