var submitArray = new Array(); function asyncSend(transactionId, paramPath, resultPath, responseHandler, errorHandler) { var submitUUID = "" + getRandomSubmitUUID(); var submit = TFHttpService.createInstance(submitUUID); submit.URL = getActionURL(transactionId); submit.mediaType = "application/x-www-form-urlencoded"; submit.method = "POST"; submit.onResponse = "defualtResponseHandler"; submit.onError = "defualtErrorHandler"; if (submitArray == undefined || submitArray == null) { submitArray = new Array(); } var submitItem = new Object(); submitItem.trid = transactionId; submitItem.resultPath = resultPath; submitItem.submitUUID = submitUUID; submitItem.responseHandler = responseHandler; submitItem.errorHandler = errorHandler; submitArray.push(submitItem); submit.send(paramPath); } function defualtResponseHandler(submitUUID, response, responseType) { if (submitArray == null || submitArray.length <= 0) { messageBox("submit ��� ó�� �� ������ �߻��Ͽ����ϴ�.", "C"); return; } var submitItem = getSubmitItem(submitUUID); bindInstance(submitUUID, response, responseType, submitItem.resultPath); try { eval(submitItem.responseHandler+"()"); } catch (e) { messageBox(e.message, "C"); return; } } function defualtErrorHandler(submitUUID, errorInfo) { var submitItem = getSubmitItem(submitUUID); if (typeof(submitItem.errorHandler) != "undefined") { try { eval(submitItem.errorHandler); } catch (e) { messageBox(e.message, "C"); return; } } else { messageBox(errorInfo, "C"); return; } } function bindInstance(submitUUID, response, responseType, resultPath) { model.removeNode(resultPath); model.makeNode(resultPath); if (responseType == "xml") { model.loadXmlNode(resultPath, response, false); } model.refresh(); } function getSubmitItem(submitUUID) { if (submitUUID == undefined || submitUUID == "") { messageBox("submitItem ȹ�� ����!", "C"); return; } if (submitArray.length <= 0) { messageBox("submitArray is Empty!", "C"); return; } for (var idx = 0 ; idx < submitArray.length ; idx++) { var curItem = submitArray[idx]; if (submitUUID == curItem.submitUUID) { submitArray[idx] = null; makeFullArray(submitArray); return curItem; } } } function makeFullArray(array) { for (var idx = 0 ; idx < array.length ; idx++) { if (array[idx] == undefined || array[idx] == null) { var lastItem = array.pop(); if (lastItem != null) { array[idx] = lastItem; } } } } function getRandomSubmitUUID() { var s = [], itoh = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']; for (var i = 0; i <36; i++) { s[i] = Math.floor(Math.random()*0x10); } s[14] = 4; s[19] = (s[19] & 0x3) | 0x8; for (var i = 0; i <36; i++) { s[i] = itoh[s[i]]; } return s.join(''); }