function fGetService(pURL, pXML) { var lSender; lSender = new ActiveXObject("Microsoft.XMLHTTP") lSender.Open("POST",pURL, false) lSender.Send(pXML) if (lSender.statusText == "OK") { return unescape(lSender.responseText); } else { return "500:錯誤代碼:" + lSender.status + "\n" + lSender.statusText } } function fLog(pMsg, pLevel, pPrompt) { var lRet lRet = fGetService(mMyURL + "/Program/common/serv/WriteLog.asp", "" + pMsg + "" + mLogFolder + "" + pLevel + "") if (pPrompt) alert(pMsg); } function fConfirm(pMsg, pLevel) { fLog(pMsg, pLevel, false); if (confirm(pMsg)) { fLog("是", pLevel+1, false); return true; } else { fLog("否", pLevel+1, false); return false; } } function fOpenDialog(pDlgName, pQueryString) { var lUrl; var lQueryString; lUrl = mMyURL + "/program/common/dlg/" + pDlgName; if (pQueryString != "") { lQueryString = pQueryString + "&u=" + mLoginUser + "&a=" + mAppID + "&u=" + mLoginUser + "&T=OpenDialog" } else { lQueryString = "u=" + mLoginUser + "&a=" + mAppID + "&u=" + mLoginUser + "&T=OpenDialog" } return window.showModalDialog(lUrl + "?" + lQueryString ,null,"status:no"); } function fWriteDraft(pFileName, pXML, pDraftAction) { var lXML lXML = "" + mLoginUser + "" + mAppID + "" + "" + pFileName + "" + pDraftAction + "" + pXML + "" return fGetService(mMyURL + "/Program/Common/Serv/WriteDraft.asp", lXML) } function fReadDraft(pFileName, pPage) { var lXML; lXML = "" + mLoginUser + "" + mAppID + "" + "" + pFileName + "" + pPage + "" lXML = fGetService(mMyURL + "/Program/Common/Serv/ReadDraft.asp", lXML) if (lXML=='404') { mResult.Err = false; mResult.EOF = true; mResult.ErrDesc = ""; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.EOF = false; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; fParseXML(lXML); } function fGetData(pSQL, pPrompt) { var lXML; lXML = "" + mLoginUser + "" + mAppID + "" + "" + fFixSQLtoXML(pSQL) + ""; lXML = fGetService(mMyURL + "/Program/Common/Serv/GetData.asp", lXML) if (lXML=='404') { mResult.Err = false; mResult.ErrDesc = "資料不存在!!"; mResult.EOF = true; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.EOF = false; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; var lXMLDOM = new ActiveXObject("Microsoft.XMLDOM") lXMLDOM.async = false; lXMLDOM.loadXML(lXML); var lRoot = lXMLDOM.documentElement; var lRow; var lField; var lRows = new Array(); for (var i=0; i< lRoot.childNodes.length; i++) { var Row = new Object(); lRow = lRoot.childNodes[i]; for (var j=0; j < lRow.childNodes.length; j++) { lField = lRow.childNodes[j]; Row[lField.nodeName] = lField.text; } lRows[i] = Row } mResult.Rows = lRows; } function fOpenQuery(pURL, pXML) { var lXML; lXML = fGetService(pURL, pXML); if (typeof(fAfterQuery)=="function") { fAfterQuery(lXML); } if (lXML=='404') { mResult.Err = false; mResult.EOF = true; mResult.ErrDesc = "資料不存在!!"; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.EOF = false; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; fParseXML(lXML); } function fAction(pURL, pXML) { var lXML; lXML = fGetService(pURL, pXML); if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.ErrDesc = ""; } function fFixChartoXML(pStr) { var lStr = pStr.replace("&", "&"); lStr = fReplace(lStr, ">", ">") lStr = fReplace(lStr, "<", "<") lStr = lStr.replace("'", "''") lStr = fIsDate(lStr); return lStr; } function fFixSQLtoXML(pStr) { var lStr = pStr.replace("&", "&"); lStr = fReplace(lStr, ">", ">") lStr = fReplace(lStr, "<", "<") return lStr; } function fParseXML(pXML) { var lXMLDOM = new ActiveXObject("Microsoft.XMLDOM") lXMLDOM.async = false; lXMLDOM.loadXML(pXML); var lRoot = lXMLDOM.documentElement; var lTable; var lFields; var lField; var lScript; var lRow; var lInfo; for (var k=0; k < lRoot.childNodes.length;k++) { var lTableProp = new Object(); var lRows = new Array(); lTable = lRoot.childNodes[k]; for (var i=0; i< lTable.childNodes.length; i++) { var Row = new Object(); lRow = lTable.childNodes[i]; lInfo = lRow.childNodes[0]; lFields = lRow.childNodes[1]; for (var j=0; j < lInfo.childNodes.length; j++) { lField = lInfo.childNodes[j]; Row[lField.nodeName] = lField.text } for (var j=0; j < lFields.childNodes.length; j++) { lField = lFields.childNodes[j]; Row[lField.nodeName] = lField.text; } lRows[i] = Row; } lTableProp.Rows = lRows; mResult[lTable.nodeName] = lTableProp; } } function fChkLogin(pUser,pUniqueID) { var lXML lXML = fGetService(mMyURL + "/Program/common/serv/ChkLogin.asp", "" + pUser + "" + pUniqueID + "") //alert(lXML) if (lXML=='404') { mResult.Err = false; mResult.ErrDesc = "資料不存在!!"; mResult.EOF = true; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; var lXMLDOM = new ActiveXObject("Microsoft.XMLDOM") lXMLDOM.async = false; lXMLDOM.loadXML(lXML); var lRoot = lXMLDOM.documentElement; var lRow; var lField; var lScript; lScript = "var lRows = new Array();"; for (var i=0; i< lRoot.childNodes.length; i++) { lScript += " var Row = new Object();\n"; lRow = lRoot.childNodes[i]; for (var j=0; j < lRow.childNodes.length; j++) { lField = lRow.childNodes[j]; lScript += "Row." + lField.nodeName + " = '" + lField.text + "';\n"; } lScript += "lRows[" + i + "] = Row;" } window.execScript(lScript,"javaScript"); mResult.Rows = lRows; } function fChkPWD(pUser,pPassword) { var lXML lXML = fGetService(mMyURL + "/Program/common/serv/ChkPWD.asp", "" + pUser + "" + pPassword + "") if (lXML=='404') { mResult.Err = false; mResult.ErrDesc = "資料不存在!!"; mResult.EOF = true; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; } function fIsDate(pStr) { var lStr = pStr; if (mDateFormula=="TW") { if (lStr.length != 9) return lStr; var lDate = new Date(lStr); if (lDate.toString()=="NaN") return lStr; lStr = (parseInt(lStr.substr(0,3),10) + 1911).toString() + lStr.substr(3); } return lStr; } function fUpdLoginTime(pUniqueID) { var lXML lXML = fGetService(mMyURL + "/Program/common/serv/UpdLoginTime.asp", "" + pUniqueID + "") if (lXML=='404') { mResult.Err = false; mResult.ErrDesc = "資料不存在!!"; mResult.EOF = true; return; } if (lXML.substr(0,3)=='500' || lXML.substr(0,3)=='ERR') { mResult.Err = true; mResult.ErrDesc = lXML.substr(4); return; } mResult.Err = false; mResult.EOF = false; mResult.ErrDesc = ""; } function fReplace(pStr, pFind, pRepl) { var lStr = pStr; while (lStr.indexOf(pFind) > 0) { lStr = lStr.replace(pFind, pRepl); } return lStr; }