var GXLastValidRow; var GXInvalidCtrlNum = ''; var GXFromValid=0; var GXToValid=0; var GXLastFocusCtrl=0; var GXLastCurrentGrid=0; var GXFocusCtrl; var GXInvalidCtrl; var GXInvalidFrmtCtrl; var GXLastFocusCtrlRef=null; var GXOldValue = new Array(); var GXCurrentRow = new Array(); var GXOldKeyValue = new Array(); var GXWCP = ''; var WCSV_ctx = '_'; var GXDisableFocus = false; var GXNewRow = new Array(); var GXModifiedRows = new Array(); var gxSuggestControls = new Array(); var gxAttachedControls = []; var gxDisabledControls = new Object; var GXUserFocus=null; var GXLastEvtControl=null; var GXFormDisabled = false; var GXOnchageTriggered = new Array(); var GXDomCache = []; var GXModalNode = null; function gxGetCachedCtrl( CtrlId) { for (var j=0; j"); } function gxReplaceAll( Value, ToReplace, ReplaceWith) { return String(Value).split(ToReplace).join(ReplaceWith); } function gxCharReplace( Value, Chars, Repls) { var Ret = ''; for (var i=0;i adata.length) Ctrl.remove( Ctrl.options.length - 1); while( adata.length > Ctrl.options.length) { var E = document.createElement("OPTION"); Ctrl.options.add( E); } for ( var i=0;i Ctrl.options.length - 1) { Ctrl.options[0].selected = true; } } } function GXgetControlRef( ControlId) { ControlId = GXCmpControlId( ControlId); var Control = GXgetControlRef_impl( "span_"+ControlId); if (Control != null) return Control; Control = GXgetControlRef_impl( ControlId); if (Control != null) return Control; Control = GXgetControlRef_impl( "_"+ControlId); if (Control != null) return Control; return null; } function GXScreen_CtrlRef( ControlId) { var Control = GXgetControlGridRef( ControlId, gxControlGrid( ControlId)); if (Control.type == 'hidden') Control = GXgetControlRef_impl( "span_"+gxSafeId(Control)); return Control; } function GXgetControlRef_impl( ControlId) { if ( ControlId == '') return null; var Control = gxGetCachedCtrl( ControlId); if (Control != null) { return Control; } else { Control = document.forms[0][ControlId]; if (Control != null) { if (Control instanceof Array) Control = Control[0]; } else { Control = document.getElementById(ControlId); if (gxIsEmptyObject(Control)) { ControlList = document.getElementsByName( ControlId); if (ControlList != null) Control = ControlList[0]; } } } if (!gxIsEmptyObject(Control)) { gxAddCachedCtrl( ControlId, Control); } return Control; } function GXgetControlRef_list( ControlId) { var ControlList = document.getElementsByName( ControlId); if (ControlList != null) return ControlList; var Control = document.getElementById(ControlId); if (Control != null) return [Control]; return null; } function gxCurrentGridRow( GridId) { try { return GXCurrentRow[GridId]; } catch(e){} return undefined; } function GXCurrentGridRow( GridId) { var Ret = gxCurrentGridRow( GridId); return (typeof(Ret) == "undefined")?'0001':Ret; } function GXgetControlGridRef( ControlId, GridId, CurrentRow) { ControlId = GXCmpControlId( ControlId); try { if (GridId == 0) return GXgetControlRef_impl( ControlId); if (typeof(CurrentRow) == "undefined") CurrentRow = GXCurrentGridRow( GridId); return GXgetControlRef_impl( ControlId + "_" + CurrentRow); } catch(e){} } function GXCheckRowChange( Ctrl) { var GridId = 0; try { var GridId = GXValidStruct(Ctrl).grid; var GXValidRow = gxCurrentGridRow( GridId); if (GXValidRow != 0 && GXValidRow != GXLastValidRow && GXValidRow.length > 1 && GXLastValidRow.length > 1) { if (gxValidGridRowChange( GridId, GXValidRow) == true) eval( "GXCurrentRow[GridId]='" + GXValidRow + "'"); return true; } } catch(e){} if (typeof(GXValidRow) != "undefined") eval( "GXCurrentRow[GridId]='" + GXValidRow + "'"); return false; } function gxValidGridRow( GridId, GXValidRow) { if (typeof(GXValidRow) != "undefined") eval( "GXCurrentRow[GridId]='" + GXValidRow + "'"); var firstGridCtrl = gxFirstGridControl( GridId); var lastGridCtrl = gxLastGridControl( GridId); return GXValidControls( firstGridCtrl, lastGridCtrl + 1, true); } function gxValidGridRowChange( GridId, GXValidRow) { if (typeof(GXLastValidRow) != "undefined") eval( "GXCurrentRow[GridId]='" + GXLastValidRow + "'"); var firstGridCtrl = gxFirstGridControl( GridId); var lastGridCtrl = gxLastGridControl( GridId); var bRet = GXValidControls( firstGridCtrl, lastGridCtrl + 1, true); if (bRet) gxChangeGridRow( GridId, firstGridCtrl, GXValidRow); return bRet; } function gxChangeGridRow( GridId, firstGridCtrl, GXValidRow) { var bRowisMod = GXGridRowIsMod( gxGridLvl( GridId), GXLastValidRow); if (bRowisMod) gxsetNewRow( GridId, GXLastValidRow, false); GXLastFocusCtrl = firstGridCtrl; if (GXFromValid > firstGridCtrl) GXFromValid = firstGridCtrl; GXLastValidRow = GXValidRow; } function gxFirstGridControl( GridId) { for(i=0;i<=GXLastCtrlId();i++) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.grid == GridId) return i; } return -1; } function gxLastGridControl( GridId) { for(i=GXLastCtrlId();i>=0;i--) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.grid == GridId) return i; } return -1; } function GXgetGridDecimalValue(ControlId, sRow, ThSep, DecPoint) { return GXgetDecimalValue( ControlId + "_" + sRow, ThSep, DecPoint); } function GXgetGridIntegerValue(ControlId, sRow) { return GXgetIntegerValue( ControlId + "_" + sRow); } function GXgetGridControlValue( ControlId, sRow) { return GXgetControlValue( ControlId + "_" + sRow); } function GXgetGridCheckBoxValue(ControlId,sRow,Checked,Unchecked) { return GXgetCheckBoxValue( ControlId + "_" + sRow, Checked, Unchecked) } function GXgetCheckBoxValue( ControlId, Checked, Unchecked) { ControlId = GXCmpControlId( ControlId); Control = document.forms[0][ControlId]; if (Control == null) { ControlList = document.getElementsByName( ControlId); if (ControlList != null) Control = ControlList[0]; } if (Control == null) return 0; if (Control.checked) return Checked; return Unchecked; } function GXgetControlValue( ControlId) { return GXgetControlValue_impl( GXCmpControlId( ControlId)); } function gxSetRadioValue( Control, Value) { for (var i=0;i 0 && IsMod) { var isModExp = /^nIsMod_([0-9]{1,4})_((?:[0-9]{4})*)/i; gridRow = isModExp.exec(gxSafeId(IsMod)); if (gridRow != null) { gridRow = gridRow[2]; } } if (gridRow != null) { for (var i=0; i 0 && Elem.value.length >= MaxLength) Elem.value = Elem.value.substring( 0, MaxLength) } catch(e){}; } function gxAutocompleteOnchange(Ctrl) { if ((Ctrl != null) && (Ctrl.type == "text") && (Ctrl.getAttribute( "autocomplete") != "off")) { if (Ctrl.defaultValue != Ctrl.value) { gxonchange( Ctrl); var ctrlId = gxSafeId(Ctrl); GXOnchageTriggered[ GXWCP+ctrlId] = true; } } } function GXValidLast() { try { if (GXValidStruct(GXFocusCtrl).grid != 0) return; } catch(e){} try { var LastValidationCtrl = GXLastValidationControl(); if (LastValidationCtrl == GXFocusCtrl) { GXValidControls( LastValidationCtrl, LastValidationCtrl + 1, true) } } catch(e){} } function GXVF( evt) { try { GXValidControls( GXFromValid, GXToValid, true); if (GXInvalidCtrl == null) GXFromValid = GXToValid; } catch(e){} } function GXVFTail( evt) { try { GXValidControls( GXFocusCtrl, GXLastCtrlId() + 1, true); } catch(e){} } function GXValidForm() { gxdisableformnvis(); var bRet = true; try { if (GXgetControlValue( "IsConfirmed") != "1" && document.forms[0]._EventName.value == "EENTER.") bRet = GXValidControls( GXLastFocusCtrl, GXLastCtrlId() + 1, false); } catch(e){} if (bRet) { gxSetModalNodeOpacity(50); ForceEnableControls(); } else { gxenableform(); gxSetModalNodeOpacity(50); } return bRet; } function ForceEnableControls() { for( var Ctrl in gxDisabledControls) { Ctrl = GXgetControlRef_list( Ctrl); for( var i=0;i'); } catch (e){} } function GXAlert( Ctrl, Message) { try { gxballoon = getGXBallon(Ctrl.id); gxballoon.setError( Message); gxballoon.show(); GXInvalidFrmtCtrl = Ctrl; } catch (e) { alert( Message); } } function GXAddGridRow( GridId, sRowCount) { var Ctrl = GXgetControlRef( GridId); if (Ctrl == null) return; var Node = Ctrl.firstChild; var nRowCount = parseInt( GXgetControlValue( sRowCount),10) + 1; GXsetControlValue( sRowCount, nRowCount); var sNewRowId = gxrpadwc( nRowCount.toString(), 4, '0'); while( Node != null) { if (Node.nodeName == "TBODY") { var firstRow = Node.firstChild; while( firstRow != null) { if ((firstRow.nodeName == "TR") && gxHasChild( firstRow, "TD")) { var newRow = firstRow.cloneNode( true); gxResetRowValues( newRow); Node.appendChild( newRow); //newRow.innerHTML = newRow.innerHTML.replace( /0001/g, sNewRowId); return; } firstRow = firstRow.nextSibling; } } Node = Node.nextSibling; } } function gxResetRowValues( Row) { var TD= Row.firstChild; while( TD != null) { var Childs = TD.childNodes; for( var i=0;i 0) Gx_mode = gxGetGridRowMode( gxGridLvl( GXLastCurrentGrid), GXLastCurrentGrid); if (GXValidStruct(GXFocusCtrl).nac() == true) { cn = gxSearchControlOnForm(GXLastFocusCtrlRef) + 1; NextFocus = gxSearchNextFocus(cn); if(NextFocus != null) gxSetControlFocus( NextFocus); return true; } } catch(e){} return false; } var GXLastCurrentRow = new Array(); function gxUpdateCurrentRowsControl( Control) { gxUpdateComponentContext( Control); var fldName = Control.name; var gxCurrentRow = gxGetControlRow( Control); if( gxCurrentRow == '') return; var rowIdx = fldName.length - gxCurrentRow.length; fldName = fldName.substring(0, rowIdx-1); var validStruct = gxControlStructForField(fldName); if ((validStruct != null) && (validStruct.grid != 0)) gxUpdateCurrentRows( fldName, gxCurrentRow, validStruct.grid, validStruct); } function gxUpdateCurrentRows( Ctrl, gxCurrentRow, gxCurrentGrid, auxValidStruct) { if( gxCurrentRow == '') return; GXCurrentRow[gxCurrentGrid] = gxCurrentRow; if ( GXLastCurrentRow[gxCurrentGrid] != gxCurrentRow) { GXLastCurrentRow[gxCurrentGrid] = gxCurrentRow; var rows = getCurrentRowsSplited( gxCurrentRow); var validStruct = (typeof(auxValidStruct)=="undefined")?GXValidStruct(Ctrl):auxValidStruct; var i = 1; while ((validStruct != null) && ( typeof(validStruct.pgrid) != "undefined") && ( validStruct.pgrid != 0) && (i < rows.length)) { GXCurrentRow[validStruct.pgrid] = rows[i]; validStruct = gxControlStructForGrid(validStruct.pgrid); gxsetNewRow( validStruct.grid, rows[i], false); i++; } } } function getCurrentRowsSplited( gxCurrentRow) { var rows = new Array(); var currIdx = 0; var strLen = gxCurrentRow.length; if ( strLen <= 4) { rows[0] = gxCurrentRow; return rows; } var rowsQty = strLen / 4; for( var i=0; i< rowsQty; i++) { rows[rows.length] = gxCurrentRow; gxCurrentRow = gxCurrentRow.substring(4); } return rows; } function gxUpdateComponentContext( Control) { try { WCSV_ctx = Control.attributes["gxctx"].value; } catch(e){WCSV_ctx = '_';} } function gxGetControlRow( Control) { var gxCurrentRow = ''; try { gxCurrentRow = Control.attributes["gxrow"].value; } catch(e) { gxCurrentRow = ''; } return gxCurrentRow; } function gxonfocus2(Ctrl, gxFocusCtrl, gxWCP, gxCurrentGrid, gxAddLines) { var gxCurrentRow = gxGetControlRow( Ctrl); gxonfocus(Ctrl, gxFocusCtrl, gxWCP, gxCurrentRow, gxCurrentGrid, gxAddLines); } function gxResetOnchange( gxWCP, Ctrl) { var ctrId = gxSafeId(Ctrl); Ctrl.setAttribute( "gxoldvalue", GXgetControlValue( ctrId)); GXOnchageTriggered[ gxWCP+ctrId] = false; } function gxonfocus(Ctrl, gxFocusCtrl, gxWCP, gxCurrentRow, gxCurrentGrid, gxAddLines) { gxResetOnchange( gxWCP, Ctrl); gxUpdateComponentContext( Ctrl); GXLastFocusCtrlRef = Ctrl; gxinstallsuggest(Ctrl); gxUpdateCurrentRows( gxFocusCtrl, gxCurrentRow, gxCurrentGrid); var NewComponentContext = false; if (GXLastCurrentGrid != gxCurrentGrid) { if(!gxAddLines) { GXLastCurrentGrid = gxCurrentGrid; var firstGridCtrl = gxFirstGridControl( GXLastCurrentGrid); if(GXFromValid > firstGridCtrl) GXFromValid = firstGridCtrl; } } if (GXWCP != gxWCP) { NewComponentContext = true; GXFromValid = 0; } GXWCP = gxWCP; if (NewComponentContext) gxChangeComponentContext(); GXFocusCtrl = gxFocusCtrl; if (GXDisableFocus) { GXDisableFocus = false; return true; } try { if (document.forms[0].Mode.value == 'DLT' || document.forms[0].Mode.value == 'DSP') return true; if (Ctrl.type == 'submit' && !gxIsEventEnterControl(Ctrl, gxWCP) && !gxIsEventCheckControl(Ctrl, gxWCP) && !gxAddLines) return true; } catch(e){} if ( isGXTrn()) { if(Ctrl.gxdisabled && GXLastFocusCtrlRef != null) { cn = gxSearchControlOnForm(Ctrl) + 1; if(cn != -1) { NextFocus = gxSearchNextFocus(cn); if(NextFocus != null) { gxSetControlFocus( NextFocus); return true; } } gxSetControlFocus( GXLastFocusCtrlRef); return true; } } if ( isGXTrn()) { if (GXInvalidFrmtCtrl) { gxSetControlFocus( GXInvalidFrmtCtrl); GXInvalidFrmtCtrl = null; return true; } } if (GXInvalidCtrl != null && GXInvalidCtrl != Ctrl && GXFocusCtrl >= GXInvalidCtrlNum) { if (GXInvalidCtrl == Ctrl && GXVControl( GXInvalidCtrl, GXInvalidCtrlNum, false)) { GXInvalidCtrl = null; return true; } } Ctrl.gxvalid = 0; if(gxAddLines) { GXFromValid = gxFirstGridControl( GXLastCurrentGrid); GXToValid = gxFirstCtrlAfterGrid( GXFromValid, GXLastCurrentGrid); GXFocusCtrl = GXToValid; } else { GXToValid = GXFocusCtrl; if (GXFocusCtrl < GXFromValid) { GXFromValid = GXFocusCtrl; } } if(typeof(GXLastValidRow)=="undefined" && gxCurrentGrid != 0) GXLastValidRow = gxCurrentRow; GXCheckRowChange( GXLastFocusCtrl); if ( GXFocusCtrl >= GXLastFocusCtrl) GXVF(); else GXToValid = GXFocusCtrl; if (GXInvalidCtrl == null) gxSetControlSelection( Ctrl); gxDisableFocusCondition(); return false; } function gxonchange(Ctrl) { GXLastEvtControl = Ctrl; var ctrlId = gxSafeId(Ctrl); if (GXOnchageTriggered[ GXWCP+ctrlId] == true) return; var CtrlValue = GXgetControlValue( ctrlId); if (Ctrl.getAttribute( "gxoldvalue") != CtrlValue); { GXsetControlValue( "IsModified", "1") var jsCode = ''; var bRet = true; if (Ctrl.type == "select-one" || Ctrl.type == "checkbox" || Ctrl.type == "radio") { if (GXVControl( Ctrl, GXFocusCtrl, false)) { if (GXInvalidCtrl == Ctrl) GXInvalidCtrl = null; } else bRet = false; } Ctrl.setAttribute( "gxoldvalue", CtrlValue); if (bRet) gxExecuteOnChange( Ctrl); return gxExecuteUsrOnChange( Ctrl); } return true; } function gxExecuteUsrOnChange( Ctrl) { var jsCode = ''; try{jsCode = Ctrl.attributes["gxoch0"].value;} catch(e) { return true; } var fnc = new Function(jsCode); var ret = fnc.call(); return ret; } function gxExecuteOnChange( Ctrl) { var jsCode = ''; try{jsCode += Ctrl.attributes["gxoch1"].value + ';';} catch(e){} if (gxControlIsAccepted( Ctrl)) try{jsCode += Ctrl.attributes["gxoch2"].value + ';';} catch(e){} if (jsCode != '') { var changeFunc = new Function( jsCode); changeFunc(); } Ctrl.gxvalid = 0; Ctrl.gxctrlchanged = 1; } function gxSetControlFocus( Control) { if (Control) { if (Control instanceof Array) Control = Control[0]; else if (typeof(Control.Ctrl) != "undefined") Control = Control.Ctrl; try { try{document.getElementById(Control.id).focus();} catch(e){Control.focus()} gxSetControlSelection( Control); } catch(e){} } } function GXSetUserFocus( Control) { GXUserFocus = Control; } function gxSetControlFocusOnload( Control) { if (Control) { try { if (gxControlIsAccepted( Control)) { gxUpdateCurrentRowsControl( Control); gxSetControlFocus( Control); } } catch(e){} } } function gxSetControlSelection( Control) { if (Control) { try { if (Control.type == "text" || Control.type == "password" || Control.type == "file") Control.select(); else if (Control.type == "textarea") Control.focus(); else if( typeof(document.selection) != "undefined") document.selection.empty(); } catch(e){} } } function gxControlIsAccepted( Control, Recursive) { if (typeof(Recursive)== "undefined") Recursive = true; if ((Control == null) || (Control.type == "hidden") || (Control.tagName == "A")) return false; if ((Recursive && gxVisible(Control) == false) || (!Recursive && gxControlIsVisible(Control)== false)) return false; if ((Control.tagName == "INPUT") && (Control.type == "text") && gxControlIsVisible( Control)) { if ( Control.style && (Control.style.visibility == 'hidden' || Control.style.display == 'none')) return false; } if (Control.disabled == true) return false; if ((Control.tagName == "INPUT") || (Control.tagName == "SELECT")|| (Control.tagName == "TEXTAREA")) { var roSpan = GXgetControlRef_impl( "span_"+gxSafeId(Control)); if( roSpan && gxControlIsVisible( roSpan)) return false; else return true; } return false; } var bGXAutoskip = false; function form_onkeyup(domevent) { var event = window.event?window.event:domevent; var evel = (event.target || event.srcElement); var maxlen = evel.getAttribute("maxlength"); var value = typeof(evel.value)=="undefined"?"":evel.value; if ((evel.type == "" && GXLastKeyCode == 9) || ( bGXAutoskip && evel.type != "" && !isCtrlKeyCode( GXLastKeyCode) && value.length >= maxlen)) { if (isTextWithLink( evel)) { return; } var el = gxSearchControlOnForm( GXInvalidCtrl?GXInvalidCtrl:GXLastFocusCtrlRef); if (el == -1) return true; var Control = gxSearchFocus( GXShiftPressed?el-1:el+1, !GXShiftPressed); gxSetControlFocus( Control); } } function isTextWithLink( Control) { if (Control != null) { if ((Control.tagName == "A") && Control.childNodes && (Control.childNodes.length > 0)) { var childNode = Control.firstChild; if ( innerChildIsText( childNode)) return true; } } return false; } function innerChildIsText( childNode) { while (childNode != null) { if (childNode.nodeName && (childNode.nodeName == "#text")) return true; childNode = childNode.firstChild; } return false; } function gxEnterBtnHasFocus() { GXLastFocusCtrlRef; if (GXLastFocusCtrlRef == null) return false; return GXLastFocusCtrlRef.type == 'submit' && gxIsEventEnterControl(GXLastFocusCtrlRef, GXWCP); } function gxSkipFocus() { var el = gxSearchControlOnForm( GXLastFocusCtrlRef); if (el == -1) return true; var Control; for (Control = gxSearchFocus( ++el, true);;Control = gxSearchFocus( ++el, true)) { if (Control == null || el == document.forms[0].elements.length) el = -1; else { if (GXSkipOnEnter) break; if (Control.type == 'submit' && !gxIsEventEnterControl(Control, GXWCP)) break; if (Control.type != 'submit' && Control.type != 'button') break; } } gxSetControlFocus( Control); } function gxSearchControlOnForm( Ctrl) { var i_max = document.forms[0].elements.length -1; var i_min = 0; el = getControlIndex(Ctrl,i_min,i_max); return el; } function getControlIndex( Ctrl,i_min,i_max) { if (!document.all) { return Ctrl.gxIndex; } else { var i_minsi = document.forms[0].elements[i_min].sourceIndex; var i_maxsi = document.forms[0].elements[i_max].sourceIndex; var i_med = parseInt(i_min + ((i_max - i_min)/2)) + 1; var i_medsi = document.forms[0].elements[i_med].sourceIndex; if ((i_min == i_max) && (Ctrl.sourceIndex == i_minsi) && (Ctrl.sourceIndex == i_maxsi)) return i_min; if (Ctrl.sourceIndex == i_minsi) return i_min; if (Ctrl.sourceIndex == i_maxsi) return i_max; if (Ctrl.sourceIndex == i_medsi) return i_med; if ((Ctrl.sourceIndex > i_medsi) && (Ctrl.sourceIndex < i_maxsi)) return getControlIndex(Ctrl,i_med+1,i_max-1); if ((Ctrl.sourceIndex > i_minsi) && (Ctrl.sourceIndex < i_medsi)) return getControlIndex(Ctrl,i_min+1,i_med-1); } } function gxSearchFocus( el, Forward) { if ( Forward) return gxSearchNextFocus( el); return gxSearchPrevFocus( el); } function gxDOMCtrlList() { return document.forms[0].elements; } function gxSearchPrevFocus( el) { var arr = gxDOMCtrlList(); for(var i=el;i>=0;i--) { if (gxControlIsAccepted( arr[i])) return arr[i]; } return null; } function gxSearchNextFocus( el) { var arr = gxDOMCtrlList(); for(var i=el;i=0;i--) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.grid == GridId) return _GXValidStruct.lvl; } } catch(e){} return 0; } function gxLvlGrid( Lvl) { try { for (i=GXLastCtrlId();i>=0;i--) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.lvl == Lvl) return _GXValidStruct.grid; } } catch(e){} return 0; } function gxControlLvl( Fld) { var GridId = 0; try { for (i=0;i<=GXLastCtrlId();i++) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.fld == Fld) { GridId = _GXValidStruct.lvl; break; } } } catch(e){} return GridId; } function gxOld( Fld, Var) { try { var Control = GXgetControlGridRef( Var, gxControlGrid( Fld)); var ctrlId = gxSafeId( Control); if (GXOldValue[ctrlId] == null) { if (Control != null) GXOldValue[ctrlId] = Control.value; } return GXOldValue[ctrlId]; } catch(e){} return ''; } function gxControlStruct( CtrlId) { return gxControlStruct_Prefix( WCSV_ctx, CtrlId); } function gxControlStruct_Prefix( Prefix, CtrlId) { try { var LastCtrl = GXLastCtrlId_Prefix(Prefix); for (i=0;i<=LastCtrl;i++) { var validStruct = GXValidStruct_Prefix(Prefix, i); if (typeof(validStruct) != "undefined" && validStruct.fld == CtrlId) return validStruct; } } catch(e){} return null; } function gxControlStructForVar( GXVarName) { try { for (i=0;i<=GXLastCtrlId();i++) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.gxvar == GXVarName) { return _GXValidStruct; } } } catch(e){} return null; } function gxControlStructForGrid( GridId) { try { for (i=0;i<=GXLastCtrlId();i++) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.grid == GridId) { return _GXValidStruct; } } } catch(e){} return null; } function gxControlStructForField( Fld) { try { for (i=0;i<=GXLastCtrlId();i++) { var _GXValidStruct = GXValidStruct(i); if (typeof(_GXValidStruct) != "undefined" && _GXValidStruct.fld == Fld) { return _GXValidStruct; } } } catch(e){} return null; } function gxFirstCtrlAfterGrid(fromCtrl, gridId) { var lastCtrl = GXLastCtrlId(); for(var i=fromCtrl; i'; } function gxtostring( str) { return str.toString(); } function gxtoformattedstring( str) { return str.toString(); } function gxSubmit() { gxdisableformnvis(); ForceEnableControls(); var doSubmit = true; if (typeof(document.forms[0].onsubmit) == 'function') doSubmit = document.forms[0].onsubmit(); if (doSubmit) document.forms[0].submit(); } function isGXTrn() { return typeof(ClearNonKeyFields) != 'undefined'; } function GXValidStruct(Ctrl) { return GXValidStruct_Prefix(WCSV_ctx, Ctrl); } function GXValidStruct_Prefix(Prefix, Ctrl) { try { return this[Prefix + 'GXValidFnc'][Ctrl]; } catch(e){} return undefined; } function GXLastCtrlId() { return GXLastCtrlId_Prefix(WCSV_ctx); } function GXLastCtrlId_Prefix(Prefix) { try { return this[Prefix + 'GXLastCtrlId']; } catch(e){} return undefined; } function gxGetFormElements() { return this[WCSV_ctx + 'GXValidFnc']; } function gxGetFirstAcceptedFormElement() { try { var Elements = gxGetFormElements(); for( var i=0;i'; document.body.appendChild( ModalNode); ModalNode = ModalNode.childNodes[0]; } GXModalNode = ModalNode; } return GXModalNode; } function moveModalNode() { var modalNode = gxgetModalDOMNode(); var y=parseInt(modalNode.style.top); var sy=document.body.scrollTop; var newY = ((sy-y-10)/3+3)+y; modalNode.style.top=newY+'px'; } function resizeModalNode() { var modalNode = gxgetModalDOMNode(); modalNode.style.width = gxgetViewportWidth()+'px'; modalNode.style.height = gxgetViewportHeight()+'px'; } var modalNodeInterval = null; function showModalNodeClose() { var modalNodeClose = document.getElementById("gxModalNodeClose"); modalNodeClose.style.display = "block"; } function hideModalNodeClose() { var modalNodeClose = document.getElementById("gxModalNodeClose"); modalNodeClose.style.display = "none"; } function gxSetModalNodeOpacity(Opacity) { var nodeDiv = gxgetModalDOMNode(); var styleObj = nodeDiv.style; styleObj.opacity = (Opacity / 100); styleObj.MozOpacity = (Opacity / 100); styleObj.filter = "alpha(opacity=" + Opacity + ")"; } function gxdisableformnvis() { gxSetModalNodeOpacity(0); gxdisableform(); } function gxdisableform() { GXFormDisabled = true; gxgetModalDOMNode().style.display = 'block'; modalNodeInterval = setInterval('moveModalNode()', 50); window.onresize=resizeModalNode; setTimeout('showModalNodeClose()', 5000); } function gxenableform() { GXFormDisabled = false; gxgetModalDOMNode().style.display = 'none'; clearInterval(modalNodeInterval); modalNodeInterval = null; window.onresize=null; hideModalNodeClose(); } function GXsetGridSdtValue(ControlId, sRow, Value) { GXsetGridControlValue( ControlId, sRow, Value) } function GXsetSdtValue(ControlId, Value) { GXsetControlValue( ControlId, Value, 0); }