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;
}