
var GL_oApplication = null;
function FuncCall_Proxy(
objcontext,
funcref,
argarr
)
{
var retval;
retval = objcontext.FuncCall_Stub(funcref, argarr);
if ((retval != null) && (typeof(retval) == "object") &&
(typeof(retval.fFuncCall_Stub_Exception) != "undefined") && (retval.fFuncCall_Stub_Exception))
{
throw retval.sDescription;
}
return(retval);
}
function FuncCall_Stub(
funcref,
argarr
)
{
try {
if (argarr == null)
return( funcref.apply(this) );
else
return( funcref.apply(this, argarr) );
} catch (e) {
var retobj = new Object();
retobj.fFuncCall_Stub_Exception = true;
retobj.sDescription = (typeof(e) == "string" ? e : e.description);
return(retobj);
}
}
function CancelEvent(
oEvent,
fCancelBubble
)
{
try {
oEvent.returnValue = false;
if (fCancelBubble == true)
oEvent.cancelBubble = true;
} catch (e) {
OnAppError(e);
}
}
function CancelF5KeyDown(
oevent
)
{
try {
if (oevent.keyCode == 116)
oevent.returnValue = false;
} catch (e) {
OnAppError(e);
}
}
function CancelAltF4KeyDown(
oevent
)
{
try {
if ((oevent.keyCode == 115) && oevent.altKey)
oevent.returnValue = false;
} catch (e) {
OnAppError(e);
}
}
function BASE_OnKeyPress(
oEnterBtn,
oEscBtn
)
{
var nhf
try {
nhf = true;
if ((event != null) && (event.keyCode == 13) &&
(event.srcElement.tagName.toUpperCase() != "TEXTAREA"))
{
if (event.srcElement.tagName.toUpperCase() == "BUTTON")
event.srcElement.click();
else {
if (oEnterBtn != null)
oEnterBtn.click();
}
nhf = false;
}
if ((event != null) && (event.keyCode == 27) && (oEscBtn != null)) {
oEscBtn.click();
nhf = false;
}
if ((event != null) && (event.keyCode == 32) &&
(event.srcElement.tagName.toUpperCase() == "A"))
{
event.srcElement.click();
nhf = false;
}
if (event != null)
event.returnValue = nhf;
return(nhf);
} catch (e) {
OnAppError(e);
}
}
function SetWaitCursor()
{
return( FuncCall_Proxy(GL_oApplication, GL_oApplication.SetWaitCursor) );
}
function SetCursorByHandle(
hcursor
)
{
return( FuncCall_Proxy(GL_oApplication, GL_oApplication.SetCursorByHandle, [hcursor]) );
}
function Beep()
{
FuncCall_Proxy(GL_oApplication, GL_oApplication.Beep);
}
function Sleep(
msec
)
{
FuncCall_Proxy(GL_oApplication, GL_oApplication.Sleep, [msec]);
}
function SessionValidation(
sscflag
)
{
return( FuncCall_Proxy(GL_oApplication.oSession, GL_oApplication.oSession.SessionValidation, (sscflag == null ? null : [sscflag])) );
}
function OnAppError(
eobj
)
{
try {
FuncCall_Proxy(GL_oApplication, GL_oApplication.OnAppError, [eobj]);
} catch(e) {}
}
function ImgBtn_OnMouseOver(
obj
)
{
try {
CancelEvent(event);
obj.className = "ImgBtn_OutsetBorder";
} catch (e) {
OnAppError(e);
}
}
function ImgBtn_OnMouseDown(
obj
)
{
try {
CancelEvent(event);
obj.className = "ImgBtn_InsetBorder";
} catch (e) {
OnAppError(e);
}
}
function ImgBtn_OnMouseUp(
obj
)
{
try {
CancelEvent(event);
obj.className = "ImgBtn_OutsetBorder";
} catch (e) {
OnAppError(e);
}
}
function ImgBtn_OnMouseOut(
obj
)
{
try {
CancelEvent(event);
obj.className = "ImgBtn_NoBorder";
} catch (e) {
OnAppError(e);
}
}
function HC_INPUT_OnChange(
oINPUT
)
{
try {
if (oINPUT.ep_sExecOnChange != null)
eval(oINPUT.ep_sExecOnChange);
} catch (e) {
OnAppError(e);
}
}
function IncDecNumImp_OnBtnMouseDown(
oBtn,
oINPUT,
nUnit
)
{
var n;
try {
CancelEvent(event);
if (!SessionValidation(false)) return;
oBtn.style.border = "2px inset ThreeDHighlight";
n = parseFloat(oINPUT.value);
oINPUT.value = (isNaN(n) ? 0 : n) + nUnit;
n = parseInt(oINPUT.nTimer);
if (!isNaN(n)) {
clearInterval(oINPUT.nTimer);
oINPUT.nTimer = null;
}
oINPUT.nTimer = setInterval("document.all('"+ oINPUT.id +"').value=parseFloat(document.all('"+ oINPUT.id +"').value)+"+nUnit, 200, "JScript")
} catch (e) {
OnAppError(e);
}
}
function IncDecNumInp_OnBtnMouseUpOut(
oBtn,
oINPUT
)
{
var n;
try {
CancelEvent(event);
n = parseInt(oINPUT.nTimer);
if (isNaN(n))
return(false);
else {
if (!SessionValidation(false)) return;
clearInterval(n);
oINPUT.nTimer = null;
oBtn.style.border = "2px outset ThreeDHighlight";
HC_INPUT_OnChange(oINPUT);
return(true);
}
} catch (e) {
OnAppError(e);
}
}
function DatetimeInp_Clr_OnClick(
oINPUT
)
{
var chgflg;
try {
CancelEvent(event);
if (!SessionValidation(false)) return;
chgflg = (oINPUT.value != "");
oINPUT.value = "";
if (chgflg)
HC_INPUT_OnChange(oINPUT);
return(chgflg);
} catch (e) {
OnAppError(e);
}
}
function DatetimeInp_Cal_OnClick(
oINPUT
)
{
var ro, chgflg;
try {
CancelEvent(event);
if (!SessionValidation(false)) return;
ro = FuncCall_Proxy(GL_oApplication, GL_oApplication.CalendarDlg, [oINPUT.value]);
if ((typeof(ro) == "object") && (ro.sAction == "apply")) {
oINPUT.value = ro.sValue;
chgflg = true;
}
else
chgflg = false;
if (chgflg)
HC_INPUT_OnChange(oINPUT);
return(chgflg);
} catch (e) {
OnAppError(e);
}
}
function LinkedObj_Link_OnClick(
sID
)
{
var hcursor, oINPUT, nObjId, sObjType, vCustObjData, sPath, oRet;
try {
CancelEvent(event);
hcursor = SetWaitCursor();
if (!SessionValidation(false)) return;
oINPUT = document.all(sID);
sObjType = oINPUT.ep_sObjType;
nObjId = parseInt(oINPUT.value);
if (isNaN(nObjId))
nObjId = null;
vCustObjData = oINPUT.ep_sCustObjDataSrc;
if (vCustObjData != null)
vCustObjData = eval(vCustObjData);
sPath = oINPUT.ep_sLinkPath;
if ((sPath != null) && (sPath != " ")) {
if (sPath.charAt(0) == " ")
sPath = eval( sPath.slice(1) );
else
if (sPath.slice(-2) == "ID")
sPath = sPath + oINPUT.value;
}
if (sPath == " ")
{
if (!FuncCall_Proxy(GL_oApplication, GL_oApplication.Custom_CheckObjDlgRight, [sObjType, nObjId]))
return;
oRet = FuncCall_Proxy(GL_oApplication, GL_oApplication.ObjectDlg, [sObjType, nObjId, vCustObjData]);
sPath = oRet.sJumpPath;
}
if (sPath != null)
FuncCall_Proxy(GL_oApplication, GL_oApplication.GotoPage, [sPath]);
SetCursorByHandle(hcursor);
} catch (e) {
OnAppError(e);
}
}
function LinkedObj_Clr_OnClick(
sID
)
{
var hcursor, oINPUT, chgflg;
try {
CancelEvent(event);
hcursor = SetWaitCursor();
if (!SessionValidation(false)) return;
oINPUT = document.all(sID);
chgflg = (oINPUT.value != "");
oINPUT.value = "";
document.all( "oLink_"+ sID ).innerText = "";
if (chgflg)
HC_INPUT_OnChange(oINPUT);
SetCursorByHandle(hcursor);
return(chgflg);
} catch (e) {
OnAppError(e);
}
}
function LinkedObj_Sel_OnClick(
sID
)
{
var hcursor, oINPUT, sSelect, nSelId, rs, n, o;
try {
CancelEvent(event);
hcursor = SetWaitCursor();
if (!SessionValidation(false)) return;
oINPUT = document.all(sID);
sSelect = '<SELECT ID="oSELECT_'+ sID +'" SIZE="1" ONBLUR="LinkedObj_Sel_OnBlur(\''+ sID +'\');">'
nSelId = parseInt(oINPUT.value);
rs = GL_oApplication.oDBConn.Execute( oINPUT.ep_sSQLSelect );
while (!rs.EOF) {
n = rs(0).Value;
sSelect += '<OPTION VALUE="'+ GL_oApplication.EncStr4HTML(n+"") +'"'+ (n == nSelId ? " SELECTED" : "") +">"+ rs(1).Value +"</OPTION>";
rs.MoveNext();
}
rs.Close();
sSelect += "</SELECT>";
document.all( "oSPAN_"+ sID +"_SelCtrl" ).innerHTML = sSelect;
document.all( "oSPAN_"+ sID +"_Link" ).style.display = "none";
document.all( "oSPAN_"+ sID +"_Select" ).style.display = "inline";
o = document.all( "oSelect_"+ sID );
if (o != null)
o.focus();
if (oINPUT.ep_fResizeDialog == "1")
SetDialogSizeAndPos(oContentTable);
SetCursorByHandle(hcursor);
} catch (e) {
OnAppError(e);
}
}
function LinkedObj_Sel_OnBlur(
sID
)
{
var hcursor, oSEL, oOPT, sVal, sTxt, chgflg;
try {
hcursor = SetWaitCursor();
if (!SessionValidation(false)) return;
oINPUT = document.all(sID);
oSEL = document.all( "oSELECT_"+ sID );
if (oSEL.options.length) {
oOPT = oSEL.options[oSEL.selectedIndex];
sVal = oOPT.value;
sTxt = oOPT.text;
}
else {
sVal = "";
sTxt = "";
}
chgflg = (oINPUT.value != sVal);
oINPUT.value = sVal;
document.all( "oLink_"+ sID ).innerText = sTxt;
document.all( "oSPAN_"+ sID +"_Link" ).style.display = "inline";
document.all( "oSPAN_"+ sID +"_Select" ).style.display = "none";
document.all( "oSPAN_"+ sID +"_SelCtrl" ).innerHTML = "";
if (chgflg)
HC_INPUT_OnChange(oINPUT);
if (oINPUT.ep_fResizeDialog == "1")
SetDialogSizeAndPos(oContentTable);
SetCursorByHandle(hcursor);
} catch (e) {
OnAppError(e);
}
}
function LinkedObj_Add_OnClick(
sID
)
{
var hcursor, oINPUT, sObjType, vCustObjData, oRet, sVal;
try {
CancelEvent(event);
hcursor = SetWaitCursor();
if (!SessionValidation(false)) return;
oINPUT = document.all(sID);
sObjType = oINPUT.ep_sObjType;
vCustObjData = oINPUT.ep_sCustObjDataSrc;
if (vCustObjData != null)
vCustObjData = eval(vCustObjData);
if (!FuncCall_Proxy(GL_oApplication, GL_oApplication.Custom_CheckObjDlgRight, [sObjType, null]))
return;
oRet = FuncCall_Proxy(GL_oApplication, GL_oApplication.ObjectDlg, [sObjType, null, vCustObjData]);
sVal = oRet.nObjId;
if ((oRet.sAction == "save") && (sVal != oINPUT.value)) {
oINPUT.value = sVal;
HC_INPUT_OnChange(oINPUT);
}
if (oRet.sJumpPath != null)
FuncCall_Proxy(GL_oApplication, GL_oApplication.GotoPage, [oRet.sJumpPath]);
SetCursorByHandle(hcursor);
} catch (e) {
OnAppError(e);
}
}
function GridCtrl_TR_OnMouseOverOut(
oTR
)
{
var s;
try {
CancelEvent(event);
s = oTR.ep_sBgColor;
oTR.ep_sBgColor = oTR.currentStyle.backgroundColor;
oTR.style.backgroundColor = s;
} catch (e) {
OnAppError(e);
}
}
function GridCtrl_RT_ClearTable(
oDocument,
sID
)
{
var oT, oTB, i;
oT = oDocument.all( "oDataTable_"+ sID );
oTB = oDocument.createElement( "TBODY" );
oTB.appendChild( oDocument.all( "oDummyRow_"+ sID ).cloneNode(true) );
i = oT.tBodies.length-1;
while (i >= 0) {
oT.tBodies[i].removeNode(true);
i--;
}
oT.appendChild( oTB );
}
function GridCtrl_RT_AddRow(
oDocument,
sID,
asValues,
fSelClass,
sSelValue,
fSelBoxChk,
sRowValue
)
{
var oT, nIdx, oTR, oTD, o, l, i;
if (fSelClass == null)
fSelClass = false;
if (sSelValue == null)
sSelValue = null;
if (fSelBoxChk == null)
fSelBoxChk = false;
oT = oDocument.all("oDataTable_"+sID);
nIdx = oT.rows.length;
oTR = oDocument.createElement( '<TR ID="oTR_'+ sID +'_'+ nIdx +'"'+
(sRowValue == null
? ''
: ' ep_sRowValue="'+ GL_oApplication.EncStr4HTML(sRowValue) +'"') +
' CLASS="'+
(fSelClass
? oT.ep_sCl_TR_Sel
: (nIdx % 2 == 0
? oT.ep_sCl_TR_Even
: oT.ep_sCl_TR_Odd)) +
(oT.ep_sTargetTRBgColor == null
? ''
: '" ep_sBgColor="'+ oT.ep_sTargetTRBgColor +'" ONMOUSEOVER="GridCtrl_TR_OnMouseOverOut(this)" ONMOUSEOUT="GridCtrl_TR_OnMouseOverOut(this)') +
(oT.ep_sExecOnTRClick == null
? ((oT.ep_fShowIdx == "1") && (sSelValue != null)
? '" ONCLICK="oCheckBox_'+ sID +'_'+ nIdx +'.click();'
: '')
: '" STYLE="cursor:hand;" ONCLICK="'+ GL_oApplication.EncStr4HTML(oT.ep_sExecOnTRClick)) +
'">' );
if (oT.ep_fShowIdx == "1") {
oTD = oDocument.createElement( "TD" );
oTD.className = oT.ep_sCl_TD;
o = oDocument.createElement( "SMALL" );
o.innerText = nIdx+".";
oTD.appendChild(o);
oTR.appendChild( oTD );
}
if (oT.ep_fShowSel) {
oTD = oDocument.createElement( "TD" );
oTD.className = oT.ep_sCl_TD;
if (sSelValue != null) {
o = oDocument.createElement( '<INPUT TYPE="CHECKBOX" ID="oCheckBox_'+ sID +'_'+ nIdx +'" NAME="oCheckBox_'+ sID +'"'+ (fSelBoxChk ? ' CHECKED' : '') +' STYLE="background-color:transparent;">' );
o.value = sSelValue;
oTD.appendChild( o );
}
else
oTD.innerHTML = "&nbsp;";
oTR.appendChild( oTD );
}
l = asValues.length;
for (i = 0; i < l; i++) {
oTD = oDocument.createElement( "TD" );
oTD.className = oT.ep_sCl_TD;
oTD.innerHTML = asValues[i];
oTR.appendChild( oTD );
}
o = oDocument.all("oDataTable_"+sID);
i = o.tBodies.length;
if (!i)
o.appendChild( oDocument.createElement( "TBODY" ) );
else
i--;
o = o.tBodies[i];
o.appendChild( oTR );
}
function BoxGrp_SelectAll(
oBoxes,
fCheck
)
{
var l, i;
if (fCheck == null)
fCheck = true;
if (oBoxes != null)
if (oBoxes.tagName != null) {
oBoxes.checked = fCheck;
}
else {
l = oBoxes.length;
for (i = 0; i < l; i++)
oBoxes.item(i).checked = fCheck;
}
}
function BoxGrp_GetValList(
oBoxes,
sSep
)
{
var s, l, i, arr, o;
if (sSep == null)
sSep = ",";
s = "";
if (oBoxes != null)
if (oBoxes.tagName != null) {
if (oBoxes.checked)
s = oBoxes.value;
}
else {
arr = new Array();
l = oBoxes.length;
for (i = 0; i < l; i++) {
o = oBoxes.item(i);
if (o.checked)
arr.push( o.value );
}
s = arr.join( sSep );
arr = null;
}
return(s);
}
function TabCtrl_Tab_OnClick(
sID,
nClickedTab
)
{
var oContDiv, oCurrTab, oClickedTab;
try {
CancelEvent(event);
oContDIV = document.all( "oDIV_"+ sID );
if (nClickedTab == oContDIV.ep_nCurrTab)
return;
oCurrTab = document.all( "oTD_"+ sID +"_Tab_"+ oContDIV.ep_nCurrTab );
oClickedTab = document.all( "oTD_"+ sID +"_Tab_"+ nClickedTab );
oCurrTab.className = oContDIV.ep_sCl_PassiveTab;
oClickedTab.className = oContDIV.ep_sCl_ActiveTab;
oContDIV.ep_nCurrTab = nClickedTab;
if (oClickedTab.ep_sExecOnClick != null)
eval(oClickedTab.ep_sExecOnClick);
} catch (e) {
OnAppError(e);
}
}
