if(!("console" in window)||!("firebug" in console)){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i){window.console[names[i]]=function(){}}}if(typeof Quarix=="undefined"){Quarix={}}(function(){var B,A=["Base","Data","Layout","Links","Widgets","Warning"];for(B=0;B<A.length;B++){if(!Quarix[A[B]]){Quarix[A[B]]={}}}})();Quarix.extend=function(D,A,E){var C=function(){};C.prototype=A.prototype;D.prototype=new C();D.prototype.constructor=D;D.superclass=A.prototype;D.prototype.superclass=A.prototype;if(A.defaultProperties){D.defaultProperties=Quarix.Util.Extend(D.defaultProperties||{},A.defaultProperties)}if(A.prototype.constructor==Object.prototype.constructor){A.prototype.constructor=A}if(E){for(var B in E){D.prototype[B]=E[B]}}};Quarix.Links.Action={LinkName:"Action",ActionPerformed:"actionPerformed",ValueChanged:"valueChanged",DataModified:"dataModified",StateChanged:"stateChanged"};Quarix.Links.Action.SourceEvents=[Quarix.Links.Action.ActionPerformed,Quarix.Links.Action.ValueChanged,Quarix.Links.Action.DataModified,Quarix.Links.Action.StateChanged];Quarix.Links.Action.TargetEvents=[];Quarix.Links.Data={LinkName:"Data",DataAvailable:"dataAvailable",QueryPosition:"queryPosition",DeleteComplete:"deleteComplete",FetchDataSet:"fetchDataSet",UpdateState:"updateState"};Quarix.Links.Data.SourceEvents=[Quarix.Links.Data.DataAvailable,Quarix.Links.Data.QueryPosition,Quarix.Links.Data.DeleteComplete,Quarix.Links.Data.FetchDataSet];Quarix.Links.Data.TargetEvents=[Quarix.Links.Data.UpdateState];Quarix.Links.Commit={LinkName:"Commit",CommitTransaction:"commitTransaction",UndoTransaction:"undoTransaction",RowObjectState:"rowObjectState"};Quarix.Links.Commit.SourceEvents=[Quarix.Links.Commit.CommitTransaction,Quarix.Links.Commit.UndoTransaction];Quarix.Links.Commit.TargetEvents=[Quarix.Links.Commit.RowObjectState];Quarix.Links.Container={LinkName:"Container",InitializeObject:"initializeObject",HideObject:"hideObject",ViewObject:"viewObject",DestroyObject:"destroyObject",EnableObject:"enableObject",DisableObject:"disableObject",ConfirmExit:"confirmExit",ConfirmCancel:"confirmCancel",ConfirmOk:"confirmOk",ExitObject:"exitObject",CreateObjects:"createObjects",Resize:"resize"};Quarix.Links.Container.SourceEvents=[Quarix.Links.Container.InitializeObject,Quarix.Links.Container.HideObject,Quarix.Links.Container.ViewObject,Quarix.Links.Container.DestroyObject,Quarix.Links.Container.EnableObject,Quarix.Links.Container.DisableObject,Quarix.Links.Container.ConfirmExit,Quarix.Links.Container.ConfirmCancel,Quarix.Links.Container.ConfirmOk,Quarix.Links.Container.Resize];Quarix.Links.Container.TargetEvents=[Quarix.Links.Container.ExitObject];Quarix.Links.Page={LinkName:"Page",SelectFolderPage:"selectFolderPage",ChangeFolderPage:"changeFolderPage",DeleteFolderPage:"deleteFolderPage"};Quarix.Links.Page.SourceEvents=[];Quarix.Links.Page.TargetEvents=[Quarix.Links.Page.ChangeFolderPage,Quarix.Links.Page.DeleteFolderPage];Quarix.Links.Navigation={LinkName:"Navigation",FetchFirst:"fetchFirst",FetchNext:"fetchNext",FetchPrev:"fetchPrev",FetchLast:"fetchLast",StartFilter:"startFilter",QueryPosition:"queryPosition",UpdateState:"updateState",LinkState:"linkState",FilterState:"filterState"};Quarix.Links.Navigation.SourceEvents=[Quarix.Links.Navigation.FetchFirst,Quarix.Links.Navigation.FetchNext,Quarix.Links.Navigation.FetchPrev,Quarix.Links.Navigation.FetchLast,Quarix.Links.Navigation.StartFilter];Quarix.Links.Navigation.TargetEvents=[Quarix.Links.Navigation.QueryPosition,Quarix.Links.Navigation.UpdateState,Quarix.Links.Navigation.LinkState,Quarix.Links.Navigation.FilterState];Quarix.Links.TableIO={LinkName:"TableIO",AddRecord:"addRecord",UpdateRecord:"updateRecord",CopyRecord:"copyRecord",DeleteRecord:"deleteRecord",ResetRecord:"resetRecord",CancelRecord:"cancelRecord",UpdateMode:"updateMode",QueryPosition:"queryPosition",UpdateState:"updateState",LinkState:"linkState"};Quarix.Links.TableIO.SourceEvents=[Quarix.Links.TableIO.AddRecord,Quarix.Links.TableIO.UpdateRecord,Quarix.Links.TableIO.CopyRecord,Quarix.Links.TableIO.DeleteRecord,Quarix.Links.TableIO.ResetRecord,Quarix.Links.TableIO.CancelRecord,Quarix.Links.TableIO.UpdateMode];Quarix.Links.TableIO.TargetEvents=[Quarix.Links.TableIO.QueryPosition,Quarix.Links.TableIO.UpdateState,Quarix.Links.TableIO.LinkState];Quarix.EventManager={};Quarix.EventManager._indexed={};Quarix.EventManager._executeOnInit={};Quarix.EventManager._indexedAdd=function(A,B,E,D){var F,C;F=this._indexed[A._objectName||"_noname_"];C=this._indexed[E._objectName||"_noname_"]._reverse;if(!F[B]){F[B]=[D]}else{F[B].push(D)}if(!C[B]){C[B]=[D]}else{C[B].push(D)}};Quarix.EventManager._indexedFind=function(A,B){var F=null,C,E,D;if((F=this._indexed[A._objectName||"_noname_"])&&(F=F[B])){return F}return[]};Quarix.EventManager._indexedRemove=function(G,C,J){var A,F,B=[],E,I,H,D;if(arguments.length==1){if(this._indexed[G._objectName||"_noname_"]){E=this._indexed[G._objectName||"_noname_"]._reverse;for(I in E){if(!{}[I]){A=E[I];for(F=0;F<A.length;F++){B.push(A[F]);H=this._indexed[A[F]._sourceObject._objectName||"_noname_"][I];for(D=0;D<H.length;D++){if(H[D]==A[F]){H.splice(D,1);break}}A.splice(F,1)}}}E=this._indexed[G._objectName||"_noname_"];for(I in E){if(!{}[I]){A=E[I];for(F=0;F<A.length;F++){B.push(A[F]);H=this._indexed[A[F]._sourceObject._objectName||"_noname_"][I];for(D=0;D<H.length;D++){if(H[D]==A[F]){H.splice(D,1);break}}A.splice(F,1)}}}}else{if((A=this._indexed[G._objectName||"_noname_"])&&(A=A[C])){for(F=0;F<A.length;F++){if(A[F].equals(G,C,J)){H=this._indexed[J._objectName||"_noname_"]._reverse[C];for(D=0;D<H.length;D++){if(H[D]==A[F]){H.splice(D,1);break}}B=A.splice(F,1);break}}}}}if(B.length==0&&arguments.length>1){console.warn("IndexedRemove did not find anything to remove: %s %s %s",G,C,J)}return B};Quarix.EventManager._indexedRemoveLink=function(F,B,I){var H=[],E,D,C,A,G;for(E in Quarix.Links[B]){if(typeof Quarix.Links[B][E]=="string"&&Quarix.Links[B][E]!=B){H.push(Quarix.Links[B][E])}}for(E=0;E<H.length;E++){if((A=this._indexed[F._objectName||"_noname_"])&&(A=A[H[E]])){for(D=0;D<A.length;D++){if(A[D].equals(F,B,I)){G=this._indexed[I._objectName||"_noname_"]._reverse[H[E]];for(C=0;C<G.length;C++){if(G[C]==A[E]){G.splice(C,1);break}}A.splice(D,1);break}}}}};Quarix.EventManager.subscribe=function(J,E,L,K,D){if(J==L){console.error("Self links are not allowed. Link %o from %o to itself was no created.",E,J);return }var C,F=null,I=null,H,A=0,B;var G=(typeof L=="string"&&L.indexOf("/")!=-1);if(typeof J=="string"){if(Quarix.Register.contains(J)){J=Quarix.Register.get(J)}else{if(!D){D=100}console.debug("Time out for %o, next check in %os",J,D/1000);setTimeout(Quarix.EventManager.subscribe.bind(this,J,E,L,K,D*2),D);return }}if(!G&&typeof L=="string"){if(Quarix.Register.contains(L)){L=Quarix.Register.get(L)}else{if(!D){D=100}console.debug("Time out for %o, next check in %os",L,D/1000);setTimeout(Quarix.EventManager.subscribe.bind(this,J,E,L,K,D*2),D);return }}if(typeof E=="string"){if(Quarix.Links[E]){this._subscribeLink(J,Quarix.Links[E],L)}else{if(G){this._indexedAdd(J,E,L,new Quarix.EventManager.Item(J,null,E,L,K))}else{this._subscribeEvent(J,E,L,K)}}}else{if(typeof E=="object"&&E.LinkName){this._subscribeLink(J,E,L,K)}else{throw new Error("Unsupported event type ("+typeof E+") in Quarix.EventManager.subscribe!")}}};Quarix.EventManager._subscribeEvent=function(A,B,D,C){var F=null,E=null;F=B==Quarix.Links.Container.CreateObjects?this._getSetterName(D,"Container",true):this._getSetterName(D,B,true);if(F){F.call(D,A,C)}_targetSetterFunc=B==Quarix.Links.Container.CreateObjects?this._getSetterName(A,"Container",false):this._getSetterName(A,B,false);if(_targetSetterFunc){_targetSetterFunc.call(A,D,C)}this._indexedAdd(A,B,D,new Quarix.EventManager.Item(A,null,B,D,C))};Quarix.EventManager._subscribeLink=function(I,E,L,J){var C,D=null,H=null,G,A=0,B,F=null,K=null;C=E.LinkName;if(L[C+"SourceEvents"]){D=L[C+"SourceEvents"]}if(I[C+"TargetEvents"]){H=I[C+"TargetEvents"]}F=this._getSetterName(L,C,true);if(F){F.call(L,I,J)}_targetSetterFunc=this._getSetterName(I,C,false);if(_targetSetterFunc){_targetSetterFunc.call(I,L,J)}if(D&&D instanceof Array){for(A=0,B=D.length;A<B;A++){G=D[A];this._indexedAdd(I,G,L,new Quarix.EventManager.Item(I,C,G,L,J))}}if(H&&H instanceof Array){for(A=0,B=H.length;A<B;A++){G=H[A];this._indexedAdd(L,G,I,new Quarix.EventManager.Item(L,C,G,I,J))}}};Quarix.EventManager._getSetterName=function(C,D,B){var A=D+(B&&"Source"||"Target");return C["set"+A]||C["add"+A]||null};Quarix.EventManager.deregister=function(A,B,E){var C;if(typeof B=="string"){if(Quarix.Links[B]){this._deregisterLink(A,B,E)}else{C=this._indexedRemove(A,B,E);for(var D=0;D<C.length;D++){this._removeEventObjects(C[D]._targetObject,C[D]._event,true,C[D]._sourceObject);this._removeEventObjects(C[D]._sourceObject,C[D]._event,false,C[D]._targetObject)}}}else{if(typeof B=="object"&&B.LinkName){this._deregisterLink(A,B.LinkName,E)}else{if(typeof B=="undefined"){C=this._indexedRemove(A);for(var D=0;D<C.length;D++){this._removeEventObjects(C[D]._targetObject,C[D]._link||C[D]._event,true,C[D]._sourceObject);this._removeEventObjects(C[D]._sourceObject,C[D]._link||C[D]._event,false,C[D]._targetObject)}}}}};Quarix.EventManager._deregisterLink=function(A,C,B){this._removeEventObjects(B,C,true,A);this._removeEventObjects(A,C,false,B);this._indexedRemoveLink(A,C,B)};Quarix.EventManager._removeEventObjects=function(D,F,B,E){var C=B?"Source":"Target",A;if(F==Quarix.Links.Container.CreateObjects){F=Quarix.Links.Container.LinkName}A=D["set"+F+C];if(A&&typeof A=="function"){A.call(D,null);return }A=D["remove"+F+C];if(A&&typeof A=="function"){A.call(D,E);return }};Quarix.EventManager.publish=function(D){var B=D.source,C=D.type;if(typeof C=="undefined"){throw new Error("Undefined event published by "+B._objectName||"_noname_")}var A=this._indexedFind(B,C);if(A.length){A=A.clone();for(var E=0;E<A.length&&!D.handled;E++){A[E].invoke(D)}}return D.handled};Quarix.EventManager.executeOnInit=function(B,A){if(!this._executeOnInit[B]){this._executeOnInit[B]=[]}this._executeOnInit[B].push(A)};Quarix.EventManager.objectInit=function(_targetObject){var _idx,_len,_exec,_execArr;_execArr=this._executeOnInit[_targetObject._objectName||"_noname_"];if(_execArr){var _fu=function(_targetSource){eval(_targetSource)};for(_idx=0,_len=_execArr.length;_idx<_len;_idx++){_exec=_execArr[_idx];if(typeof _exec=="string"){_fu.call(_targetObject,_exec)}if(typeof _exec=="function"){_exec.bind(_targetObject)()}}delete this._executeOnInit[_targetObject._objectName||"_noname_"]}};Quarix.EventManager._remotePublish=function(B,A){var E="",D;var C=["sourceObject=",B._sourceObject._objectName||"_noname_","&link=",(B._link?B._link.LinkName:""),"&event=",(B._event?B._event:"")];if(B._properties){for(D in B._properties){C.push("&"+encodeURIComponent(D)+"=");C.push(encodeURIComponent(B._properties[D]))}}for(D in A){C.push("&"+encodeURIComponent(D)+"=");C.push(encodeURIComponent(A[D]))}new Quarix.Request(B._targetObject,{method:"post",postBody:C.join(""),asynchronous:true,onComplete:Quarix.EventManager._remoteResponse})};Quarix.EventManager._remoteResponse=function(_request){if(!_request||_request.status!=200){return }eval(_request.responseText)};Quarix.EventManager.Item=function(A,E,B,D,C){this._sourceObject=A;this._link=E;this._event=B;this._targetObject=D;this._serverAction=typeof this._targetObject=="string"&&this._targetObject.indexOf("/")>-1;this._properties=C};Quarix.EventManager.Item.prototype.invoke=function(A){if(!this._serverAction){var B=this._targetObject[this._event]||this._targetObject;if(B&&typeof B=="function"){try{B.call(this._targetObject,A)}catch(C){console.error("Exception in %o->%o (%o): %o",this._sourceObject._objectName,this._targetObject._objectName,this._event,C.message);throw C}}}else{Quarix.EventManager._remotePublish(this,A)}};Quarix.EventManager.Item.prototype.equals=function(A,B,C){if(typeof C!="undefined"&&C!=null){return this._sourceObject==A&&(this._link==B||this._event==B)&&this._targetObject==C}else{return this._sourceObject==A&&this._event==B}};Quarix.EventManager.Item.prototype.toString=function(){var A=[this._sourceObject._objectName||"_noname_"," -> ",this._targetObject._objectName||"_noname_"];if(this._event){A.push(" [");A.push(this._event);A.push("]")}if(this._link){A.push(" (");A.push(this._link);A.push(")")}return A.join("")};Quarix.EventManager.newEvent=function(C,B,A){if(!A){A={}}A.type=B;if(!A.source){A.source=C;A.sourceName=C._objectName}if(!A.handled){A.handled=false}return A};$E=function(D,C,G,E){if(typeof C=="string"){if(C.indexOf(".")==-1){C=Quarix.Links[C]||C}else{var F=C.split(".");C=Quarix.Links[F[0]][F[1]]}}var A=Quarix.EventManager.newEvent($Q(D),C,G);for(var B=3;B<arguments.length;B++){$Q(arguments[B])[C](A)}};Quarix.ObjectManager=function(){this._nameRegister=[];this._nameHash={};this._objectRegister=[];this._objectWindowName=[];this._objectDOFieldName=[]};Quarix.ObjectManager.prototype.add=function(C,E,A,D){if(!E){E=C._objectName}if(!A){A=C.getDOColumnName&&C.getDOColumnName()||E}if(this._nameHash[E]&&this._nameHash[E]!=C){console.error("Duplicate ID detected: '"+E+"' already exists!");throw new Error("Duplicate ID!")}var B=this._objectRegister.indexOf(C);if(B!=-1){this._nameRegister[B]=E;this._objectWindowName[B]=C.getWindowName()?C.getWindowName():this._getWindowName(D);this._objectDOFieldName[B]=A||null}else{this._nameHash[E]=C;this._nameRegister.push(E);this._objectRegister.push(C);this._objectWindowName.push(C.getWindowName()?C.getWindowName():this._getWindowName(D));this._objectDOFieldName.push(A||null);Quarix.EventManager._indexed[E]={_reverse:{}}}return C};Quarix.ObjectManager.prototype._getWindowName=function(A){if(!A){return null}if(typeof A=="string"){var C=this.get(A);if(!C){return null}if(C.getObjectType()=="SmartWindow"){return A}var B=A.getContainerSource();while(B){if(B.getObjectType()=="SmartWindow"){return A}B=A.getContainerSource()}return null}if(typeof A=="object"){if(A.getObjectType()=="SmartWindow"){return A.getObjectName()}var B=A.getContainerSource();while(B){if(B.getObjectType()=="SmartWindow"){return B.getObjectName()}B=B.getContainerSource()}return null}return null};Quarix.ObjectManager.prototype.getFieldObject=function(A,D){var C=this._objectDOFieldName.indexOf(A);var B=this._objectDOFieldName.length;D=this._getWindowName(D);if(this._objectWindowName[C]==D){return this._objectRegister[C]}C++;for(;C<B;C++){if(this._objectWindowName[C]==D){return this._objectRegister[C]}}};Quarix.ObjectManager.prototype.get=function(B){if(this._nameHash[B]){return this._nameHash[B]}var A=this._nameRegister.indexOf(B);if(A!=-1){return this._objectRegister[A]}return null};$Q=function(B){var C,A=arguments[0];for(C=1;C<arguments.length;C++){A+="___"+arguments[C]}return Quarix.Register.get(A)};Quarix.ObjectManager.prototype.remove=function(B){if(typeof B=="object"&&B instanceof Quarix.Base.AbsSmartObject){B=B.getObjectName()}var A=this._nameRegister.indexOf(B);if(A!=-1){delete this._nameHash[B];this._objectRegister[A]=null;this._nameRegister[A]=null;this._objectWindowName[A]=null;this._objectDOFieldName[A]=null;this._nameRegister.splice(A,1);this._objectRegister.splice(A,1);this._objectWindowName.splice(A,1);this._objectDOFieldName.splice(A,1)}};Quarix.ObjectManager.prototype.contains=function(A){return this._nameRegister.indexOf(A)!=-1};Quarix.Register=new Quarix.ObjectManager();Quarix.FocusManager={focusedWindow:null,prevFocusedWindow:null,focusedObject:null,setFocusedObject:function(A){this.focusedObject=A.getObjectName();Quarix.WarningManager.checkFocus(A);if(A.getWindowName&&this.focusedWindow&&A.getWindowName()!=this.focusedWindow.getWindowName()){if(this.focusedWindow){this.focusedWindow.applyEntry()}else{this.setFocusedWindow(A.getWindowName())}}else{if(this.focusedWindow&&A){this.focusedWindow._lastFocusedObject=A}}},getFocusedObject:function(){return this.focusedObject},setFocusedWindow:function(A){if(A!=null&&typeof A=="string"){A=Quarix.Register.get(A)}if(A){this.prevFocusedWindow=this.focusedWindow}else{if(this.prevFocusedWindow&&this.prevFocusedWindow._lastFocusedObject){this.focusedWindow=this.prevFocusedWindow;A=this.prevFocusedWindow;this.prevFocusedWindow._lastFocusedObject.applyEntry()}}this.focusedWindow=A},getFocusedWindow:function(){return this.focusedWindow},applyEntry:function(B,A){if(typeof A=="undefined"||A===0){if(typeof B=="string"){B=Quarix.Register.get(B)}if(B){B.applyEntry()}}else{setTimeout("Quarix.FocusManager.applyEntry('"+B+"')",A)}}};(function(){var A=alert;window.alert=function(){var B=Quarix.Util.$1(Quarix.FocusManager.focusedObject);if(B){B.blur()}A.apply(null,$A(arguments));if(B){B.focus()}}})();Quarix.Base.AbsSmartObject=function(D,B){this._objectName=D;this._namespace=D.substr(0,D.lastIndexOf("___"));this._objectCreated=false;this._objectInitialized=false;this._objectType="SmartObject";this._objectHidden=true;this._objectEnabled=true;this._properties=B||{};this._objectPage=parseInt(this._properties.objectPage||0);this._containerSource=null;this._messageBundle={};this._hasFocus=false;this._canFocus=false;this._windowName=null;Quarix.Register.add(this);var A=this;var C=2000;this._orphanTimeout=setTimeout(function(){if(A._objectCreated){A._orphanTimeout=setTimeout(function(){A._orphanTimeout=null;if(!A._objectInitialized){console.warn("Object %o has not been initialized (%o sec)",A._objectName,C/1000)}},C)}else{A._orphanTimeout=null;console.warn("Object %o has not been created (%o sec)",A._objectName,C/1000)}},C)};Quarix.Base.AbsSmartObject.prototype.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;Quarix.Base.AbsSmartObject.prototype.setContainerSource=function(A){this._containerSource=A};Quarix.Base.AbsSmartObject.prototype.getContainerSource=function(){return this._containerSource};Quarix.Base.AbsSmartObject.prototype.getWindowName=function(){return this._windowName};Quarix.Base.AbsSmartObject.prototype.createObjects=function(){this._objectCreated=true};Quarix.Base.AbsSmartObject.prototype.initializeObject=function(){this._objectInitialized=true};Quarix.Base.AbsSmartObject.prototype.publish=function(A,B){Quarix.EventManager.publish(Quarix.EventManager.newEvent(this,A,B))};Quarix.Base.AbsSmartObject.prototype.hideObject=function(){};Quarix.Base.AbsSmartObject.prototype.viewObject=function(){};Quarix.Base.AbsSmartObject.prototype.enableObject=function(){Quarix.Util.Trigger(this,"onEnableObject");if(this._properties.disable){return }this._objectEnabled=true};Quarix.Base.AbsSmartObject.prototype.disableObject=function(){Quarix.Util.Trigger(this,"onDisableObject");this._objectEnabled=false};Quarix.Base.AbsSmartObject.prototype.isObjectEnabled=function(){return this._objectEnabled};Quarix.Base.AbsSmartObject.prototype.confirmExit=function(){return false};Quarix.Base.AbsSmartObject.prototype.confirmCancel=function(){return true};Quarix.Base.AbsSmartObject.prototype.confirmOk=function(){return true};Quarix.Base.AbsSmartObject.prototype.isObjectCreated=function(){return this._objectCreated};Quarix.Base.AbsSmartObject.prototype.isObjectInitialized=function(){return this._objectInitialized};Quarix.Base.AbsSmartObject.prototype.applyEntry=function(){};Quarix.Base.AbsSmartObject.prototype.canFocus=function(){return this._canFocus};Quarix.Base.AbsSmartObject.prototype.hasFocus=function(){return this._hasFocus};Quarix.Base.AbsSmartObject.prototype.destroyObject=function(){if(this._orphanTimeout){clearTimeout(this._orphanTimeout);this._orphanTimeout=null}try{Quarix.Util.Trigger(this,"onDestroy")}catch(A){console.error("Error in onDestroy handler of %o: %o",this,A)}Quarix.Register.remove(this);Quarix.EventManager.deregister(this);this._objectCreated=false};Quarix.Base.AbsSmartObject.prototype.getObjectPage=function(){return this._objectPage};Quarix.Base.AbsSmartObject.prototype.exitObject=function(){};Quarix.Base.AbsSmartObject.prototype.addLink=function(B,A){Quarix.EventManager.subscribe(this,B,A)};Quarix.Base.AbsSmartObject.prototype.removeLink=function(B,A){Quarix.EventManager.deregister(this,B,A)};Quarix.Base.AbsSmartObject.prototype.changeCursor=function(A){};Quarix.Base.AbsSmartObject.prototype.getObjectName=function(){return this._objectName};Quarix.Base.AbsSmartObject.prototype.setObjectName=function(A){this._objectName=A};Quarix.Base.AbsSmartObject.prototype._processObjectProperties=function(){if(this._properties.messageBundle){this.setMessageBundle(this._properties.messageBundle)}};Quarix.Base.AbsSmartObject.prototype._processVisualObjectProperties=function(){if(this._properties.disableOnInit||this._properties.disable){this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}if(this._properties.hotkey){this.setHotkey(this._properties.hotkey)}};Quarix.Base.AbsSmartObject.prototype.getProperties=function(){return this._properties||{}};Quarix.Base.AbsSmartObject.prototype.getProperty=function(C,B,A){var E;if(!(A||false)){var D="get"+C.charAt(0).toUpperCase()+C.substring(1);if(this[D]&&typeof (E=this[D]())!="undefined"){return E}}if(typeof this._properties[C]=="undefined"){if(typeof B==undefined){return null}else{return B}}return this._properties[C]};Quarix.Base.AbsSmartObject.prototype.setProperty=function(C,B,A){A=A||false;var D="set"+C.charAt(0).toUpperCase()+C.substring(1);if(!A&&this[D]){this[D](B)}else{this._properties[C]=B}};Quarix.Base.AbsSmartObject.prototype.getObjectType=function(){return this._objectType};Quarix.Base.AbsSmartObject.prototype.getMessageBundle=function(){return this._messageBundle};Quarix.Base.AbsSmartObject.prototype.setMessageBundle=function(A){if(typeof A=="undefined"){A={}}this._messageBundle=A};Quarix.Base.AbsSmartObject.prototype.getMessage=function(A){if(this._messageBundle[A]){return this._messageBundle[A]}else{if(this._containerSource&&this._containerSource.getMessage(A)!==A){return this._containerSource.getMessage(A)}else{if(this._staticMessageBundle&&this._staticMessageBundle[A]){return this._staticMessageBundle[A]}}}return A};Quarix.Base.AbsSmartObject.prototype._propagateWindowName=function(){if(!this.getContainerTarget){return }var A=this.getContainerTarget();if(!(A instanceof Array)){A=[A]}for(var B=0;B<A.length;B++){if(A[B]&&A[B]._objectType!="SmartWindow"){A[B]._windowName=this._windowName;A[B]._propagateWindowName()}}};Quarix.Base.AbsVisualObject=function(B,A){Quarix.Base.AbsVisualObject.superclass.constructor.call(this,B,A);this._objectValue=null;this._displayMode="";this._domNode=null};Quarix.extend(Quarix.Base.AbsVisualObject,Quarix.Base.AbsSmartObject);Quarix.Base.AbsVisualObject.prototype.setContainerSource=function(A){this._containerSource=A;if(this._objectCreated&&A){if(A._objectCreated){A.getLayoutManager(this._objectPage).add(this)}else{if(this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode)}}}};Quarix.Base.AbsVisualObject.prototype.createObjects=function(){this._objectCreated=true};Quarix.Base.AbsVisualObject.prototype.destroyObject=function(){var A=this.getDOMNode();if(A&&A.domNode&&A.domNode.parentNode){A.domNode.parentNode.removeChild(A.domNode)}if(this._domNode){this._domNode=null}Quarix.Base.AbsVisualObject.superclass.destroyObject.call(this)};Quarix.Base.AbsVisualObject.prototype.hideObject=function(){if(this._objectHidden){return }Quarix.Util.Trigger(this,"onHideObject");var A=this._containerSource;var B;if((B=this._domNode)&&(!A||!A._domNode||(!A._objectHidden&&(A instanceof Quarix.Widgets.Accordion?A._pageVisibility[this._objectPage]:(typeof A._currentPage=="undefined"||A._currentPage==this._objectPage))))){if(B instanceof Quarix.UI.Element){B.domNode.style.display="none"}else{B.style.display="none"}}this._objectHidden=true};Quarix.Base.AbsVisualObject.prototype.viewObject=function(){if(this._properties.hide||!this._objectHidden){return }Quarix.Util.Trigger(this,"onViewObject");var A=this._domNode;if(A){if(A instanceof Quarix.UI.Element){A.domNode.style.display=this._displayMode}else{A.style.display=this._displayMode}}this._objectHidden=false};Quarix.Base.AbsVisualObject.prototype.canFocus=function(){if(this._objectHidden){return false}return Quarix.Base.AbsVisualObject.superclass.canFocus.call(this)};Quarix.Base.AbsVisualObject.prototype.setHide=function(A){this._properties.hide=A;if(this._objectCreated){if(A&&!this._objectHidden){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}else{if(!A&&this._objectHidden){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}}}};Quarix.Base.AbsVisualObject.prototype.isObjectHidden=function(){return this._objectHidden};Quarix.Base.AbsVisualObject.prototype.getObjectValue=function(){return this._objectValue};Quarix.Base.AbsVisualObject.prototype.resize=function(){};Quarix.Base.AbsVisualObject.prototype.setObjectValue=function(A){this._objectValue=A};Quarix.Base.AbsVisualObject.prototype.setDOMNode=function(B){var A;this._domNode=B;if(A=this._properties["class"]){this._domNode.domNode.className+=" "+A}if(!(B instanceof Quarix.UI.Element)){console.log("setDOMNode called with HTMLElement, not UI.Element. I am %o",this)}};Quarix.Base.AbsVisualObject.prototype.getDOMNode=function(){return this._domNode};Quarix.Base.AbsVisualObject.prototype.getTooltip=function(){return(this._properties.tooltip||this._properties.label||"")+(this._properties.hotkey?(" - "+this._properties.hotkey):"")};Quarix.Base.AbsVisualObject.prototype.setTooltip=function(A){this._properties.tooltip=A;if(this._objectInitialized&&this._domNode){this._domNode.domNode.title=A}};Quarix.Base.AbsVisualObject.prototype.getHotkey=function(){if(this._properties.hotkey){return this._properties.hotkey}return null};Quarix.Base.AbsVisualObject.prototype.setHotkey=function(A){var B=this.click||this.applyEntry||Prototype.EmptyFunction;if(B==Prototype.EmptyFunction){if(this._actions){B=this._actions.click||this._actions.onClick||Prototype.EmptyFunction;if(B!=Prototype.EmptyFunction){B=B.bind(this)}}}else{B=B.bind(this)}this._properties.hotkey=Quarix.Hotkeys.addAccessKey(this,A,B,"",null);return this._properties.hotkey};Quarix.Base.AbsVisualObject.prototype.setHotkeyAction=function(A){this._properties.hotkey.action=A||Prototype.EmptyFunction;return this._properties.hotkey};Quarix.Base.AbsVisualObject.prototype.setHotkeyDescription=function(A){this._properties.hotkey.description=A||"";return this._properties.hotkey};Quarix.Base.AbsVisualObject.prototype.setHotkeyReadableKey=function(A){this._properties.hotkey.readableKey=A||null;return this._properties.hotkey};if(typeof (Quarix.UI)=="undefined"){Quarix.UI={}}(function(){var A=0;Quarix.UI={GenerateId:function(B){B=B||"agid_";A++;return B+A}}})();Quarix.UI.BlockElements=/^(?:address|blockquote|center|dir|div|dl|fieldset|form|h\d|hr|isindex|menu|ol|ul|p|pre|table|dd|dt|li|tbody|tr|td|thead|tfoot|iframe)$/i;Quarix.UI.Borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};Quarix.UI.Paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};Quarix.UI.Margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};Quarix.UI.PropertyCache=[];Quarix.UI.CreateFormElement=function(C,D,E){var A,B=Quarix.UI.Element.fromString.tmpNode;A="<"+C;if(typeof E=="string"){A+=' type="'+E+'"'}A+=' name="'+D+'" id="'+D+'"></'+C+">";B.innerHTML=A;return B.firstChild};Quarix.UI.ConvertToCamel=function(B){if(B.indexOf("-")<0){return B}if(Quarix.UI.PropertyCache[B]){return Quarix.UI.PropertyCache[B]}var A,C=B;while(A=Quarix.UI.ConvertToCamel.rx.exec(B)){B=B.replace(A[1],Quarix.UI.ConvertToCamel.chr[A[1].replace("-","")])}Quarix.UI.PropertyCache[C]=B;return B};Quarix.UI.ConvertToCamel.rx=/(-[a-z])/i;Quarix.UI.ConvertToCamel.chr={};(function(){var C="a".charCodeAt(0),A="A".charCodeAt(0),B="z".charCodeAt(0);for(i=0;C+i<=B;i++){Quarix.UI.ConvertToCamel.chr[String.fromCharCode(C+i)]=String.fromCharCode(A+i)}})();Quarix.UI.GetStyle=function(A,B){if(typeof A=="string"){A=document.getElementById(A)}var C=null;if(A.currentStyle){C=A.currentStyle[Quarix.UI.ConvertToCamel(B)]}else{if(document.defaultView&&document.defaultView.getComputedStyle){C=document.defaultView.getComputedStyle(A,null).getPropertyValue(B)}}return C};Quarix.UI.SetStyle=function(B,C,A){if(typeof B=="string"){B=document.getElementById(B)}B.style[Quarix.UI.ConvertToCamel(C)]=A};Quarix.UI.GetElementsBy=function(G,C,D){C=C||"*";D=$1(D)||document;var B=[];var F=D.getElementsByTagName(C);var A,E;if(!F.length&&(C=="*"&&D.all)){F=D.all}for(A=0,E=F.length;A<E;++idx){if(G(F[A])){B.push(F[A])}}return B};Quarix.UI.GetViewportHeight=function(){if(self.innerHeight){return self.innerHeight}return(document.compatMode=="CSS1Compat")?document.documentElement.clientHeight:document.body.clientHeight};Quarix.UI.GetViewportWidth=function(){if(self.innerWidth){return self.innerWidth}return(document.compatMode=="CSS1Compat")?document.documentElement.clientWidth:document.body.clientWidth};Quarix.UI.CreateNode=function(C){if(!C){return null}var B=document.createElement(C.tag),A;if(C.id){B.id=C.id}if(C.className){B.className=C.className}if(C.style){for(A in C.style){B.style[A]=C.style[A]}}return B};Quarix.UI.CreateNodeElement=function(A){return Quarix.UI.Element.get(Quarix.UI.CreateNode(A))};Quarix.UI.Element=function(A){this._properties=new Object();this.domNode=typeof A=="string"?document.getElementById(A):A;this.domNode.Element=this;this.initialDisplay=this.domNode.style.display=="none"?"":this.domNode.style.display};Quarix.UI.Element.get=function(A){if(!A){return null}var B;if(A instanceof Quarix.UI.Element){return A}else{if(typeof A=="string"){if(B=$1(A)){return B.Element||new Quarix.UI.Element(B)}else{return null}}else{return A.Element||new Quarix.UI.Element(A)}}};Quarix.UI.Element.DOMfromString=function(A){Quarix.UI.Element.fromString.tmpNode.innerHTML=A;return Quarix.UI.Element.fromString.tmpNode.firstChild};Quarix.UI.Element.fromString=function(B){Quarix.UI.Element.fromString.tmpNode.innerHTML=B;var A=Quarix.UI.Element.fromString.tmpNode.firstChild;Quarix.UI.Element.fromString.tmpNode.removeChild(A);return new Quarix.UI.Element(A)};Quarix.UI.Element.fromString.tmpNode=document.createElement("div");Quarix.UI.Element.fromTemplate=function(C,E){var D=C,B,A=0;while(B=D.match(/{([0-9a-zA-Z_]+)}/)){D=D.replace(B[0],E[B[1]]||E[A]);A++}return Quarix.UI.Element.fromString(D)};Quarix.UI.Element.prototype.getObjectName=function(){return this.domNode.tagName.toLowerCase()+(this.domNode.id?"#"+this.domNode.id:"")+(this.domNode.className?"."+this.domNode.className.split(/\s+/).join("."):"")};Quarix.UI.Element.prototype.getStyle=function(A){return Quarix.UI.GetStyle(this.domNode,A)};Quarix.UI.Element.prototype.setStyle=function(A,B){Quarix.UI.SetStyle(this.domNode,A,B)};Quarix.UI.Element.prototype.sumStylesValue=function(E,D){var C=0,F=0;for(var B=0,A=E.length;B<A;B++){F=parseInt(this.getStyle(D[E.charAt(B)]),10);if(!isNaN(F)){C+=F}}return C};Quarix.UI.Element.prototype.getBorderWidth=function(A){return this.sumStylesValue(A,Quarix.UI.Borders)};Quarix.UI.Element.prototype.getPadding=function(A){return this.sumStylesValue(A,Quarix.UI.Paddings)};Quarix.UI.Element.prototype.getMargins=function(A){if(!A){return{top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0}}else{return this.sumStylesValue(A,Quarix.UI.Margins)}};Quarix.UI.Element.prototype.getHeight=function(B){var A=this.domNode.offsetHeight;return B!==true?A:A-this.getBorderWidth("tb")-this.getPadding("tb")};Quarix.UI.Element.prototype.getWidth=function(B){var A=this.domNode.offsetWidth;return B!==true?A:A-this.getBorderWidth("lr")-this.getPadding("lr")};Quarix.UI.Element.prototype.setWidth=function(A){if(typeof A!="number"){return }A-=(this.getBorderWidth("lr")+this.getPadding("lr"));if(A<0){A=0}this.setStyle("width",""+A+"px")};Quarix.UI.Element.prototype.setHeight=function(A){if(typeof A!="number"){return }A-=(this.getBorderWidth("tb")+this.getPadding("tb"));if(A<0){A=0}this.setStyle("height",""+A+"px")};Quarix.UI.Element.prototype.setX=function(A){if(typeof A!="number"){return }this.setStyle("left",""+A+"px")};Quarix.UI.Element.prototype.setY=function(A){if(typeof A!="number"){return }this.setStyle("top",""+A+"px")};Quarix.UI.Element.prototype.getChildsByTagName=function(C){var E=this.domNode.getElementsByTagName(C);var B=E.length;var D=new Array(B);for(var A=0;A<B;A++){D[A]=Quarix.UI.Element.get(E[A])}return D};Quarix.UI.Element.prototype.getChildsByClassName=function(F,D){var G=function(H){return Element.hasClassName(H,F)};var A=Quarix.UI.GetElementsBy(G,D,this.domNode);var C,E=A.length;var B=new Array(E);for(C=0;C<E;C++){B[C]=Quarix.UI.Element.get(_childrs[C])}return B};Quarix.UI.Element.prototype.isDisplayed=function(){return Quarix.UI.GetStyle(this.domNode,"display")!="none"};Quarix.UI.Element.prototype.setDisplayed=function(A){A=String(A);this.domNode.style.display=A=="true"?this.initialDisplay:A=="false"?"none":A};Quarix.UI.Element.prototype.setAttribute=function(B,C){if(this.domNode.getAttributeNode(B)){this.domNode.getAttributeNode(B).value=C}else{var A=document.createAttribute(B);A.value=C;this.domNode.setAttributeNode(A)}};Quarix.UI.Element.prototype.removeChildrens=function(){var C,B,A=this.domNode.childNodes;for(C=0,B=A.length;C<B;C++){this.domNode.removeChild(A[C])}};Quarix.UI.Element.prototype.addClassName=function(A){if(!this.hasClassName(A)){this.domNode.className+=" "+A}};Quarix.UI.Element.prototype.removeClassName=function(A){this.domNode.className=this.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")};Quarix.UI.Element.prototype.hasClassName=function(A){return !!this.domNode.className.match(new RegExp("\\b"+String(A)+"\\b"))};Quarix.UI.Border={NONE:"NONE",RAISED:"RAISED",SUNKEN:"SUNKEN",RIDGE:"RIDGE",GROOVE:"GROOVE",SHADOW:"SHADOW",SOLID:"SOLID",DrawBorder:function(C,A,B,D){if(!C||C.length<3){return }B=B||Quarix.Theme.BorderColor;D=typeof D=="undefined"?1:D;switch(A.toUpperCase()){case Quarix.UI.Border.NONE:C[0].domNode.style.border="none";C[1].domNode.style.border="none";C[2].domNode.style.border="none";break;case Quarix.UI.Border.RAISED:C[0].domNode.style.border="none";C[1].domNode.style.border="1px solid";C[1].domNode.style.borderColor=Quarix.Theme.BorderHighlight+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight;C[2].domNode.style.border="none";break;case Quarix.UI.Border.SUNKEN:C[0].domNode.style.border="none";C[1].domNode.style.border="1px solid";C[1].domNode.style.borderColor=Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow;C[2].domNode.style.border="none";break;case Quarix.UI.Border.RIDGE:C[0].domNode.style.border="1px solid";C[0].domNode.style.borderColor=Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight;C[1].domNode.style.border="1px solid";C[1].domNode.style.borderColor=Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight;C[2].domNode.style.border="1px solid";C[2].domNode.style.borderColor=Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow;break;case Quarix.UI.Border.GROOVE:C[0].domNode.style.border="1px solid";C[0].domNode.style.borderColor=Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow;C[1].domNode.style.border="1px solid";C[1].domNode.style.borderColor=Quarix.Theme.BorderHighlight+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderShadow+" "+Quarix.Theme.BorderHighlight;C[2].domNode.style.border="none";break;case Quarix.UI.Border.SHADOW:C[0].domNode.style.border="1px solid";C[0].domNode.style.borderTop="none";C[0].domNode.style.borderLeft="none";C[0].domNode.style.borderColor="transparent #E3E3DF #E3E3DF transparent";C[1].domNode.style.border="1px solid";C[1].domNode.style.borderColor="#A5ACB2 #D0CEBF #D0CEBF #A5ACB2";C[2].domNode.style.border="1px solid";C[2].domNode.style.borderColor="#FCFCFE #A5ACB2 #A5ACB2 #FCFCFE";break;case Quarix.UI.Border.SOLID:C[0].domNode.style.border="none";C[1].domNode.style.border=D+"px solid "+B;C[2].domNode.style.border="none";break}}};Quarix.Util.WeekdayTrigger=function(B,A){Quarix.Util.WeekdayTrigger.superclass.constructor.call(this,B,A);this._actionSources=[];this._actionTargets=[];this.ActionSourceEvents=[Quarix.Links.Action.ValueChanged];this._messageBundle={weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"};this._weekDays=null};Quarix.extend(Quarix.Util.WeekdayTrigger,Quarix.Base.AbsSmartObject);Quarix.Util.WeekdayTrigger.prototype.valueChanged=function(A){var D=A.source,B=A.value;if(this._weekDays==null){this._weekDays=this.getMessage("weekdays").split(",")}if(!this._weekDays||this._weekDays.length!=7){return }var C=Quarix.Util.GetDateValue(D);if(C&&C.date&&this._weekDays[C.date.getDay()]){C=this._weekDays[C.date.getDay()]}else{C=""}this.publish(Quarix.Links.Action.ValueChanged,{value:C})};Quarix.Util.WeekdayTrigger.prototype.getActionSource=function(){return this._actionSources};Quarix.Util.WeekdayTrigger.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Util.WeekdayTrigger.prototype.removeActionSource=function(B){var A=0;while((this._actionTargets[A]!=null)&&(this._actionTargets[A]!=B)){++A}this._actionTargets.splice(A,1)};Quarix.Util.WeekdayTrigger.prototype.getActionTarget=function(){return this._actionTargets};Quarix.Util.WeekdayTrigger.prototype.addActionTarget=function(A){this._actionTargets.push(A)};Quarix.Util.WeekdayTrigger.prototype.removeActionTarget=function(B){var A=0;while((this._actionTargets[A]!=null)&&(this._actionTargets[A]!=B)){++A}this._actionTargets.splice(A,1)};Quarix.Util.FillWithObject=function(D,C){var G=D;for(var A in C){var E="{"+A+"}";var B=0;var F=G.indexOf(E,B);while(F!=-1){G=G.substring(0,F)+C[A]+G.substring(F+E.length,G.length);B=F+String(C[A]).length;F=G.indexOf(E,B)}}return G};Quarix.Util.FillWithArray=function(E,D){var H=E;var A=0,B=D.length;for(;A<B;++A){var F="{"+A.toString()+"}";var C=0;var G=H.indexOf(F,C);while(G!=-1){H=H.substring(0,G)+D[A]+H.substring(G+F.length,H.length);C=G+String(D[A]).length;G=H.indexOf(F,C)}}return H};Quarix.Util.EvalUrl=function(A,G,K,C,J){var H;if(typeof J=="string"&&(H=$Q(J))){H.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject));return }var E=$1("_tmpEvalUrl");if(!E){E=document.body.appendChild(Quarix.UI.Element.DOMfromString('<div id="_tmpEvalUrl" style="display:none"> </div>'))}else{E.innerHTML=""}var F=false;var I={url:A};if(!K){F=true;K=function(){Quarix.Util.EvalUrl.ReqInProgress.splice(Quarix.Util.EvalUrl.ReqInProgress.indexOf(I),1)}}if(Quarix.Util.EvalUrl.ReqInProgress.pluck("url").indexOf(A)==-1){var D=K;if(typeof C!="undefined"&&C){D=function(M){Quarix.Util.BlockWindow(document.body,3);try{K()}catch(L){console.error("Exception while executing EvalUrl callback: %o",L)}Quarix.Util.EvalUrl.lastReqHiding=I;setTimeout(function(){if(Quarix.Util.EvalUrl.lastReqHiding!=I){return }Quarix.Util.ClearWindow(document.body)},100)};Quarix.Util.BlockWindow(document.body,2)}var B=function(L){if(Quarix.Util.noAnimations){Quarix.Util.disableAnimations()}D(L)};I.updater=new Quarix.Request.Updater(E,A,{method:"get",parameters:G,asynchronous:true,evalScripts:true,onComplete:B})}if(F){Quarix.Util.EvalUrl.ReqInProgress.push(I)}};Quarix.Util.EvalUrl.lastReqHiding=null;Quarix.Util.EvalUrl.ReqInProgress=[];Quarix.Util.BlockWindow=function(C,A,G,B){if(C._domNode){C=C._domNode}if(C.domNode){C=C.domNode}if(!A){A=1}var D,F;if(!G&&A>1){for(F=0;F<Quarix.Util.BlockWindow.blocked.length;F++){if(Quarix.Util.BlockWindow.blocked[F].wnd==C&&parseInt(Quarix.Util.BlockWindow.blocked[F].node.className.match(/\bloading(\d)\b/)[1])<A){D=Quarix.Util.BlockWindow.blocked[F].node}}}if(D){D.className=D.className.replace(/loading\d/,"loading"+A)}else{var H=Position.page(C);var I;if(B){I=B}else{var E=C;while(!E.className.match(/\bdialog\b/)&&E!=document.body&&E.parentNode){E=E.parentNode}if(E.style.zIndex){I=parseInt(E.style.zIndex)+1}else{I=10000}}D=document.body.appendChild(document.createElement("div"));D.style.position="absolute";D.className="overlay_"+(Quarix.Theme.WindowClassName||"alphacube")+" loading"+A;D.style.left=H[0]+"px";D.style.top=H[1]+"px";D.style.height=C.offsetHeight+"px";D.style.width=C.offsetWidth+"px";D.style.zIndex=I;Quarix.Util.BlockWindow.blocked.push({wnd:C,node:D})}return D};Quarix.Util.BlockWindow.blocked=[];Quarix.Util.ClearWindow=function(C){if(C._domNode){C=C._domNode}if(C.domNode){C=C.domNode}var B,A,D=false;for(A=Quarix.Util.BlockWindow.blocked.length-1;A>=0;A--){if(Quarix.Util.BlockWindow.blocked[A].wnd==C){B=Quarix.Util.BlockWindow.blocked[A].node;B.parentNode.removeChild(B);Quarix.Util.BlockWindow.blocked.splice(A,1);D=true;break}}if(!D){console.warn("Quarix.Util.ClearWindow called but no overlay was found. Element is %o",C)}};Quarix.Util.Serialize=function(B){if(!B){return""}var C,A=[];for(C in B){if(!(B[C] instanceof Function)){A.push(encodeURIComponent(C)+"="+encodeURIComponent(B[C]))}}return A.join("&")};Quarix.Util.Trigger=function(_smartObject,_onEvent,_publishArgs){var retValue=false;if(!_smartObject||!_onEvent){console.error("Quarix.Util.Trigger called but no smart object instance or event passed.");return }var args=_publishArgs||[],val=_smartObject._properties[_onEvent+"Eval"];if(val){try{Quarix.Util.EvalUrl(val)}catch(e){console.error(e)}}val=_smartObject._properties[_onEvent+"Execute"];if(val){try{if(typeof val=="function"){if(val.apply(_smartObject,args)){retValue=true}}else{if((function(){var arg=args;return eval(val)}).apply(_smartObject,args)){retValue=true}}}catch(e){console.error(e)}}val=_smartObject._properties[_onEvent+"Publish"];if(val){try{var _args=[val];if(_publishArgs){_args.concat(args)}_smartObject.publish.apply(_smartObject,_args)}catch(e){console.error(e)}}return retValue};Quarix.Util.injectOneTimeTrigger=function(object,event,extra){var exec=object._properties[event+"Execute"];var fct=function(){var ret=false;object._properties[event+"Execute"]=exec;if(typeof extra=="function"){if(extra.apply(this,arguments)){ret=true}}else{if(eval(extra)){ret=true}}if(exec){if(typeof exec=="function"){if(exec.apply(this,arguments)){ret=true}}else{if(eval(exec)){ret=true}}}return ret};object._properties[event+"Execute"]=fct};Quarix.Calendars={calendars:[],create:function(B,D,F,A){var C;if(A=="dmy"){C=F.replace(/99(.)99(.)/,"%d$1%m$2")}else{if(A!="mdy"){throw"Quarix.Calendars.create - unknown dateFormat: "+A}C=F.replace(/99(.)99(.)/,"%m$1%d$2")}C=C.replace(/9999/,"%Y");C=C.replace(/99/,"%y");var E=Calendar.setup({inputField:B,button:D,firstDay:1,ifFormat:C});this.calendars.push(E)},getCalendar:function(A){return this.calendars.detect(function(B){return B.inputField==A})}};Quarix.Util.SetTheme=function(G){var D=$1("skinJS");var B=$1("skinCSS");var F=$1("appCSS");var A=Quarix.Globals&&(Quarix.Globals.DEP_PATH||"");if(A.charAt(A.length)!="/"){A+="/"}A+="templates/"+G;if(B){var E=B.parentNode;E.removeChild(B);B=document.createElement("LINK");B.type="text/css";B.id="skinCSS";B.media="all";B.rel="stylesheet";B.href=A+"/css/default.css";E.appendChild(B)}if(D){var E=D.parentNode;E.removeChild(D);D=document.createElement("SCRIPT");D.type="text/javascript";D.id="skinJS";D.src=A+"/js/theme.js";E.appendChild(D)}if(F){var E=F.parentNode;var C=F.href;E.removeChild(F);B=document.createElement("LINK");B.type="text/css";B.id="appCSS";B.media="all";B.rel="stylesheet";B.href=C;E.appendChild(B)}};Quarix.Util.SetSkin=function(B,D){var A=$1("skinJS");if(typeof B!="undefined"&&$1("skinCSS")){$1("skinCSS").href=B}if(typeof D!="undefined"&&A){var C=A.parentNode;C.removeChild(A);A=document.createElement("SCRIPT");A.type="text/javascript";A.id="skinJS";A.src=D;C.appendChild(A)}};Quarix.Util.SetDocumentStyle=function(D,C){console.log("cssId %s cssPath %s",D,C);if(!$(D)){var B=document.getElementsByTagName("HEAD")[0];var A=document.createElement("LINK");A.id=D;A.media="all";A.rel="stylesheet";A.type="text/css";B.appendChild(A)}if(typeof C!="undefined"&&$(D)){$(D).href=C}};Quarix.Util.BrowserInfo={};Quarix.Util.BrowserInfo.name=BrowserDetect.browser;Quarix.Util.BrowserInfo._engines={Explorer:"Trident",Firefox:"Mozilla",iCab:"iCab",Konqueror:"KHTML",Mozilla:"Mozilla",Netscape:"Mozilla",Opera:"Presto",Safari:"KHTML"};Quarix.Util.BrowserInfo.engine=Quarix.Util.BrowserInfo._engines[Quarix.Util.BrowserInfo.name]||"unknown";Quarix.Util.GetNumericValue=function(A,C){var B=(typeof A=="object")?A:Quarix.Register.get(A);C=(typeof C!="undefined")?C:Quarix.Globals.LOCALE_NUM_FORMAT;var D=B.getObjectValue();if(C=="European"){D=D.replace(".","");D=D.replace(",",".")}D=parseFloat(D);if(isNaN(D)){D=0}return D};Quarix.Util.GetDateValue=function(C,J,A){var D=(typeof C=="object")?C:Quarix.Register.get(C);J=(typeof J!="undefined")?J:D.getProperty("mask","99-99-9999",true);A=(typeof A!="undefined")?A:D.getProperty("dateFormat",Quarix.Globals.LOCALE_DATE_FORMAT,true);var G={year:"",month:"",day:"",date:null};var B=D.getObjectValue();var H=J.split(/[9]+/);if(H[0].length==0){H.splice(0,1)}var E=J.split(H[0]);E[A.indexOf("d")]=E[A.indexOf("d")].replace(/9/g,"d");E[A.indexOf("m")]=E[A.indexOf("m")].replace(/9/g,"m");E[A.indexOf("y")]=E[A.indexOf("y")].replace(/9/g,"y");J=E[0]+H[0]+E[1]+H[0]+E[2];for(var I=0,F=J.length;I<F;I++){switch(J.charAt(I)){case"d":G.day+=B.charAt(I);break;case"m":G.month+=B.charAt(I);break;case"y":G.year+=B.charAt(I);break}}G.day=parseInt(G.day,10);G.month=parseInt(G.month,10);G.year=parseInt(G.year,10);G.date=new Date(G.year,G.month-1,G.day);return G};Quarix.Util.ConvertToMap=function(H){var E={},F,C,D,G;if(!H){return E}F=H.split(",");for(var B=0,A=F.length;B<A;B++){C=F[B].split(":");D=C[0].strip();if(C.length>1){G=C[1].strip()}else{G=D}if(D==""){D=G}if(D!=null){E[D]=G}}return E};Quarix.Util.PrintDispositionTrigger=function(B,D){this._sourceObject=typeof (B)=="object"?B:Quarix.Register.get(B);this._targetObject=typeof (D)=="object"?D:Quarix.Register.get(D);this._mediaMap=["PDF","HTML","XLS","DOC","PPT","PS"];this._browserMap={"default":[null,null,null,null,null,null],Trident:[null,null,null,null,null,"attachment"],Mozilla:[null,null,"attachment","attachment","attachment","attachment"],Presto:[null,null,"attachment","attachment","attachment","attachment"],KHTML:[null,null,"attachment","attachment","attachment","attachment"]};if(this._sourceObject.getObjectValue()){var A=this._mediaMap.indexOf(this._sourceObject.getObjectValue());if(A>=0){if(typeof (this._browserMap[Quarix.Util.BrowserInfo.engine])!="undefined"){var C=this._browserMap[Quarix.Util.BrowserInfo.engine][A];if(C!=null){this._targetObject.setObjectValue(C);this._targetObject.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{this._targetObject.setObjectValue("inline");this._targetObject.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}else{var C=this._browserMap["default"][A];if(C!=null){this._targetObject.setObjectValue(C);this._targetObject.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{this._targetObject.setObjectValue("inline");this._targetObject.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}}};Quarix.Util.MessageBox=function(C,B,G,F){if(arguments.length<3){throw new Error("Quarix.Util.MessageBox() requires at least three parameters!")}if(arguments.length<4){F=C}if(B.length==0){B=["Ok"]}var E;if(Quarix.Util.MessageBox.avail.length){E=Quarix.Util.MessageBox.avail[0];Quarix.Util.MessageBox.avail.splice(0,1)}else{var D="_generated_MessageBox_",A=0;while($Q(D+A)){A++}var E=new Quarix.Widgets.Window(D+A,{title:F,closable:false,closeOnOK:false,closeOnCancel:false,hideOnInit:true,hideOnClose:true,layout:"LineLayout",layoutTableRows:2,layoutCellSpacing:0,minimizable:false,width:300,height:100,windowType:"internal"});E.textBlock=new Quarix.Widgets.HTMLBlock(D+A+"_block",{layoutRow:0});E.buttons=[];E.addLink(Quarix.Links.Container.CreateObjects,E.textBlock);E.createObjects();E.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}while(E.buttons.length>B.length){E.buttons[E.buttons.length-1].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject));E.buttons.splice(E.buttons.length-1,1)}E.callback=G;for(var A=0;A<E.buttons.length;A++){E.buttons[A].setLabel(B[A])}while(E.buttons.length<B.length){E.buttons.push(new Quarix.Widgets.Button(E._objectName+"_button"+E.buttons.length,{layoutRow:1,label:String(B[E.buttons.length]),onClickExecute:function(){E.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));Quarix.Util.MessageBox.avail.push(E);E.callback(E.buttons.indexOf(this))}}));E.addLink(Quarix.Links.Container.CreateObjects,E.buttons[E.buttons.length-1]);if(E.buttons.length==1){E.buttons[0].getDOMNode().domNode.parentNode.style.textAlign="center"}}E.textBlock.setContent(C);E._internalWindow.setTitle(F);E.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))};Quarix.Util.MessageBox.avail=[];Quarix.Util.generatePopupFromToolbar=function(D,I){var G=I._objectPage||0;var A=new Quarix.Widgets.PopupMenu("generated-popup-for-"+D._objectName+"-"+G,{objectPage:G});var C,B,H=[],E;for(C=0;C<I._containerTarget.length;C++){H.push(I._containerTarget[C])}for(C=0;C<H.length;C++){if((B=H[C])=="separator"){Quarix.EventManager.subscribe(A,Quarix.Links.Container.CreateObjects,new Quarix.Widgets.MenuItem("generated-mi-"+C+"-for-"+D._objectName+"-"+G,{label:""}))}else{if(B instanceof Quarix.Widgets.ToolGroup){if(D._properties.parseButtonGroupsToPopup===false){continue}B=B._containerTarget;H.splice(C+1,0,"separator");for(E=B.length-1;E>=0;E--){H.splice(C+1,0,B[E])}}else{if(B instanceof Quarix.Widgets.ToolButton){var J={label:B._properties.label||"(No label given)",image:B._properties.image||null,hoverImage:B._properties.hoverImage||B._properties.hooverImage||null,disabledImage:B._properties.disabledImage||null,clickTarget:B};if(B._properties.hotkey){J.___hotkeyText=String(B._properties.hotkey)}var F=new Quarix.Widgets.MenuItem("generated-mi-"+C+"-for-"+D._objectName+"-"+G,J);B._properties.onDisableObjectPublish=Quarix.Links.Container.DisableObject;B._properties.onEnableObjectPublish=Quarix.Links.Container.EnableObject;Quarix.EventManager.subscribe(B,Quarix.Links.Container.DisableObject,F);Quarix.EventManager.subscribe(B,Quarix.Links.Container.EnableObject,F);Quarix.EventManager.subscribe(A,Quarix.Links.Container.CreateObjects,F);if(B._popup){Quarix.EventManager.subscribe(F,Quarix.Links.Container.CreateObjects,B._popup)}}}}}D.addLink(Quarix.Links.Container.CreateObjects,A);return A};Quarix.Util.loadAndPublishOp=function(E){if(E.operation=="delete"){if($Q(E.doParent)){$Q(E.doParent).getDataTarget().findAll(function(J,I){return J instanceof Quarix.Widgets.DataBrowse})[0].deleteRecord();return }else{console.error("Quarix.Util.loadAndPublishOp unable to find doParent %s",E.doParent);throw ("Quarix.Util.loadAndPublishOp unable to find doParent: "+E.doParent)}}var H=$Q(E.container);if(!H){if(E.containerParent){$Q(E.containerParent).loadPage(E.container,E.url,E.containerTitle)}else{Quarix.Util.EvalUrl(E.url,null,null,true)}Quarix.EventManager.executeOnInit(E.container,function(){Quarix.Util.loadAndPublishOp(E)})}else{var G=$Q(E.doChild);if(!G){console.error("Quarix.Util.loadAndPublishOp unable to find doChild %s",E.doChild);throw ("Quarix.Util.loadAndPublishOp unable to find doChild: "+E.doChild)}if(E.containerParent){$Q(E.containerParent).selectPage($Q(E.container)._objectPage)}if(!G.canMove()){return }if(E.operation!="add"){var C=[];var D=E.fkMap.split(","),A;for(var B=0;B<D.length;B++){A=D[B].split(":");C.push([A[1]||A[0],"eq",$Q(E.doParent).colValue(A[0])])}G.dataProxy.setFilters(C)}if(E.operation){var F=$Q(E.doChild).getDataTarget().findAll(function(J,I){return J instanceof Quarix.Data.DataView})[0].getTableIOSource()[0];F.actionPerformed(Quarix.EventManager.newEvent(window,"actionPerformed",{command:E.operation}))}}};Quarix.Util.commitAndExecute=function(D,C,H,G,B){if(typeof D=="string"){D=$Q(D)}if(B){var A=typeof B=="string"?$Q(B):B;var F=parseInt($Q(A._windowName)._domNode.domNode.style.zIndex||0)+1;B=A.domNode._domNode;Quarix.Util.BlockWindow(B,2,false,F)}var I,E;oldHander=D._properties.onAfterSync;E=D._properties.onSyncError;if(H){D._properties.onAfterSync=function(){H();D._properties.onAfterSync=I;D._properties.onSyncError=E;if(I){I()}if(B){Quarix.Util.ClearWindow(B)}}}if(G){D._properties.onSyncError=function(){G();D._properties.onAfterSync=I;D._properties.onSyncError=E;if(E){E()}if(B){Quarix.Util.ClearWindow(B)}}}D.commitTransaction(C)};Quarix.Util.disableAnimations=function(){var B=Quarix.Register._objectRegister;for(var A=0;A<B.length;A++){if(B[A]._properties&&B[A]._properties.speed){B[A]._properties.oldSpeed=B[A]._properties.speed;B[A]._properties.speed=0}}Quarix.Util.noAnimations=true};Quarix.Util.reenableAnimations=function(){var B=Quarix.Register._objectRegister;for(var A=0;A<B.length;A++){if(B[A]._properties&&B[A]._properties.oldSpeed){B[A]._properties.speed=B[A]._properties.oldSpeed}}Quarix.Util.noAnimations=false};if(Object.__proto__){Quarix.Util.Extend=function(B,A){if(B==null){B={}}B.__proto__=A;return B}}else{Quarix.Util.Extend=function(E,B){var C=function(){};C.prototype=B;var D=new C();if(E!=null){for(var A in E){if(E.hasOwnProperty(A)){D[A]=E[A]}}}return D}}Quarix.Util.bindAsEventListener=function(){var A=this,C=arguments,B=C[0];return function(D){C[0]=D||window.event;return A.apply(B,C)}};Function.prototype.bindAsEventListener=Quarix.Util.bindAsEventListener;Quarix.Util.$=function(){if(arguments.length==1){return typeof arguments[0]=="string"?document.getElementById(arguments[0]):arguments[0]}else{var B=[];for(var A=0;A<arguments.length;A++){B.push(typeof arguments[A]=="string"?document.getElementById(arguments[A]):arguments[A])}return B}};Quarix.Util.$1=function(){return typeof arguments[0]=="string"?document.getElementById(arguments[0]):arguments[0]};$1=Quarix.Util.$1;Quarix.Util.disableResize=function(){Quarix.Util.noresize=true;document.body.onresize=function(){}};Quarix.Util.getEventHandler=function(A){var B=A+"_h";if(!Quarix.Util.getEventHandler.cache[A]){Quarix.Util.getEventHandler.cache[A]=function(F){if(A=="onresize"&&Quarix.Util.noresize){return }var D,E=F||window.event||{type:A,target:this};var H=null;Quarix.Util._stopEvent=false;var C=this[B].concat([]);for(D=0;D<C.length;D++){try{H=C[D].call(this,E)}catch(G){console.error("An exception was thrown by an event handler. Event: %o, element: %o, handler idx: %o, exception: %o",A,this,D,G)}if(Quarix.Util._stopEvent){break}}return H}}return Quarix.Util.getEventHandler.cache[A]};Quarix.Util.getEventHandler.cache={};Quarix.Util._observe=function(D,C,F,B,A){if(C.indexOf(":")>-1){Event.prototypeObserve(D,C,F,B);return }D=$1(D);var G="on"+C,E=G+"_h";if(A){if(!Quarix.Util.observe.map[A._objectName]){Quarix.Util.observe.map[A._objectName]=[]}Quarix.Util.observe.map[A._objectName].push([D,C,F])}if(!D[E]){if(!D.observedEvents){D.observedEvents=[G]}else{D.observedEvents.push(G)}if(D[G]){D[E]=[D[G]]}else{D[E]=[]}D[G]=Quarix.Util.getEventHandler(G);if(G=="onmousescroll"&&D.addEventListener){D.addEventListener("DOMMouseScroll",D.onmousescroll,false)}}D[E].push(F)};Quarix.Util._stopObserving=function(D,B,F){if(B&&B.indexOf(":")>-1){Event.prototypeStopObserving(D,B,F);return }if(arguments.length==1){if(D.observedEvents){for(var C=0;C<D.observedEvents.length;C++){D[D.observedEvents[C]+"_h"]=null;D[D.observedEvents[C]]=null}D.observedEvents=[]}Event.prototypeStopObserving(D);return }if(arguments.length==2){var C;if(D.observedEvents&&(C=D.observedEvents.indexOf("on"+B))>-1){D.observedEvents.splice(C,1);D["on"+B+"_h"]=null;D["on"+B]=null}Event.prototypeStopObserving(D,B)}var E="on"+B+"_h",A;if(D[E]&&((A=D[E].indexOf(F))>-1)){if(D[E].length>1){D[E].splice(A,1)}else{D[E]=null;if(B=="mousescroll"&&D.addEventListener){D.stopEventListener("DOMMouseScroll",D.onmousescroll,false)}D["on"+B]=null;D.observedEvents.splice(D.observedEvents.indexOf("on"+B),1)}}};Quarix.Util.stopEvent=function(A){Quarix.Util._stopEvent=true;if(A.preventDefault){A.preventDefault();A.stopPropagation()}else{A.returnValue=false;A.cancelBubble=true}Event.element(A).fire("stopped:"+A.type);return false};Quarix.Util.removeObserver=function(B){var A=Quarix.Util.observe.map[B._objectName];if(A){for(var C=0;C<A.length;C++){Quarix.Util.stopObserving.apply(this,A[C])}delete Quarix.Util.observe.map[B._objectName]}};Quarix.Util.observe=function(B,A,C){if(Prototype.Browser.WebKit&&BrowserDetect.browser!="Chrome"){var D=Quarix.Util.getEventHandler("onmousedown");Quarix.Util.getEventHandler.cache.onmousedown=function(E){if(E!=Event.lastClickEvt){Event.lastClickEvt=E;Event.lastClickedNode=Event.element(E)}D.call(this,E)};document.observe=(Element.observe=Element.Methods.observe=Event.observe=Quarix.Util.observe=function(G,E,F){if(E=="keypress"){E="keydown"}if(E=="keydown"&&!G.onkeydown_h&&!G.onmousedown_h){Event.observe(G,"mousedown",function(){})}Quarix.Util._observe(G,E,F)}).methodize();document.stopObserving=(Element.stopObserving=Element.Methods.stopObserving=Event.stopObserving=Quarix.Util.stopObserving=function(G,E,F){if(E=="keypress"){E="keydown"}Quarix.Util._stopObserving(G,E,F)}).methodize();Event.observe(document.body,"keydown",function(E){var F=Event.lastClickedNode||null;var G={target:Event.lastClickedNode,__proto__:E};while(F&&F!=document.body){if(F.onkeydown){F.onkeydown(G)}if(Quarix.Util._stopEvent){break}F=F.parentNode}})}else{if(B.attachEvent){Event.observe=Quarix.Util.observe=function(G,E,F){if(E=="keypress"){E="keydown"}Quarix.Util._observe(G,E,F)};Event.stopObserving=Quarix.Util.stopObserving=function(G,E,F){if(E=="keypress"){E="keydown"}Quarix.Util._stopObserving(G,E,F)}}else{Event.observe=Quarix.Util.observe=Quarix.Util._observe;Event.stopObserving=Quarix.Util.stopObserving=Quarix.Util._stopObserving}}Quarix.Util.observe.map={};Quarix.Util.observe(B,A,C)};Event.prototypeObserve=Event.observe;Event.prototypeStopObserving=Event.stopObserving;document.observe=(Element.observe=Element.Methods.observe=Event.observe=Quarix.Util.observe).methodize();Event.stop=Quarix.Util.stopEvent;Quarix.Profiler={contexts:{},contextsArr:[],inProgress:[],totalTime:0,Start:function(A){if(!this.contexts[A]){this.contexts[A]={calls:0,minTime:9999999,maxTime:0,totalTime:0,minDes:"",maxDes:"",ownMinTime:9999999,ownMaxTime:0,ownTotalTime:0,name:A};this.contextsArr.push(this.contexts[A])}this.contexts[A].calls++;this.inProgress.push([A,lastEntry=new Date().getTime(),0]);if(this.tracing.length>0){this.tracing.push({name:A,flow:[]});this.tracing[this.tracing.length-2].flow.push(this.tracing[this.tracing.length-1])}},Stop:function(E,G){var F=this.contexts[E];var A=this.inProgress.length-1;while(A>-1&&this.inProgress[A][0]!=E){A--}if(A==-1){console.error("Profiler.Stop called but there was no previous Profiler.Start call for this context: "+E);return }if(A<this.inProgress.length-1){var D=[];while(A<this.inProgress.length-1){D.push(this.inProgress.last()[0]);this.inProgress.pop()}console.warn("Profiler.Stop was not called for the contexts: "+D.reverse().join(", ")+". Parent context: "+E)}var C=new Date().getTime()-this.inProgress[this.inProgress.length-1][1];var B=C-this.inProgress[this.inProgress.length-1][2];this.inProgress.pop();if(this.inProgress.length>0){this.inProgress[this.inProgress.length-1][2]+=C}if(C<F.minTime){F.minTime=C;F.minDes=G}if(C>F.maxTime){F.maxTime=C;F.maxDes=G}F.totalTime+=C;if(B<F.ownMinTime){F.ownMinTime=B}if(B>F.ownMaxTime){F.ownMaxTime=B}F.ownTotalTime+=B;this.totalTime+=B;if(this.tracing.length>0){A=this.tracing.length-1;while(A>=0&&this.tracing[A].name!=E){A--}if(A<0){console.log('Unable to find and end trace structure for "'+E+'".');return }while(this.tracing.length>A+1){console.log('Trace structure for "'+this.tracing[this.tracing.length-1].name+'" was not closed properly.');this.tracing.pop()}this.tracing[A].ownTime=B;this.tracing[A].totalTime=C;this.tracing.pop()}},Show:function(){var B,A,C=[],D;for(B in this.contexts){A=this.contexts[B];D=[B,A.calls,A.totalTime,A.minTime,A.maxTime,(A.totalTime/A.calls),A.minDes,A.maxDes].join(",")}},Reset:function(){this.contexts={};this.contextsArr=[];this.inProgress=[];this.totalTime=0},Top:function(D,C){if(typeof D=="number"&&typeof C=="undefined"){C=D;D=null}if(typeof D=="undefined"||!D){D="ownTotalTime"}if(typeof C=="undefined"){C=0}this.contextsArr.sort(function(F,E){return E[D]-F[D]});var B,A={name:"Total",calls:0,ownTotalTime:0,ownMinTime:"",ownMaxTime:"",totalTime:this.totalTime,minTime:"",maxTime:""};this._printHeader(D,C);if(!C){for(B=0;B<this.contextsArr.length;B++){if(this.contextsArr[B][D]>0){this.Print(this.contextsArr[B],A)}}}else{for(B=0;B<C&&B<this.contextsArr.length;B++){this.Print(this.contextsArr[B],A)}}this.Print(A);return null},_printHeader:function(E,B){var D=function(H,G){var F=G-String(H).length;if(!F){return String(H)}return"<span>"+(new Array(F+1)).join("&nbsp;")+String(H)+"</span>"};var A=function(H,G){var F=G-String(H).length;if(!F){return String(H)}return"<span>"+String(H)+(new Array(F+1)).join("&nbsp;")+"</span>"};var C=A("Name",40)+D("Calls",10)+D("Percent",10)+D("Own Total Time",18)+D("Total Time",18)+D("Own Min Time",18)+D("Own Max Time",18)+D("Min Time",18)+D("Max Time",18);sortStr="Sorting by calls/ownTotalTime/totalTime/ownMinTime/ownMaxTime/minTime/maxTime.";sortStr=sortStr.replace(E,'<span style="font-weight: bold">'+E+"</span>");E=E.charAt(0).toUpperCase()+E.substr(1).replace(/[A-Z]/g," $&");if(E=="Name"){C=C.replace(/^Name /,"Name*")}else{C=C.replace(" "+E,E+"*")}console.log(" %o",{toString:function(){return'</span><span class="logRow">'+sortStr}});console.log(" %o",{toString:function(){return'</span><span class="logRow-command">'+C}})},Print:function(B,F){var E;if(typeof B=="string"){E=this.contexts[B]}else{E=B}var D=function(I,H){var G=H-String(I).length;if(!G){return String(I)}return"<span>"+(new Array(G+1)).join("&nbsp;")+String(I)+"</span>"};var C=function(I,H){var G=H-String(I).length;if(!G){return String(I)}return"<span>"+String(I)+(new Array(G+1)).join("&nbsp;")+"</span>"};var A=function(H){var G=String(H).match(/\d+(\.(\d\d?)?)?/);if(G[1].length>=3){return G[0]}else{if(G[1].length==2){return G[0]+"0"}else{if(G[1].length==1){return G[0]+"00"}else{return G[0]+".00"}}}};if(F){F.calls+=E.calls;F.ownTotalTime+=E.ownTotalTime}console.log(" %o",{toString:function(){return'</span><span class="logRow-command">'+C(E.name,40)+'<span class="objectBox-number">'+D(E.calls,10)+D(A(E.ownTotalTime*100/Quarix.Profiler.totalTime)+"%",10)+D(E.ownTotalTime,18)+D(E.totalTime,18)+D(E.ownMinTime,18)+D(E.ownMaxTime,18)+D(E.minTime,18)+D(E.maxTime,18)+"</span>"}})},tracing:[],Trace:function(A){this.tracing.push({name:A,flow:[],begin:new Date()});if(this.tracing.length>1){this.tracing[this.tracing.length-2].flow.push(this.tracing[this.tracing.length-1])}},tracedOnce:[],TraceOnce:function(A){if(this.tracedOnce.indexOf(A)>-1){return }this.tracedOnce.push(A);this.Trace(A)},EndTrace:function(B){var D=this.tracing.length-1,A,C=new Date();while(D>=0&&this.tracing[D].name!=B){D--}if(D<0){console.error("Unable to end trace because no such trace is active. Name: "+B);return }while(D<this.tracing.length-1){console.warn('Trace "'+this.tracing[this.tracing.length-1].name+'" not closed, but parent "'+B+'" has ended.');this.tracing.pop()}this.tracing[D].ownTime=this.tracing[D].totalTime=C-this.tracing[D].begin;for(A=0;A<this.tracing[D].length;A++){this.tracing[D].ownTime-=this.tracing[D].flow[A].totalTime}this.PrintTrace(this.tracing[D]);this.tracing.pop()},EndTraceOnce:function(B){var D=this.tracing.length-1,A,C=new Date();while(D>=0&&this.tracing[D].name!=B){D--}if(D>=0){this.EndTrace(B)}},PrintTrace:function(B){if(B.flow.length==0){console.log(B.name+" ( own: "+B.ownTime+"ms, total: "+B.totalTime+"ms ) - No activity to profile");return }console.group(B.name+" ( own: "+B.ownTime+"ms, total: "+B.totalTime+"ms ) ");for(var A=0;A<B.flow.length;A++){this.PrintTrace(B.flow[A])}console.groupEnd()}};Quarix.Warning.Warning=function(B,A){this.warningType=isNaN(B.type)?Quarix.Warning.Manager.TYPE_UNKNOWN:B.type;this.warningColumn=B.column;this.warningObjectName=B.objectName;this.warningLabel=B.label;this.warningMessage=B.msg?B.msg:" ";this.warningContext=A;this._isWarningHandled=false};Quarix.Warning.Manager=function(A,B){this._items={};this._widgets={};this._containers=[];this.oldContext=null};Quarix.Warning.Manager.prototype._extraOverlays=[];Quarix.Warning.Manager.TYPE_ERROR=0;Quarix.Warning.Manager.TYPE_WARNING=1;Quarix.Warning.Manager.TYPE_INFO=2;Quarix.Warning.Manager.TYPE_DEBUG=3;Quarix.Warning.Manager.TYPE_UNKNOWN=4;Quarix.Warning.Manager.GLOBAL_WARNING="__GLOBAL__";Quarix.Warning.Manager.prototype.addWarning=function(B){var D,F,C;F=B.warningObjectName?B.warningObjectName:B.warningColumn?B.warningColumn:Quarix.Warning.Manager.GLOBAL_WARNING;B.warningObjectName=F;D=B.warningContext?B.warningContext:this._getContextName(F)?this._getContextName(F):Quarix.Warning.Manager.GLOBAL_WARNING;B.warningContext=D;if(!this._items[D]){this._items[D]={}}if(!this._items[D][F]){this._items[D][F]={}}if(!this._items[D][F][B.warningType]){this._items[D][F][B.warningType]=[]}this._items[D][F][B.warningType].push(B);var E=$Q(F);var A=this._items[D][F][B.warningType].length;if(E&&E.getProperty("label",null,"")){this._items[D][F][B.warningType][A-1].warningLabel=E.getProperty("label",null,"")}C=Quarix.Register.get(F,D);if(C&&!this._widgets[C._objectName]){this._widgets[C._objectName]={infoWidg:null,infoOver:null,column:F,context:D}}};Quarix.Warning.Manager.prototype.clearWarnings=function(C,G){G=typeof (G)=="undefined"?null:G;var C=this._getContextName(C);var D,F,E,A;for(var B=0;B<this._containers.length;B++){if(this._containers[B].container._contextName==C&&this._containers[B].overlay){this._containers[B].overlay.hideObject();this._extraOverlays.push(this._containers[B].overlay);this._containers.splice(B,1);B--}}if(G){if(this._items[C]&&this._items[C][G]){delete this._items[C][G]}for(F in this._widgets){D=this._widgets[F];if(D&&D.column&&D.column==G){if(D.infoOver){this.hideTooltip(D.column);D.infoOver.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}if(D.infoWidg){Event.stopObserving(D.infoWidg.domNode,"click",this.toogleTooltip);Event.stopObserving(D.infoWidg.domNode,"keydown",this.handleKeyEvents);D.infoWidg.domNode.parentNode.removeChild(D.infoWidg.domNode)}delete this._widgets[F]}}}else{if(this._items[C]){delete this._items[C]}for(F in this._widgets){D=this._widgets[F];if(D&&D.window&&D.window==C){if(D.infoOver){this.hideTooltip(D.column);D.infoOver.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}if(D.infoWidg){Event.stopObserving(D.infoWidg.domNode,"click",this.toogleTooltip);Event.stopObserving(D.infoWidg.domNode,"keydown",this.handleKeyEvents);if(D.infoWidg.domNode.parentNode){D.infoWidg.domNode.parentNode.removeChild(D.infoWidg.domNode)}}delete this._widgets[F]}}this.showWarnings(C)}};Quarix.Warning.Manager.prototype.getContextWarnings=function(A){A=this._getContextName(A);var B=A?A:"__GLOBAL__";if(this._items[B]){return this._items[B]}else{return null}};Quarix.Warning.Manager.prototype.getWarningsForContext=function(D){D=this._getContextName(D);var E=new Array(),F=new Array(),C=new Array(),J=new Array(),B=new Array(),A=new Array(),G=new Array();var I=D?D:"__GLOBAL__";var H;if(H=this._items[I]){for(_objName in H){if(typeof H[_objName]=="object"){if(H[_objName][0]&&H[_objName][0].length>0){for(_mes in H[_objName][0]){if(typeof H[_objName][0][_mes]=="object"){F.push(H[_objName][0][_mes])}}}if(H[_objName][1]&&H[_objName][1].length>0){for(_mes in H[_objName][1]){if(typeof H[_objName][1][_mes]=="object"){C.push(H[_objName][1][_mes])}}}if(H[_objName][2]&&H[_objName][2].length>0){for(_mes in H[_objName][2]){if(typeof H[_objName][2][_mes]=="object"){J.push(H[_objName][2][_mes])}}}if(H[_objName][3]&&H[_objName][3].length>0){for(_mes in H[_objName][3]){if(typeof H[_objName][3][_mes]=="object"){B.push(H[_objName][3][_mes])}}}if(H[_objName][4]&&H[_objName][4].length>0){for(_mes in H[_objName][4]){if(typeof H[_objName][4][_mes]=="object"){A.push(H[_objName][4][_mes])}}}if(H[_objName]["__GLOBAL__"]&&H[_objName]["__GLOBAL__"].length>0){for(_mes in H[_objName]["__GLOBAL__"]){if(typeof H[_objName]["__GLOBAL__"][_mes]=="object"){G.push(H[_objName]["__GLOBAL__"][_mes])}}}}}E.push(F);E.push(C);E.push(J);E.push(B);E.push(A);E.push(G);return E}else{return null}};Quarix.Warning.Manager.prototype.getColumnWarnings=function(A,C){var B=C?C:"__GLOBAL__";var D=this.getContextWarnings(A);if(D&&D[B]){return D[B]}else{return null}};Quarix.Warning.Manager.prototype.hasMessageType=function(A,B,E){var D,C;E=typeof (E)=="undefined"?null:E;B=typeof (B=="object")?this._getContextName(B):B;A=A?A:0;if(E){D=this.getColumnWarnings(B,E);return(D&&D[A]&&D[A].length>0)}else{D=this.getContextWarnings(B);for(C in D){if(D&&D[C][A]&&D[C][A].length>0){return true}}}return false};Quarix.Warning.Manager.prototype.hasMessage=function(A,B){return(this.hasMessageType(Quarix.Warning.Manager.TYPE_ERROR,A,B)||this.hasMessageType(Quarix.Warning.Manager.TYPE_WARNING,A,B)||this.hasMessageType(Quarix.Warning.Manager.TYPE_INFO,A,B))};Quarix.Warning.Manager.prototype.isSuccess=function(A,B){return !this.hasMessageType(Quarix.Warning.Manager.TYPE_ERROR,A,B)};Quarix.Warning.Manager.prototype.hasError=function(A,B){return this.hasMessageType(Quarix.Warning.Manager.TYPE_ERROR,A,B)};Quarix.Warning.Manager.prototype.hasWarning=function(A,B){return this.hasMessageType(Quarix.Warning.Manager.TYPE_WARNING,A,B)};Quarix.Warning.Manager.prototype.hasInfo=function(A,B){return this.hasMessageType(Quarix.Warning.Manager.TYPE_INFO,A,B)};Quarix.Warning.Manager.prototype.hasDebug=function(A,B){return this.hasMessageType(Quarix.Warning.Manager.TYPE_DEBUG,A,B)};Quarix.Warning.Manager.prototype.process=function(F,E){if(typeof (F)!="object"||!(F instanceof Array)){console.warn("Got into warning process but exiting typeof _messages is %o",F);return }var D=0,C=F.length,B,A;E=this._getContextName(E);for(;D<C;D++){B=F[D];A=new Quarix.Warning.Warning(B,E);this.addWarning(A)}};Quarix.Warning.Manager.prototype.toogleTooltip=function(E){if(Quarix.Warning.DockableWarningDisplay&&Quarix.Warning.DockableWarningDisplay.getInstance){if(_display=Quarix.Warning.DockableWarningDisplay.getInstance()){return }}else{if(typeof E=="string"||E instanceof Quarix.Base.AbsSmartObject){var C=null;if(typeof E=="object"){C=E;E=C.getObjectName?C._objectName:null}else{C=Quarix.Register.get(E)}if(!C||!C.getObjectName||!this._widgets[E]){return }var D=this._widgets[E].infoOver;if(!D||D.isObjectHidden()){this.showTooltip(C)}else{this.hideTooltip(C)}}else{if(Quarix.FocusManager.focusedWindow){var A=this.getContextWarnings(Quarix.FocusManager.focusedWindow._objectName);for(var B in A){this.toogleTooltip(B)}}}}};Quarix.Warning.Manager.prototype.showTooltip=function(A){if(!A){return }var B=this._widgets[A._objectName].infoOver;var C=Position.cumulativeOffset(this._widgets[A._objectName].infoWidg.domNode);if(B){if(B.isObjectHidden()){B.getContentDOMNode().domNode.innerHTML=this._getColumnDisplayHTML(A._contextName,A._objectName);B.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}}else{B=new Quarix.Widgets.Overlay(null,{});B.createObjects();this._widgets[A._objectName].infoOver=B;B.getContentDOMNode().domNode.innerHTML=this._getColumnDisplayHTML(A._contextName,A._objectName);B.attachTo(this._widgets[A._objectName].infoWidg,"RIGHT");B.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Warning.Manager.prototype.hideTooltip=function(A){if(typeof A=="string"){A=Quarix.Register.get(A)}if(!A){return }var B=this._widgets[A._objectName].infoOver;if(B&&!B.isObjectHidden()){B.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Warning.Manager.prototype.mark=function(B,F,A){if(Quarix.Warning.DockableWarningDisplay&&Quarix.Warning.DockableWarningDisplay.getInstance){if(_display=Quarix.Warning.DockableWarningDisplay.getInstance()){this.showWarnings(B)}}else{var D=this._getContextName(B);var C,E;A=true;if(typeof F=="unknown"){F=null}if(typeof A=="unknown"){A=false}if(F){if(this.hasMessage(D,F)){this._markObject(A==true?Quarix.Register.get(F):Quarix.Register.getFieldObject(F,D))}return }if(D){if(this.hasMessage(D)){C=this.getContextWarnings(D);for(E in C){this.mark(D,E)}if(this.hasMessage(D,Quarix.Warning.Manager.GLOBAL_WARNING)){this._markWindow(D)}}}}};Quarix.Warning.Manager.prototype._markWindow=function(D){var G=Quarix.Register.get(D);if(!G||G.getObjectType()!="SmartWindow"){return }var F=this.getColumnWarnings(D,Quarix.Warning.Manager.GLOBAL_WARNING);var C=[];var B,A,E;E=F[Quarix.Warning.Manager.TYPE_ERROR];if(E){for(B=0,A=E.length;B<A;B++){C.push(E[B].warningMessage)}}E=F[Quarix.Warning.Manager.TYPE_WARNING];if(E){for(B=0,A=E.length;B<A;B++){C.push(E[B].warningMessage)}}E=F[Quarix.Warning.Manager.TYPE_INFO];if(E){for(B=0,A=E.length;B<A;B++){C.push(E[B].warningMessage)}}alert(C.join("\r\n"))};Quarix.Warning.Manager.prototype._markObject=function(D){if(!D||!D instanceof Quarix.Base.AbsSmartObject){return }this._registerMarkInContainer(D);var C=D.getInfoElement?D.getInfoElement():null;if(!C){return }var A=this._widgets[D._objectName].infoWidg;if(!A){var E=D.getDOColumnName();var B=D._windowName;if(!this.hasMessage(B,E)){E=D._objectName;if(!this.hasMessage(B,E)){return }}A=Quarix.UI.CreateNodeElement({tag:"IMG",className:"warnWidg"});if(this.hasError(B,E)){A.domNode.src=Quarix.Theme.WarningsImageError}else{if(this.hasWarning(B,E)){A.domNode.src=Quarix.Theme.WarningsImageWarning}else{if(this.hasInfo(B,E)){A.domNode.src=Quarix.Theme.WarningsImageInfo}}}A.domNode.alt="";A.domNode.tabIndex=0;Event.observe(A.domNode,"click",this.toogleTooltip.bind(this,D._objectName));Event.observe(A.domNode,"keydown",this.handleKeyEvents.bindAsEventListener(this,D._objectName));this._widgets[D._objectName].infoWidg=A;C.domNode.appendChild(A.domNode)}if(!A.isDisplayed()){A.setDisplayed(true)}};Quarix.Warning.Manager.prototype._registerMarkInContainer=function(A){var I=A._containerSource,C=A._objectPage,B,G;while(I){var E=I._currentPage;if(E==-1){E=0}if(I instanceof Quarix.Base.AbsContainer&&E!=C){G=-1;for(B=0;B<this._containers.length;B++){if(this._containers[B].container==I){G=B;return }}if(G==-1){G=this._containers.length;this._containers.push({container:I,pages:[],pageNames:[]})}if(this._containers[G].pages.indexOf(C)==-1){this._containers[G].pages.push(C);this._containers[G].pageNames.push('<a href="#" onclick="$Q(\''+I._objectName+"').selectPage("+C+');">'+I._titles[C]||(C+1)+"</a>");if(!this._containers[G].overlay){if(this._extraOverlays.length){this._containers[G].overlay=this._extraOverlays.pop()}else{(this._containers[G].overlay=new Quarix.Widgets.Overlay(null,{})).createObjects(Quarix.EventManager.newEvent(this,Quarix.Links.Container.CreateObjects))}var F;F=(function(J){this.overlay.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));Event.stopObserving(this.overlay._domNode.domNode,"click",F);Event.stopObserving(this.container._domNode.domNode,"click",F)}).bind(this._containers[G]);Event.observe(this._containers[G].overlay._domNode.domNode,"click",F);Event.observe(this._containers[G].container._domNode.domNode,"click",F);if(this._containers[G].pages.length==1){if(!I._objectHidden){this._containers[G].overlay.attachTo(I._domNode.domNode,"INSIDE");this._containers[G].overlay.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}else{Quarix.Util.injectOneTimeTrigger(I,"onViewObject",(function(){this.overlay.attachTo(this.container._domNode.domNode,"INSIDE");this.overlay.viewObject(Quarix.EventManager.newEvent(window,Quarix.Links.Container.ViewObject))}).bind(this._containers[G]))}}}var D=this._msg_page_warning||"There are errors/warnings on page(s)";if(this._containers[G].pages.length==1){D+=" "+this._containers[G].pageNames[0]}else{D+=": ";var H=this._containers[G].pageNames.pop();D+=this._containers[G].pageNames.join(", ");this._containers[G].pageNames.push(H);D+=" "+(this._msg_and||"and")+" "+H}D+=".";this._containers[G].overlay.getContentDOMNode().domNode.innerHTML=D}}if(!I._objectHidden){return }C=I._objectPage;I=I._containerSource}};Quarix.Warning.Manager.prototype.handleKeyEvents=function(A,B){if(A.keyCode==Event.KEY_RETURN||A.keyCode==32||A.keyCode==0){this.toogleTooltip(B)}};Quarix.Warning.Manager.prototype._getColumnDisplayHTML=function(D,G){var F=this.getColumnWarnings(D,G);var C=[];var B,A,E;E=F[Quarix.Warning.Manager.TYPE_ERROR];if(E){for(B=0,A=E.length;B<A;B++){C.push('<div class="warnMessError">'+E[B].warningMessage+"</div>")}}E=F[Quarix.Warning.Manager.TYPE_WARNING];if(E){for(B=0,A=E.length;B<A;B++){C.push('<div class="warnMessWarning">'+E[B].warningMessage+"</div>")}}E=F[Quarix.Warning.Manager.TYPE_INFO];if(E){for(B=0,A=E.length;B<A;B++){C.push('<div class="warnMessInfo">'+E[B].warningMessage+"</div>")}}return C.join("")};Quarix.Warning.Manager.prototype._getContextName=function(A){if(!A){return null}if(typeof A=="string"){var B=Quarix.Register.get(A);if(!B){return null}if(B.getProperty("isWarningContext",false,true)){return A}var C=B.getContainerSource();while(C){if(C.getProperty("isWarningContext",false,true)){return C._objectName}C=C.getContainerSource()}return null}if(typeof A=="object"){if(A.getProperty("isWarningContext",false,true)){return A._objectName}var C=A.getContainerSource();while(C){if(C.getProperty&&C.getProperty("isWarningContext",false,true)){return C._objectName}if(C.getContainerSource){C=C.getContainerSource()}else{break}}return null}return null};Quarix.Warning.Manager.prototype.checkFocus=function(B){if(!B){return null}var C=this._getContextName(B);if(this.oldContext!=C){this.oldContext=C;var A;this.showWarnings(C)}};Quarix.Warning.Manager.prototype.showWarnings=function(B){if(B){var D=false;var C;var A=this.getWarningsForContext(B);if(Quarix.Warning.DockableWarningDisplay&&Quarix.Warning.DockableWarningDisplay.getInstance){if(C=Quarix.Warning.DockableWarningDisplay.getInstance()){for(_property in A){if(A[_property]&&typeof A[_property]=="object"&&A[_property].length>0){D=true;break}}if(D){C.hideObject();C.setObjectValue(A);C.viewObject();if(C.closed){C.slide()}}else{if(!C.closed){C.slide(null,true)}}}}else{console.error("Unable to instantiate Quarix.Warning.DockableWarningDisplay")}}};Quarix.WarningManager=new Quarix.Warning.Manager("warningManager");if(typeof Quarix=="undefined"){Quarix={}}if(typeof Quarix.Valid=="undefined"){Quarix.Valid={}}Quarix.Valid.Manager=function(){this._items={};this._sequence=0};Quarix.Valid.Manager.prototype.add=function(A){if(!A){return }if(A.Id==null){A.Id="val"+this._sequence++}if(!this._items[A.RefObjectName]){this._items[A.RefObjectName]={}}if(!this._items[A.RefObjectName][A.TriggerOn]){this._items[A.RefObjectName][A.TriggerOn]=[]}this._items[A.RefObjectName][A.TriggerOn].push(A)};Quarix.Valid.Manager.prototype.initialize=function(D){if(!D||!this._items[D]){return }var C,B,A;for(C in this._items[D]){if(C instanceof Array&&C.length>0){for(B=0,A=C.length;B<A;B++){if(C[B]&&C[B].initialize){C[B].initialize()}}}}};Quarix.Valid.Manager.prototype.run=function(G,E){if(!G){return true}if(typeof G=="object"){G=G.getObjectName()}if(typeof E=="undefined"||E==null){E="GENERIC"}if(!this._items[G]||!this._items[G][E]){return true}var F=true,C,B,D,A;for(C=0,B=this._items[G][E].length;C<B;C++){A=this._items[G][E][C];D=A.validate();if(!D&&A.stopChain()){return false}F=D&&F}return F};Quarix.Valid.Manager.prototype.get=function(B,A){if(!B){return true}if(typeof B=="object"){B=B.getObjectName()}if(typeof A=="undefined"||A==null){A="GENERIC"}if(!this._items[B]||!this._items[B][A]){return[]}else{return this._items[B][A]}};Quarix.Valid.Manager.prototype.remove=function(E,C,D){if(typeof D=="undefined"){D="GENERIC"}if(!E||!this._items[E]||!this._items[E][D]){return }for(var B=0,A=this._items[E][D].length;B<A;B++){if(this._items[E][D][B]&&this._items[E][D][B].Id==C){this._items[E][D].splice(B,1);return }}};Quarix.ValidationManager=new Quarix.Valid.Manager();Quarix.Valid.AbsValidator=function(A,B){this._properties=B;this.Id=this.getProperty("id",null);this.RefObjectName=A||"GENERIC";this.RefObject=null;this.TriggerOn=this.getProperty("triggerOn","GENERIC");this.initialize();this._stopChain=false;this._messageStore={0:[],1:[],2:[]};this._messageBundle={}};Quarix.Valid.AbsValidator.prototype.getProperty=function(B,A){if(typeof A==undefined){A=null}if(!this._properties||typeof this._properties[B]=="undefined"){return A}return this._properties[B]};Quarix.Valid.AbsValidator.prototype.initialize=function(){this.RefObject=Quarix.Register.get(this.RefObjectName);if(this.getProperty("messageBundle",false)){this._messageBundle=this.getProperty("messageBundle")}};Quarix.Valid.AbsValidator.prototype.validate=function(){this.mark();return this.isValid()};Quarix.Valid.AbsValidator.prototype.isValid=function(){return !this.hasError()};Quarix.Valid.AbsValidator.prototype.hasError=function(){return(this._messageStore&&this._messageStore[Quarix.Warning.Manager.TYPE_ERROR].length>0)};Quarix.Valid.AbsValidator.prototype.hasWarning=function(){return(this._messageStore&&this._messageStore[Quarix.Warning.Manager.TYPE_WARNING].length>0)};Quarix.Valid.AbsValidator.prototype.hasInfo=function(){return(this._messageStore&&this._messageStore[Quarix.Warning.Manager.TYPE_INFO].length>0)};Quarix.Valid.AbsValidator.prototype.addWarning=function(B,A){var C=new Quarix.Warning.Warning({type:B,column:null,objectName:this.RefObject.getObjectName(),msg:A});this._messageStore[B].push(C)};Quarix.Valid.AbsValidator.prototype.clear=function(){this._messageStore={0:[],1:[],2:[]};Quarix.WarningManager.clearWarnings(this.RefObject.getWindowName(),this.RefObject.getObjectName())};Quarix.Valid.AbsValidator.prototype.mark=function(){var A=this.getProperty("alertType","default").toLowerCase();A="mark"+A.charAt(0).toUpperCase()+A.substring(1);if(this[A]&&typeof this[A]=="function"){this[A]()}};Quarix.Valid.AbsValidator.prototype.markDefault=function(){var B,A,C;if(this.hasError()){C=Quarix.Warning.Manager.TYPE_ERROR;for(B=0,A=this._messageStore[C].length;B<A;B++){Quarix.WarningManager.addWarning(this._messageStore[C][B])}}if(this.hasWarning()){C=Quarix.Warning.Manager.TYPE_WARNING;for(B=0,A=this._messageStore[C].length;B<A;B++){Quarix.WarningManager.addWarning(this._messageStore[C][B])}}if(this.hasInfo()){C=Quarix.Warning.Manager.TYPE_INFO;for(B=0,A=this._messageStore[C].length;B<A;B++){Quarix.WarningManager.addWarning(this._messageStore[C][B])}}if(this.RefObject&&this.RefObject.getWindowName()){Quarix.WarningManager.mark(this.RefObject.getObjectName())}};Quarix.Valid.AbsValidator.prototype.markAlert=function(){var D,C,E,F=[],B=false,A=false;if(B=this.hasError()){E=Quarix.Warning.Manager.TYPE_ERROR;for(D=0,C=this._messageStore[E].length;D<C;D++){F.push("-"+this._messageStore[E][D].warningMessage)}}if(A=this.hasWarning()){E=Quarix.Warning.Manager.TYPE_WARNING;for(D=0,C=this._messageStore[E].length;D<C;D++){F.push("-"+this._messageStore[E][D].warningMessage)}}if(this.hasInfo()){E=Quarix.Warning.Manager.TYPE_INFO;for(D=0,C=this._messageStore[E].length;D<C;D++){F.push("-"+this._messageStore[E][D].warningMessage)}}if(B){alert(F.join("\r\n"))}else{if(A){return !confirm(this.getProperty("continueMessage","Continue?"))}else{if(F.length){alert(F.join("\r\n"))}}}return this._stopChain};Quarix.Valid.AbsValidator.prototype.markTrigger=function(){if(this.hasError()){Quarix.Util.Trigger(this,"onError")}if(this.hasWarning()){Quarix.Util.Trigger(this,"onWarning")}if(this.hasInfo()){Quarix.Util.Trigger(this,"onInfo")}if(this.isValid()){Quarix.Util.Trigger(this,"onSuccess")}else{Quarix.Util.Trigger(this,"onFailure")}};Quarix.Valid.AbsValidator.prototype.stopChain=function(){return this._stopChain};Quarix.Valid.AbsValidator.prototype.getMessageStore=function(){return this._messageStore};Quarix.Valid.AbsValidator.prototype.getMessageBundle=function(){return this._messageBundle};Quarix.Valid.AbsValidator.prototype.setMessageBundle=function(A){if(typeof A=="undefined"){A={}}this._messageBundle=A};Quarix.Valid.AbsValidator.prototype.getMessage=function(A){if(this.RefObject&&this.RefObject.getMessage(A)!=A){return this.RefObject.getMessage(A)}else{if(this._messageBundle[A]){return this._messageBundle[A]}else{if(this._staticMessageBundle&&this._staticMessageBundle[A]){return this._staticMessageBundle[A]}}}return A};Quarix.Valid.EmptyField=function(A,B){Quarix.Valid.EmptyField.superclass.constructor.call(this,A,B);this._staticMessageBundle={msg_val_fld_required:"The value of this field is required."};this._stopChain=true};Quarix.extend(Quarix.Valid.EmptyField,Quarix.Valid.AbsValidator);Quarix.Valid.EmptyField.prototype.validate=function(){if(!this.RefObject){return true}this.clear();if(this.RefObject.getObjectValue()==""||this.RefObject.getObjectValue()==null){this.addWarning(Quarix.Warning.Manager.TYPE_ERROR,this.getMessage("msg_val_fld_required"))}this.mark();return this.isValid()};Quarix.Valid.EmailValidator=function(B,A){Quarix.Valid.EmailValidator.superclass.constructor.call(this,B,A);this._staticMessageBundle={msg_invalid_value:"Invalid email."};this._stopChain=true};Quarix.extend(Quarix.Valid.EmailValidator,Quarix.Valid.AbsValidator);Quarix.Valid.EmailValidator.prototype.validate=function(){if(!this.RefObject){return true}this.clear();var A=this.RefObject.getObjectValue();if(A&&!A.match(new RegExp("^uw(.uw)*@(dw)?.)+dw)?$".replace(/uw/g,"[\\w\\d!#$%&'*+/=?^_`{|}~-]+").replace(/dw/g,"[\\w\\d]([\\w\\d-]*[\\w\\d]")))){this.addWarning(Quarix.Warning.Manager.TYPE_ERROR,this.getMessage("msg_invalid_value"))}this.mark();return this.isValid()};Quarix.Valid.RegExpValidator=function(B,A){Quarix.Valid.RegExpValidator.superclass.constructor.call(this,B,A);this._staticMessageBundle={msg_invalid_value:"Value does not match expected pattern."};this._stopChain=true};Quarix.extend(Quarix.Valid.RegExpValidator,Quarix.Valid.AbsValidator);Quarix.Valid.RegExpValidator.prototype.validate=function(){if(!this.RefObject){return true}this.clear();var A=this.RefObject.getObjectValue();if(A&&!A.match(this._properties.regExp)){this.addWarning(Quarix.Warning.Manager.TYPE_ERROR,this.getMessage("msg_invalid_value"))}this.mark();return this.isValid()};Quarix.RequestManager=function(B,A){Quarix.RequestManager.superclass.constructor.call(this,B,A);this._objectType="RequestManager";this.domains={};this.cached={};this._processObjectProperties();this._objectCreated=true;this._objectInitialized=true};Quarix.extend(Quarix.RequestManager,Quarix.Base.AbsSmartObject);Quarix.RequestManager.notExplorable=true;Quarix.RequestManager.prototype.addRequest=function(url,options){var request;var domain="unknown";if(options.domain){domain=options.domain._windowName}if(!this.domains[domain]){this.domains[domain]=[0,0]}domain=this.domains[domain];domain[0]++;domain[1]++;var item=[url,options];var userOnComplete=options.onComplete||null;var handlesServerError=options.handlesServerError||false;var oThis=this;var start=new Date();options.onComplete=function(req){if(!req||(req.readyState<4)){return }domain[1]--;var intermediary=new Date();var oldSetTimeOut=setTimeout;var print;var persistent={tElapsed:0,tPassed:0,printed:false};window.setTimeout=function(){var arg=arguments[0];var tStart=new Date().valueOf();print=function(){if(persistent.tPassed>0){console.log([persistent.tPassed," timeouts with a total of ",persistent.tElapsed,"ms: ",url].join(""));persistent.printed=true}};var calc=function(){var TimeoutStart=new Date().valueOf();if(typeof (arg)=="string"){eval(arg)}else{arg()}var TimeoutEnd=new Date().valueOf();if(!persistent.printed){persistent.tElapsed+=TimeoutEnd-TimeoutStart;persistent.tPassed+=1}else{console.log(["TimeOut for ",Math.floor((TimeoutEnd-TimeoutStart)/1000),"s ",(TimeoutEnd-TimeoutStart)%1000,"ms: ",url].join(""))}};return oldSetTimeOut(calc,arguments[1])};if(req.status>=200&&req.status<300){var user=req.getResponseHeader("X-Quarix-User")||req.getResponseHeader("X-Projapi-User")||"";var mtch=user.match(/("|')((?:.|\s)*)\1/);if(mtch){user=mtch[2]}if(oThis.getProperty("checkUser",true,true)&&!user&&!oThis.isLoginPage(url)){oThis.goToLogin()}else{if(options.cacheTime&&!req.fromCache){if(!oThis.cached[url]){oThis.cached[url]=[]}oThis.cached[url].push({body:options.postBody,req:req,exp:new Date(new Date().valueOf()+options.cacheTime*60*1000)})}if(userOnComplete){userOnComplete(req)}}}else{if(userOnComplete){userOnComplete(req)}if(!handlesServerError){oThis.handleServerError(req.status,req.getResponseHeader("X-Quarix-Server-Error-Msg")||req.getResponseHeader("X-Projapi-Server-Error-Msg"))}}if(print){oldSetTimeOut(print,2000)}window.setTimeout=oldSetTimeOut;var end=new Date();if(userOnComplete){console.log(["Request done in ",Math.floor((intermediary-start)/1000),"s ",(intermediary-start)%1000,"ms, ","processed in ",Math.floor((end-intermediary)/1000),"s ",(end-intermediary)%1000,"ms: ",url].join(""))}else{console.log(["Request done in ",Math.floor((intermediary-start)/1000),"s ",(intermediary-start)%1000,"ms: ",url].join(""))}};if(options.cacheTime&&this.cached[url]){var now=new Date();for(var i=0;i<this.cached[url].length;i++){if(this.cached[url][i].exp<now){this.cached[url].splice(i,1);i--}else{if(this.cached[url][i].body==options.postBody){console.log("[debug] Using cached request for %o",url);setTimeout(function(){options.onComplete(oThis.cached[url][i].req)},10);return this.cached[url][i].req}}}}request=new Ajax.Request(url,options);return request};Quarix.RequestManager.prototype.getDomainActiveRequests=function(A){if(typeof A!="string"){A=A._windowName}if(this.domains[A]){return this.domains[A][1]}else{return 0}};Quarix.RequestManager.prototype.getDomainTotalRequests=function(A){if(typeof A!="string"){A=A._windowName}if(this.domains[A]){return this.domains[A][0]}else{return 0}};Quarix.RequestManager.prototype.getWindowActiveRequests=Quarix.RequestManager.prototype.getDomainActiveRequests;Quarix.RequestManager.prototype.getWindowTotalRequests=Quarix.RequestManager.prototype.getDomainTotalRequests;Quarix.RequestManager.prototype.isLoginPage=function(B){var C=(typeof (B)=="undefined")?String(window.location):String(B);var A=String(Quarix.Globals.LOGIN_PATH);if(A.length==0){return true}if(A.indexOf("://")==-1){if(A.charAt(0)!="/"){return false}if(C.match(/.*?:\/\/[^\/]*/)!=null){A=C.match(/.*?:\/\/[^\/]*/)[0]+A}}return C.indexOf(A)==0};Quarix.RequestManager.prototype.goToLogin=function(){if(Quarix.Globals.LOGIN_PATH){window.location=Quarix.Globals.LOGIN_PATH}else{console.log("[RequestManager.goToLogin] Login path not set, assuming public access.")}};Quarix.RequestManager.prototype.handleServerError=function(A,B){if(!B){B=this.httpMessages[A]||this.httpStatusClasses[parseInt(A/100)]||"Server returned error code "+A+"."}Quarix.WarningManager.process([{msg:B,type:0,warningColumn:"PJRequest"}],Quarix.Globals.ROOT_WINDOW);Quarix.WarningManager.mark(Quarix.Globals.ROOT_WINDOW);Quarix.WarningManager.clearWarnings(Quarix.Globals.ROOT_WINDOW,"PJRequest")};(function(){var B=[null,"Informational","Successful","Redirection","Client error","Server error"];var A=[];A[100]="Continue";A[101]="Switching Protocols";A[200]="OK";A[201]="Created";A[202]="Accepted";A[203]="Non-Authoritative Information";A[204]="No Content";A[205]="Reset Content";A[206]="Partial Content";A[300]="Multiple Choices";A[301]="Moved Permanently";A[302]="Found";A[303]="See Other";A[304]="Not Modified";A[305]="Use Proxy";A[307]="Temporary Redirect";A[400]="Bad Request";A[401]="Unauthorized";A[402]="Payment Required";A[403]="Forbidden";A[404]="Not Found";A[405]="Method Not Allowed";A[406]="Not Acceptable";A[407]="Proxy Authentication Required";A[408]="Request Timeout";A[409]="Conflict";A[410]="Gone";A[411]="Length Required";A[412]="Precondition Failed";A[413]="Request Entity Too Large";A[414]="Request-URI Too Long";A[415]="Unsupported Media Type";A[416]="Requested Range Not Satisfiable";A[417]="Expectation Failed";A[500]="Internal Server Error";A[501]="Not Implemented";A[502]="Bad Gateway";A[503]="Service Unavailable";A[504]="Gateway Timeout";A[505]="HTTP Version Not Supported";Quarix.RequestManager.prototype.httpMessages=A;Quarix.RequestManager.prototype.httpStatusClasses=B})();Quarix.Request=function(B,A){mgr=Quarix.Request.Manager||A.requestManager;this.url=B;this.options=A;this.prototypeRequest=mgr.addRequest(B,A)};Quarix.Request.Updater=function(C,B,A){var D=A.onComplete||Prototype.emptyFunction;A.onComplete=function(F){var E=F.responseText.replace(/<![^>]+>/g,"");if(!A.evalScripts){E=E.stripScripts()}if(A.insertion){new A.insertion($1(C),E)}else{$1(C).innerHTML=E.stripScripts();E.evalScripts()}D(F)};this.url=B;this.options=A;this.request=new Quarix.Request(B,A)};Quarix.Request.WebService=function(B,E,A){var C=A.onComplete||Prototype.emptyFunction;A.onComplete=function(G){if(A.onResponseString&&G.responseXML&&G.responseXML.documentElement){var F=G.responseXML.documentElement;if(F.nodeName=="string"&&F.firstChild&&F.firstChild==F.lastChild&&F.firstChild.nodeType==3){A.onResponseString(F.firstChild.nodeValue)}}C(G)};var D;if(!A.postBody){A.postBody=""}if(A.params){for(D in A.params){if(!{}[D]&&typeof A.params[D]!="function"){A.postBody+="&"+encodeURIComponent(D)+"="+encodeURIComponent(String(A.params[D]))}}}if(A.paramNames&&A.paramValues){for(D=0;D<A.paramNames.length;D++){A.postBody+="&"+encodeURIComponent(String(A.paramNames[D]))+"="+encodeURIComponent(String(A.paramValues[D]))}}if(A.postBody.charAt(0)=="&"){A.postBody=A.postBody.substr(1)}this.options=Object.extend({method:"post",asynchronous:true},A);this.url=B+"/"+E;this.request=new Quarix.Request(this.url,this.options)};Quarix.Request.UniqueLate=function(D,C,B,A){var E=D?D._objectName:C;if(Quarix.Request.UniqueLate.list[E]){clearTimeout(Quarix.Request.UniqueLate.list[E])}Quarix.Request.UniqueLate.list[E]=setTimeout(function(){delete Quarix.Request.UniqueLate.list[E];new Quarix.Request(C,A)},B);this.url=C;this.options=A;this.delay=B};Quarix.Request.UniqueLate.list={};Quarix.Request.UniqueLate.Remove=function(B,A){var C=B?B._objectName:A;if(Quarix.Request.UniqueLate.list[C]){clearTimeout(Quarix.Request.UniqueLate.list[C]);delete Quarix.Request.UniqueLate.list[C]}};Ajax.Responders.register({onException:function(A,B){console.error("Request %o encountered exception %o.",A,B)}});Quarix.Request.Manager=new Quarix.RequestManager("DefaultRequestManager",{checkUser:(Quarix.Globals.LOGIN_PATH!=null)&&(Quarix.Globals.LOGIN_PATH!="null")});Quarix.Layout.LineLayout=function(B,A,C){this.container=B;this._cellSpacing=B._properties.layoutCellSpacing||0;this.noWrap=!!B._properties.layoutSingleLine;this.pages=[];this.hasMore=[];this.pageNumber=A;this.dontForceChildren=!!C};Quarix.Layout.LineLayout.prototype.add=function(D){if(!D._domNode){return }var A=D._objectPage||0;var B=this.pages[A];var C=D._properties.align||false;if(!B){this.pages[A]=B=(this.container._pageNode&&this.container._pageNode[A])?this.container._pageNode[A]:(this.container.getContentDOMNode&&this.container.getContentDOMNode())||this.container._domNode||document.body;this.hasMore[A]=false}else{if(!this.hasMore[A]){this.hasMore[A]=true;if(!this.dontForceChildren){(this.pages[A].domNode||this.pages[A]).className+=" forceBlockChildren"+(this.noWrap?" noWrap":"")}}}if(B instanceof Quarix.UI.Element){B=B.domNode}if(D._domNode instanceof Quarix.UI.Element){if(B&&D._domNode.domNode.parentNode!=B){B.appendChild(D._domNode.domNode)}if(this._cellSpacing){D._domNode.domNode.style.margin=this._cellSpacing+"px"}}else{console.warn("object._domNode is not instance of UI.Element: %o",D);if(B&&D._domNode.parentNode!=B){B.appendChild(D._domNode)}if(this._cellSpacing){D.domNode.style.margin=this._cellSpacing+"px"}}if(C){Quarix.UI.SetStyle(B,"text-align",C.toLowerCase())}};Quarix.Layout.LineLayout.prototype.remove=function(B){var A=B._domNode;if(A&&A.parentNode){A.parentNode.removeChild(A)}};Quarix.Layout.LineLayout.prototype.layout=function(){};Quarix.Layout.LineLayout.prototype.destroy=function(){};Quarix.Layout.StackLayout=function(A){this.container=A;this._cellSpacing=A._properties.layoutCellSpacing||0};Quarix.extend(Quarix.Layout.StackLayout,Quarix.Layout.LineLayout);Quarix.Layout.StackLayout.prototype.add=function(E){if(!E._domNode){return }var B;var A=E._objectPage||0;var G=(this.container._pageNode&&this.container._pageNode[A])?this.container._pageNode[A]:(this.container.getContentDOMNode&&(B=this.container.getContentDOMNode()))?B:this.container._domNode||document.body;if(G instanceof Quarix.UI.Element){G=G.domNode}var D=E._domNode;if(D instanceof Quarix.UI.Element){D=D.domNode}var F=typeof E._properties.layoutRow!="undefined"?E._properties.layoutRow:null;var H;if(F==null){if(!D.parentNode||!D.parentNode.parentNode||D.parentNode.parentNode!=G){H=document.createElement("div");H.style.margin=this._cellSpacing+"px";G.appendChild(H).appendChild(D)}}else{while(G.childNodes.length<F){H=document.createElement("div");H.style.margin=this._cellSpacing+"px";G.appendChild(H).innerHTML="&nbsp;"}if(G.childNodes.length==F){H=document.createElement("div");H.style.margin=this._cellSpacing+"px";G.appendChild(H)}else{console.warn("Suboptimal object placement order. For best performance, add children from lowest layoutRow to highest. Container: %o, child: %o",this.container._objectName,E._objectName);if(G.childNodes[F].innerHTML=="&nbsp;"){G.childNodes[F].innerHTML=""}}G.childNodes[F].appendChild(D)}var C=E._properties.align||false;if(C&&!E._properties.hide){Quarix.UI.SetStyle(D.parentNode,"text-align",C.toLowerCase())}};Quarix.Layout.StackLayout.prototype.layout=function(){};Quarix.Layout.StackLayout.prototype.destroy=function(){};Quarix.Layout.TableLayout=function(A,B){if(A=="someClass"){return }Quarix.Layout.TableLayout.superclass.constructor.call(this,A);this._rowNr=A.getProperty("layoutTableRows",1);this._colNr=A.getProperty("layoutTableCols",1);this._cellSpacing=A.getProperty("layoutCellSpacing",0);if(this.container._properties.letBrowserAdjustLayout){this.layout=Quarix.Layout.TableLayout.prototype.checkLayout}this._tableNode;this._page=B||0;this._parrentNode=null;this._componentNameTable=[];this._cellMap=[];this._tempMap=[];this._elemToRemove=[];this._layedOnce=false;this.add=this._addTemp;if(!this._scanUI()){this._buildUI()}};Quarix.extend(Quarix.Layout.TableLayout,Quarix.Layout.LineLayout);Quarix.Layout.TableLayout.prototype._scanUI=function(){};Quarix.Layout.TableLayout.prototype._buildUI=function(){var J=0,H=this._rowNr,E,I,A=[],F,C;var D=(this.container._pageNode&&this.container._pageNode[this._page])?((this.container._pageNode[this._page].domNode.firstChild&&this.container._pageNode[this._page].domNode.firstChild.className.match(/\bpageInner\b/))?this.container._pageNode[this._page].domNode.firstChild:this.container._pageNode[this._page]):(this.container.getContentDOMNode&&(C=this.container.getContentDOMNode()))?C:this.container._domNode||document.body;if(D instanceof Quarix.UI.Element){D=D.domNode}F=document.createElement("DIV");A.push('<table class="lytable" cellspacing="');A.push(this._cellSpacing);if(this.container._properties.letBrowserAdjustLayout){A.push('" style="width: auto')}A.push('"><tbody>');var G=this._rowNr+1;if(G<2){G=2}A.push((new Array(G)).join('<tr class="lytr">'+(new Array(this._colNr+1)).join('<td class="lycl"></td>')+"</tr>"));A.push("</tbody></table>");F.innerHTML=A.join("");this._tableNode=new Quarix.UI.Element(F.firstChild);this._dupNode=F.firstChild.tBodies[0].firstChild.cloneNode(true);if(D){D.appendChild(this._tableNode.domNode)}var B=this._tableNode.domNode;for(J=0;J<B.rows.length;J++){this._cellMap[J]=[];this._tempMap[J]=[];this._componentNameTable[J]=[];for(E=0;E<this._colNr;E++){this._cellMap[J][E]=B.rows[J].cells[E];this._tempMap[J][E]=[];this._tempMap[J][E].className="";this._tempMap[J][E].colSpan=1;this._tempMap[J][E].rowSpan=1;this._tempMap[J][E].appendChild=this._tempMap[J][E].push}}};Quarix.Layout.TableLayout.prototype._buildRow=function(F){var A=0,C=this._colNr,B,D;var E=this._tableNode.domNode;if(E.tBodies&&E.tBodies[0]){E=E.tBodies[0]}while(E.rows.length<=F){D=E.appendChild(this._dupNode.cloneNode(true));if(!this._cellMap[E.rows.length-1]){this._cellMap[E.rows.length-1]=[];this._tempMap[E.rows.length-1]=[]}this._componentNameTable[E.rows.length-1]=[];for(A=0;A<C;A++){this._cellMap[E.rows.length-1][A]=D.cells[A];this._tempMap[E.rows.length-1][A]=[];this._tempMap[E.rows.length-1][A].className="";this._tempMap[E.rows.length-1][A].colSpan=1;this._tempMap[E.rows.length-1][A].rowSpan=1;this._tempMap[E.rows.length-1][A].appendChild=this._tempMap[E.rows.length-1][A].push}}if(D.cells.length==this._colNr){return }return D};Quarix.Layout.TableLayout.prototype._addComponent=function(B,F,A){var E=!B._properties.hide,C;if(!B._properties.hide){var D=true;if(B instanceof Quarix.Widgets.Field){if(B._label&&(C=this._componentNameTable[F][A].indexOf(B._label._objectName))>-1){D=false;this._componentNameTable[F][A].splice(C,1)}else{if(B._properties.viewAs=="Togglebox"){for(C=0;C<this._componentNameTable[F][A].length;C++){if($Q(this._componentNameTable[F][A][C])._properties.viewAs=="Togglebox"){D=false}}}}}else{if(B instanceof Quarix.Widgets.Label){if(B._properties.fieldId&&(this._componentNameTable[F][A].indexOf(B._properties.fieldId)>-1||((C=$Q(B._properties.fieldId))._properties.layoutRow==F&&C._properties.layoutCol==A))){E=false}}else{if(B instanceof Quarix.Widgets.Lookup){if(B.getActionSource()[0]&&this._componentNameTable[F][A].indexOf(B.getActionSource()[0]._objectName)>-1){E=false}}}}if(E&&D){console.warn("Table layout of %s, page %s, already has on row %s, column %s the component(s) %s adding component %s",this.container._objectName,this._page,F,A,this._componentNameTable[F][A].join(", "),B._objectName)}}if(E){this._componentNameTable[F][A].push(B._objectName)}};Quarix.Layout.TableLayout.prototype.add=function(P){var L=P._properties.layoutRow||0;var Q=P._properties.layoutCol||0;var N=P._properties.align||"left";var C=P._properties.valign||null;var A=P._properties.layoutColSpan||1;var E=P._properties.layoutRowSpan||1;var M,I,D;var O,K,H,J;if(!P._domNode||!this._tableNode){return }if(P._properties.ignoreLayoutPosition==true){if(Quarix.Globals.ROOT_WINDOW&&Quarix.Globals.ROOT_WINDOW._domNode){Quarix.Globals.ROOT_WINDOW._domNode.domNode.appendChild(P._domNode.domNode)}else{document.body.appendChild(P._domNode.domNode)}return }if(this._tableNode.domNode.rows.length<L+E){console.warn("TableLayout doesn't have enough rows. Adding row %o to %o page %o.",L+E,this.container._objectName,this._page);this._buildRow(L+E-1)}if(!this._componentNameTable[L][Q]||!this._componentNameTable[L][Q].length){this._componentNameTable[L][Q]=[P._objectName]}else{if(this._componentNameTable[L][Q].length){this._addComponent(P,L,Q)}}if(this._layedOnce){M=this._cellMap[L][Q]}else{D=this._tempMap[L][Q]}var G=M||D;if(!G){console.error("Object %s can not be placed at row %i col %i we only have cells %i",P._objectName,L,Q,this._tableNode.domNode.rows[L].cells.length);return }if(N&&!P._properties.hide){G.align=N.toLowerCase()}if(C){G.className=G.className.replace(/ valign_\w+/g,"")+" valign_"+C.toLowerCase()}if(P._objectType=="DataBrowse"){this._tableNode.domNode.style.tableLayout="fixed"}K=L+E;J=Q+A;for(O=L+G.rowSpan;O<K;O++){if(this._cellMap[O][Q]){if(M){while(this._cellMap[O][Q].firstChild){M.appendChild(this._cellMap[O][Q].firstChild)}this._cellMap[O][Q].parentNode.removeChild(this._cellMap[O][Q])}else{for(var F=0;F<this._tempMap[O][Q].length;F++){D.push(this._tempMap[O][Q][F])}this._elemToRemove.push(this._cellMap[O][Q])}this._cellMap[O][Q]=this._cellMap[L][Q];this._tempMap[O][Q]=D}}for(O=L;O<K;O++){for(H=Q+1;H<J;H++){if(M&&this._cellMap[O][H]&&this._cellMap[O][H]!=M){while(this._cellMap[O][H].firstChild){M.appendChild(this._cellMap[O][H].firstChild)}this._cellMap[O][H].parentNode.removeChild(this._cellMap[O][H])}else{if(D&&this._tempMap[O][H]&&this._tempMap[O][H]!=D){for(var F=0;F<this._tempMap[O][H].length;F++){D.push(this._tempMap[O][H][F])}this._elemToRemove.push(this._cellMap[O][H])}}this._cellMap[O][H]=M;this._tempMap[O][H]=D}}G.colSpan=A||1;G.rowSpan=E||1;if(G){var B=P._domNode;if(B instanceof Quarix.UI.Element){G.appendChild(B.domNode)}else{G.appendChild(B)}}};Quarix.Layout.TableLayout.prototype._addTemp=function(I){var D=I._properties.layoutRow||0;var C=I._properties.layoutCol||0;var G=I._properties.align||"left";var K=I._properties.valign||null;var E=I._properties.layoutColSpan||1;var A=I._properties.layoutRowSpan||1;var M,F,P;var J,Q,N,R;if(!I._domNode||!this._tableNode){return }if(I._properties.ignoreLayoutPosition==true){if(Quarix.Globals.ROOT_WINDOW&&Quarix.Globals.ROOT_WINDOW._domNode){Quarix.Globals.ROOT_WINDOW._domNode.domNode.appendChild(I._domNode.domNode)}else{document.body.appendChild(I._domNode.domNode)}return }if(this._tableNode.domNode.rows.length<D+A){console.warn("TableLayout doesn't have enough rows. Adding row %o to %o page %o.",D+A,this.container._objectName,this._page);this._buildRow(D+A-1)}if(!this._componentNameTable[D][C]||!this._componentNameTable[D][C].length){this._componentNameTable[D][C]=[I._objectName]}else{if(this._componentNameTable[D][C].length){this._addComponent(I,D,C)}}var P=this._tempMap[D][C];if(!P){console.error("Object %s can not be placed at row %i col %i we only have cells %i",I._objectName,D,C,this._tableNode.domNode.rows[D].cells.length);return }if(G&&!I._properties.hide){if(P.align){P.labelAlign=P.align;P.align=G.toLowerCase()}else{P.align=G.toLowerCase()}}if(K){P.valign=K.toLowerCase()}if(I._objectType=="DataBrowse"&&this.container._tabPane){this._tableNode.domNode.style.tableLayout="fixed"}Q=D+A;R=C+E;for(J=D+P.rowSpan;J<Q;J++){if(this._cellMap[J][C]){for(var O=0;O<this._tempMap[J][C].length;O++){P.push(this._tempMap[J][C][O])}this._elemToRemove.push(this._cellMap[J][C]);this._cellMap[J][C]=this._cellMap[D][C];this._tempMap[J][C]=P}}for(J=D;J<Q;J++){for(N=C+1;N<R;N++){if(P&&this._tempMap[J][N]&&this._tempMap[J][N]!=P){for(var O=0;O<this._tempMap[J][N].length;O++){P.push(this._tempMap[J][N][O])}this._elemToRemove.push(this._cellMap[J][N])}this._cellMap[J][N]=this._cellMap[D][C];this._tempMap[J][N]=P}}P.colSpan=E||1;P.rowSpan=A||1;var H=false;if(P){var L=I._domNode;if(L instanceof Quarix.UI.Element){for(var O=0;O<P.length&&I._label&&I._label._properties.align=="right";O++){if(P[O].id==I._label._objectName){var B=P[O];P[O]=L.domNode;P.appendChild(B);H=true;break}}if(!H){P.appendChild(L.domNode)}}else{for(var O=0;O<P.length&&I._label&&I._label._properties.align=="right";O++){if(P[O].id==I._label._objectName){var B=P[O];P[O]=L;P.appendChild(B);H=true;break}}if(!H){P.appendChild(L)}}}};Quarix.Layout.TableLayout.prototype._addDOM=function(N){var J=N._properties.layoutRow||0;var O=N._properties.layoutCol||0;var L=N._properties.align||"left";var C=N._properties.valign||null;var A=N._properties.layoutColSpan||1;var E=N._properties.layoutRowSpan||1;var K,G,D;var M,I,F,H;if(!N._domNode||!this._tableNode){return }if(N._properties.ignoreLayoutPosition==true){if(Quarix.Globals.ROOT_WINDOW&&Quarix.Globals.ROOT_WINDOW._domNode){Quarix.Globals.ROOT_WINDOW._domNode.domNode.appendChild(N._domNode.domNode)}else{document.body.appendChild(N._domNode.domNode)}return }if(this._tableNode.domNode.rows.length<J+E){console.warn("TableLayout doesn't have enough rows. Adding row %o to %o page %o.",J+E,this.container._objectName,this._page);this._buildRow(J+E-1)}if(!this._componentNameTable[J][O]||!this._componentNameTable[J][O].length){this._componentNameTable[J][O]=[N._objectName]}else{if(this._componentNameTable[J][O].length){this._addComponent(N,J,O)}}K=this._cellMap[J][O];if(!K){console.error("Object %s can not be placed at row %i col %i we only have cells %i",N._objectName,J,O,this._tableNode.domNode.rows[J].cells.length);return }if(L&&!N._properties.hide){K.align=L.toLowerCase()}if(C){K.className=K.className.replace(/ valign_\w+/g,"")+" valign_"+C.toLowerCase()}if(N._objectType=="DataBrowse"&&this.container._tabPane){this._tableNode.domNode.style.tableLayout="fixed"}I=J+E;H=O+A;for(M=J+K.rowSpan;M<I;M++){if(this._cellMap[M][O]){while(this._cellMap[M][O].firstChild){K.appendChild(this._cellMap[M][O].firstChild)}this._cellMap[M][O].parentNode.removeChild(this._cellMap[M][O]);this._cellMap[M][O]=this._cellMap[J][O]}}for(M=J;M<I;M++){for(F=O+1;F<H;F++){if(K&&this._cellMap[M][F]&&this._cellMap[M][F]!=K){while(this._cellMap[M][F].firstChild){K.appendChild(this._cellMap[M][F].firstChild)}this._cellMap[M][F].parentNode.removeChild(this._cellMap[M][F])}this._cellMap[M][F]=K}}K.colSpan=A||1;K.rowSpan=E||1;if(K){var B=N._domNode;if(B instanceof Quarix.UI.Element){K.appendChild(B.domNode)}else{K.appendChild(B)}}};Quarix.Layout.TableLayout.prototype.remove=function(F){Quarix.Layout.TableLayout.superclass.remove.call(this,object);var H=F._properties.layoutRow||0;var A=F._properties.layoutCol||0;var E=F._properties.layoutColSpan||1;var C=F._properties.layoutRowSpan||1;var B=this._componentNameTable[_layoutRow][_layoutCol];B.splice(B.indexOf(F._objectName),1);if(B.length==0){this._cellMap[H][A].colSpan=1;this._cellMap[H][A].rowSpan=1;if(E>1){var G=A+E-2;while(G>=A){this._cellMap[H][G]=this._cellMap[H][G+1].parentNode.insertBefore(document.createElement("td"),this._cellMap[H][G+1]);this._cellMap[H][G].className="lycl";G--}}if(C>1){var D=H+C-1;while(D>H){if(this._cellMap[D].length>A+E){this._cellMap[D][A+E-1]=this._cellMap[D][G+1].parentNode.insertBefore(document.createElement("td"),this._cellMap[D][G+1])}else{this._cellMap[D][A+E-1]=this._cellMap[0][0].parentNode.parentNode.rows[D].appendChild(document.createElement("td"))}this._cellMap[D][A+E-1].className="lycl";if(E>1){var G=A+E-2;while(G>=A){this._cellMap[D][G]=this._cellMap[D][G+1].parentNode.insertBefore(document.createElement("td"),this._cellMap[D][G+1]);this._cellMap[D][G].className="lycl";G--}}D--}}}};Quarix.Layout.TableLayout.prototype.destroy=function(){if(this._tableNode){this._tableNode.domNode.parentNode.removeChild(this._tableNode.domNode)}};Quarix.Layout.TableLayout.prototype._firstShow=function(){if(!this._layedOnce){var E,D,B,A=[];D=[];for(E=0;E<this._elemToRemove.length;E++){D.push(this._elemToRemove[E].parentNode)}for(E=0;E<this._elemToRemove.length;E++){D[E].removeChild(this._elemToRemove[E])}for(E=0;E<this._tempMap.length;E++){for(D=0;D<this._tempMap[E].length;D++){if(A.indexOf(this._tempMap[E][D])==-1){A.push(this._tempMap[E][D]);var C=false;for(B=0;B<this._tempMap[E][D].length;B++){this._cellMap[E][D].appendChild(this._tempMap[E][D][B])}if(this._tempMap[E][D].valign){this._tempMap[E][D].className+=" valign_"+this._tempMap[E][D].valign}if(this._tempMap[E][D].className){this._cellMap[E][D].className=this._tempMap[E][D].className}if(this._tempMap[E][D].align){this._cellMap[E][D].align=this._tempMap[E][D].align}if(this._tempMap[E][D].colSpan>1){this._cellMap[E][D].colSpan=this._tempMap[E][D].colSpan}if(this._tempMap[E][D].rowSpan>1){this._cellMap[E][D].rowSpan=this._tempMap[E][D].rowSpan}}}}this.add=this._addDOM;if(this._cellMap[0].length==1){console.warn("%o does not need TableLayout on page %i, use %o. element: %o",this.container._objectName,this._page,"StackLayout",this._tableNode.domNode)}else{if(this._cellMap.length==1){console.warn("%o does not need TableLayout on page %i, use %o. element: %o",this.container._objectName,this._page,"LineLayout",this._tableNode.domNode)}}this._layedOnce=true}};Quarix.Layout.TableLayout.prototype.checkLayout=function(){this._firstShow()};Quarix.Layout.TableLayout.prototype.layout=function(){if(!this._tableNode){return }this.checkLayout();var A=[],I,G,E,F,B,C=this._tableNode.domNode,L=C.rows[0],J;this.processAllCells(A);I=this.breakSpansAndGetSizes(A);var H=0;for(G=0;G<I.cols.length;G++){H+=I.cols[G]}if(H>C.clientWidth){var K=[],D=[];this.enforcedWidths=true;G=0,E=0;while(G<I.cols.length){J=L.cells[E++];if(J){H=0;F=G+(J.colSpan||1);while(G<F){H+=I.cols[G];G++}K.push(J);D.push(H)}else{break}}for(F=0;F<K.length;F++){K[F].style.width=D[F]+"px"}}else{this.enforcedWidths=false}if(!this._layedOnce){this._layedOnce=true}};Quarix.Layout.TableLayout.prototype.processAllCells=function(B){var K,J,F=-1,A,E,D,G,C,I=[];var H=this._tableNode.domNode.className;this._tableNode.domNode.className+=" forceBlockKids";for(G=this._tableNode.domNode.rows[0];G;G=G.nextSibling){F++;A=-1;if(B.length<F+1){B.push([])}for(C=G.cells[0];C;C=C.nextSibling){A++;while(F<B[F].length&&B[F][A]){A++}this.processCell(C,B,F,A)}}this._tableNode.domNode.className=H;if(this.enforcedWidths){for(C=this._tableNode.domNode.rows[0].cells[0];C;C=C.nextSibling){C.style.width=""}}};Quarix.Layout.TableLayout.prototype.processCell=function(D,C,H,A){var F={w:0,h:0,cs:(D.colSpan||1)-0,rs:(D.rowSpan||1)-0,x:A,y:H};var B=D.firstChild,G,E;var K=this._tableNode.domNode.parentNode;var J,I;while(B){J=B.style;I=B.currentStyle||document.defaultView.getComputedStyle(B,null)||{};G=B.offsetLeft;if((J.textAlign||I.textAlign||"").indexOf("right")>-1){G=0}if((G=G+this.getSize(B,K,J,I,"Width"))>F.w){F.w=G}if((G=B.offsetTop+this.getSize(B,K,J,I,"Height"))>F.h){F.h=G}B=B.nextSibling}for(G=H;G<H+F.rs;G++){while(C.length<G+1){C.push([])}for(E=A;E<A+F.cs;E++){C[G][E]=F}}};Quarix.Layout.TableLayout.prototype.pxSize=/^(\d+)px/i;Quarix.Layout.TableLayout.prototype.prSize=/^(\d+)%/i;Quarix.Layout.TableLayout.prototype.getSize=function(D,C,B,A){var F=B["min"+C]||A["min"+C]||null,E=null;if(F){if(E=F.match(this.pxSize)){E=E[1]-0}else{if(E=F.match(this.prSize)){E=Math.round(parent["client"+C]*(E[1]-0)/100)}else{E=null}}}return E||D["offset"+C]};Quarix.Layout.TableLayout.prototype.breakSpansAndGetSizes=function(B){var E,D,A,C,J,G,H=[],I=[];for(E=0;E<B.length;E++){I.push(0);while(H.length<B[E].length){H.push(0)}for(D=0;D<B[E].length;D++){if(B[E][D]&&B[E][D].cs==1&&B[E][D].rs==1){if(B[E][D].w>H[D]){H[D]=B[E][D].w}if(B[E][D].h>I[E]){I[E]=B[E][D].h}}}}for(E=0;E<B.length;E++){for(D=0;D<B[E].length;D++){if(A=B[E][D]){if(A.cs>1){J=A.w;for(C=A.x;C<A.x+A.cs;C++){J-=H[C].w}if(J>0){G=Math.floor(J/A.cs);for(C=A.x+1;C<A.x+A.cs;C++){H[C]+=G}J-=G*(A.cs-1);H[D]+=J}}if(A.rs>1){}}}}var F={cols:H,rows:I};return F};Quarix.Layout.WindowLayout=function(B,A){Quarix.Layout.WindowLayout.superclass.constructor.call(this,B);this.containerLayout=A};Quarix.extend(Quarix.Layout.WindowLayout,Quarix.Layout.LineLayout);Quarix.Layout.WindowLayout.prototype.add=function(B){if(!B._domNode){return }if(B==this.container.getMenubar()&&this.container._nodes.menuHolder){var A=this.container._nodes.menuHolder;A.removeChildrens();if(B._domNode.domNode.parentNode){B._domNode.domNode.parentNode.removeChild(B._domNode.domNode)}A.domNode.appendChild(B._domNode.domNode);A.domNode.parentNode.parentNode.style.height="1px";return }if(B==this.container.getToolbar()&&this.container._nodes.toolbarHolder){var A=this.container._nodes.toolbarHolder;A.removeChildrens();if(B._domNode.domNode.parentNode){B._domNode.domNode.parentNode.removeChild(B._domNode.domNode)}A.domNode.appendChild(B._domNode.domNode);A.domNode.parentNode.parentNode.style.height="1px";return }if(B==this.container.getStatusBar()&&this.container._nodes.statusbarHolder){var A=this.container._nodes.statusbarHolder;A.removeChildrens();if(B._domNode.domNode.parentNode){B._domNode.domNode.parentNode.removeChild(B._domNode.domNode)}A.domNode.appendChild(B._domNode.domNode);A.domNode.parentNode.parentNode.style.height="1px";return }this.containerLayout.add(B)};Quarix.Layout.WindowLayout.prototype.layout=function(){this.containerLayout.layout()};Quarix.Layout.WindowLayout.prototype.destroy=function(){};Quarix.Layout.FieldLayout=function(A){this.field=A};Quarix.extend(Quarix.Layout.FieldLayout,Quarix.Layout.LineLayout);Quarix.Layout.FieldLayout.prototype.add=function(A){if((A instanceof Quarix.Widgets.Spinner)||(A instanceof Quarix.Widgets.ToolButton)){this.field._domNode.domNode.insertBefore(A._domNode.domNode,this.field._nodes.chooser.domNode)}else{this.field._domNode.domNode.appendChild(A._domNode.domNode)}};Quarix.Widgets.Lookup=function(B,A){this._requestColValues=[];Quarix.Widgets.Lookup.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Lookup.defaultProperties);this._rows=[];this._rows.length=this._properties.rows;this._dataSource=null;this._actionSources=[];this._fieldMask=[];this._DOMClassPrefix="lookup";this._processFilter();this._processObjectProperties();this._onComplete=this.__onComplete.bind(this);this._lastUrlValue=null};Quarix.extend(Quarix.Widgets.Lookup,Quarix.Base.AbsVisualObject);Quarix.Widgets.Lookup.prototype.ActionSourceEvents=[Quarix.Links.Action.ValueChanged];Quarix.Widgets.Lookup.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable,Quarix.Links.Data.QueryPosition];Quarix.Widgets.Lookup.defaultProperties={cacheTime:1440};Quarix.Widgets.Lookup.prototype.createObjects=function(){this._buildUI();this._objectCreated=true};Quarix.Widgets.Lookup.prototype.initializeObject=function(){Quarix.Widgets.Lookup.superclass.initializeObject.call(this);this._objectInitialized=true;if(this.getProperty("altDO",false,true)&&this.getProperty("altDOColumns",false,true)&&Quarix.Register.contains(this.getProperty("altDO",false,true))){Quarix.EventManager.subscribe(this.getProperty("altDO"),Quarix.Links.Action,this.getObjectName(),[this.getProperty("altDOColumns")])}var A;if((A=this._dataSource)&&(A.isDataAvailable())){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}};Quarix.Widgets.Lookup.prototype._processObjectProperties=function(){if((!this._properties)||(!this._properties.lineMask)){return }var A=0,E=this._properties.lineMask.length,D="",C=0,B=0;for(;A<E;++A){D=this._properties.lineMask[A];this._fieldMask[A]=D;C=D.indexOf("{",B);B=D.indexOf("}",B+1);while(C!=-1){this._requestColValues.push(D.substring(C+1,B));C=D.indexOf("{",B);B=D.indexOf("}",B+1)}}};Quarix.Widgets.Lookup.prototype.getDOColumnName=function(){return this._requestColValues[0]};Quarix.Widgets.Lookup.prototype._processFilter=function(){this._filterParts=[];this._filterObjs=[];this._filterStr=encodeURIComponent("<filter></filter>");if(this._properties.filter){if(typeof this._properties.filter=="string"){this._properties.filter=this._properties.filter.parseJSON()}for(var A=0;A<this._properties.filter.length;A++){this._filterParts.push((A==0?"":"</col>")+'<col name="'+this._properties.filter[A].name+'" op="'+this._properties.filter[A].op+'">');this._filterParts.push(this._properties.filter[A].value||this._properties.filter[A].object);if(this._properties.filter[A].object){this._filterObjs.push(this._properties.filter[A].object);Quarix.EventManager.subscribe(this._properties.filter[A].object,Quarix.Links.Action,this,[this._properties.filter[A].doColName])}else{this._filterObjs.push(null)}}this._filterParts.push("</col>");this._filterStr=encodeURIComponent(this._filterParts.join(""))}};Quarix.Widgets.Lookup.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.Lookup.prototype.setDataSource=function(A){return this._dataSource=A};Quarix.Widgets.Lookup.prototype.getActionSource=function(){return this._actionSources};Quarix.Widgets.Lookup.prototype.addActionSource=function(B){this._actionSources.push(B);var A=this._filterObjs.indexOf(B._objectName);if(A>-1){this._filterObjs[A]=B}};Quarix.Widgets.Lookup.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Widgets.Lookup.prototype.valueChanged=function(B){var A=this._filterObjs.indexOf(B.source);if(A>-1){this._filterParts[(A+1)*2]=B.value;this._filterStr=encodeURIComponent(this._filterParts.join(""))}if(B.value instanceof Array){this._lastUrlValue=null;this.setObjectValue(B.value)}else{var C=this.getProperty("altDO",null,true)&&$Q(C);var D=this.getProperty("altDOColumns",null,true);if(C&&D&&!$Q(C._windowName)._objectHidden){this._lastUrlValue=null;this.setObjectValue(this._makeFillValues(C.colValues(D)))}else{if(this._properties.url&&B.value){if(B.value!=this._lastUrlValue){this._lastUrlValue=B.value;new Quarix.Request.UniqueLate(this,this._properties.url,200,{method:"post",asynchronous:true,onComplete:this._onComplete,postBody:"value="+encodeURIComponent(B.value)+"&valueColumn="+this._properties.urlValueColumn+"&nameColumn="+this._properties.urlNameColumn+"&filter="+this._filterStr,cacheTime:this._properties.cacheTime,domain:this})}}else{this._lastUrlValue=null;this.setObjectValue([B.value])}}}};Quarix.Widgets.Lookup.prototype.__onComplete=function(A){if(!A||A.status>=300){this.setObjectValue([""])}else{this.setObjectValue([A.responseText])}};Quarix.Widgets.Lookup.prototype._makeFillValues=function(C){var B={};for(var A=0,D=this._requestColValues.length;A<D;++A){B[this._requestColValues[A]]=C[A]}var E=[];for(var A=0,D=this._fieldMask.length;A<D;++A){E.push(Quarix.Util.FillWithObject(this._fieldMask[A],B))}return E};Quarix.Widgets.Lookup.prototype.dataAvailable=function(){this._lastUrlValue=null;if(this._requestColValues.length==0||this._dataSource==null||this._dataSource._properties.currentIndex==-1){return }this.setObjectValue(this._makeFillValues(this._dataSource.colValues(this._requestColValues)))};Quarix.Widgets.Lookup.prototype.queryPosition=function(B){if(B.position=="NoRecordAvailable"){var A=0,C=this._fieldMask.length,D=[];for(;A<C;++A){D.push("")}this.setObjectValue(D)}};Quarix.Widgets.Lookup.prototype._buildUI=function(){if(!this._domNode){var B=['<div class="',this._DOMClassPrefix,'" id="',this._objectName,this._properties.size?'" style="width: '+this._properties.size+"em":"",'"><div class="',this._DOMClassPrefix,'">'];for(var A=0;A<this._rows.length;A++){B.push('<div class="');B.push(this._DOMClassPrefix);B.push("_row_");B.push(A+1);B.push('"></div>')}B.push("</div></div>");this._domNode=Quarix.UI.Element.fromString(B.join(""));for(var A=0;A<this._rows.length;A++){this._rows[A]=this._domNode.domNode.firstChild.childNodes[A]}if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}}};Quarix.Widgets.Lookup.prototype.setObjectValue=function(C){Quarix.Util.Trigger(this,"onObjectValue",[this,C]);if(C){if(!(C instanceof Array)){C=[C];Quarix.Request.UniqueLate.Remove(this,this._properties.url)}var A=0,B=(C.length>this._rows.length?this._rows.length:C.length);for(;A<B;++A){this._rows[A].innerHTML=C[A]||"&nbsp;";this._rows[A].title=C[A]}}};Quarix.Data.DataObject=function(B,A){Quarix.Data.DataObject.superclass.constructor.call(this,B,A);this.oldMsgFormat=false;if(Quarix.Globals.DATAOBJECT_OLD_MSG_FORMAT!="undefined"){this.oldMsgFormat=Quarix.Globals.DATAOBJECT_OLD_MSG_FORMAT}this.closeXMLTag=this.oldMsgFormat?"</dao-msg>":"</daoMsg>\n</datasetMsg>";this._objectType="DataObject";var D=this;this._staticMessageBundle={msg_dataobject_save_error:"There was an error while attemptig to save changes on the server. Please fix any network issues and try again.",msg_dataobject_timeout:"Communication with server timed-out.",msg_dataobject_server_save_error:"Server error while saving, http code %d",msg_dataobject_server_error:"Server error, http code %d"};this.daoId=this._properties.daoId;delete this._properties.daoId;this._queryPosition="NoRecordAvailable";this._properties=Object.extend({autoSync:true,batchSize:100,columns:[],margin:10,url:null,params:{},readOnly:false,threadTimeout:300000,OpenOnInit:true,rules:[],sendFilterEveryTime:false,onCacheChange:[],hasFirstRow:false,hasLastRow:false,currentIndex:-1,requestedIndex:-1/0,filterMode:"remote",sendChangesOnly:true,disableChildren:true,updateMode:false,__DataObjectReference:this,_selfStruct:{hasFirstRow:{readOnly:true},hasLastRow:{readOnly:true},params:{type:"dictionary"},url:{type:"string"}}},this._properties);this._canMove=this._properties.updateMode;this._properties.params.id=this.daoId;Object.extend(this._properties,{onCursorMove:function(H,F){if(D._publishingCursorMove){throw new Error("Already publishing cursor move!")}D._publishingCursorMove=true;var K="",J=D.dataProxy;D._makeQueryPosition();try{D.publish(Quarix.Links.Navigation.QueryPosition,{position:D._queryPosition});D.publish(Quarix.Links.Data.DataAvailable,{rowIndexBefore:H,rowIndexAfter:F});Quarix.Util.Trigger(D,"afterDataAvailable")}catch(I){console.error("Someone listening to QueryPosition or DataAvailable from Data Object %o threw %o",D,I)}if(F>-1){for(var G=0;G<D.actionTargets.length;G++){if(D.actionTargets[G].ActionSourceEvents&&D.actionTargets[G].ActionSourceEvents.indexOf("valueChanged")>-1){D.actionTargets[G].valueChanged(Quarix.EventManager.newEvent(this,"valueChanged",{object:D,value:D.dataProxy.cache[F][this.columns.indexByName[D.actionTargetsColumns[G]]].value}))}}}D._publishingCursorMove=false},onBeforeCursorMove:function(F){if(!D._properties.updateMode){return true}for(idx=0,len=D.dataTargets.length;idx<len;idx++){if(D.dataTargets[idx].getObjectType()=="SmartDataView"){D.dataTargets[idx].validateView();if(Quarix.WarningManager.hasMessage(D)){return false}}}return true},onAfterSync:function(){D.publish("transactionOk")},onAfterDelete:function(){D.publish(Quarix.Links.Data.DeleteComplete)},runCacheChange:function(G,F){var H;try{for(H=0;H<D._properties.onCacheChange.length;H++){D._properties.onCacheChange[H](G,F)}}catch(I){console.error("Exception in onCacheChange handler: %o",I)}}});this._publishingCursorMove=false;this.hdoFKParent=null;this.dataTargets=[];this._actionSources=[];this.actionTargets=[];this.actionTargetsColumns=[];this._navigationSource=[];this._currentUpdateSource=null;this._updateSources=[];this.commitTargets=[];this._updateState=0;var E=this.dataProxy=new Quarix.Data.DataObject.DataProxy(this._objectName,this._properties);this.dataProxy.oldMsgFormat=this.oldMsgFormat;this.dataProxy.closeXMLTag=this.closeXMLTag;this._getDataObject=function(){return E};this._notifyOnRequest=[];this._FKColIdx=[];this._FKparentCols=[];for(var C=0;C<this._properties.columns.length;C++){if(this._properties.columns[C].translate){this._properties.columns[C].translate=this._properties.columns[C].translate.parseJSON()}else{this._properties.columns[C].translate={}}}this._processObjectProperties();Quarix.Data.DataObject.instances.push(this);this._mustRefreshFK=false;if(this._properties.shared){Quarix.Globals.ROOT_WINDOW.addLink("createObjects",this)}this._properties.columns.getByName={};this._properties.columns.indexByName={};this._properties.columns.rightCase={};for(var C=0;C<this._properties.columns.length;C++){this._properties.columns.getByName[this._properties.columns[C].name]=this._properties.columns[C];this._properties.columns.indexByName[this._properties.columns[C].name]=C;this._properties.columns.rightCase[this._properties.columns[C].name.toLowerCase()]=this._properties.columns[C].name}};Quarix.extend(Quarix.Data.DataObject,Quarix.Base.AbsSmartObject);Quarix.Data.DataObject.prototype.DataSourceEvents=Quarix.Links.Data.SourceEvents.concat([Quarix.Links.Data.UpdateState]);Quarix.Data.DataObject.prototype.DataTargetEvents=Quarix.Links.Data.TargetEvents;Quarix.Data.DataObject.prototype.ActionSourceEvents=[Quarix.Links.Action.ValueChanged];Quarix.Data.DataObject.prototype.NavigationSourceEvents=Quarix.Links.Navigation.SourceEvents;Quarix.Data.DataObject.prototype._objectType="DataObject";Quarix.Data.DataObject.instances=[];Quarix.Data.DataObject.prototype.disableObject=function(D){var C,B,F;this._objectEnabled=false;for(C=0,B=this._navigationSource.length;C<B;C++){F=this._navigationSource[C];if(F){F.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}for(var E=0;E<this._updateSources.length;E++){var A=this._updateSources[E].getTableIOSource();for(C=0,B=A.length;C<B;C++){F=A[C];if(F){F.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}}};Quarix.Data.DataObject.prototype.enableObject=function(D){var C,B,F;this._objectEnabled=true;for(C=0,B=this._navigationSource.length;C<B;C++){F=this._navigationSource[C];if(F){F.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}for(var E=0;E<this._updateSources.length;E++){var A=this._updateSources[E].getTableIOSource();for(C=0,B=A.length;C<B;C++){F=A[C];if(F){F.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}};Quarix.Data.DataObject.prototype.getDataSource=function(){return this.hdoFKParent};Quarix.Data.DataObject.prototype.removeDataSource=function(){this.rgFKMap=null;this.hdoFKParent=null};Quarix.Data.DataObject.prototype.setDataSource=function(A){this.setFK(A)};Quarix.Data.DataObject.prototype.getActionSource=function(){return this._actionSources};Quarix.Data.DataObject.prototype.addActionSource=function(C,A){this._actionSources.push(C);var D=this.getProperty("fkField",null,true);var B=(C._properties.fkDOColumnName!="undefined"?C._properties.doColumnName:false)||(C._properties.doColumnName!="undefined"?C._properties.doColumnName:false);if(B){if(D){D+=","+B}else{D=B}}this.setProperty("fkField",D)};Quarix.Data.DataObject.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Data.DataObject.prototype.addActionTarget=function(A,B){this.actionTargets.push(A);if(B&&B[0]){if(this._properties.columns.getByName[B[0]]){this.actionTargetsColumns.push(B[0])}else{console.error("Action link from %o to %o using undefined column: %o. Available oclumn are: %o.",this._objectName,A._objectName,B[0],this._properties.columns.pluck("name"))}}else{console.error("Action link from %o to %o is missing required parameter: column name.",this._objectName,A._objectName)}};Quarix.Data.DataObject.prototype.getActionTarget=function(){return this.actionTargets};Quarix.Data.DataObject.prototype.removeActionTarget=function(B){var A=this.actionTargets.indexOf(B);this.actionTargets.splice(A,1);this.actionTargetsColumns.splice(A,1);if(this._properties.shared&&!this.dataTargets.length&&!this.actionTargets.length){this.destroyObject()}};Quarix.Data.DataObject.prototype.addDataTarget=function(C){this.dataTargets.push(C);if(C&&C.getObjectType&&C.getObjectType()=="SmartDataView"){this._updateSources.push(C);if(!this._objectEnabled){var B=C.getTableIOSource();for(var A=0;A<B.length;A++){B[A].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}}};Quarix.Data.DataObject.prototype.getDataTarget=function(){return this.dataTargets};Quarix.Data.DataObject.prototype.removeDataTarget=function(A){this.dataTargets=this.dataTargets.without(A);if(this._properties.shared&&!this.dataTargets.length&&!this.actionTargets.length){this.destroyObject()}};Quarix.Data.DataObject.prototype.addNavigationSource=function(A){this._navigationSource.push(A);if(!this._objectEnabled){A.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}};Quarix.Data.DataObject.prototype.getNavigationSource=function(){return this._navigationSource};Quarix.Data.DataObject.prototype.removeNavigationSource=function(A){this._navigationSource=this._navigationSource.without(A)};Quarix.Data.DataObject.prototype.addCommitTarget=function(A){this.commitTargets.push(A)};Quarix.Data.DataObject.prototype.getCommitTarget=function(){return this.commitTargets};Quarix.Data.DataObject.prototype.removeCommitTarget=function(A){this.navTargets=this.commitTargets.without(oldTarget)};Quarix.Data.DataObject.prototype._makeQueryPosition=function(B){var C,A=arguments.length?B:this._properties.currentIndex;if(this.dataProxy.cache.length==0){C="NoRecordAvailable"}else{if(this.dataProxy.cache.length==1&&this._properties.hasFirstRow&&this._properties.hasLastRow){C="OnlyRecordAvailable"}else{if(A==0&&this._properties.hasFirstRow){C="FirstRecord"}else{if(A==this.dataProxy.cache.length-1&&this._properties.hasLastRow){C="LastRecord"}else{C="NotFirstOrLast"}}}}this._queryPosition=C};Quarix.Data.DataObject.prototype.createObjects=function(){Quarix.Data.DataObject.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Data.DataObject.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Data.DataObject.superclass.initializeObject.call(this);this._objectInitialized=true;this.dataProxy.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject));var B;if(B=this.getProperty("fkField",null,true)){if(typeof B=="string"){B=B.split(",");if(B.length==1){B=B[0]}}if(typeof B=="string"){B=[B,B]}var C={};var A;for(A=0;A<B.length;A+=2){C[B[A]]=B[A+1]}this.setFK(null,C)}if(this._mustRefreshFK){this.queryPosition(Quarix.EventManager.newEvent(this.hdoFKParent,Quarix.Links.Data.QueryPosition,{position:this.hdoFKParent.getQueryPosition()}));this.dataAvailable(Quarix.EventManager.newEvent(this.hdoFKParent,Quarix.Links.Data.DataAvailable))}};Quarix.Data.DataObject.prototype.destroyObject=function(){Quarix.Data.DataObject.superclass.destroyObject.call(this);var A;for(A=0;A<Quarix.Data.DataObject.instances.length;A++){if(Quarix.Data.DataObject.instances[A]==this){Quarix.Data.DataObject.instances.splice(A,1);break}}};Quarix.Data.DataObject.prototype.addRow=function(B){var C,F=this.dataProxy,D=F.options.columns,E=[];for(C=0;C<D.length;C++){E.push(D[C].defaultValue||"")}if(this._lastFKValues){for(C=0;C<this._FKColIdx.length;C++){E[this._FKColIdx[C]]=this._lastFKValues[C]}}this.dataProxy.appendRow(E);F.options.requestedIndex=-1;F._checkCursor();var A=[];for(C=0;C<B.length;C++){A.push(E[F.options.columns.indexByName[B[C]]])}return A};Quarix.Data.DataObject.prototype.selectRow=function(B,C){var A,D=this.dataProxy;A=D._findRowByColumn(B,C);if(A!=null){D.moveCursor(A)}else{D.moveFirst()}};Quarix.Data.DataObject.prototype.assignQuerySelection=function(A){if(!this.canMove()){return }this.dataProxy.setFilters(A,false)};Quarix.Data.DataObject.prototype.autoCommit=function(A){if(typeof A!="undefined"){this.dataProxy.options.autoSync=A}return this.dataProxy.options.autoSync};Quarix.Data.DataObject.prototype.cancelRow=function(){this.dataProxy.undoAll({all:true})};Quarix.Data.DataObject.prototype.canMove=function(){this._canMove=false;switch(this._updateState){case 0:return true;break;case 1:return this._canMove;break;case 2:return this._canMove;break;case 3:return this._canMove;break;default:throw new Error("[Quarix.Data.DataObject.canMove] Private field in an unknown state (_updateState)")}};Quarix.Data.DataObject.prototype.getRowHash=function(D){var C=[],B,A;if(typeof D=="number"){A=this.dataProxy.cache[D]}else{A=this.dataProxy.cache[this._properties.currentIndex]}for(B=0;B<A.length;B++){C[this._properties.columns[B].name]=A[B].value}return C};Quarix.Data.DataObject.prototype.colValue=function(A){return this.dataProxy.getCurrentRow()[this._properties.columns.indexByName[A]]};Quarix.Data.DataObject.prototype.colValues=function(C){var B=this.dataProxy.getCurrentRow(),E=this.dataProxy.options.columns;var D,A=[];for(D=0;D<C.length;D++){A.push(B[E.indexByName[C[D]]])}return A};Quarix.Data.DataObject.prototype.collectColumn=function(B){var C=this.dataProxy.options.columns.indexByName[B];var A=this.dataProxy.cache;var D,E=[];for(D=0;D<A.length;D++){E.push(A[D][C].value)}return E};Quarix.Data.DataObject.prototype.getCacheValue=function(A,B){};Quarix.Data.DataObject.prototype.commitTransaction=function(){this.submitCommit()};Quarix.Data.DataObject.prototype.copyRow=function(B){var G=this.dataProxy,E=G.options.columns;var D=G.getCurrentRow();var C,F=[];for(C=0;C<D.length;C++){if(!(E[C].primary||E[C].name=="rowid")){F.push(D[C])}else{F.push("")}}G.appendRow(F);G.options.requestedIndex=-1;G.options.runCacheChange();G._checkCursor();var A=[];for(C=0;C<B.length;C++){A.push(F[G.options.columns.indexByName[B[C]]])}return A};Quarix.Data.DataObject.prototype.dataAvailable=function(D){if(!this.canMove()){return }if(!this.hdoFKParent||!this.rgFKMap){return }if(this.hdoFKParent._properties.currentIndex==-1){return }this._mustRefreshFK=false;var B;var A=this.hdoFKParent.colValues(this._FKparentCols),C=[];this.dataProxy._parentRowId=A[0];for(B=0;B<this._FKparentCols.length;B++){C.push([this.rgFKMap[this._FKparentCols[B]],"eq",A[B]])}this._lastFKValues=A;if(this.dataProxy._parentRowId.indexOf("appending")==0){this.dataProxy._useBlankBatch()}else{this.dataProxy.setFilters(C,true)}};Quarix.Data.DataObject.prototype.valueChanged=function(C){if(!C){throw new Error("no evtObj")}if(!this.rgFKMap){return }if(!this.canMove()){return }var G=[],D,F=true,E=[];for(D in this.rgFKMap){if(!{}[D]&&typeof this.rgFKMap[D]=="string"){G.push(D)}}if(C.value instanceof Array&&G.length>1){F=(this._lastFKValues&&this._lastFKValues.length==C.value.length);for(D=0;D<G.length;D++){E.push([this.rgFKMap[G[D]],"eq",C.value[D]]);if(F&&C.value[D]!=this._lastFKValues[D]){F=false}}}else{var B=-1;var A=null;if(C.source){A=C.source._properties.fkDOColumnName||C.source.getDOColumnName();if(A){B=G.indexOf(C.source.getDOColumnName())}}if(B==-1){E.push([A,"eq",C.value]);F=false}else{E.push([this.rgFKMap[G[B]],"eq",C.value]);F=(this._lastFKValues&&this._lastFKValues.length==1&&this._lastFKValues[0]==C.value)}}if(!F){this._lastFKValues=C.value;this.dataProxy.setFilters(E,true)}};Quarix.Data.DataObject.prototype.deleteRow=function(A){this.dataProxy.deleteRow(A||this.dataProxy.getCursor())};Quarix.Data.DataObject.prototype.emptyRowSet=function(){this.dataProxy.moveFirst();this.dataProxy.invalidateCache()};Quarix.Data.DataObject.prototype.fetchBatch=function(B){if(!this.canMove()){return }var D=this.dataProxy;if(B&&D.nextReq){D.options.requestedIndex=1;if(D.nextReq.parsed){D._onRequestComplete.call(D,D.nextReq)}else{D.nextReq.makeCurrent=true;D._lockThread()}return }if(!B&&D.prevReq){D.options.requestedIndex=-1;if(D.prevReq.parsed){D._onRequestComplete.call(D,D.prevReq)}else{D.prevReq.makeCurrent=true;D._lockThread()}return }var C,A;if(B){C=D.cache.last();A=1}else{C=D.cache[0];A=-1}if(A==1&&D.options.hasLastRow){return }else{if(A==-1&&D.options.hasFirstRow){return }}if(!C){return }C=C[D.options.columns.indexByName.rowid].value;D.options.requestedIndex=A;D.getBatch(C,A)};Quarix.Data.DataObject.prototype.refresh=function(){this.dataProxy.refresh()};Quarix.Data.DataObject.prototype.fetchByVal=function(B,C){var D,A;if(typeof B=="string"){D={name:B,value:C}}else{for(A in B){if(!{}[A]){D={name:A,value:B[A]};break}}}if(this.canMove()){this.dataProxy.getBatch(D,1)}};Quarix.Data.DataObject.prototype.fetchFirst=function(){if(this.canMove()){this.dataProxy.moveFirst()}};Quarix.Data.DataObject.prototype.fetchLast=function(){if(this.canMove()){this.dataProxy.moveLast()}};Quarix.Data.DataObject.prototype.fetchNext=function(){if(this.canMove()){this.dataProxy.moveNext()}};Quarix.Data.DataObject.prototype.fetchPrev=function(){if(this.canMove()){this.dataProxy.movePrev()}};Quarix.Data.DataObject.prototype.fetchRow=function(A){if(this.canMove()){this.dataProxy.moveCursor(A)}};Quarix.Data.DataObject.prototype.getColumnInfo=function(A){var B=this.dataProxy.options.columns;if(typeof A=="number"){return B[A]}else{if(typeof A=="string"){return B[B.indexByName[A]]}else{throw new Error("[Quarix.Data.DataObject.getColumnInfo] Bad parameter")}}};Quarix.Data.DataObject.prototype.getColumns=function(){return this.dataProxy.options.columns};Quarix.Data.DataObject.prototype.getValues=function(){var A=[],B=this.dataProxy.cache,D,C;for(D=0;D<B.length;D++){A[D]=[];for(C=0;C<B[D].length;C++){A[D][C]=B[D][C].value}}return A};Quarix.Data.DataObject.prototype.getValuesWithMetadata=function(){return this.dataProxy.cache};Quarix.Data.DataObject.prototype.getHdoFKParent=function(){return this.hdoFKParent};Quarix.Data.DataObject.prototype.getIndex=function(){return this.dataProxy.getCursor()};Quarix.Data.DataObject.prototype.getFKMap=function(){return this.rgFKMap};Quarix.Data.DataObject.prototype.getQueryPosition=function(){return this._queryPosition};Quarix.Data.DataObject.prototype.isDataAvailable=function(){return this._properties.currentIndex>-1&&this.dataProxy.cache.length>0};Quarix.Data.DataObject.prototype.queryPosition=function(A){if(!A){throw new Error("no evtObj")}if(A.position=="NoRecordAvailable"){if(!this.hdoFKParent||!this.rgFKMap){return }var B=[],C;for(C in this.rgFKMap){if(!{}[C]&&typeof this.rgFKMap[C]=="string"){B.push("")}}this._lastFKValues=B;this.dataProxy._onRequestComplete({parsed:true,status:200,rows:this._properties.filterMode=="local"?this.dataProxy.cache:[],info:{hasFirstRow:true,hasLastRow:true}});this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject,{reason:"FK"}))}else{if(!this._objectEnabled){this.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject,{reason:"FK"}))}}};Quarix.Data.DataObject.prototype.setDefaultValue=function(B,A){var C=this.dataProxy;C.options.columns[C.options.columns.indexByName[B]].defaultValue=A};Quarix.Data.DataObject.prototype.setDefaultValues=function(C){var B=this.dataProxy,A;if(C.length){for(A=0;A<C.length;A++){B.options.columns[A].defaultValue=C[A]}}else{for(A in C){if(!{rowid:true}[A]){B.options.columns[B.options.columns.indexByName[A]].defaultValue=C[A]}}}};Quarix.Data.DataObject.prototype.setQuerySort=function(A){if(!this.canMove()){return }this.dataProxy.setSorting(A)};Quarix.Data.DataObject.prototype.setFK=function(C,B){if(C&&C!=this.hdoFKParent){if(this.hdoFKParent){console.warn("You shouldn't replace the FK parent of a DataObject. Instead, try writing the XML correctly.");Quarix.EventManager.deregister(C,Quarix.Links.Data,this)}this.hdoFKParent=C}if(B){this.rgFKMap={};this._FKparentCols=[];this._FKColIdx=[];for(var A in B){if(!{}[A]&&typeof B[A]=="string"){this.rgFKMap[A]=B[A];if(typeof this._properties.columns.indexByName[this.rgFKMap[A]]!="number"){if(this._properties.columns.rightCase[this.rgFKMap[A].toLowerCase()]){console.error("DataObject %o does not have column %o. Did you mean %o?",this._objectName,this.rgFKMap[A],this._properties.columns.rightCase[this.rgFKMap[A].toLowerCase()])}else{console.error("DataObject %o does not have column %o",this._objectName,this.rgFKMap[A])}}if(C){switch(C._objectType){case"DataObject":if(typeof C._properties.columns.indexByName[A]!="number"){if(C._properties.columns.rightCase[A.toLowerCase()]){console.error("DataObject %o does not have column %o. Did you mean %o?",C._objectName,A,C._properties.columns.rightCase[A.toLowerCase()])}else{console.error("DataObject %o does not have column %o",C._objectName,A)}}break;case"Field":break}}this._FKparentCols.push(A);this._FKColIdx.push(this._properties.columns.indexByName[this.rgFKMap[A]])}}if(!this._FKparentCols.length){console.warn("You need a column to link a FK. Try again.")}}if(this._lastFKValues){delete this._lastFKValues}if(this.hdoFKParent&&this.hdoFKParent._objectType=="DataObject"&&this.rgFKMap){if(this._objectInitialized){if(this.hdoFKParent._objectInitialized){this.queryPosition(Quarix.EventManager.newEvent(this.hdoFKParent,Quarix.Links.Data.QueryPosition,{position:this.hdoFKParent.getQueryPosition()}));this.dataAvailable(Quarix.EventManager.newEvent(this.hdoFKParent,Quarix.Links.Data.DataAvailable))}else{this.queryPosition(Quarix.EventManager.newEvent(this.hdoFKParent,Quarix.Links.Data.QueryPosition,{position:"NoRecordAvailable"}))}}else{this._mustRefreshFK=true}}};Quarix.Data.DataObject.prototype.trySubmit=function(){if(this._properties.autoSync){this.submitCommit()}else{this._makeQueryPosition();this.publish(Quarix.Links.Data.QueryPosition,{position:this._queryPosition})}};Quarix.Data.DataObject.prototype.submitCommit=function(B,A){this.dataProxy.sync()};Quarix.Data.DataObject.prototype.submitRow=function(B,A){var C=this.dataProxy;if(C.options.currentIndex==-1){C.moveFirst()}if(B){C.changeRow(B,A)}else{C.changed.append.push({after:C.cache[C.cache.length-1]=C.rowObjectToVector(A,C.options.currentIndex)})}this.trySubmit()};Quarix.Data.DataObject.prototype.undoTransaction=function(){this.cancelRow()};Quarix.Data.DataObject.prototype.updateRow=function(C){var B=this.dataProxy;var A=B.getCurrentRow();for(i in C){if(!{rowid:true}[i]){A[B.options.columns.indexByName[i]]=C[i]}}B.changeRow(this.dataProxy.getCursor(),A)};Quarix.Data.DataObject.prototype.updateState=function(C){if(this._properties.updateMode){return }var D=["UpdateComplete","UpdateBegin","Update","UpdateEnd"].indexOf(C.state);if(D!=0&&this._properties.currentIndex<0){return }this._updateState=D;var B,A;this._currentUpdateSource=null;for(B=0;B<this._updateSources.length;B++){if(this._updateSources[B].getObjectMode()!="View"){this._currentUpdateSource=this._updateSources[B];break}}if(this._currentUpdateSource){this.publish(Quarix.Links.Data.UpdateState,{state:C.state});if(!this._properties.disableChildren){return }if(C.state=="UpdateBegin"||C.state=="Update"){for(B=0,A=this.dataTargets.length;B<A;B++){if(this.dataTargets[B].getObjectType()=="DataObject"){this.dataTargets[B].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}}else{for(B=0,A=this.dataTargets.length;B<A;B++){if(this.dataTargets[B].getObjectType()=="DataObject"&&this._queryPosition!="NoRecordAvailable"){this.dataTargets[B].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}}else{if(!this._properties.disableChildren){return }if(C.state=="UpdateBegin"||C.state=="Update"){this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{this.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}};Quarix.Data.DataObject.prototype.__notifyOnRequest=function(C){var B=this._notifyOnRequest.clone();for(var A=0;A<B.length;A++){B[A](C)}};Quarix.Data.DataObject.DataProxy=function(B,A){this.name=B;this.options=A;if(!this.options.filterMode){this.options.filterMode="remote"}if(this.options.sendChangesOnly=="undefined"){this.options.sendChangesOnly=true}this.cache=[];this.changed={append:[],deleted:[],edited:[]};this.requestPending=false;this.prevReq=null;this.nextReq=null;this.__lastFKFilters=[];this.__lastViewFilters=[];this._filterStr="";this._sortStr="";if(this.options.url==""){this.options.url=null}this._onRequestComplete=this.__onRequestComplete.bind(this);this._parentRowId=null;this._syncing=false};Quarix.Data.DataObject.DataProxy.prototype.initializeObject=function(){if(this.options.OpenOnInit){if(this.options.serverData){var A;if(typeof this.options.serverData=="string"){A={status:200,responseText:this.options.serverData.toJSONString()}}else{A=this.options.serverData;A.status=200;A.parsed=true}this._onRequestComplete(A);delete this.options.serverData}else{if(this.cache&&this.cache.length>0){if(this.options.currentIndex==-1){this._checkCursor()}}else{if(!this.requestPending){console.log("reqP: %o",this.requestPending);this.invalidateCache()}}}}};Quarix.Data.DataObject.DataProxy.prototype.rowObjectToVector=function(C,B){var D=[],A;if(typeof B!="undefined"){if(typeof B=="string"){B=this._findRowByColumn("rowid",B)}for(A=0;A<this.cache[B].length;A++){D.push(this.cache[B][A])}}else{for(A=0;A<this.options.columns.length;A++){D.push({value:this.options.columns[A].defaultValue||""})}}for(A in C){if(!{rowid:true}[A]){D[this.options.columns.indexByName[A]]={value:C[A]}}}return D};Quarix.Data.DataObject.DataProxy.prototype.appendRow=function(A){var B;if(this.options.readOnly){throw new Error("[Quarix.Data.DataObject.DataProxy.appendRow] Cannot append data in read-only mode (readOnly = "+this.options.readOnly+")")}if(this.changed.append.length&&this.options.url){if(!this.options.fkFilterMode||(this.options.fkFilterMode&&this.options.fkFilterMode=="remote")){throw new Error("[Quarix.Data.DataObject.DataProxy.appendRow] An appended row is already waiting to be commited. Sync with server first.")}}var D=[],C;if(!this.cache.rowids){this.cache.rowids=[]}if(A.length){for(B=0;B<A.length;B++){D[B]={value:A[B]}}}else{for(B=0;B<this.options.columns.length;B++){D.push({value:this.options.columns[B].defaultValue||""})}for(B in A){if(!{rowid:true}[B]){D[this.options.columns.indexByName[B]]={value:A[B]}}}}D[this.options.columns.indexByName.rowid]={value:(C="appending"+(this._nextAppendingRowId++))};this.changed.append.push({rowId:C,parentRowId:this._parentRowId,after:D});this.cache.push(D);this.cache.rowids.push(D[this.options.columns.indexByName.rowid]);if(this.options.filterMode=="local"){this.unfilteredCache.push(D);this.unfilteredCache.rowids.push(D[this.options.columns.indexByName.rowid])}this.options.runCacheChange(this.cache.length-1)};Quarix.Data.DataObject.DataProxy.prototype._nextAppendingRowId=0;Quarix.Data.DataObject.DataProxy.prototype.changeRow=function(G,C){var D=G,E,B,A=this.options.columns.indexByName.rowid;if(typeof G=="string"){G=this._findRowByColumn("rowid",G)}else{D=this.cache[G][A].value}if(this.options.readOnly){throw new Error("[Quarix.Data.DataObject.DataProxy.changeRow] Cannot change data in read-only mode ("+this.options.readOnly+")")}if(C.length){for(E=0;E<C.length;E++){if(typeof C[E]=="string"){C[E]={value:C[E]}}}for(E=C.length;E<this.cache[G].length;E++){C.push(this.cache[G][E])}B=C}else{B=[];for(E=0;E<this.cache[G].length;E++){B.push(this.cache[G][E])}for(E in C){if(!{rowid:true}[E]){B[this.options.columns.indexByName[E]]=(typeof C[E]=="string")?{value:C[E]}:C[E]}}}var F=this.cache[G];if(this.changed.append.length&&(E=this.changed.append.pluck("after").indexOf(this.cache[G]))>-1){this.changed.append[E].after=B}else{if(!this.changed[D]){this.changed[D]={before:this.cache[G]};this.changed.edited.push(D)}this.changed[D].after=B}this.cache[G]=B;if(F){for(B in F){if(typeof this.cache[G][B]=="undefined"){this.cache[G][B]=F[B]}}}if(this.cache[G].curRow){delete this.cache[G].curRow}for(E=0;E<this.cache[G].length;E++){for(B in F[E]){if(typeof this.cache[G][E][B]=="undefined"){this.cache[G][E][B]=F[E][B]}}}if(this.options.filterMode=="local"){this.unfilteredCache[this.unfilteredCache.rowids.indexOf(D)]=this.cache[G]}this.options.runCacheChange(G)};Quarix.Data.DataObject.DataProxy.prototype.changeRowColumn=function(E,C,D){if(typeof E=="string"){E=this._findRowByColumn("rowid",E)}if(!this.cache[E]){throw new Error("[Quarix.Data.DataObject.DataProxy.changeRowColumn] Cannot modify a single row column without first loading the row. Try again after you view the row.")}if(this.options.readOnly){throw new Error("[Quarix.Data.DataObject.DataProxy.changeRowColumn] Cannot change data in read-only mode ("+this.options.readOnly+")")}var A=(typeof C=="string")?this.options.columns.indexByName[C]:C;var B,F=[];for(B=0;B<A;B++){F.push(this.cache[E][B])}F.push((typeof D=="string")?{value:D}:D);for(B=A+1;B<this.cache[E].length;B++){F.push(this.cache[E][B])}this.changeRow(E,F)};Quarix.Data.DataObject.DataProxy.prototype.deleteRow=function(D){var B,C=D,A;if(typeof D!="string"){D=this.cache[D][this.options.columns.indexByName.rowid].value}else{C=this._findRowByColumn("rowid",D)}if(this.changed.deleted){for(B=this.changed.deleted.length-1;B>=0;B--){if(this.changed.deleted[B].rowId==D){throw new Error("[Quarix.Data.DataObject.DataProxy.deleteRow] Row '"+D+"' has alredy been marked for deletion")}}}if(this.options.readOnly){throw new Error("[Quarix.Data.DataObject.DataProxy.deleteRow] Cannot delete data in read-only mode ("+this.options.readOnly+")")}if(this.changed[D]){A=this.changed[D].before;delete this.changed[D];this.changed.edited.splice(this.changed.edited.indexOf(D),1)}else{A=this.cache[C]}this.changed.deleted.push({rowId:D,rowIdx:C,before:A});this.options.runCacheChange(C,true);if(this.options.fkFilterMode=="local"){this.cache.splice(this.cache.indexOf(A),1);if(this.options.currentIndex==C){this._checkCursor()}}if(this.options.autoSync){this.sync()}};Quarix.Data.DataObject.DataProxy.prototype._makeFetchHead=function(D){if(this.oldMsgFormat){var B=['<?xml version="1.0" encoding="ISO-8859-1"?>\n',"<dao-msg>\n","	<head>\n"];var A,C={prefetch:false};Object.extend(C,D);Object.extend(C,this.options.params);for(A in C){if(!{}[A]){B.push("		<");B.push(A);B.push(">");B.push(C[A]);B.push("</");B.push(A);B.push(">\n")}}return B.join("")+"	</head>\n"}var B=['<?xml version="1.0" encoding="UTF-8"?>\n',"<datasetMsg>\n\t<daoMsg"];var A,C={prefetch:false};Object.extend(C,D);Object.extend(C,this.options.params);for(A in C){if(!{}[A]){B.push(" "+A+'="'+C[A]+'"')}}B.push(">\n\t");return B.join("").replace(/action/g,"command")};Quarix.Data.DataObject.DataProxy.prototype.getBatch=function(C,B,A){var D;this._lockThread();if(C=="first"){this.options.requestedIndex=-1/0}else{if(C=="last"){this.options.requestedIndex=1/0}}if(typeof A=="undefined"){A=(typeof C=="string")&&(["first","last"].indexOf(C)==-1)}this.dirtyCache=this.cache;this.cache=[];var E={action:"sendRows",batchSize:B*this.options.batchSize,skipRow:A};if(typeof C=="string"){E.startRowId=C}else{this.options.requestedIndex=0;E.findColumnName=C.name;E.findColumnValue=C.value}this.finalizeRequest([this._makeFetchHead(E),this._filterStr,this._sortStr,this._closeXMLTag].join(""),this._onRequestComplete)};Quarix.Data.DataObject.DataProxy.prototype.refresh=function(){if(this.cache.length>0){this.getBatch(this.cache[0][this.options.columns.indexByName.rowid].value,1,false)}else{this.getBatch("first",1)}};Quarix.Data.DataObject.DataProxy.prototype.getCurrentRow=function(){if(this.options.currentIndex==-1){this.moveFirst()}var A,B=[],C=this.cache[this.options.currentIndex];if(C){if(C.curRow){return C.curRow}else{for(A=0;A<C.length;A++){B.push(C[A].value)}C.curRow=B}}else{for(A=0;A<this.options.columns.length;A++){B.push("")}}return B};Quarix.Data.DataObject.DataProxy.prototype.getCursor=function(){if(this.options.currentIndex==-1){this.moveFirst()}return this.options.currentIndex};Quarix.Data.DataObject.DataProxy.prototype.invalidateCache=function(){if(!this.options.url){return }this.options.hasFirstRow=false;this.options.hasLastRow=false;this.getBatch("first",1)};Quarix.Data.DataObject.DataProxy.prototype.lock=function(A){this.options.readOnly=String(A)};Quarix.Data.DataObject.DataProxy.prototype.moveCursor=function(A){if(typeof A=="string"){A=this._findRowByColumn("rowid",A)}if(this.cache.length==0||this.options.currentIndex==A){return }if(A<0){if(this.options.hasFirstRow){A=0}else{this.options.requestedIndex=A;if(this.prevReq){if(this.prevReq.parsed){this._onRequestComplete(this.prevReq)}else{this._lockThread();this.prevReq.makeCurrent=true}}else{this.getBatch(this.cache[0][this.options.columns.indexByName.rowid].value,-1)}return }}else{if(A>=this.cache.length){if(this.options.hasLastRow){A=this.cache.length-1}else{this.options.requestedIndex=A-this.cache.length+1;if(this.nextReq){if(this.nextReq.parsed){this._onRequestComplete(this.nextReq)}else{this._lockThread();this.nextReq.makeCurrent=true}}else{this.getBatch(this.cache.last()[this.options.columns.indexByName.rowid].value,1)}return }}}this._checkCursor(A)};Quarix.Data.DataObject.DataProxy.prototype.moveFirst=function(){if(this.options.hasFirstRow){if(this.cache.length>0){this.moveCursor(0)}}else{this.invalidateCache()}};Quarix.Data.DataObject.DataProxy.prototype.moveLast=function(){if(this.options.hasLastRow){this.moveCursor(this.cache.length-1)}else{this.getBatch("last",-1);this._checkCursor()}};Quarix.Data.DataObject.DataProxy.prototype.moveNext=function(){if(this.options.currentIndex==-1){this.moveFirst()}if(this.options.currentIndex==this.cache.length-1){if(this.options.hasLastRow){return }else{if(this.cache.length==0){return }this.options.requestedIndex=1;if(this.nextReq){if(this.nextReq.parsed){this._onRequestComplete(this.nextReq)}else{this._lockThread();this.nextReq.makeCurrent=true}}else{this.getBatch(this.cache.last()[this.options.columns.indexByName.rowid].value,1)}}}else{this.moveCursor(this.options.currentIndex+1)}};Quarix.Data.DataObject.DataProxy.prototype.movePrev=function(){if(this.options.currentIndex==-1){this.moveFirst()}if(this.options.currentIndex==0){if(this.options.hasFirstRow){return }else{if(this.cache.length==0){return }this.options.requestedIndex=-1;if(this.prevReq){if(this.prevReq.parsed){this._onRequestComplete(this.prevReq)}else{this._lockThread();this.prevReq.makeCurrent=true}}else{this.getBatch(this.cache[0][this.options.columns.indexByName.rowid].value,-1)}}}else{this.moveCursor(this.options.currentIndex-1)}};Quarix.Data.DataObject.DataProxy.prototype._useBlankBatch=function(){this._lastFilters=[];this._filterStr="";this._sortStr="";this.cache=[];for(i=0;i<this.changed.append.length;i++){if(this._parentRowId==this.changed.append[i].parentRowId&&this.cache.rowids.indexOf(this.changed.append[i].after[rowidCol])==-1){this.cache.push(this.changed.append[i].after)}}};Quarix.Data.DataObject.DataProxy.prototype._buildFilterXML=function(E){var C=[];var G={},A=this._lastFilters||{},F=false,B;for(var D=0;D<E.length;D++){C.push('<filter fld="');C.push(E[D][0]);C.push('" op="');C.push(E[D][1]);C.push('" val="');C.push(E[D][2]);C.push('" />\n')}return C.join("")};Quarix.Data.DataObject.DataProxy.prototype._buildFilterXML_Old=function(E){var C=["<filter>\n"];var G={},A=this._lastFilters||{},F=false,B;for(var D=0;D<E.length;D++){C.push('\t<col name="');C.push(E[D][0]);C.push('" op="');C.push(E[D][1]);C.push('">');C.push(E[D][2]);C.push("</col>\n")}C.push("</filter>\n");return C.join("")};Quarix.Data.DataObject.DataProxy.prototype.setFilters=function(B,F){if(!this.options.url){throw new Error("[Quarix.Data.DataObject.DataProxy.setFilters] You can't filter local data.")}var D,E=[this._makeFetchHead({action:"sendRows",startRowId:"first",batchSize:this.options.batchSize,skipRow:false})],H;if(F){this.__lastFKFilters=B;B=B.concat(this.__lastViewFilters)}else{this.__lastViewFilters=B;B=B.concat(this.__lastFKFilters)}var I={},C=this._lastFilters||{},G=false,A;for(D=0;D<B.length;D++){A=B[D][0];if(!C[A]){C[A]=[A,B[D][1],"null"]}I[A]=[B[D][0],B[D][1],B[D][2]];if((I[A][1]!=C[A][1])||((I[A][2]!=C[A][2])&&(!!C[A][2]||!/^(null|[\x01-\x09])*$/.test(I[A][2])))){G=true}}if(!G){return }this._lastFilters=I;E.push(H=(this.oldMsgFormat?this._buildFilterXML_Old(B):this._buildFilterXML(B)).replace(/\n/g,"\n\t"));E.push(this._sortStr);if(this.options.sendFilterEveryTime){this._filterStr=H}E.push(this.closeXMLTag);E=E.join("");this._lockThread();this.options.requestedIndex=-1/0;this.finalizeRequest(E,this._onRequestComplete)};Quarix.Data.DataObject.DataProxy.prototype.setRequestParam=function(B,A){this.options.params[String(B)]=String(A)};Quarix.Data.DataObject.DataProxy.prototype._buildSortXML=function(C){var A=[];for(var B=0;B<C.length;B++){A.push('<sort fld="');A.push(C[B][0]);A.push(' rev="');A.push(C[B][1]==0?false:true);A.push('" />\n')}return A.join("")};Quarix.Data.DataObject.DataProxy.prototype._buildSortXML_Old=function(C){var A=["<sort>\n"];for(var B=0;B<C.length;B++){A.push('\t<col name="');A.push(C[B][0]);A.push('">');A.push(C[B][1]);A.push("</col>\n")}A.push("</sort>\n");return A.join("")};Quarix.Data.DataObject.DataProxy.prototype.setSorting=function(C){if(!this.options.url){throw new Error("You can't sort local data.")}var D;var B,A=[this._makeFetchHead({action:"sendRows",startRowId:"first",batchSize:this.options.batchSize,skipRow:false}),this._filterStr,D=(this.oldMsgFormat?this._buildSortXML_Old(C):this._buildSortXML(C)).replace(/\n/g,"\n\t")];if(this.options.sendFilterEveryTime){this._sortStr=D}A.push(this.closeXMLTag);A=A.join("");this._lockThread();this.options.requestedIndex=-1/0;this.finalizeRequest(A,this._onRequestComplete)};Quarix.Data.DataObject.DataProxy.prototype._makeSyncMessage_Old=function(B,C){var A=function(E){var D;if(E.before){B.push('			<rowImage when="before">\n');for(D=0;D<E.before.length;D++){B.push('				<col name="');B.push(C[D].name);B.push('">');B.push(E.before[D].value.replace(/&/g,"&amp;").replace(/</g,"&lt;"));B.push("</col>\n")}B.push("			</rowImage>\n")}if(E.after){B.push('			<rowImage when="after">\n');for(D=0;D<E.after.length;D++){B.push('				<col name="');B.push(C[D].name);B.push('">');B.push(E.after[D].value.replace(/&/g,"&amp;").replace(/</g,"&lt;"));B.push("</col>\n")}B.push("			</rowImage>\n")}};B.push("<rows>\n");for(i=0;i<this.changed.edited.length;i++){B.push("		<row>\n			<rowId>");B.push(this.changed.edited[i]);B.push("</rowId>\n");B.push("			<rowState>2</rowState>\n");A(this.changed[this.changed.edited[i]]);B.push("		</row>\n")}for(i=0;i<this.changed.deleted.length;i++){B.push("		<row>\n			<rowId>");B.push(this.changed.deleted[i].rowId);B.push("</rowId>\n");B.push("			<rowState>3</rowState>\n");A(this.changed.deleted[i]);B.push("		</row>\n")}for(i=0;i<this.changed.append.length;i++){B.push("		<row>\n");B.push("			<rowId></rowId>\n");B.push("			<rowState>1</rowState>\n");A(this.changed.append[i]);B.push("		</row>\n")}B.push("	</rows>\n");B.push("</dao-msg>");B=B.join("");return B};Quarix.Data.DataObject.DataProxy.prototype._makeSyncMessage=function(C,F){var A=function(J,I){var H;if(J.before){C.push('			<rowImage type="bi">\n');for(H=0;H<J.before.length;H++){C.push('				<fld name="');C.push(F[H].name);C.push('">');C.push(J.before[H].value.replace(/&/g,"&amp;").replace(/</g,"&lt;"));C.push("</fld>\n")}C.push("			</rowImage>\n")}if(J.after){J.after[F.indexByName.rowstate].value=I;C.push('			<rowImage type="ai">\n');for(H=0;H<J.after.length;H++){C.push('				<fld name="');C.push(F[H].name);C.push('">');C.push(J.after[H].value.replace(/&/g,"&amp;").replace(/</g,"&lt;"));C.push("</fld>\n")}C.push("			</rowImage>\n")}};var G=[];for(D=0;D<this.changed.edited.length;D++){var E=(this.changed[this.changed.edited[D]].before[F.indexByName.rowstate].value==3)?"3":"2";C.push('		<row id="');C.push(this.changed.edited[D]);C.push('" state="'+E+'">\n');if(E=="3"){A({rowId:D,rowIdx:D,after:this.changed[this.changed.edited[D]].after},"3")}else{A(this.changed[this.changed.edited[D]],"2")}C.push("		</row>\n");G.push(this.changed.edited[D])}for(D=0;D<this.changed.deleted.length;D++){if(this.changed.deleted[D].before[F.indexByName.rowstate].value==3){this.changed.deleted.splice(D,1)}else{C.push('		<row id="');C.push(this.changed.deleted[D].rowId);C.push('" state="1">\n');A(this.changed.deleted[D],"1");C.push("		</row>\n");G.push(this.changed.deleted[D].rowId)}}for(D=0;D<this.changed.append.length;D++){C.push('		<row id="" state="3">\n');A(this.changed.append[D],"3");C.push("		</row>\n");G.push(this.changed.append[D].rowId)}if(!this.options.sendChangesOnly){var B=this.unfilteredCache?this.unfilteredCache:this.cache;for(var D=0;D<B.length;D++){if(G.indexOf(B[D][F.indexByName.rowid].value)==-1){if(B[D][F.indexByName.rowstate].value==3){C.push('		<row id="');C.push(B[D][F.indexByName.rowid].value);C.push('" state="3">\n');A({rowId:D,rowIdx:D,after:B[D]},"3");C.push("		</row>\n")}else{C.push('		<row id="');C.push(B[D][F.indexByName.rowid].value);C.push('" state="0">\n');A({rowId:D,rowIdx:D,after:B[D]},"0");C.push("		</row>\n")}}}}C.push("</daoMsg>");C.push("\n</datasetMsg>");C=C.join("");return C};Quarix.Data.DataObject.DataProxy.prototype.sync=function(D){if(this._syncing){return }this._syncing=true;if(!D){D="submitCommit"}var B,E;var A,H=this.options.__DataObjectReference._updateSources;for(E=0;A=H[E];E++){if(A._objectMode=="Modify"){A.updateRecord()}}this._syncing=false;if(!this.options.url){for(E=0;E<this.changed.deleted.length;E++){this.cache.splice(this.cache.indexOf(this.changed.deleted[E].before),1)}this.changed={append:[],deleted:[],edited:[]};if(!this.options.requestedIndex){this.options.requestedIndex=0}this.options.runCacheChange();this._checkCursor();return }if(this.changed.edited.length+this.changed.deleted.length+this.changed.append.length==0&&this.options.sendChangesOnly){if(this.options.onAfterSync){this.options.onAfterSync()}return }var I=this.options.columns;var J=(this.cache&&this.cache.length>0)?this.cache[0][I.indexByName.rowid].value:"first";var F=[this._makeFetchHead({action:D,startRowId:J,batchSize:this.options.batchSize,skipRow:false}),this._filterStr,this._sortStr];F=this.oldMsgFormat?this._makeSyncMessage_Old(F,I):this._makeSyncMessage(F,I);if(!this.options.requestedIndex){this.options.requestedIndex=0}this.options.readOnly="Synchronizing with server";this._lockThread(true);var G=this;var C=setTimeout(function(){C=setTimeout(function(){G.options.readOnly=false;alert(G.options.__DataObjectReference.getMessage("msg_dataobject_save_error"))}.bind(this),this.options.threadTimeout)}.bind(this),10);this._isSave=true;this.finalizeRequest(F,(function(M){if(!M){return }clearTimeout(C);this.options.readOnly=false;if(this.requestPending){clearTimeout(this.requestPending);this.requestPending=null;this.options.__DataObjectReference.__notifyOnRequest(false)}if(M.status>=300){alert(G.options.__DataObjectReference.getMessage("msg_dataobject_server_save_error").replace(/%d/,String(M.status)));return }if(true||this.options.readOnly!="Synchronizing with server"){this.dirtyCache=this.cache;this.cache=[]}var L,K;this.oldChanged=this.changed;this.changed={append:[],deleted:[],edited:[]};if(this._onRequestComplete(M,true,true).updateSuccess){for(L in this.oldChanged){if(!{deleted:true}[L]){delete this._lastFilters;break}}K={deleted:false};if(this.oldChanged.deleted&&this.oldChanged.deleted.length>0){K.deleted=true}if(this.options.onAfterSync){this.options.onAfterSync()}if(K.deleted&&this.options.onAfterDelete){this.options.onAfterDelete()}for(L=0;L<Quarix.Data.DataObject.instances.length;L++){if(Quarix.Data.DataObject.instances[L]!=this.options.__DataObjectReference&&Quarix.Data.DataObject.instances[L]._properties.url==this.options.url){Quarix.Data.DataObject.instances[L].refresh()}}delete this.oldChanged;return{updateSuccess:true}}else{this.changed=this.oldChanged;delete this.oldChanged;if(this.options.autoSync){this.undoAll({deleted:true})}return{updateSuccess:false}}}).bind(this),true)};Quarix.Data.DataObject.DataProxy.prototype.undoAll=function(B){var E=false,D,C,F,A;if(typeof B=="undefined"){C=F=A=true}else{C=!!B.appended||!!B.all;F=!!B.changed||!!B.all;A=!!B.deleted||!!B.all}this.options.requestedIndex="repos";if(C){while(this.changed.append.length){this.changed.append.pop();this.cache.pop();this.cache.rowids.pop();E=true}}if(A&&this.changed.deleted&&this.changed.deleted.length>0){this.changed.deleted=[]}if(F){for(D=0;D<this.changed.edited.length;D++){E=true;this.cache[this.cache.rowids.indexOf(this.changed.edited[D])]=this.changed[this.changed.edited[D]].before}}if(E){this.changed={append:[],deleted:[],edited:[]};this.options.runCacheChange();this._checkCursor(null,true)}};Quarix.Data.DataObject.DataProxy.prototype.unlock=function(){this.options.readOnly=false};Quarix.Data.DataObject.DataProxy.prototype._checkCursor=function(B,C){var A=this;if(!this.options.__DataObjectReference._objectInitialized){return }if((this.cache.length==0)&&(typeof C=="undefined"||!C)){return }var D=this.options.currentIndex;switch(this.options.requestedIndex){case -1/0:this.options.currentIndex=this.cache.length?0:-1;break;case 1/0:this.options.currentIndex=this.cache.length-1;break;default:if(this.options.requestedIndex<0){this.options.currentIndex=this.cache.length+this.options.requestedIndex}else{if(this.options.requestedIndex>0){this.options.currentIndex=this.options.requestedIndex-1}else{if(typeof B!="number"){B=this.options.currentIndex}this.options.currentIndex=Math.min(B,this.cache.length-1)}}}if(this.options.onCursorMove&&((typeof B=="number")||(this.options.requestedIndex!=null))){this.options.onCursorMove(D,this.options.currentIndex)}this.options.requestedIndex=null};Quarix.Data.DataObject.DataProxy.prototype._preparePosition=function(D){if(this.cache.length==0||!this.options.url||this.changed.append.length||this.changed.edited.length){return }var C=[];var B,A;if(!this.prevReq&&!this.options.hasFirstRow&&(D-this.options.margin<0)){this.prevReq=B=this.finalizeRequest([this._makeFetchHead({action:"sendRows",startRowId:this.cache[0][this.options.columns.indexByName.rowid].value,batchSize:0-this.options.batchSize,skipRow:true,prefetch:true}),this._filterStr,this._sortStr,this.closeXMLTag].join(""),(function(E){if(!E||E.status>=300||this.prevReq!=B){this.prevReq=null;return }var F=this.prevReq.makeCurrent;if(E.parsed){this.prevReq=E}else{this.prevReq=E.responseText.parseJSON();this.prevReq.status=E.status;this.prevReq.parsed=true}if(this.cache.length&&this._findRowByColumn("rowid",this.cache[0][this.options.columns.indexByName.rowid].value,this.prevReq.rows)==null){this.prevReq.nextReq={rows:this.cache,info:{hasFirstRow:this.options.hasFirstRow,hasLastRow:this.options.hasLastRow},status:200,parsed:true};this.prevReq.nextReq.prevReq=this.prevReq}if((this.options.requestedIndex<0&&!this.requestPending)||F){this._onRequestComplete(this.prevReq)}else{if(this.prevReq.info&&this.prevReq.info.hasLastRow){this.prevReq.info.newPosition=this._findRowByColumn("rowid",this.cache[this.options.currentIndex][this.options.columns.indexByName.rowid].value,this.prevReq.rows);this._onRequestComplete(this.prevReq)}}}).bind(this))}if(!this.nextReq&&!this.options.hasLastRow&&(D+this.options.margin>=this.cache.length)){this.nextReq=A=this.finalizeRequest([this._makeFetchHead({action:"sendRows",startRowId:this.cache.last()[this.options.columns.indexByName.rowid].value,batchSize:this.options.batchSize,skipRow:true,prefetch:true}),this._filterStr,this._sortStr,this.closeXMLTag].join(""),(function(E){if(!E||E.status!=200||this.nextReq!=A){this.nextReq=null;return }var F=this.nextReq.makeCurrent;if(E.parsed){this.nextReq=E}else{this.nextReq=E.responseText.parseJSON();this.nextReq.status=200;this.nextReq.parsed=true}if(this.cache.length&&this._findRowByColumn("rowid",this.cache.last()[this.options.columns.indexByName.rowid].value,this.nextReq.rows)==null){this.nextReq.prevReq={rows:this.cache,info:{hasFirstRow:this.options.hasFirstRow,hasLastRow:this.options.hasLastRow},status:200,parsed:true};this.nextReq.prevReq.nextReq=this.nextReq}if((this.options.requestedIndex>0&&!this.requestPending)||F){this._onRequestComplete(this.nextReq)}}).bind(this))}};Quarix.Data.DataObject.DataProxy.prototype._findRowByColumn=function(C,D,A){if(typeof A=="undefined"||!A){A=this.cache}if(typeof C=="string"){C=this.options.columns.indexByName[C]}if(C<0){throw new Error("[DataObject.DataProxy._findRowByColumn] Column not found.")}var B=this.options.currentIndex;if(A[B]&&A[B].length>C&&A[B][C].value==D){return B}for(B=0;B<A.length;B++){if(A[B]&&A[B].length>C&&A[B][C].value==D){return B}}return null};Quarix.Data.DataObject.DataProxy.prototype.finalizeRequest=function(A,C,B){return new Quarix.Request(this.options.url,{method:"post",asynchronous:true,onComplete:C,postBody:"xml="+encodeURIComponent(A),domain:this.options.__DataObjectReference._currentUpdateSource||this.options.__DataObjectReference,handlesServerError:true})};Quarix.Data.DataObject.DataProxy.prototype._lockThread=function(C){if(this.options.filterMode=="local"){return }var B=this;var A;if(this.options.threadTimeout){if(this.requestPending){console.error('[Quarix.Data.DataObject.DataProxy._lockThread] DataObject "'+B.options.__DataObjectReference._objectName+'" cannot create server request, working in single-threaded mode.');throw new Error('[Quarix.Data.DataObject.DataProxy._lockThread] DataObject "'+B.options.__DataObjectReference._objectName+'" cannot create server request, working in single-threaded mode.')}else{if(typeof C=="undefined"||!C){this.options.__DataObjectReference.publish(Quarix.Links.Navigation.QueryPosition,{position:"BusyBufferReloading"})}this.options.__DataObjectReference.__notifyOnRequest(true);this.requestPending=setTimeout(function(){if(B.requestPending){B.requestPending=setTimeout(function(){B.requestPending=null;B.options.__DataObjectReference.__notifyOnRequest(false);alert(B.options.__DataObjectReference.getMessage("msg_dataobject_timeout"))},B.options.threadTimeout)}},10)}}};Quarix.Data.DataObject.DataProxy.prototype._filterCache=function(){if(this.__lastFKFilters.length==0){return }if(!this.unfilteredCache||this.unfilteredCache.length==0){this.unfilteredCache=this.cache}this.cache=[];this.cache.rowids=[];var E,C,A=0;for(var D=0;D<this.__lastFKFilters.length;D++){E=this.__lastFKFilters[D];C=this.options.columns.indexByName[E[0]];if(typeof C!="number"){var F=this.options.__DataObjectReference;if(this.options.columns.rightCase[E[0].toLowerCase()]){console.error("DataObject %o does not have column %o. Did you mean %o?",F._objectName,E[0],this.options.columns.rightCase[E[0].toLowerCase()])}else{console.error("DataObject %o does not have column %o",F._objectName,E[0])}}else{for(var B=0;B<this.unfilteredCache.length;B++){if(this.unfilteredCache[B][C].value==E[2]){this.cache[A]=this.unfilteredCache[B];this.cache.rowids[A]=this.cache[A][this.options.columns.indexByName.rowid].value;A++}}}}};Quarix.Data.DataObject.DataProxy.prototype.__onRequestComplete=function(G,M,O){if(!G){return }if(this.requestPending){clearTimeout(this.requestPending);this.requestPending=null;this.options.__DataObjectReference.__notifyOnRequest(false)}if(G.status>=300){alert(this.options.__DataObjectReference.getMessage("msg_dataobject_server_error").replace(/%d/,String(G.status)));return }var C=false;var J=null;if(this.cache&&this.options.currentIndex>-1&&this.options.currentIndex<this.cache.length){J=this.cache[this.options.currentIndex][this.options.columns.indexByName.rowid].value}var E,L={};if(!G.parsed){E=G.responseText.parseJSON()}else{E=G}if(E.rows){if(G.parsed){this.prevReq=G.prevReq||null;this.nextReq=G.nextReq||null}else{this.prevReq=null;this.nextReq=null}}var N=0;var I,F,D;if(E.rows){var H=this.options.columns.indexByName.rowid;this.cache=E.rows;this.cache.rowids=[];for(I=0;I<this.cache.length;I++){if(this.cache[I].cells){for(D in this.cache[I]){if(typeof this.cache[I].cells[D]=="undefined"){this.cache[I].cells[D]=this.cache[I][D]}}this.cache[I]=this.cache[I].cells}for(F=0;F<this.cache[I].length;F++){if(typeof this.cache[I][F]=="string"){this.cache[I][F]={value:this.cache[I][F]}}}this.cache.rowids[I]=this.cache[I][H].value}this._applyRules()}else{if(this.dirtyCache){C=true;this.cache=this.dirtyCache;this.options.requestedIndex=0}}if(this.dirtyCache){delete this.dirtyCache}if(this.unfilteredCache){delete this.unfilteredCache}if(E.rows){this.options.hasLastRow=!!(E.info&&E.info.hasLastRow);this.options.hasFirstRow=!!(E.info&&E.info.hasFirstRow)}var B=this.options.__DataObjectReference._currentUpdateSource;if(E.messages=="undefined"||!E.messages||(typeof (E.messages)=="object"&&E.messages.length==0)){L.updateSuccess=true}else{if(Quarix.WarningManager&&(B||this.oldChanged&&this.oldChanged.deleted.length)){try{if(B&&B.translateColumnsInMessage){B.translateColumnsInMessage(E.messages)}B=B||this.options.__DataObjectReference._updateSources[0];Quarix.WarningManager.process(E.messages,B);Quarix.WarningManager.mark(B);L.updateSuccess=Quarix.WarningManager.isSuccess(B)}catch(K){console.error(K)}}}this._filterCache();if(!C&&((typeof O=="undefined")||!O||!L.updateSuccess)){this._applyChanges()}var A=null;if(E.info&&E.info.newPosition){A=E.info.newPosition;if(typeof A=="string"){if(A.match(/^\d+$/)){A=parseInt(A)}else{A=this._findRowByColumn("rowid",A)}}E.info.newPosition=null}else{if(J!=null){A=this._findRowByColumn("rowid",J)}}if(E.rows||(typeof M!="undefined"&&M&&L.updateSuccess)){this.options.runCacheChange()}if(typeof A=="number"){this.options.requestedIndex=null;this._checkCursor(A)}else{if(E.rows){this._checkCursor(null,true)}}if(this._isSave&&L.updateSuccess){this.options.__DataObjectReference.publish("updateSuccess");this._isSave=false}return L};Quarix.Data.DataObject.DataProxy.prototype._syncd=function(){if(this.changed.edited.length||(this.changed.deleted&&this.changed.deleted.length)){return false}return true};Quarix.Data.DataObject.DataProxy.prototype._applyChanges=function(){var B=this.options.columns.indexByName.rowid,E,A,F,D,C;for(E=0;E<this.changed.append.length;E++){if(this._parentRowId==this.changed.append[E].parentRowId&&this.cache.rowids.indexOf(this.changed.append[E].after[B])==-1){this.cache.push(this.changed.append[E].after)}}for(C=0;C<this.changed.edited.length;C++){for(E=0;E<this.cache.length;E++){if(this.cache[E][B].value==(F=this.changed.edited[C])){for(A=0;A<this.cache[E].length;A++){if(this.changed[F].before[A].value==this.changed[F].after[A].value){this.changed[F].after[A]={};for(D in this.cache[E][A]){this.changed[F].after[A][D]=this.cache[E][A][D]}}}this.changed[F].before=this.cache[E];this.cache[E]=this.changed[F].after;break}}}if(this.changed.deleted){for(E=0;E<this.changed.deleted.length;E++){this.changed.deleted[E].rowIdx=0;for(A=0;A<this.cache.length;A++){if(this.cache[A][B].value==this.changed.deleted[E].rowId){this.changed.deleted[E].rowIdx=A;this.changed.deleted[E].before=this.cache[A];break}}}}};Quarix.Data.DataObject.DataProxy.prototype._getFiltersForEachParentRow=function(){var D=[],C,B;var F=[],E=[];var A=this.options.__DataObjectReference.hdoFKParent.dataProxy.cache;for(C in this.rgFKMap){if(!{}[C]&&typeof this.rgFKMap[C]=="string"){F.push(this.rgFKMap[C]);E.push(this.hdoFKParent._properties.columns.indexByName[C])}}for(B=0;B<A.length;B++){D[B]=[];for(C=0;C<F.length;C++){D[B].push([F[C],"eq",A[B][E[C]]])}}return D};Quarix.Data.DataObject.DataProxy.prototype._applyRules=function(D){var F,C,B,A;if(typeof D=="undefined"){F=this.options.rules}else{if(typeof D.length=="undefined"){F=[D]}else{F=D}}try{for(A=0;A<F.length;A++){if(!F[A].compiled){this._compileRule(F[A])}if(F[A].type=="row"){for(C=0;C<this.cache.length;C++){F[A].compiled(this.cache[C],null,C,null)}}else{if(F[A].type=="cell"){for(C=0;C<this.cache.length;C++){for(B=0;B<this.cache[C].length;B++){F[A].compiled(this.cache[C],this.cache[C][B],C,B)}}}}}}catch(E){console.log("rule error: %o",E)}};Quarix.Data.DataObject.DataProxy.prototype._compileRule=function(rule){var vars=[],varz="",i,j,m,dO=this,ruleVars=Quarix.Data.DataObject.DataProxy.ruleVariables;for(i in ruleVars){if(ruleVars[i].regex&&(m=rule.code.match(ruleVars[i].regex))){if(!ruleVars[i].scope||ruleVars[i].scope==rule.type){vars.push(i);rule.code=rule.code.replace(ruleVars[i].regex,ruleVars[i].code)}else{console.error("Unable to use variable in rule because scope is not compatible. Variable: %s (%o)",i,ruleVars[i])}}}eval("rule.compiled = function (row, cell, rowIdx, cellIdx) {\n"+rule.code+"\n}")};Quarix.Data.DataObject.DataProxy.ruleVariables={_prepare:function(){var A;for(A in this){if(this[A].code){this[A].regex=new RegExp("([^a-zA-Z0-9._])"+A+"\\b","g");this[A].code="$1"+this[A].code}}delete this._prepare},cellDate:{code:"((row[cellIdx].value)? row[cellIdx].value.match(/\\d+/g)[Quarix.Globals.LOCALE_DATE_FORMAT.indexOf('d')] : NaN)",desc:"date from cell",scope:"cell"},cellMonth:{code:"((row[cellIdx].value)? row[cellIdx].value.match(/\\d+/g)[Quarix.Globals.LOCALE_DATE_FORMAT.indexOf('m')] : NaN)",desc:"month from cell",scope:"cell"},cellYear:{code:"((row[cellIdx].value)? row[cellIdx].value.match(/\\d+/g)[Quarix.Globals.LOCALE_DATE_FORMAT.indexOf('y')] : NaN)",desc:"year from cell",scope:"cell"},column:{code:"dO.options.columns[cellIdx]",desc:"column structure",scope:"cell"},columns:{code:"dO.options.columns",desc:"all columns structure"},curDate:{code:"new Date().getDate()",desc:"current year"},curMonth:{code:"new Date().getMonth()+1",desc:"current year"},curYear:{code:"new Date().getFullYear()",desc:"current year"},defVal:{code:"dO.options.columns[cellIdx].defaultValue",scope:"cell"},emptyCell:{code:"row[cellIdx].value==''",scope:"cell"},type:{code:"dO.options.columns[cellIdx].type",scope:"cell"},value:{code:"row[cellIdx].value",desc:"value of current cell",scope:"cell"}};Quarix.Data.DataObject.DataProxy.ruleVariables._prepare();Quarix.Data.DataView=function(B,A){Quarix.Data.DataView.superclass.constructor.call(this,B,A);this.DataSourceEvents=Quarix.Links.Data.SourceEvents;this._dataSource=null;this.TableIOSourceEvents=Quarix.Links.TableIO.SourceEvents;this._tableIOSource=[];this._properties.syncOnBlur=!!this._properties.syncOnBlur;this._queryPosition="NoRecordAvailable";this._objectMode="View";this._dataModified=false;this._fields=[];this._actionSources=[];this.ActionSourceEvents=[Quarix.Links.Action.DataModified];this._fieldNames=[];this._fieldDOColumnNames=[];this._fieldParams={};this._objectType="SmartDataView";this._modifiedFields=[];this._updateInProgress=false;this._updatePublished=false;this._rowId=null;this._newRecord=false;this._recordCanceled=false;this._exitRequested=false;this._enabledFields=[];this._state="UpdateComplete";this._focusedObject=null;this._staticMessageBundle={msg_dataview_confirm_save_title:"Confirmation Dialog",msg_dataview_confirm_save:"Current values have not been saved. Save values before exit?",msg_dataview_confirm_save_ok:"Save",msg_dataview_confirm_save_cancel:"Cancel",msg_dataview_confirm_delete_title:"Confirmation Dialog",msg_dataview_confirm_delete:"Delete current record?",msg_dataview_confirm_delete_ok:"Delete",msg_dataview_confirm_delete_cancel:"Cancel"}};Quarix.extend(Quarix.Data.DataView,Quarix.Base.AbsVisualObject);Quarix.Data.DataView.prototype.createObjects=function(){this._processObjectProperties();Quarix.Data.DataView.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Data.DataView.prototype._processVisualObjectProperties=function(){Quarix.Data.DataView.superclass._processVisualObjectProperties.call(this);if(this.getProperty("fields",[],true)){var B=0,C=this.getProperty("fields",[],true),A=C.length;for(;B<A;B++){this.addField(C[B])}}};Quarix.Data.DataView.prototype.initializeObject=function(){Quarix.Data.DataView.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();if(this._properties.fields.length!=this._fields.length){console.warn("View %o has %o fields specified but found only %o of them. Specified: %o; Found: %o",this._objectName,this._properties.fields.length,this._fields.length,this._properties.fields.join(", "),this._fields.pluck("_objectName").join(", "))}if(this.isSaveMode()){if(this.getProperty("fieldsDisabledOnUpdate",false,true)){this.disableFields(this.getProperty("fieldsDisabledOnUpdate",[],true))}}if(this._dataSource&&this._dataSource._objectInitialized){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}if(this._properties.startAction){this[this._properties.startAction+"Record"]()}};Quarix.Data.DataView.prototype.confirmCancel=function(){console.log("Data view confirmCancel state is: %s ",this._state);console.log(this._dataSource);if(this._state=="Update"||this._state=="UpdateBegin"){this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord))}if(Quarix.Util.Trigger(this,"afterConfirmCancel")){}return true};Quarix.Data.DataView.prototype.confirmOk=function(){if((this._dataSource&&this._dataSource.getQueryPosition()=="NoRecordAvailable")||!this._objectEnabled){return true}if(this._state=="Update"||this._state=="UpdateBegin"){this.updateRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.UpdateRecord));return false}else{this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateBegin"}));return false}};Quarix.Data.DataView.prototype.confirmExit=function(A){this._exitRequested=false;if(this.isDataModified()||this._newRecord){var B=this._objectName+"cDialogSave";if(!Quarix.Register.get(B)){new Quarix.Widgets.ConfirmationDialog(B,{title:this.getMessage("msg_dataview_confirm_save_title"),dialogMessage:this.getMessage("msg_dataview_confirm_save"),onDialogSelectExecute:function(C){if(C=="ok"){this._exitRequested=true;this.updateRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.UpdateRecord));return true}else{this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord));return false}}.bind(this),buttons:[{label:this.getMessage("msg_dataview_confirm_save_cancel"),actionCommand:"Cancel",align:"left",selected:true},{label:this.getMessage("msg_dataview_confirm_save_ok"),actionCommand:"Ok",align:"right"}]});Quarix.EventManager.subscribe(Quarix.Globals.ROOT_WINDOW,Quarix.Links.Container.CreateObjects,B)}else{Quarix.Register.get(B).viewObject()}return true}if(this._state=="UpdateBegin"){this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord));return false}return false};Quarix.Data.DataView.prototype.addRecord=function(){this._recordCanceled=false;this._newRecord=true;this._dataSource.addRow([]);this._rowId=this._dataSource.colValue("rowid");this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateBegin"}));this.setDataModified(true)};Quarix.Data.DataView.prototype.copyRecord=function(){this._recordCanceled=false;this._newRecord=true;this._dataSource.copyRow([]);this._rowId=this._dataSource.colValue("rowid");this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateBegin"}));this.setDataModified(true)};Quarix.Data.DataView.prototype.updateRecord=function(){Quarix.WarningManager.clearWarnings(this);if(this.validateFields()){this.collectChanges();if(Quarix.Util.Trigger(this,"beforeUpdate",[this._rowId,this._fieldParams])){return }if(this._dataSource){if(this.isDataModified()){this._updateInProgress=true;this._dataSource.submitRow(this._rowId,this._fieldParams)}else{if(!this._dataSource._properties.updateMode){this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateEnd"}))}}}}};Quarix.Data.DataView.prototype.deleteRecord=function(){if(this._dataSource&&this._rowId){var A=this._objectName+"cDialogDelete";if(!Quarix.Register.get(A)){new Quarix.Widgets.ConfirmationDialog(A,{title:this.getMessage("msg_dataview_confirm_delete_title"),dialogMessage:this.getMessage("msg_dataview_confirm_delete"),onDialogSelectExecute:function(B){if(B=="ok"){Quarix.WarningManager.clearWarnings(this);this._dataSource.deleteRow(this._rowId)}}.bind(this),buttons:[{label:this.getMessage("msg_dataview_confirm_delete_cancel"),actionCommand:"Cancel",align:"left",selected:true},{label:this.getMessage("msg_dataview_confirm_delete_ok"),actionCommand:"Ok",align:"right"}]});Quarix.EventManager.subscribe(Quarix.Globals.ROOT_WINDOW,Quarix.Links.Container.CreateObjects,A)}else{Quarix.Register.get(A).viewObject()}}};Quarix.Data.DataView.prototype.deleteComplete=function(){};Quarix.Data.DataView.prototype.resetRecord=function(){Quarix.WarningManager.clearWarnings(this);for(var B=0,A=this._fields.length;B<A;B++){if(this._fields[B].resetRecord){this._fields[B].resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord))}}this.setDataModified(false);this._updatePublished=false;if(!this._recordCanceled){if(Quarix.Util.Trigger(this,"onUpdateBegin",[this,Quarix.Links.Action.StateChanged,this._state])){this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord))}else{this._state="UpdateBegin";this.publish(Quarix.Links.TableIO.UpdateState,{state:"UpdateBegin"})}}};Quarix.Data.DataView.prototype.cancelRecord=function(){Quarix.WarningManager.clearWarnings(this);this._recordCanceled=true;this.resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord));this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateEnd"}));this._dataSource.cancelRow();this._recordCanceled=false};Quarix.Data.DataView.prototype.collectChanges=function(){this.publish("collectChanges");var C;for(var B=0,A=this._fields.length;B<A;B++){C=this._fields[B];if(C.isReadOnly&&C.isReadOnly()&&this._fieldParams[C.getDOColumnName()]){delete this._fieldParams[C.getDOColumnName()]}else{this._fieldParams[C.getDOColumnName()]=String(C.getObjectValue())}}};Quarix.Data.DataView.prototype.updateMode=function(D){if(!this._dataSource||this._dataSource._properties.currentIndex<0){return }switch(D.mode){case"UpdateBegin":if(Quarix.Util.Trigger(this,"onUpdateBegin",[this,Quarix.Links.Action.StateChanged,this._state])){return }this._objectMode="Modify";this._recordCanceled=false;if(this.isSaveMode()){if(this.getProperty("fieldsDisabledOnUpdate",false,true)){if(this._newRecord){this.enableFields(this.getProperty("fieldsDisabledOnUpdate",[],true))}else{this.disableFields(this.getProperty("fieldsDisabledOnUpdate",[],true))}}}else{this.enableFields("all");if(this.getProperty("fieldsDisabledOnUpdate",false,true)&&!this._newRecord){this.disableFields(this.getProperty("fieldsDisabledOnUpdate",[],true))}}this._state="UpdateBegin";this.publish(Quarix.Links.TableIO.UpdateMode,{mode:"UpdateBegin"});this.publish(Quarix.Links.TableIO.UpdateState,{state:"UpdateBegin"});this._focusedObject=Quarix.FocusManager.focusedWindow?Quarix.FocusManager.focusedWindow._lastFocusedObject:null;var E=this.getProperty("applyEntryTo",false,true);if(E){E=Quarix.Register.get(E)}if(!this._newRecord&&this.getProperty("applyEntryOnUpdateTo",false,true)){E=Quarix.Register.get(this.getProperty("applyEntryOnUpdateTo",false,true))}if(E&&E.canFocus&&E.canFocus()){E.applyEntry()}else{if(this._fields.length>0){var C=this.getProperty("fieldsDisabledOnUpdate",[],true);if(this._newRecord||C.length==0){E=this._fields[0]}else{for(var B=0,A=this._fields.length;B<A;B++){E=this._fields[B];if(C.indexOf(E.getObjectName())==-1){break}E=null}}if(E){if(E.canFocus&&E.canFocus()){E.applyEntry()}else{E.getContainerSource().applyEntry()}}}}if(Quarix.Util.Trigger(this,"afterUpdateBegin",[this,Quarix.Links.Action.StateChanged,this._state])){return }break;case"UpdateEnd":if(this.isSaveMode()){if(this.getProperty("fieldsDisabledOnUpdate",false,true)){this.disableFields(this.getProperty("fieldsDisabledOnUpdate",[],true))}}else{this.disableFields("all")}this._newRecord=false;this._updateInProgress=false;this._updatePublished=false;this.setDataModified(false);this._state="UpdateComplete";this.publish(Quarix.Links.TableIO.UpdateMode,{mode:"UpdateEnd"});this.publish(Quarix.Links.TableIO.UpdateState,{state:"UpdateComplete"});if(this._focusedObject&&this._focusedObject.applyEntry){this._focusedObject.applyEntry()}if(Quarix.Util.Trigger(this,"onUpdateComplete",[this,Quarix.Links.Action.StateChanged,this._state])){return }this._objectMode="View";if(this._exitRequested){this._exitRequested=false;this.publish(Quarix.Links.Container.ExitObject)}break}};Quarix.Data.DataView.prototype.queryPosition=function(A){this._queryPosition=A.position;Quarix.Util.Trigger(this,"onQueryPosition",[A.position]);if(this._updateInProgress&&!this._recordCanceled){if(Quarix.WarningManager.isSuccess(this)){this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateEnd"}))}}this.publish(Quarix.Links.TableIO.QueryPosition,{position:A.position});if(this._exitRequested&&this._state=="UpdateComplete"){this._exitRequested=false;this.publish(Quarix.Links.Container.ExitObject)}};Quarix.Data.DataView.prototype.getQueryPosition=function(){return this._queryPosition};Quarix.Data.DataView.prototype.getFocusedField=function(){for(var A=0;A<this._fields.length;A++){if(this._fields[A]._hasFocus){return this._fields[A]}}return false};Quarix.Data.DataView.prototype.validateView=function(){if(this._fields.length>0&&this._fields[0]!=null){var B=this.getFocusedField();if(B){var A=$1(B._objectName);if(A&&typeof (A.value)!="undefined"){B.setObjectValue(A.value)}}this.updateRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.UpdateRecord))}};Quarix.Data.DataView.prototype.dataAvailable=function(C){if(!this._dataSource||this._dataSource._properties.currentIndex==-1){return }if(this._dataSource._properties.updateMode){if(C.rowIndexBefore>-1&&C.rowIndexAfter>-1){this.validateView()}}var D=this._dataSource.colValues(this._fieldDOColumnNames),B=0,A;var E=this._dataSource.colValue("rowid");if(E.strip()==""){E=null}if(this._rowId!=E){Quarix.WarningManager.clearWarnings(this)}this._rowId=E;if(D&&D instanceof Array){for(A=D.length;B<A;B++){if(this._fields[B].doNameColumnName){this._fields[B].setObjectValue(D[B],this._dataSource.colValue(this._fields[B].doNameColumnName))}else{this._fields[B].setObjectValue(D[B])}}}if(this._dataSource._properties.updateMode){this.updateMode(Quarix.EventManager.newEvent(this,"updateMode",{mode:"UpdateBegin"}))}Quarix.Util.Trigger(this,"afterDataAvailable")};Quarix.Data.DataView.prototype.enableFields=function(A){var E,C,B,D;if(typeof A=="undefined"||A=="all"){for(C=0,B=this._fieldNames.length;C<B;C++){if(this._fields[C]&&this._fields[C].enableObject){this._fields[C].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this._enabledFields.push(this._fieldNames[C])}}}else{if(typeof A=="string"){C=A.indexOf(",");while(C!=-1){E=A.substring(0,C);D=this._fieldNames.indexOf(A[C]);if(D==-1&&this._namespace){D=this._fieldNames.indexOf(this._namespace+"___"+E)}if(D!=-1){this._fields[D].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));if(this._enabledFields.indexOf(E)==-1){this._enabledFields.push(E)}}C=A.indexOf(",",idx+1)}}else{if(A instanceof Array){for(C=0,B=A.length;C<B;C++){D=this._fieldNames.indexOf(A[C]);if(D==-1&&this._namespace){D=this._fieldNames.indexOf(this._namespace+"___"+A[C])}if(D!=-1){this._fields[D].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));if(this._enabledFields.indexOf(A[C])==-1){this._enabledFields.push(A[C])}}}}}}};Quarix.Data.DataView.prototype.disableFields=function(B){var F,D,C,E,A;if(typeof B=="undefined"||B=="all"){for(D=0,C=this._fields.length;D<C;D++){if(this._fields[D]&&this._fields[D].disableObject){this._fields[D].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));A=this._enabledFields.indexOf(this._fields[D].getDOColumnName());if(A!=-1){this._enabledFields.slice(A)}}}}else{if(typeof B=="string"){D=B.indexOf(",");while(D!=-1){F=B.substring(0,D);E=this._fieldNames.indexOf(B[D]);if(E==-1&&this._namespace){E=this._fieldNames.indexOf(this._namespace+"___"+F)}if(D!=-1){this._fields[E].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));A=this._enabledFields.indexOf(this._fields[E].getDOColumnName());if(A!=-1){this._enabledFields.slice(A)}}D=B.indexOf(",",idx+1)}}else{if(B instanceof Array){for(D=0,C=B.length;D<C;D++){E=this._fieldNames.indexOf(B[D]);if(E==-1&&this._namespace){E=this._fieldNames.indexOf(this._namespace+"___"+B[D])}if(E!=-1){this._fields[E].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));A=this._enabledFields.indexOf(this._fields[E].getDOColumnName());if(A!=-1){this._enabledFields.slice(A)}}}}}}};Quarix.Data.DataView.prototype.validateFields=function(F){var C,B,D,A=true,E;for(C=0,B=this._fields.length;C<B;C++){D=this._fields[C];if(D&&D.validate){E=D.validate();A=A&&E}}return A};Quarix.Data.DataView.prototype.getObjectMode=function(){return this._objectMode};Quarix.Data.DataView.prototype.isDataModified=function(){return this._dataModified};Quarix.Data.DataView.prototype.isNewRecord=function(){return this._isNewRecord};Quarix.Data.DataView.prototype.dataModified=function(A){if(!A.source||this._recordCanceled){return }if(this._fieldNames.indexOf(A.sourceName)!=-1){if(A.isModified===true){if(this._modifiedFields.indexOf(A.sourceName)==-1){this._modifiedFields.push(A.sourceName)}this.setDataModified(true)}else{if(this._modifiedFields.indexOf(A.sourceName)!=-1){this._modifiedFields.splice(this._modifiedFields.indexOf(A.sourceName),1)}if(this._modifiedFields.length==0){this.setDataModified(false)}else{this.setDataModified(true)}}}};Quarix.Data.DataView.prototype.setDataModified=function(A){if(A){this._objectMode="Modify";this._state="Update";if(!this._updatePublished){Quarix.Util.Trigger(this,"onUpdate",[this,Quarix.Links.Action.StateChanged,this._state]);this.publish(Quarix.Links.TableIO.UpdateState,{state:"Update"});this._updatePublished=true}}else{if(!this._recordCanceled){this._modifiedFields=[];this._updatePublished=false;this._state="UpdateBegin";this.publish(Quarix.Links.TableIO.UpdateState,{state:"UpdateBegin"})}}this._dataModified=A};Quarix.Data.DataView.prototype.disableObject=function(){this._objectEnabled=false;var C=this._enabledFields;for(var B=0,A=this._tableIOSource.length;B<A;B++){this._tableIOSource[B].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}this._enabledFields=C};Quarix.Data.DataView.prototype.enableObject=function(){this._objectEnabled=true;for(var B=0,A=this._tableIOSource.length;B<A;B++){this._tableIOSource[B].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}if(this._enabledFields){this.enableFields(this._enabledFields)}};Quarix.Data.DataView.prototype.getDataSource=function(){return this._dataSource};Quarix.Data.DataView.prototype.setDataSource=function(A){this._dataSource=A;if(this._objectInitialized&&this._dataSource&&this._dataSource._objectInitialized&&this._dataSource._properties.currentIndex>-1){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}};Quarix.Data.DataView.prototype.getTableIOSource=function(){return this._tableIOSource};Quarix.Data.DataView.prototype.addTableIOSource=function(A){return this._tableIOSource.push(A)};Quarix.Data.DataView.prototype.removeTableIOSource=function(B){var A=this._tableIOSource.indexOf(B);if(A!=1){this._tableIOSource.splice(A,1)}};Quarix.Data.DataView.prototype.isSaveMode=function(){if(this._tableIOSource[0]&&this._tableIOSource[0].isSaveType){return this._tableIOSource[0].isSaveType()}return false};Quarix.Data.DataView.prototype.translateColumnsInMessage=function(E){if(!E){return E}var D=0,C=E.length,B,A;for(;D<C;D++){B=E[D];A=this._fieldDOColumnNames.indexOf(B.column);if(A!=-1){B.objectName=this._fieldNames[A]}}};Quarix.Data.DataView.prototype.addField=function(A){if(!A){return }var B=A;if(typeof A=="string"){var B=$Q(A);if(!B&&(B=this._objectName.lastIndexOf("___"))){B=this._objectName.substring(0,B);B=$Q(B+"___"+A)}}if(B&&B.getDOColumnName){B.dataView=this;if(!this.isSaveMode()){B.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{B.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}this._fieldNames.push(B.getObjectName());this._fieldDOColumnNames.push(B.getDOColumnName());this._fields.push(B);this._fieldParams[B.getDOColumnName()]=null;B.addLink(Quarix.Links.Action,this);if(!B.getProperty("format",false,true)&&this._dataSource){var C=this._dataSource.getColumnInfo(B.getDOColumnName());if(!C){console.error("Unable to find column %o for field %o.",B.getDOColumnName(),B._objectName);return }if(C.format&&B.setDataFormat){B.setDataFormat(C.format)}}}else{console.warn("Field %o of type %s added to data view %s, but unable to lookup field in register or it is not a field ",A,typeof A,this.getObjectName())}};Quarix.Data.DataView.prototype.removeField=function(B){if(!B){return }var D=null,A=-1,C=B;if(typeof B=="string"){C=Quarix.Register.get(B)}if(C&&C.getDOColumnName){delete this._fieldParams[C.getDOColumnName()];A=this._fieldNames.indexOf(C.getObjectName());if(A!=-1){C.dataView=null;this._fields.splice(A,1);this._fieldNames.splice(A,1);this._fieldDOColumnNames.splice(A,1)}}else{console.warn("Field %o removed from data view %s, but unable to lookup field in register or it is not a field ",B,this.getObjectName())}};Quarix.Data.DataView.prototype.getActionSource=function(){return this._actionSources};Quarix.Data.DataView.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Data.DataView.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Data.DataView.prototype.focusGained=function(A){this.hasFocus=A;if(this._focusLostTimeout){clearTimeout(this._focusLostTimeout);this._focusLostTimeout=null}};Quarix.Data.DataView.prototype.focusLost=function(C){this.hasFocus=false;if(this._properties.syncOnBlur){var A=this;var B=this._focusLostTimeout=setTimeout(function(){if(A._focusLostTimeout!=B){return }if(A._properties.syncOnBlur){if(A._state=="UpdateBegin"){A.confirmCancel()}else{if(A._state=="Update"){A.confirmOk()}}}},10)}};Quarix.Data.DataView.prototype.destroyObject=function(A){var B=this._objectName+"cDialogSave";var C;if(C=$Q(B)){C.destroyObject(A)}B=this._objectName+"cDialogDelete";if(C=$Q(B)){C.destroyObject(A)}Quarix.Data.DataView.superclass.destroyObject.call(this,A)};Quarix.Data.FormView=function(B,A){Quarix.Data.FormView.superclass.constructor.call(this,B,A);this._dataModified=false;this._fields=[];this._actionSources=[];this.ActionSourceEvents=Quarix.Links.Action.SourceEvents;this._fieldNames=[];this._fieldParams={};this._modifiedFields=[];this._confirmOkRequested=false};Quarix.extend(Quarix.Data.FormView,Quarix.Base.AbsVisualObject);Quarix.Data.FormView.prototype.createObjects=function(){this._processObjectProperties();Quarix.Data.FormView.superclass.createObjects.call(this)};Quarix.Data.FormView.prototype._processVisualObjectProperties=function(){Quarix.Data.FormView.superclass._processVisualObjectProperties.call(this);if(this.getProperty("fields",[],true)){var B=0,C=this.getProperty("fields",[],true),A=C.length;for(;B<A;B++){this.addField(C[B])}}};Quarix.Data.FormView.prototype.initializeObject=function(){Quarix.Data.FormView.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();if(this._properties.fields.length!=this._fields.length){console.warn("View %o has %o fields specified but found only %o of them. Specified: %o; Found: %o",this._objectName,this._properties.fields.length,this._fields.length,this._properties.fields.join(", "),this._fields.pluck("_objectName").join(", "))}};Quarix.Data.FormView.prototype.confirmOk=function(){this._confirmOkRequested=false;this.submitRecord();return false};Quarix.Data.FormView.prototype.resetRecord=function(){Quarix.WarningManager.clearWarnings(this);for(var B=0,A=this._fields.length;B<A;B++){if(this._fields[B].resetRecord){this._fields[B].resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord))}}this.setDataModified(false)};Quarix.Data.FormView.prototype.cancelRecord=function(){Quarix.WarningManager.clearWarnings(this);this.resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord))};Quarix.Data.FormView.prototype.submitRecord=function(){Quarix.WarningManager.clearWarnings(this);this.collectChanges();Quarix.Util.Trigger(this,"beforeSubmit",[this]);if(this.validateFields()){var A=this.getProperty("url",null);if(A){Quarix.Util.BlockWindow(this.getContainerSource().getContainerContext().getContentDOMNode().domNode,2);var D=false,C;for(C=0;C<this._fields.length;C++){if(this._fields[C]._viewAs=="FileUpload"){D=true;break}}if(!D){new Quarix.Request(A,{method:this.getProperty("method","post"),asynchronous:this.getProperty("asynchronous",true),parameters:Quarix.Util.Serialize(this._fieldParams),evalScripts:true,onComplete:this._onRequestComplete.bind(this)})}else{var E='<div style="display:none"><form target="iframe_{name}" action="'+A+'" enctype="multipart/form-data" method="post"></form><iframe id="iframe_{name}" name="iframe_{name}" src=""></iframe></div>';E=Quarix.UI.Element.DOMfromString(E.replace(/{name}/g,this._objectName));for(C=0;C<this._fields.length;C++){E.firstChild.appendChild(this._fields[C]._domNode.domNode.cloneNode(true))}var B=this;if(!this.getProperty("asynchronous",true)){console.warn("File uploading is always async, but FormView %o has asynchronous set to false. Ignored.",this._objectName)}E.lastChild.onload=function(){var G=E.lastChild.contentDocument||(E.lastChild.contentWindow&&E.lastChild.contentWindow.document)||window.frames["iframe_"+B._objectName].document;if(!G.location.href||G.location.href=="about:blank"){var F={status:(G.location.href&&G.location.href!="about:blank"?200:0),responseText:G.body.innerHTML}}E.parentNode.removeChild(E);B._onRequestComplete(F)};document.body.appendChild(E);console.info("Submit from FormView %o to %o (this does not show up in FireBug' console, only in the Net tab and you need to use a sniffer to see the POST.",this._objectName,A);E.firstChild.submit()}Quarix.Util.Trigger(this,"afterSubmit",[this])}}};Quarix.Data.FormView.prototype._onRequestComplete=function(A){Quarix.Util.ClearWindow(this.getContainerSource().getContainerContext().getContentDOMNode().domNode);if(!A||A.status!=200){return }var C;Quarix.Util.Trigger(this,"onSubmitComplete",[this,A]);if(typeof (A.parsed)=="undefined"){C=A.responseText.parseJSON();if(!C){try{C=A.responseText.evalScripts()}catch(B){console.debug(B)}}}else{if(!A.parsed){C=A.responseText.parseJSON()}else{C=A}}if(typeof C=="object"){if(C.messages){Quarix.WarningManager.process(C.messages,this);Quarix.WarningManager.mark(this);if(Quarix.WarningManager.isSuccess(this)){if(C.evalURL){Quarix.Util.EvalUrl(C.evalURL)}else{if(this.getProperty("exitOnSuccess",false)){this.publish(Quarix.Links.Container.ExitObject)}}}}else{if(C.redirectURL){try{if(C.redirectURL.charAt(0)=="/"){C.redirectURL=window.location.toString().substring(0,window.location.toString().indexOf("/",9))+C.redirectURL}window.location=C.redirectURL}catch(B){}}else{if(C.evalURL){try{Quarix.Util.EvalUrl(C.evalURL);if(this.getProperty("exitOnSuccess",false)){this.publish(Quarix.Links.Container.ExitObject)}}catch(B){console.debug(B)}}}}}else{if(this.getProperty("exitOnSuccess",false)){this.publish(Quarix.Links.Container.ExitObject)}}};Quarix.Data.FormView.prototype.collectChanges=function(){for(var B=0,A=this._fields.length;B<A;B++){if(this._fields[B]["getObjectValue"]){if(this._fieldParams[this._fields[B].getDOColumnName()]){if(this._fields[B].getObjectValue()!=null){this._fieldParams[this._fields[B].getDOColumnName()]=this._fields[B].getObjectValue()}}else{this._fieldParams[this._fields[B].getDOColumnName()]=this._fields[B].getObjectValue()}}}};Quarix.Data.FormView.prototype.dataModified=function(A){if(!A.source){return }if(this._fields.indexOf(A.source)>0){if(A.isModified===true){if(this._modifiedFields.indexOf(A.sourceName)==-1){this._modifiedFields.push(A.sourceName)}this.setDataModified(true)}else{if(this._modifiedFields.indexOf(A.sourceName)!=-1){this._modifiedFields.splice(this._modifiedFields.indexOf(A.sourceName),1)}if(this._modifiedFields.length==0){this.setDataModified(false)}else{this.setDataModified(true)}}}};Quarix.Data.FormView.prototype.actionPerformed=function(A){switch(A.command){case"submit":this.submitRecord();break;case"cancel":this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord));break;case"reset":this.resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord));break}};Quarix.Data.FormView.prototype.enableFields=function(A){var D,C,B;if(typeof A=="undefined"||A=="all"){for(C=0,B=this._fieldNames.length;C<B;C++){if(this._fields[C]&&this._fields[C].enableObject){this._fields[C].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}else{if(typeof A=="string"){C=A.indexOf(",");while(C!=-1){D=A.substring(0,C);if(D&&this._fields[_fieldname]&&this._fields[D].enableObject){this._fields[D].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}C=A.indexOf(",",idx+1)}}else{if(isArray(A)){for(C=0,B=A.length;C<B;C++){D=_fieldnameList[C];if(this._fields[_fieldname]&&this._fields[D].enableObject){this._fields[_fieldname].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}}}};Quarix.Data.FormView.prototype.disableFields=function(A){var D,C,B;if(typeof A=="undefined"||A=="all"){for(C=0,B=this._fields.length;C<B;C++){if(this._fields[C]&&this._fields[C].disableObject){this._fields[C].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}}else{if(typeof A=="string"){C=A.indexOf(",");while(C!=-1){D=A.substring(0,C);if(D&&this._fields[_fieldname]&&this._fields[D].disableObject){this._fields[D].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}C=A.indexOf(",",idx+1)}}else{if(isArray(A)){for(C=0,B=A.length;C<B;C++){D=_fieldnameList[C];if(this._fields[_fieldname]&&this._fields[D].disableObject){this._fields[_fieldname].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}}}}};Quarix.Data.FormView.prototype.validateFields=function(F){var C,B,D,A=true,E;for(C=0,B=this._fields.length;C<B;C++){D=this._fields[C];if(D&&D.validate){E=D.validate();A=A&&E}}return A};Quarix.Data.FormView.prototype.getDataModified=function(){return this._dataModified};Quarix.Data.FormView.prototype.setDataModified=function(A){this._dataModified=A;if(!A){this._modifiedFields=[]}};Quarix.Data.FormView.prototype.addField=function(A){if(!A){return }var B=A;if(typeof A=="string"){var B=Quarix.Register.get(A)}if(B&&B.getDOColumnName){this._fieldNames.push(B.getObjectName());this._fields.push(B);this._fieldParams[B.getDOColumnName()]=null;B.addLink(Quarix.Links.Action,this)}else{console.warn("Field %o added to data view %s, but unable to lookup field in register or it is not a field ",A,this.getObjectName())}};Quarix.Data.FormView.prototype.removeField=function(B){if(!B){return }var D=null,A=-1,C=B;if(typeof B=="string"){C=Quarix.Register.get(B)}if(C&&C.getDOColumnName){delete this._fieldParams[C.getDOColumnName()];A=this._fieldNames.indexOf(C.getObjectName());if(A!=-1){this._fields.splice(A,1);this._fieldNames.splice(A,1)}}else{console.warn("Field %o removed from data view %s, but unable to lookup field in register or it is not a field ",B,this.getObjectName())}};Quarix.Data.FormView.prototype.getActionSource=function(){return this._actionSources};Quarix.Data.FormView.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Data.FormView.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Data.FilterView=function(B,A){Quarix.Data.FilterView.superclass.constructor.call(this,B,A);this.DataSourceEvents=Quarix.Links.Data.SourceEvents;this._dataSource=null;this._dataModified=false;this._fields=[];this._fieldNames=[];this._filterParams=[];this._modifiedFields=[];this._actionSources=[];this._domNode=null;this._nodes=[];this._doColumnName=null;this.ActionSourceEvents=Quarix.Links.Action.SourceEvents;this._confirmOkRequested=false;this.Separator=String.fromCharCode(2);this._staticMessageBundle={msg_filterview_confirm_apply_title:"Confirm Apply",msg_filterview_confirm_apply:"Current values have not been applied. Apply values before exit?",msg_filterview_confirm_apply_ok:"Apply",msg_filterview_confirm_apply_cancel:"Cancel"}};Quarix.extend(Quarix.Data.FilterView,Quarix.Base.AbsSmartObject);Quarix.Data.FilterView.prototype.createObjects=function(){this._processObjectProperties();Quarix.Data.FilterView.superclass.createObjects.call(this)};Quarix.Data.FilterView.prototype._processVisualObjectProperties=function(){Quarix.Data.FilterView.superclass._processVisualObjectProperties.call(this);if(this.getProperty("fields",[],true)){var B=0,C=this.getProperty("fields",[],true),A=C.length;for(;B<A;B++){this.addField(C[B])}}};Quarix.Data.FilterView.prototype._buildUI=function(){var C,D,B,A;if(!this._domNode){C=document.getElementById(this.getObjectName());if(C){this._domNode=Quarix.UI.Element.get(C)}else{C=document.createElement("FORM");C.id=this.getObjectName();C.className="form";C.action=this.getProperty("url","",true);C.method=this.getProperty("method","post",true);C.name=this.getDOColumnName();if(this.getProperty("target",false,true)){C.target=this.getProperty("target","",true)}if(this.getProperty("enctype",false,true)){C.enctype=this.getProperty("enctype","",true)}this._domNode=Quarix.UI.Element.get(C);this._domNode.setDisplayed(false)}}if(this.getContainerSource()){D=this.getContainerSource().getDOMNode()}if(!D){D=window.document.body}D.domNode.appendChild(this._domNode.domNode);C=Quarix.UI.CreateFormElement("input","xml","hidden");this._nodes.xml=C;this._domNode.domNode.appendChild(C);for(B=0,A=this._filterParams.length;B<A;B++){C=Quarix.UI.CreateFormElement("input",this._filterParams[B][0],"hidden");C.value=this._filterParams[B][2];this._nodes[this._filterParams[B][0]]=C;this._domNode.domNode.appendChild(C)}};Quarix.Data.FilterView.prototype.destroyObject=function(){if(this._domNode&&this._domNode.domNode&&this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode)}this._domNode=null;this._nodes=[];Quarix.Data.FilterView.superclass.destroyObject.call(this)};Quarix.Data.FilterView.prototype.initializeObject=function(){Quarix.Data.FilterView.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();if(this.getProperty("url",false,true)){this._buildUI()}if(this._properties.fields.length!=this._fields.length){console.warn("View %o has %o fields specified but found only %o of them. Specified: %o; Found: %o",this._objectName,this._properties.fields.length,this._fields.length,this._properties.fields.join(", "),this._fields.pluck("_objectName").join(", "))}if(this.getProperty("applyOnInit",true,true)){this.applyFilter()}};Quarix.Data.FilterView.prototype.confirmOk=function(){this.applyFilter();return !this.getProperty("trapOK",false,true)};Quarix.Data.FilterView.prototype.confirmCancel=function(){this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord));return true};Quarix.Data.FilterView.prototype.confirmExit=function(A){if(this.getDataSource()!=null&&this.getDataModified()===true){var B=this._objectName+"cDialogApply";if(!Quarix.Register.get(B)){new Quarix.Widgets.ConfirmationDialog(B,{title:this.getMessage("msg_filterview_confirm_apply_title"),dialogMessage:this.getMessage("msg_filterview_confirm_apply"),onDialogSelectExecute:function(C){if(C=="ok"){this.applyFilter()}else{this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord))}}.bind(this),buttons:[{label:this.getMessage("msg_filterview_confirm_apply_cancel"),actionCommand:"Cancel",align:"left",selected:true},{label:this.getMessage("msg_filterview_confirm_apply_ok"),actionCommand:"Ok",align:"right"}]});Quarix.EventManager.subscribe(Quarix.Globals.ROOT_WINDOW,Quarix.Links.Container.CreateObjects,B)}else{Quarix.Register.get(B).viewObject()}}return A.confirm};Quarix.Data.FilterView.prototype.resetRecord=function(){Quarix.WarningManager.clearWarnings(this);for(var B=0,A=this._fields.length;B<A;B++){if(this._fields[B].resetRecord){this._fields[B].resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord))}}this.applyFilter();this.setDataModified(false)};Quarix.Data.FilterView.prototype.cancelRecord=function(){Quarix.WarningManager.clearWarnings(this);this.resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord))};Quarix.Data.FilterView.prototype.clearFilter=function(){Quarix.WarningManager.clearWarnings(this);for(var B=0,A=this._fields.length;B<A;B++){this._fields[B].setObjectValue(null)}this.applyFilter();this.setDataModified(false)};Quarix.Data.FilterView.prototype.changeFieldOperator=function(A,C){var B=this._fieldNames.indexOf(A);if(B==-1){return }this._filterParams[B][1]=C};Quarix.Data.FilterView.prototype.applyFilter=function(){Quarix.WarningManager.clearWarnings(this);this.collectChanges();if(this.validateFields()){var B,A,D=[];for(B=0,A=this._filterParams.length;B<A;B++){D.push(this._filterParams[B])}if(this.getDataSource()){this.getDataSource().assignQuerySelection(this._filterParams)}var C=this.getProperty("url",null,true);if(C){this._submitDirectFilterRequest()}}this.setDataModified(false)};Quarix.Data.FilterView.prototype._submitDirectFilterRequest=function(){var B,A,E,D,C=[];C.push('<?xml version="1.0"?><dao-msg><filter>');for(B=0,A=this._filterParams.length;B<A;B++){if(this._filterParams[B][1]!="none"){C.push('<col name="');C.push(this._filterParams[B][0]);C.push('" op="');C.push(this._filterParams[B][1]);C.push('">');C.push(this._filterParams[B][2]);C.push("</col>")}if(this._nodes[this._filterParams[B][0]]){this._nodes[this._filterParams[B][0]].value=this._filterParams[B][2]}}C.push("</filter></dao-msg>");if(this._nodes.xml){this._nodes.xml.value=C.join("")}if(this._domNode){this._domNode.domNode.submit()}};Quarix.Data.FilterView.prototype.collectChanges=function(){var B,A,G,E,H,D,F,C;for(B=0,A=this._fields.length;B<A;B++){E=this._fields[B];if(E.getObjectValue){E.setObjectValue(E.getObjectValue());G=this._fieldNames.indexOf(E.getDOColumnName());if(G!=-1){if(this._filterParams[G][1]!="between"){this._filterParams[G][2]=E.getObjectValue();if(this._filterParams[G][2]==""){this._filterParams[G][2]="?"}}else{H=this._filterParams[G][2];D=H.indexOf(this.Separator);if(D==-1){F=H}else{F=H.substring(0,D);C=H.substring(D+1)}if(E.getProperty("filterMaxValue",false,true)){C=E.getObjectValue()}else{F=E.getObjectValue()}if(F==null||F==""){F="?"}if(C==null||C==""){C="?"}this._filterParams[G][2]=F+this.Separator+C}}}}};Quarix.Data.FilterView.prototype.dataModified=function(B){if(B.source){return }var A=this._fields.indexOf(B.source);if(A!=-1&&this._fields[A].getProperty("filterOperator",false,true)!="none"){if(_isDataModified===true){if(this._modifiedFields.indexOf(B.sourceName)==-1){this._modifiedFields.push(B.sourceName)}this.setDataModified(true)}else{if(this._modifiedFields.indexOf(B.sourceName)!=-1){this._modifiedFields.splice(this._modifiedFields.indexOf(B.sourceName),1)}if(this._modifiedFields.length==0){this.setDataModified(false)}else{this.setDataModified(true)}}}};Quarix.Data.FilterView.prototype.actionPerformed=function(A){switch(A.command){case"submit":this.applyFilter();break;case"apply":this.applyFilter();break;case"cancel":this.cancelRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.CancelRecord));break;case"reset":this.resetRecord(Quarix.EventManager.newEvent(this,Quarix.Links.TableIO.ResetRecord));break;case"clear":this.clearFilter();break}};Quarix.Data.FilterView.prototype.validateFields=function(F){var C,B,D,A=true,E;for(C=0,B=this._fields.length;C<B;C++){D=this._fields[C];if(D&&D.validate){E=D.validate();A=A&&E}}return A};Quarix.Data.FilterView.prototype.getDataModified=function(){return this._dataModified};Quarix.Data.FilterView.prototype.setDataModified=function(A){this._dataModified=A;if(!A){this._modifiedFields=[]}};Quarix.Data.FilterView.prototype.addField=function(A){if(!A){return }if(typeof A=="object"){this._addField(A.getDOColumnName(),A)}if(typeof A=="string"){if(!Quarix.Register){return }var B=Quarix.Register.get(A)||(this._namespace?Quarix.Register.get(this._namespace+"___"+A):null);if(B){this._addField(B.getDOColumnName(),B)}}};Quarix.Data.FilterView.prototype.removeField=function(B){if(!B){return }var D=null,A=-1,C;if(typeof B=="object"&&B.getDOColumnName&&B.getDOColumnName()){D=B.getDOColumnName()}if(!D&&typeof B=="string"){if(!Quarix.Register){return }C=Quarix.Register.getFieldObject(B);if(C&&C.getDOColumnName&&C.getDOColumnName()){D=C.getDOColumnName()}if(!D){C=Quarix.Register.getFieldObject(B);if(C&&C.getDOColumnName&&C.getDOColumnName()){D=C.getDOColumnName()}}}if(D){this._fields[D]=null;this._fields.splice(this._fields.indexOf(D),1);A=this._fieldNames.indexOf(D);if(A!=-1){this._fields.splice(A,1)}}};Quarix.Data.FilterView.prototype._addField=function(B,A){this._fields.push(A);if(this._fieldNames.indexOf(B)==-1){this._fieldNames.push(B);this._filterParams.push([B,A.getProperty("filterOperator","eq",true),""+A.getProperty("defaultValue",null,true)])}A.addLink(Quarix.Links.Action,this)};Quarix.Data.FilterView.prototype.getActionSource=function(){return this._actionSources};Quarix.Data.FilterView.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Data.FilterView.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Data.FilterView.prototype.getDataSource=function(){return this._dataSource};Quarix.Data.FilterView.prototype.setDataSource=function(A){return this._dataSource=A};Quarix.Data.FilterView.prototype.setDOColumnName=function(A){this._doColumnName=A;Quarix.Register.add(this,this.getObjectName(),this.getDOColumnName(),this.getContainerSource())};Quarix.Data.FilterView.prototype.getDOColumnName=function(){return this._doColumnName||this.getObjectName()};Quarix.Widgets.DataBrowse=function(B,A){Quarix.Widgets.DataBrowse.inheritDataView();Quarix.Widgets.DataBrowse.superclass.constructor.call(this,B,A);this._objectType="DataBrowse";this._properties=Quarix.Util.Extend(A,{_allFixed:false,_lockScroll:null,multiSelect:false,disableAltRowMarkup:false,editable:false,rows:5,maxHeight:null,maxWidth:null,minWidth:"51px",generatePopup:true,_selfStruct:{maxHeight:{type:"number"},maxWidth:{type:"number"}}});this._DOMClassName="dataBrowse";this.navigationTarget=null;this._tableIOSource=[];this._dataSource=null;this.toolbar=null;this.popup=null;this.layoutManager=A.layoutManager||new Quarix.Widgets.DataBrowse.createDefaultLayoutManager(this);this.domNodes={contentDiv:null,contentTable:null,emptyQueryDiv:null,headerDiv:null,scrollTH:null,sortImg:null,editDiv:null};this.hasBefore=false;this.hasAfter=false;this._checkBorders=this.__checkBorders;this.selection=[];this._scrolledSinceSelect=true;this._lastWidths=[];this._resize={resizing:null};this._onBeginResizeCol=this._beginResizeCol.bind(this);this._onUpdateResizeCol=this._updateResizeCol.bind(this);this._onEndResizeCol=this._endResizeCol.bind(this);this._staticMessageBundle={msg_dataview_confirm_save_title:"Confirmation Dialog",msg_dataview_confirm_save:"Current values have not been saved. Save values before exit?",msg_dataview_confirm_save_ok:"Save",msg_dataview_confirm_save_cancel:"Cancel",msg_dataview_confirm_delete_title:"Confirmation Dialog",msg_dataview_confirm_delete:"Delete current record?",msg_dataview_confirm_delete_ok:"Delete",msg_dataview_confirm_delete_cancel:"Cancel"};this._canFocus=true;this._disabledSource=false;this._visualBlock=false;this._row0=[];this._row0.base="";this._row_1=[];this._rowContentsCache=[];this._grouping=0;this._groupMask=[];this._resetScroll=false;this._moreRows=null;this._lastTheme=null;this._actions={select:Quarix.Widgets.DataBrowse._actions._select.bind(this),highlight:Quarix.Widgets.DataBrowse._actions._highlight.bind(this),updateSelectionStatus:Quarix.Widgets.DataBrowse._actions._updateSelectionStatus.bind(this),onKeyDown:Quarix.Widgets.DataBrowse._actions._onKeyDown.bindAsEventListener(this),onBlur:Quarix.Widgets.DataBrowse._actions._onBlur.bindAsEventListener(this),onFocus:Quarix.Widgets.DataBrowse._actions._onFocus.bindAsEventListener(this),onRequestNotify:Quarix.Widgets.DataBrowse._actions._onRequestNotify.bind(this),getGroupRowMainCells:Quarix.Widgets.DataBrowse._actions._getGroupRowMainCells.bind(this)};this._scrollTop=0;this._objectMode="View";this._dataModified=false;this._fields=[];this._actionSources=[];this._modifiedFields=[];this._updateInProgress=false;this._updatePublished=false;this._rowId=null;this._newRecord=false;this._recordCanceled=false;this._exitRequested=false;this._enabledFields=[];this._state="UpdateComplete";this._focusedObject=null;this._queryPosition="NoRecordAvailable";this._fieldNames=[];this._fieldDOColumnNames=[];this._fieldParams={};this._disableFields=false;if(typeof this._properties.fieldsDisabledOnUpdate=="undefined"){this._disableFields=true;this._properties.fieldsDisabledOnUpdate=[]}this._fieldsFKpositioned=false;this._inTableLayout=false;this._heightProp="rowHeight"};Quarix.extend(Quarix.Widgets.DataBrowse,Quarix.Base.AbsVisualObject);Quarix.Widgets.DataBrowse.prototype.NavigationSourceEvents=Quarix.Links.Navigation.SourceEvents;Quarix.Widgets.DataBrowse.prototype.NavigationTargetEvents=[Quarix.Links.Navigation.UpdateState];Quarix.Widgets.DataBrowse.prototype.DataSourceEvents=Quarix.Links.Data.SourceEvents;Quarix.Widgets.DataBrowse.prototype.TableIOSourceEvents=Quarix.Links.TableIO.SourceEvents;Quarix.Widgets.DataBrowse.prototype.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;Quarix.Widgets.DataBrowse.prototype.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;Quarix.Widgets.DataBrowse.prototype.ActionSourceEvents=[Quarix.Links.Action.ActionPerformed];Quarix.Widgets.DataBrowse.prototype._sizes={lastTheme:null};Quarix.Widgets.DataBrowse.prototype.createObjects=function(){this._processObjectProperties();if(!this._dataSource){console.warn("DataSource not set for PJDataBrowse before createObjects was called. ( %o )",this);return }var C=this;Quarix.Widgets.DataBrowse.superclass.createObjects.call(this);var B,A=this._dataSource.dataProxy.options,D=A.columns;this._columns=[];for(B=0;B<this._properties.columns.length;B++){this._columns.push(D.indexByName[this._properties.columns[B].name])}this._buildUI();Quarix.Hotkeys.registerContext(this._domNode.domNode);this._initHandlers();this.publish(Quarix.Links.Container.CreateObjects);this._objectCreated=true;this._processVisualObjectProperties()};Quarix.Widgets.DataBrowse.prototype._processObjectProperties=function(){Quarix.Widgets.DataBrowse.superclass._processObjectProperties.call(this);if(this._properties.editable){this._properties.editable=false;this.setEditable(true)}};Quarix.Widgets.DataBrowse.prototype._processVisualObjectProperties=function(){Quarix.Widgets.DataBrowse.superclass._processVisualObjectProperties.call(this)};Quarix.Widgets.DataBrowse.prototype.initializeObject=function(){if(!this._dataSource){console.error("[Error] DataSource not set for PJDataBrowse before initializeObject was called. ( %o )",this);return }if(!this._objectCreated){this.createObjects()}Quarix.Widgets.DataBrowse.superclass.initializeObject.call(this);this._applySizes();this._objectInitialized=true;if(this.toolbar){if(!this.toolbar._objectInitialized){this.toolbar.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(!this.popup&&this._properties.generatePopup){this.popup=Quarix.Util.generatePopupFromToolbar(this,this.toolbar)}}if(this.popup&&!this.popup._objectInitialized){this.popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(this._dataSource.dataProxy.cache&&this._dataSource.dataProxy.cache.length>0){this._refreshUI()}Event.observe(this.domNodes.contentDiv,"scroll",this._onScroll.bindAsEventListener(this),false);if(this._properties.editable){for(var A=0;A<this._fields.length;A++){if(this._properties.columns[A].isNumber){this._fields[A]._fieldRepr._fieldElement.domNode.style.textAlign="right"}}if(this.isSaveMode()&&this._properties.fieldsDisabledOnUpdate){this.disableFields(this._properties.fieldsDisabledOnUpdate||[])}}};Quarix.Widgets.DataBrowse.prototype.enableObject=function(){this._canFocus=true;Quarix.Widgets.DataBrowse.superclass.enableObject.call(this);if(!this._disabledSource){this.enable()}};Quarix.Widgets.DataBrowse.prototype.enable=function(){if(!this._objectCreated){return }this._properties._lockScroll=null;this._domNode.domNode.className=this._domNode.domNode.className.replace(" disabled","");if(this.popup){this.popup.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}};Quarix.Widgets.DataBrowse.prototype.disableObject=function(){this._canFocus=false;Quarix.Widgets.DataBrowse.superclass.disableObject.call(this);if(!this._disabledSource){this.disable()}};Quarix.Widgets.DataBrowse.prototype.disable=function(){if(!this._objectCreated){return }this._properties._lockScroll=this._scrollTop;this._domNode.domNode.className+=" disabled";if(this.popup){this.popup.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}};Quarix.Widgets.DataBrowse.prototype._buildUI=function(){var F=this;this.makeSizes();var D=this._domNode;if(D){if(D.domNode){D=D.domNode}else{this.setDOMNode(Quarix.UI.Element.get(D))}}if(!D){if(D=$1(this._objectName)){this.setDOMNode(Quarix.UI.Element.get(D))}}if(D){if(!D.className.match(/\bdataBrowse\b/)){if(D.className){D.className+=" "+this._DOMClassName}else{D.className=this._DOMClassName}}}else{var N="";var H=["minWidth","width","maxWidth","minHeight","height","maxHeight"];var G=["min-width","width","max-width","min-height","height","max-height"];for(var E=0;E<H.length;E++){if(this._properties[H[E]]){if(typeof this._properties[H[E]]=="string"){if(this._properties[H[E]].indexOf("%")>-1){nodeStyle+=G[E]+": "+this._properties[H[E]]+"; "}else{N+=G[E]+": "+this._properties[H[E]]+(this._properties[H[E]].match(/^\d+$/)?"px":"")+"; "}}else{N+=G[E]+": "+this._properties[H[E]]+"px; "}}}D=Quarix.UI.Element.fromString('<div id="'+this._objectName+'" class="'+this._DOMClassName+'" style="'+N+'"></div>');this.setDOMNode(D);D=D.domNode}var M=document.createElement("table");var E,I=this._dataSource.dataProxy.options.columns;M.className="dataBrowseHeader";M.cellSpacing=0;M.insertRow(0).style.width="100%";this._properties.columns.cntAuto=0;for(E=0;;E++){if(E>=this._columns.length){this._properties._allFixed=true;M.style.width="auto";break}else{if(!this._properties.columns[E].size||this._properties.columns[E].size=="*"){break}}}var J=0;for(E=0;E<this._columns.length;E++){this._makeColumn(M.rows[0].appendChild(document.createElement("th")),I[this._columns[E]],this._properties.columns[E]);if(this._properties.columns[E].width){J+=this._properties.columns[E].width}}if(this._grouping){this._pushRowContents=this._pushRowContentsGroups}this._heightProp=this._hasNumbers?"rowHeightN":"rowHeight";this._minContentWidth=J;M.style.minWidth=J+"px";while(this._fields.length<this._columns.length){this._fields.push(null)}this.domNodes.scrollTH=M.rows[0].appendChild(document.createElement("td"));this.domNodes.scrollTH.style.visibility="hidden";this.domNodes.scrollTH.style.display="none";this.domNodes.scrollTH.className="spacer";this.domNodes.scrollTH.innerHTML="&nbsp;";this._tableHeaderRow=M.rows[0];D.appendChild(this.domNodes.headerDiv=document.createElement("div")).appendChild(M);this.domNodes.headerDiv.className="dataBrowseHeaderDiv";var C=this.getEmptyTable();this.domNodes.contentTable=M=C;D.appendChild(document.createElement("div"));this.domNodes.contentDiv=D.lastChild;this.domNodes.contentDiv.className="dataBrowseContent";this.domNodes.contentDiv.ref=this;this.domNodes.emptyQueryDiv=Quarix.UI.Element.DOMfromString('<div class="dataBrowseEmptyQuery">'+this.getMessage("msg_smartbrowse_empty")+"</div>");this.domNodes.contentDiv.appendChild(M);this.domNodes.contentDiv.appendChild(this.domNodes.emptyQueryDiv);this.domNodes.editDiv=this._domNode.domNode.appendChild(document.createElement("div"));this.domNodes.editDiv.style.display="none";this.domNodes.editDiv.style.position="absolute";this.domNodes.editDiv.style.whiteSpace="pre";this.domNodes.editDiv.style.overflow="hidden";Event.observe(this.domNodes.contentDiv,"dblclick",function(O){if(F.isObjectEnabled()){Quarix.Util.Trigger(F,"onDblClick")}},false);this.domNodes.sortImg=document.createElement("span");this.domNodes.sortImg.className="sortImg";if(typeof this._properties.minWidth=="string"){D.style.minWidth=this._properties.minWidth}else{D.style.minWidth=this._properties.minWidth+"em"}if(typeof this._properties.maxWidth=="string"){D.style.maxWidth=this._properties.maxWidth}else{if(typeof this._properties.maxWidth=="number"){D.style.maxWidth=this._properties.maxWidth+"em"}}if(typeof this._properties.maxHeight=="string"){D.style.maxHeight=this._properties.maxHeight}else{if(typeof this._properties.maxHeight=="number"){D.style.maxHeight=this._properties.maxHeight+"em"}}if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this);var B=this._containerSource,A=this._objectPage;while(B){if(B.getLayoutManager&&B.getLayoutManager(A) instanceof Quarix.Layout.TableLayout){console.warn("%o is placed inside a TableLayout (%o page %o), but you should avoid placing DataBrowses inside TableLayouts",this._objectName,B._objectName,A);this._inTableLayout=true}A=B._objectPage;B=B._containerSource}}Event.observe(this.domNodes.contentDiv,"contextmenu",function(O){var O=O||event;if(F.popup){F.popup.pop(O)}},false);Event.observe(this.domNodes.contentDiv,"click",function(O){var O=O||event;if(O.altKey&&F.popup){F.popup.pop(O);F.popup._ignoreNextClick=true}},false);if(window.opera){var L=-1,K=-1;Event.observe(this.domNodes.contentDiv,"mousedown",function(O){if(O.button==2&&O.which==3){L=Event.pointerX(O);K=Event.pointerY(O)}else{L=-1;K=-1}});Event.observe(this.domNodes.contentDiv,"mouseup",function(O){if(O.button==2&&O.which==3&&L==Event.pointerX(O)&&K==Event.pointerY(O)){L=-1;K=-1;if(F.popup){F.popup.pop(O);Event.stop(O)}}})}};Quarix.Widgets.DataBrowse.prototype.getEmptyTable=function(){return Quarix.UI.Element.DOMfromString('<table class="dataBrowseBody" cellSpacing="0" style="display:none"><tbody>'+(new Array(5).join('<tr class="dataBrowseRow">'+(new Array(this._columns.length+1)).join('<td class="dataBrowseCell">&nbsp;</td>'))+"</tr>")+"</tbody></table>")};Quarix.Widgets.DataBrowse.prototype.makeSizes=function(){if(!Quarix.Theme||this._sizes.lastTheme==Quarix.Theme){return }this._sizes.lastTheme=Quarix.Theme;var A=document.body.appendChild(document.createElement("div"));A.innerHTML='<div class="window"><div class="dataBrowse"><div class="dataBrowseHeaderDiv"><table cellspacing="0" class="dataBrowseHeader"><tbody><th style="width: 1em;">M</th><th style="width: 2em;">MM</th><th></th></tr></tbody></table></div><div class="dataBrowseContent" style="height: 80px; width: 80px"><table cellspacing="0" class="dataBrowseBody"><tbody><tr class="dataBrowseRow"><td class="dataBrowseCell" style="width: 1px;">M</td><td class="dataBrowseCell">0</td></tr><tr class="dataBrowseRow"><td class="dataBrowseCell" style="width: 1px;">M</td><td class="dataBrowseCell number">0</td></tr></tbody></table><div style="height: 50px; width: 90px;">a</div></div></div></div>';var C=A.firstChild.firstChild;var D=C.firstChild.firstChild.rows[0];var B;this._sizes.deltaW=D.cells[0].offsetWidth*2-D.cells[1].offsetWidth;this._sizes.emW=D.cells[1].offsetWidth-D.cells[0].offsetWidth;this._sizes.cellDeltaW=C.lastChild.firstChild.rows[0].cells[0].offsetWidth-1;this._sizes.rowHeight=C.lastChild.firstChild.rows[0].offsetHeight;if((B=C.lastChild.firstChild.offsetHeight)<this._sizes.rowHeight){this._sizes.rowHeight=Math.floor(B/2)}this._sizes.rowHeightN=C.lastChild.firstChild.rows[1].offsetHeight;if(B<this._sizes.rowHeightN){this._sizes.rowHeightN=Math.ceil(B/2)}this._sizes.spacerW=C.lastChild.offsetWidth-C.lastChild.clientWidth;this._sizes.spacerH=C.lastChild.offsetHeight-C.lastChild.clientHeight;this._sizes.canOverflowY=typeof document.body.style.overflowY=="string";A.parentNode.removeChild(A)};Quarix.Widgets.DataBrowse.prototype._applySizes=function(A){if(this._lastTheme!=Quarix.Theme||A){this.makeSizes();this._lastTheme=this._sizes.lastTheme;this.domNodes.contentDiv.style.height=(this._properties.rows*this._sizes[this._heightProp])+"px";this.domNodes.scrollTH.style.width=this._sizes.spacerW+"px"}};Quarix.Widgets.DataBrowse._rowEvents='" oncontextmenu="Quarix.Widgets.DataBrowse.prototype.handleRowContextMenu.call(this, event);" onmousedown="Quarix.Widgets.DataBrowse.prototype.handleRowMouseDown.call(this, event);" onmouseup="Quarix.Widgets.DataBrowse.prototype.handleRowMouseUp.call(this, event);" onmouseover="Quarix.Widgets.DataBrowse.prototype.handleRowMouseOver.call(this, event);" onclick="Quarix.Widgets.DataBrowse.prototype.handleRowClick.call(this, event);">';Quarix.Widgets.DataBrowse.prototype._refreshUI=function(){if(!this._objectInitialized){return }var Q=this;var R=this.domNodes.contentTable,H=R.rows,G=H[2];var O=this._dataSource.dataProxy,K=O.cache,S=O.options.hasFirstRow,D=O.options.hasLastRow;var E,P=0,N,M,J=H.length,I,V,W,B=O.options.currentIndex;this._rowContentsCache=[];if(K.length==0){this.domNodes.emptyQueryDiv.style.display="";R.style.display="none";this.domNodes.scrollTH.style.display="none";if(this.domNodes.contentTable){this.domNodes.contentTable.parentNode.insertBefore(this.getEmptyTable(),this.domNodes.contentTable);this.domNodes.contentTable=this.domNodes.contentTable.previousSibling;this.domNodes.contentTable.parentNode.removeChild(this.domNodes.contentTable.nextSibling)}this._moreRows=null}else{var A=K.length+(S?0:2)+(D?0:2),U;if(!this._objectHidden){U=this._tableHeaderRow.offsetWidth;if(A>=this._properties.rows||this._sizes.canOverflowY){U-=this._sizes.spacerW}}this.domNodes.emptyQueryDiv.style.display="none";this.selection=[];this._actions.highlighted=null;if(this._grouping){this._prepareGroups()}Quarix.Profiler.Start("DataBrowse_populate_table");var C=['<table class="dataBrowseBody" cellSpacing="0" '];if(!this._objectHidden){C.push(' style="width: ');C.push(U);C.push('px"')}C.push("><tbody>");for(P=1;P<1+2;P++){C.push('<tr class="dataBrowseRow');if(P%2==1&&!this._properties.disableAltRowMarkup){C.push(" alt")}if(S){C.push('" style="display: none')}C.push('">');for(N=0;N<this._columns.length;N++){C.push(this._row0[N].str);C.push("&nbsp;");C.push("</td>")}C.push("</tr>")}for(P=0;P<K.length;P++){I=K[P];C.push('<tr class="dataBrowseRow');if(P%2==1&&!this._properties.disableAltRowMarkup){C.push(" alt")}if(B==P){C.push(" selected highlight");this.selection.push([null,I[O.options.columns.indexByName.rowid].value,P,I])}C.push(Quarix.Widgets.DataBrowse._rowEvents);this._pushRowContents(C,K[P],P);C.push("</tr>")}for(P=K.length;P<this._properties.rows;P++){C.push('<tr class="dataBrowseRow disabled');if(P%2==1&&!this._properties.disableAltRowMarkup){C.push(" alt")}C.push('">');C.push(this._row0.base);C.push("</tr>")}for(P=1;P<1+2;P++){C.push('<tr class="dataBrowseRow');if(P%2==0&&!this._properties.disableAltRowMarkup){C.push(" alt")}if(D){C.push('" style="display: none')}C.push('">');for(N=0;N<this._columns.length;N++){C.push(this._row0[N].str);C.push("&nbsp;");C.push("</td>")}C.push("</tr>")}C.push("</tbody></table>");var T=Quarix.UI.Element.DOMfromString(C.join(""));if(!this._objectHidden){this.disable()}this.domNodes.contentDiv.removeChild(this.domNodes.contentTable);this.domNodes.contentDiv.insertBefore(T,this.domNodes.emptyQueryDiv);R=this.domNodes.contentTable=this.domNodes.contentDiv.firstChild;H=R.rows;G=H[2];for(P=0;P<K.length;P++){if(K[P].style){for(M in K[P].style){R.rows[P+2].style[M]=K[P].style[M]}}for(N=0;N<this._columns.length;N++){if(K[P][N].style){for(M in K[P][N].style){R.rows[P+2].cells[N].style[M]=K[P][N].style[M]}}}}this._resetBorders();if(!this._objectHidden){this.enable()}Quarix.Profiler.Stop("DataBrowse_populate_table","");var L=this._moreRows;if(A<this._properties.rows&&!this._sizes.canOverflowY){this._moreRows=null;this.domNodes.scrollTH.style.display="none";this.domNodes.contentDiv.style.overflowY="hidden"}else{this.domNodes.contentDiv.style.overflowY="";if(this._moreRows=A>this._properties.rows){this.domNodes.scrollTH.style.display=""}}if(this.selection.length>0){this.selection[0][0]=this._actions.highlighted=R.rows[this.selection[0][2]+2];var F;if(this._actions.highlighted.offsetTop<this.domNodes.contentDiv.scrollTop){this.domNodes.contentDiv.scrollTop=this._scrollTop=this._actions.highlighted.offsetTop}else{if(this.domNodes.contentDiv.scrollTop<(F=this._actions.highlighted.offsetTop+this._actions.highlighted.offsetHeight-this.domNodes.contentDiv.clientHeight)){this.domNodes.contentDiv.scrollTop=this._scrollTop=F}}this._scrolledSinceSelect=false}if(L!=this._moreRows){this._copyColWidths()}}if(K.length>0){if(this._objectHidden){this._resetScroll=true}else{if(!S){this.domNodes.contentDiv.scrollTop=this._scrollTop=H[2].offsetTop}}}};Quarix.Widgets.DataBrowse.prototype.repaintRow=function(B,A){if(!this.domNodes||!this.domNodes.contentTable){return }if(B>=this.domNodes.contentTable.rows.length-4||!this.domNodes.contentTable.rows[B+2].onmousedown){if(B==0){this._refreshUI();return }var D=['<table><tr class="dataBrowseRow'];if(B%2==1&&!this._properties.disableAltRowMarkup){D.push(" alt")}D.push(Quarix.Widgets.DataBrowse._rowEvents);this._pushRowContents(D,this._dataSource.dataProxy.cache[B],C);D.push("</tr></table>");var G=Quarix.UI.Element.DOMfromString(D.join("")).rows[0];if(!this.domNodes.contentTable.rows[B+2].onmousedown){this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[B+2])}this.domNodes.contentTable.tBodies[0].insertBefore(G,this.domNodes.contentTable.rows[B+2])}else{if(A){this._rowContentsCache.splice(B,1);this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[B+2])}else{var F=this.domNodes.contentTable.rows[B+2];this._rowContentsCache[B]=null;var E=this._getRowContents(null,B);for(var C=0;C<this._columns.length;C++){F.cells[C].innerHTML=E[C]}}}return };Quarix.Widgets.DataBrowse.prototype._getRowContents=function(D,F){var B=[],C;if(this._rowContentsCache[F]){return this._rowContentsCache[F]}if(!D){D=this._dataSource.dataProxy.cache[F]}for(var E=0;E<this._columns.length;E++){C=D[this._columns[E]];if(C.html){B.push(C.html)}else{var A=typeof D[0]=="string"?C:C.value;A=this._properties.columns[E].doColumn.translate[A]||A;if(!this._properties.columns[E].skipEscape){A=A.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/ /g,"&nbsp;")}B.push(A||"&nbsp;")}}this._rowContentsCache[F]=B;return B};Quarix.Widgets.DataBrowse.prototype._prepareGroups=function(){var I=this._dataSource.dataProxy.cache.length,H=this;this._groupMask=[];var F=this._groupMask;var A=[];for(var G=0;G<I;G++){A[G]=this._getRowContents(null,G);F.push([])}var C=function(N,L,J){var K=L+1,M=A[L][N];while(K<I&&(typeof J=="undefined"||K<L+J)&&A[K][N]==M){K++}return K-L};var B=function(L,K,J){var M=L;while(M<L+J){F[M][K]=C(K,M,L+J-M);if(K<this._grouping-1){B(M,K+1,F[M][K])}M+=F[M][K]}};var G,D,E;for(var G=0;G<I;G+=F[G][0]){F[G][0]=C(0,G);B(G,1,F[G][0]);for(var D=G;D<G+F[G][0];D++){for(E=this._grouping;E<this._properties.columns.length;E++){F[D][E]=1}}}};Quarix.Widgets.DataBrowse.prototype._pushRowContentsSimple=function(C,E,F){var B,D,A=this._getRowContents(E,F);for(B=0;B<this._columns.length;B++){C.push(this._row0[B].str);C.push(A[B]);C.push("</td>")}};Quarix.Widgets.DataBrowse.prototype._pushRowContentsGroups=function(C,E,F){var B,D,A=this._getRowContents(E,F);for(B=0;B<this._columns.length;B++){if(this._groupMask[F][B]){C.push(this._row_1[B].str);C.push(' rowSpan="');C.push(this._groupMask[F][B]);C.push('">');C.push(A[B]);C.push("</td>")}}};Quarix.Widgets.DataBrowse.prototype._pushRowContents=Quarix.Widgets.DataBrowse.prototype._pushRowContentsSimple;Quarix.Widgets.DataBrowse.prototype._fillNearRowContents=function(E,D,C){var A=this._getRowContents(D,C);for(var B=0;B<this._columns.length;B++){E[B].innerHTML=A[B]}};Quarix.Widgets.DataBrowse.prototype._makeColumn=function(D,B,A){var C=this;if(A.name&&!B){console.error("DataBrowse %o is unable to find column %o in DataObject %o",this._objectName,A.name,this._dataSource._objectName);return }A.doColumn=B;A.elem=D;D.innerHTML=A.label||(B&&B.name);if(!A.minSize||A.minSize=="*"){A.minSize="";A.minWidth=this._sizes.emW}else{D.style.minWidth=(A.minWidth=this._sizes.emW*A.minSize)+"px";A.minWidth+=this._sizes.deltaW}if(typeof (A.size)=="undefined"||A.size=="*"){A.size="";this._properties.columns.cntAuto++}else{D.style.width=(A.width=this._sizes.emW*A.size)+"px";A.width+=this._sizes.deltaW}if(B&&B.sortable&&!(B.sortable==="false")){D.className="sortable";D.sorting=2;Event.observe(D,"click",function(K){if(!C._objectEnabled){return }var J=D;var H=Event.pointerX(K);var F=Position.page(J)[0];if((H-F<5&&J.previousSibling)||(H>F+J.offsetWidth-10&&J.nextSibling&&J.nextSibling.nextSibling)){return }var I=D.sorting;for(var G=0;G<C._tableHeaderRow.cells.length;G++){C._tableHeaderRow.cells[G].sorting=2}if(I){D.sorting=0}else{D.sorting=1}C.domNodes.sortImg.className=["sortImg asc","sortImg desc"][D.sorting];D.appendChild(C.domNodes.sortImg);C._dataSource.setQuerySort([[B.name,D.sorting]])},false)}if(B&&(B.type=="number"||B.type=="decimal"||B.type=="integer")){this._hasNumbers=A.isNumber=true}var E='<td class="dataBrowseCell';if(A.isNumber){E+=" number"}if(typeof A.grouping=="string"){if(A.grouping.toLowerCase()==="false"){A.grouping=false}else{if(A.grouping.toLowerCase()==="true"){A.grouping=true}}}if(A.grouping){this._grouping++}E+='" style="';this._row_1.push({str:E+'"'});this._row0.push({str:E+'">',base:E});this._row0.base+=E+'">&nbsp;</td>';Event.observe(D,"mousedown",this._onBeginResizeCol,false);Event.observe(D,"mousemove",function(I){var G=Event.pointerX(I);var H=D;var F=Position.page(H)[0];if((G-F<5&&H.previousSibling)||(G>F+H.offsetWidth-10&&H.nextSibling)){D.style.cursor="w-resize"}else{D.style.cursor=""}},false);Event.observe(D,"mouseout",function(F){D.style.cursor=""},false)};Quarix.Widgets.DataBrowse.prototype._onScroll=function(B){var C=this.domNodes.contentTable.rows,E=this.domNodes.contentDiv;this.domNodes.headerDiv.scrollLeft=E.scrollLeft;this.domNodes.editDiv.scrollLeft=E.scrollLeft;if(this._properties._lockScroll!=null){E.scrollTop=this._scrollTop=this._properties._lockScroll}else{this._scrollTop=E.scrollTop;this._scrolledSinceSelect=true;if(C[0].offsetHeight>0&&E.scrollTop<=C[0].offsetHeight){this._dataSource.fetchBatch(0)}else{if(C[C.length-1].offsetHeight>0&&E.scrollTop+E.clientHeight>=C[C.length-1].offsetTop){this._dataSource.fetchBatch(1)}}}var A=C[2].offsetHeight;if(A){var D=this._dataSource.dataProxy;D._preparePosition(Math.floor(E.scrollTop/A)-2);D._preparePosition(Math.ceil((E.scrollTop+E.offsetHeight)/A)-2)}this._checkBorders()};Quarix.Widgets.DataBrowse.prototype._resetBorders=function(){this.hasBefore=false;this.hasAfter=false;this._checkBorders=this.__checkBorders};Quarix.Widgets.DataBrowse.prototype.__checkBorders=function(){var G=this._dataSource.dataProxy;var C=this.domNodes.contentTable.rows,A=C.length-2,B,F,E,D;if(!this.hasBefore&&G.prevReq&&G.prevReq.rows&&G.prevReq.rows[0]){this._fillNearRowContents(C[1].cells,G.prevReq.rows.last(),-1);if(G.prevReq.rows.length>1){this._fillNearRowContents(C[0].cells,G.prevReq.rows[G.prevReq.rows.length-2],-2)}this.hasBefore=true}if(!this.hasAfter&&G.nextReq&&G.nextReq.rows&&G.nextReq.rows[0]){this._fillNearRowContents(C[A].cells,G.nextReq.rows[0],A);if(G.nextReq.rows.length>1){this._fillNearRowContents(C[A+1].cells,G.nextReq.rows[1],A+1)}this.hasAfter=true}if(this.hasBefore&&this.hasAfter){this._checkBorders=Prototype.emptyFunction}};Quarix.Widgets.DataBrowse.prototype.destroyObject=function(){var B,A;if(B=this._dataSource){A=B._notifyOnRequest.indexOf(this._actions.onRequestNotify);if(A>-1){B._notifyOnRequest.splice(A,1)}}this.publish(Quarix.Links.Container.DestroyObject);if(this._domNode&&this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode)}Quarix.Widgets.DataBrowse.superclass.destroyObject.call(this)};Quarix.Widgets.DataBrowse.prototype.dataAvailable=function(){if(!this._objectInitialized){return }var C=this._dataSource.dataProxy,A=this.domNodes.contentTable.rows,B;if(C.cache.length>0&&C.options.currentIndex<A.length-4){if(!this._actions.highlighted||this._actions.highlighted.rowIndex!=C.options.currentIndex+2){this._actions.highlight(C.options.currentIndex)}if(this._actions.highlighted){if(!this._actions.highlighted.className.match(/\bselected\b/)){this._actions.select(C.options.currentIndex,false,true);this._scrolledSinceSelect=true}if(this._scrolledSinceSelect){if(this._actions.highlighted.offsetTop<this.domNodes.contentDiv.scrollTop){this.domNodes.contentDiv.scrollTop=this._scrollTop=this._actions.highlighted.offsetTop}else{if(this.domNodes.contentDiv.scrollTop<(B=this._actions.highlighted.offsetTop+this._actions.highlighted.offsetHeight-this.domNodes.contentDiv.clientHeight)){this.domNodes.contentDiv.scrollTop=this._scrollTop=B}}this._scrolledSinceSelect=false}}}Quarix.Data.DataView.prototype.dataAvailable.apply(this,arguments)};Quarix.Widgets.DataBrowse.prototype.getSelection=function(G){var D,B,F=[],A=this._dataSource.dataProxy.options.columns;for(D=0;D<G.length;D++){F.push(A.getByName[G[D]])}var C=[],E;for(D=0;D<this.selection.length;D++){E=[];for(B=0;B<F.length;B++){E.push(this.selection[D][3][F[B]])}C.push(E)}return C};Quarix.Widgets.DataBrowse.prototype.updateState=function(A){if(A.state=="UpdateComplete"){this.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}else{if(this._scrolledSinceSelect){if(this._actions.highlighted){var B;if(this._actions.highlighted.offsetTop<this.domNodes.contentDiv.scrollTop){this.domNodes.contentDiv.scrollTop=this._scrollTop=this._actions.highlighted.offsetTop}else{if(this.domNodes.contentDiv.scrollTop<(B=this._actions.highlighted.offsetTop+this._actions.highlighted.offsetHeight-this.domNodes.contentDiv.clientHeight)){this.domNodes.contentDiv.scrollTop=this._scrollTop=B}}}this._scrolledSinceSelect=false}this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}};Quarix.Widgets.DataBrowse.prototype.fetchDataSet=function(){};Quarix.Widgets.DataBrowse.prototype.handleRowClick=function(A){};Quarix.Widgets.DataBrowse.prototype.handleRowContextMenu=function(A){this.parentNode.parentNode.parentNode.ref._actions.select(this.rowIndex-2,A.ctrlKey)};Quarix.Widgets.DataBrowse.prototype.handleRowMouseOver=function(A){this.parentNode.parentNode.parentNode.ref._actions.highlight(this.rowIndex-2)};Quarix.Widgets.DataBrowse.prototype.handleRowMouseDown=function(A){if(window.opera){this.mousex=Event.pointerX(A);this.mousey=Event.pointerY(A)}this.parentNode.parentNode.parentNode.ref._actions.select(this.rowIndex-2,A.ctrlKey)};Quarix.Widgets.DataBrowse.prototype.handleRowMouseUp=function(A){if(window.opera){if((this.mousex||-1)==Event.pointerX(A)&&(this.mousey||-1)==Event.pointerY(A)){this.parentNode.parentNode.parentNode.ref._actions.select(this.rowIndex-2,A.ctrlKey)}}};Quarix.Widgets.DataBrowse.prototype._initHandlers=function(){Event.observe(this._domNode.domNode,"mouseout",(function(){var A=this._dataSource._properties.currentIndex;if(A>-1){this._actions.highlight(A)}}).bind(this),false);Event.observe(this._domNode.domNode,"blur",this._actions.onBlur,false);Event.observe(this._domNode.domNode,"focus",this._actions.onFocus,false);this._domNode.domNode.tabIndex=this.getProperty("tabIndex",0,true);Event.observe(this._domNode.domNode,"keydown",this._actions.onKeyDown,false)};Quarix.Widgets.DataBrowse.prototype.applyEntry=function(){if(this._domNode&&this.isObjectEnabled()){this._domNode.domNode.focus()}return this.hasFocus()};Quarix.Widgets.DataBrowse.prototype.actionPerformed=function(B){var C=this.domNodes.contentDiv;if(typeof B.page=="string"){switch(B.page){case"prev":C.scrollTop-=this._properties.rows*this._sizes[this._heightProp];break;case"next":C.scrollTop+=this._properties.rows*this._sizes[this._heightProp];break}}else{var A=B.page*this._properties.rows*this._sizes[this._heightProp];C.scrollTop=A}};Quarix.Widgets.DataBrowse._actions={};Quarix.Widgets.DataBrowse._actions._select=function(G,D,A){if((typeof A=="undefined"||!A)&&!this._objectEnabled){return }if(this._dataSource._properties.onBeforeCursorMove&&!this._dataSource._properties.onBeforeCursorMove()){return }D=D&&this._properties.multiSelect;var I=this._dataSource.dataProxy,J=this.domNodes.contentTable.rows[G+2];if(!I.cache[G]){return }var B=I.cache[G][I.options.columns.indexByName.rowid].value,C,K=false;this._actions.highlight(G);if(!D){if(this.selection.length==1&&this.selection[0][0]&&this.selection[0][0].rowIndex==G+2){return }for(C=0;C<this.selection.length;C++){if(this.selection[C][0]){this.selection[C][0].className=this.selection[C][0].className.replace(" selected","");var H=this._grouping?this._actions.getGroupRowMainCells(this.selection[C][2]):null;if(H&&H.length){for(var F=0;F<H.length;F++){H[F].className=H[F].className.replace(" selected","")}}}}this.selection=[[J,B,G,I.cache[G]]];J.className+=" selected";var E=this._grouping?this._actions.getGroupRowMainCells(G):null;if(E&&E.length){for(var C=0;C<E.length;C++){E[C].className+=" selected"}}}else{var K=false;for(C=0;C<this.selection.length;C++){if(this.selection[C][1]==B){K=true;J.className=J.className.replace(" selected","");var H=this._grouping?this._actions.getGroupRowMainCells(this.selection[C][2]):null;if(H&&H.length){for(var F=0;F<H.length;F++){H[F].className=H[F].className.replace(" selected","")}}this.selection.splice(C,1)}}if(!K){this.selection.push([J,B,G,I.cache[G]]);J.className+=" selected";var E=this._grouping?this._actions.getGroupRowMainCells(G):null;if(E&&E.length){for(var C=0;C<E.length;C++){E[C].className+=" selected"}}}}this._dataSource.fetchRow(G);this.publish("SelectionChanged");this._scrolledSinceSelect=false};Quarix.Widgets.DataBrowse._actions._getGroupRowMainCells=function(C){if(this.domNodes.contentTable.rows.length<=(C+2)||typeof (this._groupMask[C])=="undefined"){return[]}row=this.domNodes.contentTable.rows[C+2];var E,F=C;var D=[];var A=[];for(var B=0;B<this._columns.length;B++){if(!this._groupMask[F][B]){E=F-1;while(E>=0&&!this._groupMask[E][B]){--E}if(E>=0){A.push([E,B])}}}for(var B=0;B<A.length;B++){D.push(this.domNodes.contentTable.rows[A[B][0]+2].cells[A[B][1]])}return D};Quarix.Widgets.DataBrowse._actions._highlight=function(B){if(this._actions.highlighted){if(this._actions.highlighted.rowIndex-2==B){return }else{this._actions.highlighted.className=this._actions.highlighted.className.replace(" highlight","");var E=(this._grouping&&this._actions.highlighted.lastRow>=0)?this._actions.getGroupRowMainCells(this._actions.highlighted.lastRow):null;if(E&&E.length){for(var A=0;A<E.length;A++){E[A].className=E[A].className.replace(" highlight","")}}}}if((B>=this.domNodes.contentTable.rows.length-4)||(B>=this._dataSource.dataProxy.cache.length)){this._actions.highlighted=null;return }this._actions.highlighted=this.domNodes.contentTable.rows[B+2];this._actions.highlighted.className+=" highlight";this._actions.highlighted.lastRow=B;var D=this._grouping?this._actions.getGroupRowMainCells(B):null;if(D&&D.length){for(var C=0;C<D.length;C++){if(D[C].className.indexOf("highlight")==-1){D[C].className+=" highlight"}}}};Quarix.Widgets.DataBrowse._actions._updateSelectionStatus=function(){var C,B,E=this._dataSource.dataProxy,A=E.options.columns.indexByName.rowid,D=this.domNodes.contentTable.rows;for(C=0;C<this.selection.length;C++){for(B=0;B<E.cache.length;B++){if(E.cache[B][A].value==this.selection[C][1]){this.selection[C][0]=D[B+2];D[B+2].className+=" selected";break}}}};Quarix.Widgets.DataBrowse._actions._onKeyDown=function(D){var B=D.keyCode?D.keyCode:D.which;var E=false,F=this._dataSource;if(Prototype.Browser.WebKit&&B>=33&&B<=40){var A=this,C=this.domNodes.contentDiv.scrollTop;setTimeout(function(){A.domNodes.contentDiv.scrollTop=this._scrollTop=C},10)}if(this.isObjectEnabled()){switch(B){case 38:this.publish(Quarix.Links.Navigation.FetchPrev);break;case 40:this.publish(Quarix.Links.Navigation.FetchNext);break;case 33:F.fetchRow(F._properties.currentIndex-(this._properties.rows-1));break;case 34:F.fetchRow(F._properties.currentIndex+(this._properties.rows-1));break;case 36:this.publish(Quarix.Links.Navigation.FetchFirst);break;case 35:this.publish(Quarix.Links.Navigation.FetchLast);break;case 13:this._actions.select(this._dataSource.getIndex(),D.ctrlKey);this._scrolledSinceSelect=true;Quarix.Util.Trigger(this,"onEnter");if(!this.getProperty("onEnterExecute",false,true)&&!this.getProperty("onEnterEval",false,true)&&!this.getProperty("onEnterPublish",false,true)){E=true}break;default:E=true}}else{E=true}if(E){return true}Event.stop(D);return false};Quarix.Widgets.DataBrowse._actions._onKeyUp=function(){};Quarix.Widgets.DataBrowse._actions._onBlur=function(){this._hasFocus=false};Quarix.Widgets.DataBrowse._actions._onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.DataBrowse._actions._onRequestNotify=function(B){if(this._disabledSource==!!B){return }this._disabledSource=!!B;if(this._disabledSource){if(!this._objectHidden&&!this._visualBlock){this._visualBlock=true;var A=parseInt($Q(this._windowName)._domNode.domNode.style.zIndex||0)+5;Quarix.Util.BlockWindow(this.domNodes.contentDiv,2,false,A)}if(this._objectEnabled){this.disable()}}else{if(this._visualBlock){this._visualBlock=false;Quarix.Util.ClearWindow(this.domNodes.contentDiv)}if(this._objectEnabled){this.enable()}}};Quarix.Widgets.DataBrowse.prototype.isMultiSelect=function(){return this._properties.multiSelect};Quarix.Widgets.DataBrowse.prototype.setMultiSelect=function(A){this._properties.multiSelect=A};Quarix.Widgets.DataBrowse.prototype.addContainerTarget=function(A){if(A.getObjectType){switch(A.getObjectType()){case"SmartToolbar":this.setToolbar(A);break;case"PopupMenu":this.setPopup(A);break;default:if(this._fields.indexOf(A)>-1){break}console.log("[Warning] Attempt to link unsupported object to DataBrowse. The alien object is %o",A)}}else{console.log("[Warning] Attempt to link unsupported object to DataBrowse. The alien object is %o",A)}if(A._objectType!="SmartWindow"){A._windowName=this._windowName;A._propagateWindowName()}if(this._objectCreated&&!A._objectCreated){A.createObjects()}if(this._objectInitialized&&!A._objectInitialized){A.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.DataBrowse.prototype.getContainerTarget=function(){return this.getToolbar()};Quarix.Widgets.DataBrowse.prototype.removeContainerTarget=function(A){if(A.getObjectType){switch(A.getObjectType()){case"SmartToolbar":this.removeToolbar(A);break;case"PopupMenu":this.removePopup(A);break}}};Quarix.Widgets.DataBrowse.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.DataBrowse.prototype.removeDataSource=function(){var B;if(B=this._dataSource){var A=B._notifyOnRequest.indexOf(this._actions.onRequestNotify);if(A>-1){B._notifyOnRequest.splice(A,1)}B._properties.onCacheChange.splice(B._properties.onCacheChange.pluck("objRef").indexOf(this),1)}this._dataSource=null};Quarix.Widgets.DataBrowse.prototype.setDataSource=function(B){if(this._dataSource){this.removeDataSource()}this._dataSource=B;if(this._dataSource){this._dataSource._notifyOnRequest.push(this._actions.onRequestNotify);var A=this;this._dataSource._properties.onCacheChange.push(function(D,C){if(typeof D=="number"){A.repaintRow(D,C)}else{A._refreshUI()}});this._dataSource._properties.onCacheChange[this._dataSource._properties.onCacheChange.length-1].objRef=this}};Quarix.Widgets.DataBrowse.prototype.getNavigationTarget=function(){return this.navigationTarget};Quarix.Widgets.DataBrowse.prototype.removeNavigationTarget=function(){this.navigationTarget=null};Quarix.Widgets.DataBrowse.prototype.setNavigationTarget=function(A){this.navigationTarget=A};Quarix.Widgets.DataBrowse.prototype.getActionSource=function(){return this._actionSource};Quarix.Widgets.DataBrowse.prototype.removeActionSource=function(){this._actionSource=null};Quarix.Widgets.DataBrowse.prototype.setActionSource=function(A){this._actionSource=A;if(this._actionSource instanceof Quarix.Widgets.BrowsePaginator){Quarix.EventManager.subscribe(this._dataSource,Quarix.Links.Data,this._actionSource)}};Quarix.Widgets.DataBrowse.prototype.getLayoutManager=function(){return this.layoutManager};Quarix.Widgets.DataBrowse.prototype.removeLayoutManager=function(){this.layoutManager=new Quarix.Widgets.DataBrowse.createDefaultLayoutManager(this)};Quarix.Widgets.DataBrowse.prototype.setLayoutManager=function(A){this.layoutManager=A};Quarix.Widgets.DataBrowse.prototype.getPopup=function(){return this.popup};Quarix.Widgets.DataBrowse.prototype.removePopup=function(){this.popup=null};Quarix.Widgets.DataBrowse.prototype.setPopup=function(A){if(this.popup==A){return }this.popup=A;if(this._objectCreated&&!this.popup._objectCreated){this.popup.createObjects()}if(this._objectInitialized&&!this.popup._objectInitialized){this.popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.DataBrowse.prototype.getToolbar=function(){return this.toolbar};Quarix.Widgets.DataBrowse.prototype.removeToolbar=function(){if(this.toolbar){this.toolbar.removeLink(Quarix.Links.TableIO,this);this.toolbar=null}};Quarix.Widgets.DataBrowse.prototype.setToolbar=function(A){if(this.toolbar==A){return }this.toolbar=A;if(this.toolbar){if(this.toolbar._containerSource&&this.toolbar._containerSource!=this){this.toolbar._containerSource.removeLink(Quarix.Links.Container,this.toolbar)}if(!this._windowName){this._windowName=Quarix.Register._getWindowName(this._containerSource)}A._windowName=this._windowName;this.addLink(Quarix.Links.Container,this.toolbar);if(this.isObjectCreated()&&!this.toolbar.isObjectCreated()){this.toolbar.createObjects()}if(this.isObjectInitialized()&&!this.toolbar.isObjectInitialized()){this.toolbar.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this.toolbar.addLink(Quarix.Links.TableIO,this)}};Quarix.Widgets.DataBrowse.createDefaultLayoutManager=function(A){var B=(function(F){var D=false;if(F.getObjectType){switch(F.getObjectType()){case"SmartToolbar":D=true;break}}var E=F._domNode,C=this._domNode;if(F instanceof Quarix.Widgets.Field){C=this.domNodes.editDiv}if(!E){console.debug("LayoutManager.add called, but the object requesting does not have a DOM Node: %o",F);return }if(E.domNode){E=E.domNode}if(C.domNode){C=C.domNode}if(E.parentNode==C){return }if(!D||!C.firstChild){C.appendChild(E)}else{C.insertBefore(E,C.firstChild)}}).bind(A);return{add:B}};Quarix.Widgets.DataBrowse.prototype.hideObject=function(){Quarix.Widgets.DataBrowse.superclass.hideObject.call(this);if(this.toolbar){this.toolbar.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this.popup){this.popup.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this._disabledSource){if(this._visualBlock){this._visualBlock=false;Quarix.Util.ClearWindow(this.domNodes.contentDiv)}}};Quarix.Widgets.DataBrowse.prototype.viewObject=function(A){if(this._inTableLayout&&!this._domNode.domNode.parentNode){var B=this;setTimeout(function(){B.viewObject(A)},10);return }Quarix.Util.Trigger(this,"onViewObject");if(this._properties.hide){return }if(this._objectHidden){this._objectHidden=false;this._domNode.domNode.style.display=""}this._resizeFct();if(this._properties._allFixed){this._domNode.domNode.style.maxWidth=this._tableHeaderRow.offsetWidth+"px"}if(this._resetScroll){this.domNodes.contentDiv.scrollTop=this._scrollTop=this.domNodes.contentTable.rows[2].offsetTop;this._resetScroll=false}if(this.toolbar){this.toolbar.viewObject(A)}if(this._disabledSource&&!this._visualBlock){this._visualBlock=true;var C=parseInt($Q(this._windowName)._domNode.domNode.style.zIndex||0)+1;Quarix.Util.BlockWindow(this.domNodes.contentDiv,2,false,C)}if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="none"}};Quarix.Widgets.DataBrowse.prototype.exitObject=function(){this.publish(Quarix.Links.Container.ExitObject)};Quarix.Widgets.DataBrowse.prototype.resize=function(){if(this._objectHidden){return }setTimeout(this._resizeFct.bind(this),10);this.publish("resize")};Quarix.Widgets.DataBrowse.prototype._resizeFct=function(){if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="block"}var C=this._tableHeaderRow.offsetWidth;var B=this.domNodes.contentTable.style.width;if(C==0){return }var A=0;if(this._moreRows==false){if(this._tableHeaderRow.offsetWidth>this.domNodes.contentDiv.offsetWidth){if(this.domNodes.scrollTH.style.display=="none"){this.domNodes.scrollTH.style.display=""}A+=this._sizes.spacerW}else{if(this.domNodes.scrollTH.style.display!="none"){this.domNodes.scrollTH.style.display="none"}}}else{if(this._moreRows){A+=this._sizes.spacerW}}this.domNodes.contentTable.style.display="none";if(this.domNodes.contentTable.offsetWidth!=this._tableHeaderRow.offsetWidth){this.domNodes.contentTable.style.width=this._tableHeaderRow.offsetWidth-A+"px";this._copyColWidths()}if(this.domNodes.emptyQueryDiv.style.display!=""){this.domNodes.contentTable.style.display=""}if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="none"}};Quarix.Widgets.DataBrowse.prototype._beginResizeCol=function(E){this._resize.pointer=[Event.pointerX(E),Event.pointerY(E)];var D=Event.element(E);while(D.parentNode&&D.tagName!="TH"){D=D.parentNode}if(D.tagName!="TH"){return }this._resize.multiply=1;this._resize.bubble=true;var A=Position.page(D)[0];if(this._resize.pointer[0]-A<5){if(D.previousSibling){D=D.previousSibling}else{return }}else{if(this._resize.pointer[0]<=A+D.offsetWidth-10){return }else{if(D.nextSibling.className.match(/\bspacer\b/)){return }}}if(!D.style.width&&D.nextSibling.style.width){D=D.nextSibling;this._resize.multiply=-1;this._resize.bubble=false}this._resize.resizing=D;this._resize.resizingIdx=0;var B=D,C;while(B.previousSibling){this._resize.resizingIdx++;B=B.previousSibling}if(!D.style.width){if(this._properties.columns.cntAuto>1){D.style.width=D.offsetWidth-this._sizes.deltaW;this._properties.columns[this._resize.resizingIdx].size=true}else{return }}this._resize.origWidth=D.offsetWidth;this._resize.availAfter=0;this._resize.availBefore=0;for(C=this._resize.resizingIdx+1;C<this._properties.columns.length;C++){this._resize.availAfter+=this._properties.columns[C].elem.offsetWidth-this._properties.columns[C].minWidth}for(C=this._resize.resizingIdx-1;C>=0;C--){this._resize.availBefore+=this._properties.columns[C].elem.offsetWidth-this._properties.columns[C].minWidth}C=this._resize.resizingIdx;if(this._resize.multiply>0){this._resize.availBefore+=this._properties.columns[C].elem.offsetWidth-this._properties.columns[C].minWidth}else{if(this._resize.multiply<0){this._resize.availAfter+=this._properties.columns[C].elem.offsetWidth-this._properties.columns[C].minWidth}}Event.observe(document,"mousemove",this._onUpdateResizeCol,false);Event.observe(document,"mouseup",this._onEndResizeCol,false);document.body.ondrag=function(){return false};document.body.onselectstart=function(){return false};Event.stop(E)};Quarix.Widgets.DataBrowse.prototype._updateResizeCol=function(E){if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="block"}var H=[Event.pointerX(E),Event.pointerY(E)];var C=(H[0]-this._resize.pointer[0]),G;C=Math.max(Math.min(C,this._resize.availAfter),-this._resize.availBefore);C*=this._resize.multiply;if(this._properties.columns[this._resize.resizingIdx].minWidth){G=Math.max(this._resize.origWidth+C,this._properties.columns[this._resize.resizingIdx].minWidth)}else{G=Math.max(this._resize.origWidth+C,this._sizes.deltaW)}C=G-this._resize.origWidth;this._resize.resizing.style.width=(G-this._sizes.deltaW)+"px";var B=this._resize.resizing.nextSibling;var D=this._resize.resizingIdx+1;if(this._resize.bubble){if(C<0){if(B.style.width){B.style.width=(this._properties.columns[D].width-C-this._sizes.deltaW)+"px"}}else{while(1){var F=this._properties.columns[D];if(!F){break}var A=0;if(B.style.width){A=Math.min(C,(F.width||F.elem.offsetWidth)-F.minWidth);if(!F.width){console.log("%o",F)}B.style.width=((F.width||F.elem.offsetWidth)-A-this._sizes.deltaW)+"px"}C-=A;D++;B=B.nextSibling}}}if(typeof opera!="undefined"&&opera.postError){this._resize.resizing.style.display="none";this._resize.resizing.style.display=""}Event.stop(E)};Quarix.Widgets.DataBrowse.prototype._endResizeCol=function(C){var D=this._properties.columns,B=this._resize.resizingIdx,A=this._resize.resizing;while(B<D.length){if(A.style.width){D[B].width=A.offsetWidth}B++;A=A.nextSibling}this._copyColWidths();Event.stopObserving(document,"mousemove",this._onUpdateResizeCol,false);Event.stopObserving(document,"mouseup",this._onEndResizeCol,false);document.body.ondrag=null;document.body.onselectstart=null;Event.stop(C)};Quarix.Widgets.DataBrowse.prototype._copyColWidths=function(I){if(this._objectHidden){return }if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="block"}var M,G=this.domNodes.contentTable.rows,C=this._tableHeaderRow.cells,O=G[0],D=G[G.length-1],N=D;var L=G.length>0;if(G.length>4){N=G[2]}var H=new Array(C.length-1),Q=false,F;for(M=0;M<C.length-1;M++){F=(C[M].offsetWidth||(parseInt(C[M].style.width)+this._sizes.deltaW)||this._sizes.cellDeltaW)-this._sizes.cellDeltaW;if(F<0){F=0}F=F+"px";if(F!=this._lastWidths[M]){Q=true}H[M]=F}if(Q){this._lastWidths=H;var P=this.domNodes.headerDiv.scrollLeft;if(this._fields[0]){this._setEditorsWidth()}var K,B,J,A,E,R;if(L){K=O.cells;A=C.length-K.length-1;B=D.cells;E=C.length-B.length-1;J=N.cells;R=C.length-J.length-1}for(M=0;M<C.length-1;M++){this._row_1[M].str=this._row0[M].base+"width: "+H[M]+'"';this._row0[M].str=this._row_1[M].str+">";if(L){if(M>=A){K[M-A].style.width=H[M]}if(M>=E){B[M-E].style.width=H[M]}if(M>=R){J[M-R].style.width=H[M]}}}this.domNodes.headerDiv.scrollLeft=P;this.domNodes.contentDiv.scrollLeft=P}if(this.getProperty("hideHeader",false,true)){this._tableHeaderRow.style.display="none"}};Quarix.Widgets.DataBrowse.inheritDataView=function(){var C=Quarix.Data.DataView,E=C.prototype,B=Quarix.Widgets.DataBrowse,D=B.prototype;for(var A in E){if(!D[A]||(E[A]!=D[A]&&D[A]==C.superclass[A])){Quarix.Widgets.DataBrowse.prototype[A]=Quarix.Data.DataView.prototype[A]}}Quarix.Widgets.DataBrowse.inheritDataView=function(){}};Quarix.Widgets.DataBrowse.prototype.setEditable=function(C){if(this._properties.editable==C){return }this._properties.editable=C;var A;if(C){for(var B=0;B<this._columns.length;B++){if(!this._fields[B]){A=this._properties.columns[B];this._fieldNames[B]=this._objectName+"-editor-"+B;this._fields[B]=new Quarix.Widgets.Field(this._fieldNames[B],Quarix.Util.Extend({layoutCol:B,hide:true,required:!!A.required,doColumnName:A.doColumn.name},A.doColumn));if(this._disableFields&&(this._properties.columns[B].editable==false)){this._properties.fieldsDisabledOnUpdate.push(this._fieldNames[B])}this.addLink(Quarix.Links.Container.CreateObjects,this._fields[B]);this._fields[B].addLink(Quarix.Links.Action,this);this._fieldDOColumnNames.push(A.doColumn.name);this._fieldParams[A.doColumn.name]=null;if(A.isNumber&&this._objectInitialized){this._fields[B]._fieldRepr._fieldElement.domNode.style.textAlign="right"}if(!this.isSaveMode()){this._fields[B].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{this._fields[B].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}}if(this._objectInitialized){Quarix.Data.DataView.prototype.dataAvailable.call(this)}this._setEditorsWidth()}};Quarix.Widgets.DataBrowse.prototype.enableFields=function(){if(!this._properties.editable){return }Quarix.Data.DataView.prototype.enableFields.apply(this,arguments);var E,D,B,A;if(this.domNodes.editDiv.style.display=="none"){E=Position.page(this._actions.highlighted);B=Position.page($Q(this._windowName)._domNode.domNode);D=E[1]-B[1]-(this._resize.editorOffset||0);E=E[0]-B[0];A=this.domNodes.editDiv.previousSibling.offsetWidth;if(this.domNodes.editDiv.offsetLeft!=E){this.domNodes.editDiv.style.left=E+"px";this.domNodes.editDiv.style.top=D+"px"}else{if(this.domNodes.editDiv.offsetTop!=D){this.domNodes.editDiv.style.top=D+"px"}}this.domNodes.editDiv.style.width=A+"px";this.domNodes.editDiv.style.display="";for(A=0;A<this._fields.length;A++){this._fields[A]._properties.hide=false;this._fields[A].viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}if(this._resize.editorOffset==null){A=(this._fields[0]._fieldRepr._fieldElement.domNode.offsetHeight-this._actions.highlighted.offsetHeight)/2;this._resize.editorOffset=A;if(A!=0){this.domNodes.editDiv.style.top=D-A+"px"}}if(this._fieldsFKpositioned==false){this._fieldsFKpositioned=true;var F=this._fields[0]._fieldRepr._fieldElement.domNode.offsetHeight;this.domNodes.editDiv.style.height=F+this.domNodes.editDiv.offsetHeight+"px";for(A=0;A<this._fields.length;A++){if(this._fields[A]._fkToolbutton){var C=this._fields[A]._nodes.chooser.domNode;C.style.marginLeft=-C.offsetWidth+"px";C.style.top=F+"px";C.style.position="absolute"}}}}};Quarix.Widgets.DataBrowse.prototype.disableFields=function(){Quarix.Data.DataView.prototype.disableFields.apply(this,arguments);if(this.domNodes.editDiv.style.display!="none"){var B=true;for(var A=0;A<this._fields.length;A++){if(this._fields[A]&&this._fields[A]._objectEnabled){B=false;break}}if(B){this.domNodes.editDiv.style.display="none";for(var A=0;A<this._fields.length;A++){this._fields[A]._properties.hide=true;this._fields[A].hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}}}};Quarix.Widgets.DataBrowse.prototype.confirmOk=function(){if(this._properties.editable){return Quarix.Data.DataView.prototype.confirmOK.apply(this,arguments)}else{return true}};Quarix.Widgets.DataBrowse.prototype.confirmCancel=function(){if(this._properties.editable){return Quarix.Data.DataView.prototype.confirmOK.apply(this,arguments)}else{return true}};Quarix.Widgets.DataBrowse.prototype.confirmExit=function(){if(this._properties.editable){return Quarix.Data.DataView.prototype.confirmOK.apply(this,arguments)}else{return false}};Quarix.Widgets.DataBrowse.prototype._setEditorsWidth=function(){var B;var A=this._tableHeaderRow.cells;var C=[],E=[];for(B=0;B<A.length;B++){C[B]=(A[B].offsetWidth||(parseInt(A[B].style.width)+this._sizes.deltaW))-4+"px";E[B]=A[B].offsetLeft}for(B=0;B<this._fields.length;B++){this._fields[B]._fieldRepr._fieldElement.domNode.style.width=C[B]}var F=this._fields[0]._fieldRepr._fieldElement.domNode.offsetHeight;for(B=0;B<this._fields.length;B++){if(this._fields[B]._fkToolbutton){var D=this._fields[B]._nodes.chooser.domNode;D.style.left=E[B+1]+"px"}}};Quarix.Widgets.HTMLBrowse=function(A,B){A=A||Quarix.UI.GenerateId();Quarix.Widgets.HTMLBrowse.superclass.constructor.call(this,A,B);this._properties=Object.extend({contentBefore:"",contentBody:'<div id="{oThis._objectName + "_" + {rowid}}" class="browseItem">{rowid}</div>',contentSeparator:"",contentAfter:"",position:0,pageSize:10,createToolbar:true},this._properties);this._contentDOMNode=null;this._dataSource=null;this._navigationSource=null;this.toolbar=null};Quarix.extend(Quarix.Widgets.HTMLBrowse,Quarix.Base.AbsVisualObject);Quarix.Widgets.HTMLBrowse.prototype.NavigationSourceEvents=[Quarix.Links.Navigation.FetchFirst,Quarix.Links.Navigation.FetchNext,Quarix.Links.Navigation.FetchPrev,Quarix.Links.Navigation.FetchLast];Quarix.Widgets.HTMLBrowse.prototype._staticMessageBundle={noRecordContent:"Waiting for data..."};Quarix.Widgets.HTMLBrowse.prototype._processObjectProperties=function(){Quarix.Widgets.HTMLBrowse.superclass._processObjectProperties.call(this)};Quarix.Widgets.HTMLBrowse.prototype._processVisualObjectProperties=function(){Quarix.Widgets.HTMLBrowse.superclass._processVisualObjectProperties.call(this);var B=this._properties.width||null,A=this._properties.height||null;if(B||A){this.setSize(B,A)}if(this._dataSource){this._expectCacheChange=true;this.newBatch()}if(this._properties.hidden||this._properties.hideOnInit){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Widgets.HTMLBrowse.prototype.createObjects=function(){if(this._objectCreated){return }this._objectCreated=true;this._processObjectProperties();this._buildUI();var A=this;if(this._properties.createToolbar){this.toolbar=new Quarix.Widgets.Toolbar(this._objectName+"-generated-toolbar",{});this.toolbar.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"-generated-tbFirst",{label:"|<",onClickExecute:function(){A.fetchFirst(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchFirst))}}));this.toolbar.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"-generated-tbPrev",{label:"<",onClickExecute:function(){A.fetchPrev(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchPrev))}}));this.toolbar.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"-generated-tbNext",{label:">",onClickExecute:function(){A.fetchNext(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchNext))}}));this.toolbar.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"-generated-tbLast",{label:">|",onClickExecute:function(){A.fetchLast(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchLast))}}));this.addLink(Quarix.Links.Container.CreateObjects,this.toolbar);this.toolbar.createObjects()}this._makeContentFunction()};Quarix.Widgets.HTMLBrowse.prototype._buildUI=function(){var B;if(!this._domNode){this.setDOMNode(Quarix.UI.Element.fromString('<div id="'+this._objectName+'" class="htmlBrowse"><div class="htmlBrowseContent"></div></div>'));this._contentDOMNode=this._domNode.domNode.firstChild;if(this.getContainerSource()){var A=this.getContainerSource().getLayoutManager(this.getObjectPage());if(A){A.add(this)}}}};Quarix.Widgets.HTMLBrowse.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Widgets.HTMLBrowse.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();if(this.toolbar){this.toolbar.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.HTMLBrowse.prototype.getLayoutManager=function(){return{node:this._domNode.domNode,add:function(A){this.node.insertBefore(A.getDOMNode().domNode,this.node.lastChild)},remove:function(A){this.node.removeChild(A.getDOMNode().domNode)}}};Quarix.Widgets.HTMLBrowse.prototype.setSize=function(B,A){if(typeof B!="undefined"&&B!==null){this._properties.width=B;if(this._domNode){this._domNode.setWidth(B)}}if(typeof A!="undefined"&&A!==null){this._properties.height=A;if(this._domNode){this._domNode.setHeight(A)}}};Quarix.Widgets.HTMLBrowse.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.HTMLBrowse.prototype.setDataSource=function(B){if(this._dataSource){this._dataSource._properties.onCacheChange.splice(this._dataSource._properties.onCacheChange.pluck("objRef").indexOf(this),1)}this._dataSource=B;if(this._dataSource){var A=this;this._dataSource._properties.onCacheChange.push(function(){A.newBatch()});this._dataSource._properties.onCacheChange[this._dataSource._properties.onCacheChange.length-1].objRef=this}if(this._objectCreated){this._makeContentFunction()}if(B&&this._objectInitialized){this._expectCacheChange=true;this.newBatch()}};Quarix.Widgets.HTMLBrowse.prototype.getNavigationSource=function(){return this._navigationSource};Quarix.Widgets.HTMLBrowse.prototype.setNavigationSource=function(A){this._navigationSource=A;if(A&&this._objectCreated){this.publishQueryPos()}};Quarix.Widgets.HTMLBrowse.prototype.newBatch=function(){if(this._expectCacheChange){this.paint()}else{console.warn("DataObject changed batch unexpectedly, going to first position.");this.fetchFirst(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchFirst))}};Quarix.Widgets.HTMLBrowse.prototype.paint=function(){var C,E=this._dataSource._getDataObject();if(E.cache.length==0){C=this.getMessage("noRecordContent")}else{C=[];if(this._properties.position<0){this._properties.position+=E.cache.length}var D=E.options.columns,A=this._properties.position+this._properties.pageSize;for(var B=this._properties.position;B<E.cache.length&&B<A;B++){C.push(this._contentFunction(E.cache[B]))}C=this._properties.contentBefore+C.join(this._properties.contentSeparator)+this._properties.contentAfter}this._contentDOMNode.innerHTML=C;this.publishQueryPos()};Quarix.Widgets.HTMLBrowse.prototype.publishQueryPos=function(){this.publish(Quarix.Links.Navigation.QueryPosition,{position:this.getQueryPosition()})};Quarix.Widgets.HTMLBrowse.prototype.getQueryPosition=function(){var C=this._dataSource._getDataObject(),A=C.options.hasFirstRow,B=C.options.hasLastRow;if(C.cache.length==0){return"NoRecordAvailable"}else{if(A&&B&&C.cache.length<=this._properties.pageSize){return"OnlyRecordAvailable"}else{if(A&&this._properties.position==0){return"FirstRecord"}else{if(B&&this._properties.position+this._properties.pageSize>=C.cache.length){return"LastRecord"}else{return"NotFirstOrLast"}}}}};Quarix.Widgets.HTMLBrowse.prototype.fetchFirst=function(){this._properties.position=0;if(this._dataSource._properties.hasFirstRow){this.paint()}else{this._expectCacheChange=true;this._dataSource.fetchFirst(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchFirst))}};Quarix.Widgets.HTMLBrowse.prototype.fetchPrev=function(){this._properties.position-=this._properties.pageSize;if(this._properties.position<0){if(this._dataSource._properties.hasFirstRow){this._properties.position=0;this.paint()}else{var B=this._properties.position+this._properties.pageSize;var A=this._dataSource._getDataObject();this._properties.position=-this._properties.pageSize;this._expectCacheChange=true;A.getBatch(A.cache[B][A.options.columns.indexByName.rowid].value,-1,true)}}else{this.paint()}};Quarix.Widgets.HTMLBrowse.prototype.fetchNext=function(){this._properties.position+=this._properties.pageSize;var B=this._dataSource._getDataObject();if(this._properties.position+this._properties.pageSize>B.cache.length&&!B.options.hasLastRow){var A=this._properties.position-this._properties.pageSize;this._properties.position=0;this._expectCacheChange=true;B.getBatch(B.cache[A][B.options.columns.indexByName.rowid].value,1,true)}else{if(this._properties.position>B.cache.length&&B.options.hasLastRow){this._properties.position-=this._properties.pageSize}else{this.paint()}}};Quarix.Widgets.HTMLBrowse.prototype.fetchLast=function(){if(this._dataSource._properties.hasLastRow){this._properties.position=this._dataSource._getDataObject().cache.length-this._properties.pageSize;this.paint()}else{this._properties.position=-this._properties.pageSize;this._expectCacheChange=true;this._dataSource.fetchLast(Quarix.EventManager.newEvent(this,Quarix.Links.Navigation.FetchLast))}};Quarix.Widgets.HTMLBrowse.prototype.setContentBody=function(A){if(typeof A!="string"){throw new Error("contentBody must be a string!")}this._properties.contentBody=A;this._makeContentFunction();this.paint()};Quarix.Widgets.HTMLBrowse.prototype._makeContentFunction=function(){var oThis=this,m;if(!this._dataSource){this._contentFunction=function(){return"No DataSource linked to HTMLBrowse"};return }var cols=this._dataSource._properties.columns;var str='"'+this._properties.contentBody.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"';while(m=str.match(/{[^}]*({([-0-9a-zA-Z_]+)})/)){if(typeof cols.indexByName[m[2]]=="number"){str=str.replace(m[1],"row["+cols.indexByName[m[2]]+"].value")}else{str=str.replace(m[1],'"column \\"'+m[2]+'\\" not found"')}}while(m=str.match(/{([-0-9a-zA-Z_]+)}/)){if(typeof cols.indexByName[m[1]]=="number"){str=str.replace(m[0],'" + row['+cols.indexByName[m[1]]+'].value + "')}else{str=str.replace(m[0],'(column \\"'+m[1]+'\\" not found)')}}while(m=str.match(/{(.*?)}/)){str=str.replace(m[0],'" + ('+m[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")+') + "')}try{eval("oThis._contentFunction = function(row) { return "+str+"}")}catch(e){console.error("Unable to compile contentBody for %s: %o, string was: %s",this._objectName,e,str);this._contentFunction=function(){return"Error while compiling contentBody."}}};Quarix.Base.AbsContainer=function(B,A){Quarix.Base.AbsContainer.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,Quarix.Base.AbsContainer.defaultProperties);this._containerTarget=[];this._pageN=[];this._currentPage=-1;this._pageNode=[];this._titles=[];this._contentDOMNode=null;this._DOMClassPrefix="container";this._layoutManagers=[];this._layed=[];this._objectType="AbsContainer";this._canFocus=true;this._processObjectProperties();this._headerNodes=[];this._latePages=[];this._headerContainer=null;this.popups=[];this.popups.toolbars=[];this._intervals=[];this._interval=null;this._actionTarget=[];if(this._properties.loadIn){setTimeout(function(){var C;if(C=$Q(this._properties.loadIn)){C.loadPage(this)}}.bind(this),10)}this.onContextMenu=this._onContextMenu.bindAsEventListener(this)};Quarix.extend(Quarix.Base.AbsContainer,Quarix.Base.AbsVisualObject);Quarix.Base.AbsContainer.prototype.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;Quarix.Base.AbsContainer.prototype.PageTargetEvents=[Quarix.Links.Page.ChangeFolderPage];Quarix.Base.AbsContainer.defaultProperties={speed:1,animationInterval:20,initPage:0,hideOnInit:false,isWarningContext:false,pageTitleShow:true,loadIn:""};Quarix.Base.AbsContainer.prototype.createObjects=function(){try{var H,I=0,G=this._containerTarget.length,B,D=0,E;if(!this._isUIBuilt()){this._buildUI()}G=this._pageN.length;for(I=0;I<G;I++){B=this._pageN[I];D=0;E=B.length;if(this._layoutManagers[I]){this.setLayoutManager(this._getLayoutManagerInstance(this._layoutManagers[I],I),I)}else{this.setLayoutManager(this._getLayoutManagerInstance(null,I),I)}}this.publish(Quarix.Links.Container.CreateObjects);this._objectCreated=true;if(!this.getContainerSource()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}else{if(this.getContainerSource().getProperty("closeableTabs",false,true)&&this.getContainerSource() instanceof Quarix.Widgets.TabFolder){this._properties.isWarningContext=true}}}catch(F){console.error(F)}var C,A;for(var C=0;A=this.popups.toolbars[C];C++){if(!this.popups[A._objectPage]){Quarix.Util.generatePopupFromToolbar(this,A)}}delete this.popups.toolbars;if(!(this instanceof Quarix.Widgets.HeaderContainer)){Event.observe(this._domNode.domNode,"contextmenu",this.onContextMenu,false,this)}};Quarix.Base.AbsContainer.prototype._isUIBuilt=function(){var A="content_"+this._objectName;if(this._domNode&&this.getContentDOMNode()&&this._arePagesUIBuilt()){return true}var B;if(this._containerSource&&!this._containerSource.getLayoutManager()){console.warn("Container %s does not have a layout manager ",this.getContainerSource().getObjectName())}return(this._domNode&&this.getContentDOMNode()&&this._arePagesUIBuilt())};Quarix.Base.AbsContainer.prototype._arePagesUIBuilt=function(){var A=0,B=this._pageN.length;for(A;A<B;A++){if(!this._pageNode[A]){if(!this._UIScanForPage(A)){return false}}}return true};Quarix.Base.AbsContainer.prototype._UIScanForPage=function(A){var B;if(A==0){if(!this.getContentDOMNode()){return false}if(this._properties.singlePage){this._pageNode[0]=this._contentDOMNode;return true}B=this.getContentDOMNode().domNode.firstChild;while(B){if(B&&B.nodeName=="DIV"&&B.className.match(/\bpage\b/)){this._pageNode[A]=Quarix.UI.Element.get(B);return true}B=B.nextSibling}return false}else{B=this._pageNode[A-1];if(B){B=B.domNode.nextSibling;while(B){if(B&&B.nodeName=="DIV"&&B.className.match(/\bpage\b/)){this._pageNode[A]=Quarix.UI.Element.get(B);return true}B=B.nextSibling}return false}else{this._UIScanForPage(A-1)}}};Quarix.Base.AbsContainer.prototype._UIBuildPage=function(D){var A=0,C=this._pageN.length,E,F,B;if(this._pageNode[D]){return }E=Quarix.UI.Element.fromString('<div class="page pageNr_'+D+'" style="display:none;"></div>');F=Quarix.UI.Element.fromString('<div style="padding:0px;"></div>');F.domNode.appendChild(E.domNode);E._outerNode=F;if(D==0){this._contentDOMNode.domNode.appendChild(F.domNode)}else{B=this._pageNode[D-1];if(B){this._contentDOMNode.domNode.insertBefore(F.domNode,B.nextSibling||null)}else{this._UIBuildPage(D-1)}}this._pageNode[D]=E;if(this._legendNode&&this._legendNode.nextSibling){this._headerNodes[D]=this._legendNode.nextSibling}if(this._windowType!="inline"&&this._objectType!="ToolGroup"&&this._objectType!="SmartToolbar"){Quarix.Hotkeys.registerContext(E.domNode)}};Quarix.Base.AbsContainer.prototype._buildUI=function(){};Quarix.Base.AbsContainer.prototype.initializeObject=function(){Quarix.Base.AbsContainer.superclass.initializeObject.call(this);this._processVisualObjectProperties();if(!(this instanceof Quarix.Widgets.ToolGroup)&&this._pageN.length==1&&this._containerSource&&this._containerSource instanceof Quarix.Base.AbsContainer&&this._containerSource._pageN[this._objectPage].length==1&&!this._properties["class"]&&!this._loadedFromUrl){console.warn("Container %o is an extra intermediate since it has only one page and it's parent is also a container with only this object on the page (parent: %o, page: %o)",this._objectName,this._containerSource._objectName,this._objectPage)}this.publish(Quarix.Links.Container.InitializeObject);this._objectInitialized=true;if(!this._properties.hideOnInit){if(this._objectType=="SmartWindow"){this.viewObject(Quarix.EventManager.newEvent(this,"viewObject"))}if(this._pageN.length>0){for(var A=0;A<this._pageN.length;A++){this.publish(Quarix.Links.Action.StateChanged,Quarix.EventManager.newEvent(this,"stateChanged",{state:"pageAdded",pageNr:A,currentPage:this._currentPage,pageTitle:this._titles[A]}))}}this.selectPage(this._properties.initPage||0)}Quarix.EventManager.objectInit(this)};Quarix.Base.AbsContainer.prototype._getLayoutManagerInstance=function(A,C){if(typeof A=="undefined"||A==null){A=this.getProperty("layout","LineLayout")}if(typeof C=="undefined"){C=0}if(typeof A=="object"){return A}if(typeof A=="string"){if(Quarix.Layout[A]){return new Quarix.Layout[A](this,C)}else{console.warn("Unable to find layout manager %s for container %s",A,this.getObjectName());return new Quarix.Layout.LineLayout(this,C)}}else{if(typeof A=="function"){try{return new A(this,C)}catch(B){console.warn("Unable to load and create layout manager %s for container %s",A,this.getObjectName());return new Quarix.Layout.LineLayout(this,C)}}else{console.warn("Unable to understand layout manager %s for container %s",A,this.getObjectName());return new Quarix.Layout.LineLayout(this,C)}}};Quarix.Base.AbsContainer.prototype.addPage=function(G,B,F){if(isNaN(G)||(G<0)||(G>this._pageN.length)){console.error("Cannot add page number %o (%o) to %o. Next page number is %o.",G,F,this._objectName,this._pageN.length);return false}if(!this._pageN[G]){this._pageN[G]=[]}else{this._pageN.splice(G,0,[]);this._pageNode.splice(G,0,null);this._layed.splice(G,0,false);this._layoutManagers.splice(G,0,null);this._titles.splice(G,0,"");for(var E=G+1;E<this._pageN.length;E++){if(this._pageNode[E]){Element.removeClassName(this._pageNode[E].domNode,"pageNr_"+E);Element.addClassName(this._pageNode[E].domNode,"pageNr_"+(E+1));for(var D=0;D<this._pageN[E].length;D++){this._pageN[E][D]._objectPage++}}}}if(F){this._titles[G]=F}if(this._objectCreated){if(this._objectInitialized){var A=0,C=this._pageN.length;for(A;A<C;++A){if(!this._UIScanForPage(A)){this._UIBuildPage(A)}}}this.setLayoutManager(this._getLayoutManagerInstance(B,G),G);if(G==0){this.selectPage(0)}}else{this._layoutManagers[G]=B}if(this._headerContainer){this._headerContainer._addHeaderPage(G,F)}this.publish(Quarix.Links.Action.StateChanged,Quarix.EventManager.newEvent(this,"stateChanged",{state:"pageAdded",pageNr:G,currentPage:this._currentPage,pageTitle:this._titles[G]}));Quarix.Util.Trigger(this,"afterAddPage",[G])};Quarix.Base.AbsContainer.prototype._setSelectedPage=function(A){this._pageNode[A].domNode.style.display=""};Quarix.Base.AbsContainer.prototype.changeFolderPage=function(A){this.selectPage(A.page)};Quarix.Base.AbsContainer.prototype.getSelectedPage=function(){return this._currentPage};Quarix.Base.AbsContainer.prototype.selectPage=function(F){if(!this.isObjectInitialized()||(F<0)||(F>this._pageN.length-1)||(isNaN(F))||F==this._currentPage||(!this._objectEnabled&&this._currentPage>-1)){return }Quarix.Util.Trigger(this,"beforeSelectPage",[this._currentPage,F]);this.checkLateLoad(F);var A=0,B,E;var D=this._legendNode&&this._legendNode.innerHTML;this.publish(Quarix.Links.Page.SelectFolderPage);var C=this._currentPage;this._currentPage=F;if(this._pageN[C]){B=this._pageN[C].length;if(!this._objectHidden){for(;A<B;++A){this._pageN[C][A].hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}}this._pageNode[C].domNode.style.display="none"}if(!this._pageNode[F]){return }if(this._legendNode&&!this._headerContainer){if(this._titles[F]){this._legendNode.innerHTML=this._titles[F];this._domNode.domNode.className="showLegend "+this._domNode.domNode.className}else{if(D){this._legendNode.innerHTML="";this._domNode.domNode.className=this._domNode.domNode.className.replace("showLegend ","")}}}this._setSelectedPage(F);A=0;B=this._pageN[F].length;if(!this._objectHidden){for(;A<B;++A){E=this._pageN[F][A];if(E&&E._objectType!="SmartWindow"){E.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}}}if(!this._objectHidden&&!this._layed[this._currentPage]){this._layoutManagers[this._currentPage].layout();this._layed[this._currentPage]=true}if(this._headerContainer){this._headerContainer.selectPage(F)}this.publish(Quarix.Links.Action.StateChanged,Quarix.EventManager.newEvent(this,"stateChanged",{state:"pageSelected",pageNr:F,currentPage:this._currentPage,pageTitle:this._titles[F]}));Quarix.Util.Trigger(this,"afterSelectPage",[this._currentPage,F])};Quarix.Base.AbsContainer.prototype.deletePage=function(D){if((D>this._pageN.length-1)||(isNaN(D))){console.warn("Unable to delete page "+D);return false}if(this.confirmExit(Quarix.EventManager.newEvent(this,"confirmExit",{confirmed:false,page:D}))){return false}Quarix.Util.Trigger(this,"beforeDeletePage",[D]);if(this._headerContainer){this._headerContainer.deletePage(D)}var A=0,B=this._pageN[D].length;this.publish(Quarix.Links.Page.DeleteFolderPage);if(D==this._currentPage){if(D<this._pageN.length-1){this.selectPage(D+1)}else{this.selectPage(D-1)}}for(;A<B;++A){this._pageN[D][A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject));this._containerTarget.splice(this._containerTarget.indexOf(this._pageN[D][A]),1)}for(A=D+1;A<this._pageN.length;A++){for(var C=0;C<this._pageN[A].length;C++){this._pageN[A][C]._objectPage--}}this._layoutManagers[D].destroy();this._layoutManagers[D]=null;this._layoutManagers.splice(D,1);this._pageN.splice(D,1);this._pageNode[D].domNode.parentNode.removeChild(this._pageNode[D].domNode);this._pageNode.splice(D,1);this.publish(Quarix.Links.Action.StateChanged,Quarix.EventManager.newEvent(this,"stateChanged",{state:"pageDeleted",pageNr:D,currentPage:this._currentPage,pageTitle:this._titles[D]}));return true};Quarix.Base.AbsContainer.prototype.getContainerTarget=function(){return this._containerTarget};Quarix.Base.AbsContainer.prototype.addContainerTarget=function(A){if(this._containerTarget.indexOf(A)!=-1){return }this._containerTarget.push(A);var B=A._objectPage;if(A instanceof Quarix.Widgets.PopupMenu){if(this.popups[B]){if(this.popups[B]._objectName=="generated-popup-for-"+this._objectName+"-"+B){console.warn("AbsContainer %o has a toolbar added to page %o before a popup. For performance reasons, change the order.",this,B)}else{console.warn("AbsContainer %o has two popups added to page %o. The first one will be destroyed.",this,B)}this.popups[B].destroyObject()}this.popups[B]=A}else{if(!(A instanceof Quarix.Widgets.HeaderContainer)){while(this._pageN.length<=B||this._pageN[B]==null){this.addPage(this._pageN.length,null,"")}this._pageN[B].push(A);this._layed[B]=false}else{if(A instanceof Quarix.Widgets.HeaderContainer){this._headerContainer=A}}}this.addLink(Quarix.Links.Container,A);if(A._objectType!="SmartWindow"){A._windowName=this._windowName;A._propagateWindowName()}if(this._objectCreated&&!A._objectCreated){A.createObjects()}if(this._objectInitialized&&!A._objectInitialized){A.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject));if(!this._objectHidden&&((this._pageVisibility&&this._pageVisibility[B])||(B==this._currentPage))){A.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}else{A.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}}if(A instanceof Quarix.Widgets.Toolbar&&!this.popups[B]){this.popups.toolbars.push(A)}};Quarix.Base.AbsContainer.prototype.removeContainerTarget=function(B){var A=this._containerTarget.indexOf(B);if(A!=-1){this._containerTarget.splice(A,1)}if(B instanceof Quarix.Widgets.PopupMenu){if(this.popups[B._objectPage]==B){this.popups[B._objectPage]=null}}else{if(!(B instanceof Quarix.Widgets.HeaderContainer)){var C=B.getObjectPage();if(this._pageN[C]&&(A=this._pageN[C].indexOf(B))>-1){this._pageN[C].splice(A,1);this._layed[C]=false}}}};Quarix.Base.AbsContainer.prototype.enableObject=function(){Quarix.Base.AbsContainer.superclass.enableObject.call(this);this.publish(Quarix.Links.Container.EnableObject)};Quarix.Base.AbsContainer.prototype.disableObject=function(){Quarix.Base.AbsContainer.superclass.disableObject.call(this);this.publish(Quarix.Links.Container.DisableObject)};Quarix.Base.AbsContainer.prototype.hideObject=function(){Quarix.Base.AbsContainer.superclass.hideObject.call(this);this.publish(Quarix.Links.Container.HideObject)};Quarix.Base.AbsContainer.prototype.viewObject=function(B){if(this._properties.hide||!this._objectHidden){return }Quarix.Base.AbsContainer.superclass.viewObject.call(this,B);if(this._currentPage==-1){this.selectPage(this._properties.initialPage||0)}else{if(!this._layed[this._currentPage]){this._layoutManagers[this._currentPage].layout();this._layed[this._currentPage]=true}if(this._headerContainer){this._headerContainer.viewObject()}for(var A=0,C=this._pageN[this._currentPage].length;A<C;++A){if(this._pageN[this._currentPage][A]._objectType!="SmartWindow"){try{this._pageN[this._currentPage][A].viewObject(B)}catch(E){console.error("Exception in %o->%o (%o): %o",this._objectName,this._pageN[this._currentPage][A]._objectName,"viewObject",E.message);throw E}}}this.resize(Quarix.EventManager.newEvent(this,"resize"));if(this._pageVisibility){for(var D=0;D<this._pageVisibility.length;D++){if(this._pageVisibility[D]){for(var A=0,C=this._pageN[D].length;A<C;++A){if(this._pageN[D][A]._objectType!="SmartWindow"){try{this._pageN[D][A].viewObject(B)}catch(E){console.error("Exception in %o->%o (%o): %o",this._objectName,this._pageN[D][A]._objectName,"viewObject",E.message);throw E}}}}}}}};Quarix.Base.AbsContainer.prototype.getActionTarget=function(){return this._actionTarget};Quarix.Base.AbsContainer.prototype.addActionTarget=function(A){this._actionTarget.push(A)};Quarix.Base.AbsContainer.prototype.removeActionTarget=function(B){var A=0;while((this._actionTarget[A]!=null)&&(this._actionTarget[A]!=B)){++A}this._actionTarget.splice(A,1)};Quarix.Base.AbsContainer.prototype.applyEntry=function(){if(this.getProperty("firstEntryField",false,true)){var D=Quarix.Register.get(this.getProperty("firstEntryField",null,true));if(D){D.applyEntry()}}else{var A=0,E,C;if(this._pageN[this._currentPage]){var B=this._pageN[this._currentPage].length;for(;A<B;++A){E=this._pageN[this._currentPage][A];if(E&&E._objectType!="SmartWindow"&&E.canFocus()){C=E.applyEntry();if(typeof C=="undefined"||C===true){return true}}}}if(this.getToolbar&&this.getToolbar()){return this.getToolbar().applyEntry()}return false}};Quarix.Base.AbsContainer.prototype.destroyObject=function(){if(this._properties.hideOnDestroy){this.setContainerSource(null);this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));return }try{this.publish(Quarix.Links.Container.DestroyObject)}catch(A){console.error(A)}if(this._domNode&&this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode)}Quarix.Base.AbsContainer.superclass.destroyObject.call(this)};Quarix.Base.AbsContainer.prototype._setHandleKeyEvents=function(B){if(this._hotkeysHandled){return }this._hotkeysHandled=true;var A=this;Quarix.Hotkeys.registerContext(this._domNode.domNode);Quarix.Hotkeys.addAccessKey(this,"ENTER",function(){if(A.confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))||this._objectType=="SmartWindow"){throw $continue}},"Confirm Ok",null);Quarix.Hotkeys.addAccessKey(this,"ESC",function(){if(A.confirmCancel(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))||this._objectType=="SmartWindow"){throw $continue}},"Confirm Cancel",null);this._domNode.domNode.hotkeyContextIsLocked=true};Quarix.Base.AbsContainer.prototype._handleKeyEvents=function(A){if(A.keyCode==Event.KEY_RETURN){if(!this.confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))||this._objectType=="SmartWindow"){Event.stop(A)}}else{if(A.keyCode==Event.KEY_ESC){if(!this.confirmCancel(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmCancel))||this._objectType=="SmartWindow"){Event.stop(A)}}}};Quarix.Base.AbsContainer.prototype.confirmExit=function(A){if(!A){throw new Error("no evtObj")}var C=0,G=this._pageN.length,B=0,E,F;if(typeof A.page!="undefined"){if(A.page>-1&&A.page<G){C=A.page,G=A.page+1}else{throw new Error("Invalid page number passed to AbsContainer.confirmExit: %o",A.page)}}A.confirm=false;for(;C<G;++C){E=this._pageN[C].length;for(B=0;B<E&&!A.confirm;B++){var D=A.page;delete A.page;F=this._pageN[C][B].confirmExit(A);A.page=D;if(typeof F!="undefined"){A.confirm=F}}}return A.confirm};Quarix.Base.AbsContainer.prototype.confirmCancel=function(){var B=0,E=this._pageN.length,A=0,C;var D=true;for(;B<E;++B){C=this._pageN[B].length;for(A=0;A<C&&D;A++){D=(D&&(this._pageN[B][A].confirmCancel(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmCancel))===true));if(!D){return false}}}return D};Quarix.Base.AbsContainer.prototype.confirmOk=function(){var C=0,F=this._pageN.length,A=0,D;var B=true;if(this._currentPage>0){D=this._pageN[this._currentPage].length;for(A=0;A<D&&B;A++){try{B=B&&((this._pageN[this._currentPage][A].confirmOk&&this._pageN[this._currentPage][A].confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))===true));if(!B){return false}}catch(E){console.error(E)}}}for(;C<F;C++){if(C==this._currentPage&&C!=0){continue}D=this._pageN[C].length;for(A=0;A<D&&B;A++){try{B=B&&((this._pageN[C][A].confirmOk&&this._pageN[C][A].confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))===true));if(!B){return false}}catch(E){console.error(E)}}}return B};Quarix.Base.AbsContainer.prototype.exitObject=function(){this.publish(Quarix.Links.Container.ExitObject)};Quarix.Base.AbsContainer.prototype.setContentDOMNode=function(A){if(typeof A=="string"){A=Quarix.UI.Element.get(A)}this._contentDOMNode=A};Quarix.Base.AbsContainer.prototype.getContentDOMNode=function(){return this._contentDOMNode};Quarix.Base.AbsContainer.prototype.getObjectsByType=function(D){var E=[],B,A,C;for(B=0,A=this._containerTarget.length;B<A;B++){C=this._containerTarget[B];if(C._objectType==D){E.push(C)}if(C._objectType=="AbsContainer"){E=E.concat(C.getObjectsByType(D))}}return E};Quarix.Base.AbsContainer.prototype.setLayoutManager=function(B,A){if(!A){A=0}this._layoutManagers[A]=B;this._layed[A]=false};Quarix.Base.AbsContainer.prototype.getLayoutManager=function(A){if(!A){A=0}return this._layoutManagers[A]};Quarix.Base.AbsContainer.resizes=0;Quarix.Base.AbsContainer.prototype.resize=function(){if(!this._objectCreated){return }Quarix.Base.AbsContainer.resizes++;var G,F,C,A=this._domNode.domNode,J=A.offsetWidth,I=A.offsetHeight,H=this.getContentDOMNode,D,B;if(H&&(H=this.getContentDOMNode())!=this._domNode){D=H.getWidth(true);B=H.getHeight(true)}else{D=-1;B=-1}if(this._layoutManagers[this._currentPage]&&this._layoutManagers[this._currentPage].layout){this._layoutManagers[this._currentPage].layout();this._layed[this._currentPage]=true}this._resizeInfo={lastWidth:J,lastHeight:I,lastContentWidth:D,lastContentHeight:B};if(this._objectType=="Accordion"){for(C=0;C<this._headerNodes.length;C++){this._headerNodes[C].style.display="none"}for(G=0;G<this._pageN.length;G++){var E=this._headerNodes[G]&&this._headerNodes[G].className.match(/\bselected\b/);if(E){for(F=0;F<this._pageN[G].length;F++){if(this._pageN[G][F].resize&&this._pageN[G][F]._objectType!="SmartWindow"){this._pageN[G][F].hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}}}}for(G=0;G<this._pageN.length;G++){var E=this._headerNodes[G]&&this._headerNodes[G].className.match(/\bselected\b/);if(E){for(F=0;F<this._pageN[G].length;F++){if(this._pageN[G][F].resize&&this._pageN[G][F]._objectType!="SmartWindow"){this._pageN[G][F].viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}}}}}else{if(this._pageN[this._currentPage]){for(G=0;G<this._pageN[this._currentPage].length;G++){if(this._pageN[this._currentPage][G].resize&&this._pageN[this._currentPage][G]._objectType!="SmartWindow"){this._pageN[this._currentPage][G].resize(Quarix.EventManager.newEvent(this,Quarix.Links.Container.Resize))}}}}};Quarix.Base.AbsContainer.prototype.colapsePage=function(B){if(typeof (B)=="undefined"){B=this._currentPage}if(!this.isObjectInitialized()||(B<0)||(B>this._pageN.length-1)||(isNaN(B))||(!this._objectEnabled&&this._currentPage>-1)){return }if(!this._properties.skipAnimation){var A=new Object();A.duration=this._properties.speed?this._properties.speed:1;this._pageAnimation(B,A)}else{this._pageNode[B].setDisplayed(false)}if(!this._domNode.hasClassName("colapsed")){this._domNode.addClassName("colapsed")}Quarix.Util.Trigger(this,"onPageColapsed",[B])};Quarix.Base.AbsContainer.prototype.expandPage=function(B){if(typeof (B)=="undefined"){B=this._currentPage}if(!this.isObjectInitialized()||(B<0)||(B>this._pageN.length-1)||(isNaN(B))||(!this._objectEnabled&&this._currentPage>-1)){return }this._pageNode[B].setDisplayed(true);if(!this._properties.skipAnimation){var A=new Object();A.duration=this._properties.speed?this._properties.speed:1;this._pageAnimation(B,A)}if(this._domNode.hasClassName("colapsed")){this._domNode.removeClassName("colapsed")}Quarix.Util.Trigger(this,"onPageExpanded",[B])};Quarix.Base.AbsContainer.prototype.isPageColapsed=function(){if(!this.isObjectInitialized()||(!this._objectEnabled&&this._currentPage>-1)){return false}return this._domNode.hasClassName("colapsed")};Quarix.Base.AbsContainer.prototype._pageAnimation=function(D,A){var B=this._headerNodes[D]&&this._headerNodes[D].className.match(/\bselected\b/);var C=this._pageNode[D]._outerNode.domNode;B?Effect.BlindUp(C,A):Effect.BlindDown(C,A)};Quarix.Base.AbsContainer.prototype.checkLateLoad=function(D){if(this._latePages[D]){var A=this._latePages[D][0],B=this._latePages[D][1];this._latePages[D]=null;if(B.indexOf("/")==-1){B=Quarix.Globals.APP_PATH+"/page/"+B+"/paint"}var C=this._pageN.length?this:this._containerSource instanceof Quarix.Widgets.Splitter?this._domNode.domNode.parentNode.parentNode:this._domNode.domNode.parentNode||null;if(C){Quarix.Util.BlockWindow(C,2)}Quarix.Util.EvalUrl(B,null,(function(){if(C){Quarix.Util.BlockWindow(C,3)}var E;if(E=$Q(A)){E._loadedFromUrl=true;E._objectPage=idx;this.addLink(Quarix.Links.Container.CreateObjects,E)}else{console.error("[Container.loadPage (late)] Unable to load container "+A+" (page "+D+") from "+B)}if(C){Quarix.Util.ClearWindow(C)}}).bind(this))}};Quarix.Base.AbsContainer.prototype.loadPage=function(E,F,H,D,C){if(typeof E=="string"){var B=$Q(E)}else{B=E}if(B){if(B._containerSource==this){this.selectPage(B._objectPage);return }var A=this._pageNode.length;if(D){A=this._currentPage+1}this.addPage(A,"LineLayout",H||B._properties.title||"");B._objectPage=A;this.addLink(Quarix.Links.Container.CreateObjects,B);this.selectPage(A)}else{if(!C){if(F.indexOf("/")==-1){F=Quarix.Globals.APP_PATH+"/page/"+F+"/paint"}var G=this._pageN.length?this:this._containerSource instanceof Quarix.Widgets.Splitter?this._domNode.domNode.parentNode.parentNode:this._domNode.domNode.parentNode||null;if(G){Quarix.Util.BlockWindow(G,2)}Quarix.Util.EvalUrl(F,null,(function(){if(G){Quarix.Util.BlockWindow(G,3)}var I;if(I=$Q(E)){I._loadedFromUrl=true;this.loadPage(E,F,H)}else{console.error("[Container.loadPage] Unable to load container "+E+" (page "+H+") from "+F)}if(G){Quarix.Util.ClearWindow(G)}}).bind(this))}else{var A=this._pageNode.length;if(D){A=this._currentPage+1}this.addPage(A,"LineLayout",H||"");this._latePages[A]=[E,F]}}};Quarix.Base.AbsContainer.prototype.getContainerContext=function(){var A=this;if(A.getProperty("isWarningContext",false,true)){return A}A=this.getContainerSource();while(A){if(A.getProperty("isWarningContext",false,true)){return A}A=A.getContainerSource()}return Quarix.Globals.ROOT_WINDOW};Quarix.Base.AbsContainer.prototype._onContextMenu=function(A){if(this.popups[this._currentPage]){this.popups[this._currentPage].pop(A)}};Quarix.Widgets.Container=function(B,A){Quarix.Widgets.Container.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,this.constructor.defaultProperties);this._borders=[];this._borderType=Quarix.UI.Border.NONE;this._legendNode=null;this._imgClose=null};Quarix.extend(Quarix.Widgets.Container,Quarix.Base.AbsContainer);Quarix.Widgets.Container.defaultProperties={handleConfirms:true,noBorder:false};Quarix.Widgets.Container.prototype._useContainerHead=true;Quarix.Widgets.Container.prototype._isUIBuilt=function(){return Quarix.Widgets.Container.superclass._isUIBuilt.call(this)&&(this._properties.noBorder||this._borders.length==3)};Quarix.Widgets.Container.prototype.createObjects=function(){Quarix.Widgets.Container.superclass.createObjects.call(this)};Quarix.Widgets.Container.prototype._buildUI=function(){var I,C,H=0,D=this._pageN.length,B;if(!this._domNode){var J="",G="";var F=["minWidth","width","maxWidth","minHeight","height","maxHeight"];var E=["min-width","width","max-width","min-height","height","max-height"];for(var A=0;A<F.length;A++){if(this._properties[F[A]]){if(typeof this._properties[F[A]]=="string"){if(this._properties[F[A]].indexOf("%")>-1){G+=E[A]+": "+this._properties[F[A]]+"; "}else{J+=E[A]+": "+this._properties[F[A]]+(this._properties[F[A]].match(/^\d+$/)?"px":"")+"; "}}else{J+=E[A]+": "+this._properties[F[A]]+"px; "}}}this._domNode=Quarix.UI.Element.fromString(['<fieldset class="{class}',this._properties["class"]?" "+this._properties["class"]:"",'" id="',this._objectName,'" style="',G,(this._properties.hideOnInit||this._properties.hide)?"display:none; ":"",J,'"><legend></legend>',this._useContainerHead?['<div class="containerHead">','<span class="cHR" style="float:right;display:-moz-inline-box;display:inline-block;text-align:right"></span>','<span class="cHL" style="display:-moz-inline-box;display:inline-block;text-aling:left"></span>','<span class="cHC" style="display:-moz-inline-box;display:inline-block;"></span>',"</div>"].join(""):"",this._properties.noBorder?"":'<div class="{class}B1"><div class="{class}B2"><div class="{class}B3">',this._properties.singlePage?"":'<div id="content'+this._objectName+'" class="{class}Content"></div>',this._properties.noBorder?"":"</div></div></div>","</fieldset>"].join("").replace(/{class}/g,this._DOMClassPrefix));this._legendNode=this._domNode.domNode.firstChild;if(!this._properties.noBorder){this._borders[0]=new Quarix.UI.Element(this._useContainerHead?this._legendNode.nextSibling.nextSibling:this._legendNode.nextSibling);this._borders[1]=new Quarix.UI.Element(this._borders[0].domNode.firstChild);this._borders[2]=new Quarix.UI.Element(this._borders[1].domNode.firstChild);I=this._borders[2].domNode}else{I=this._domNode.domNode}if(!this._properties.singlePage){I=I.lastChild}this.setContentDOMNode(Quarix.UI.Element.get(I));if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}}else{this._domNode.domNode.style.display="none"}I=this._domNode.domNode;if(!this.getContentDOMNode()){if(!this._properties.noBorder){this._borders[0]=Quarix.UI.Element.fromString('<div class="'+this._DOMClassPrefix+'B1"><div class="'+this._DOMClassPrefix+'B2"><div class="'+this._DOMClassPrefix+'B3"></div></div></div>');this._domNode.domNode.appendChild(this._borders[0].domNode);this._borders[1]=new Quarix.UI.Element(this._borders[0].domNode.firstChild);this._borders[2]=new Quarix.UI.Element(this._borders[1].domNode.firstChild)}if(this._properties.singlePage){I=this._domNode}else{I=document.createElement("DIV");I.id="content"+this._objectName;I.className=this._DOMClassPrefix+"Content";if(!this._properties.noBorder){this._borders[2].domNode.appendChild(I)}else{this._domNode.domNode.appendChild(I)}}this.setContentDOMNode(Quarix.UI.Element.get(I))}if(this._objectType!="SmartWindow"){this._domNode.domNode.style.minWidth=this.getProperty("minWidth",51)+"px"}if(this._properties.handleConfirms){this._setHandleKeyEvents()}for(H=0;H<D;++H){if(!this._UIScanForPage(H)){this._UIBuildPage(H)}}this._applyCloseableTabs()};Quarix.Widgets.Container.prototype._processVisualObjectProperties=function(){Quarix.Widgets.Container.superclass._processVisualObjectProperties.call(this);if(this._properties.border){if(this._properties.border==Quarix.UI.Border.SOLID){this.setBorder(Quarix.UI.Border.SOLID,this._properties.borderColor||Quarix.Theme.BorderColor,this._properties.borderWidth||1)}else{this.setBorder(this._properties.border||Quarix.UI.Border.NONE)}}if(typeof this._properties.backgroundColor!="undefined"){this.setBackgroundColor(this._properties.backgroundColor)}};Quarix.Widgets.Container.prototype.setBorder=function(_borderType,_borderColor,_borderWidth){if(!this._borders||this._borders.length==0){return }if(this._properties["class"]&&Quarix.Theme.NoBorderForClass&&Quarix.Theme.NoBorderForClass.indexOf(this._properties["class"])!=-1){return }if(typeof _borderColor=="string"&&_borderColor.indexOf("Quarix")!=-1){_borderColor=eval(_borderColor)}Quarix.UI.Border.DrawBorder(this._borders,_borderType,_borderColor,_borderWidth);this._borderType=_borderType};Quarix.Widgets.Container.prototype.getBorderType=function(){return this._borderType};Quarix.Widgets.Container.prototype.setBackgroundColor=function(_color){if(this._properties["class"]&&Quarix.Theme.NoBackgroundForClass&&Quarix.Theme.NoBackgroundForClass.indexOf(this._properties["class"])!=-1){return }if(typeof _color=="string"&&_color.indexOf("Quarix")!=-1){_color=eval(_color)}this._properties.backgroundColor=_color;var t;if(t=this.getContentDOMNode()){t.domNode.style.background=_color}};Quarix.Widgets.Container.prototype.getBackgroundColor=function(){return this._properties.backgroundColor||Quarix.Theme.PanelBackground};Quarix.Widgets.Container.prototype._applyCloseableTabs=function(){var C,D,B,A,E;if((C=this.getContentDOMNode())&&(C=C.domNode)&&C.firstChild){if(this.getProperty("closeable")){if(!C.className.match(/\bcloseableTabs\b/)){C.className+=" closeableTabs";C.firstChild.appendChild(A=document.createElement("div"));A.align="right";A.appendChild(B=document.createElement("span"));B.appendChild(E=document.createElement("img"));E.src=Quarix.Theme.PJCloseImage;this._imgClose=E;Event.observe(E,"mouseover",this._mouseover.bindAsEventListener(this));Event.observe(E,"mouseout",this._mouseout.bindAsEventListener(this));Event.observe(E,"click",this._destroyObject.bindAsEventListener(this))}}else{if(C.className.match(/\bcloseableTabs\b/)){C.className=C.className.replace(" closeableTabs","")}}}};Quarix.Widgets.Container.prototype._destroyObject=function(){Quarix.Widgets.Container.superclass.destroyObject.call(this)};Quarix.Widgets.Container.prototype._mouseover=function(){this._imgClose.src=Quarix.Theme.PJCloseImageHoover};Quarix.Widgets.Container.prototype._mouseout=function(){this._imgClose.src=Quarix.Theme.PJCloseImage};Quarix.Widgets.TabFolder=function(B,A){Quarix.Widgets.TabFolder.superclass.constructor.call(this,B,A);this._tabPane=null;this._DOMClassPrefix="smartFolder"};Quarix.extend(Quarix.Widgets.TabFolder,Quarix.Base.AbsContainer);Quarix.Widgets.TabFolder.prototype._buildUI=function(){var C,E,A=0,B=this._pageN.length;var D;for(A;A<B;++A){if(!this._UIScanForPage(A)){this._UIBuildPage(A)}}};Quarix.Widgets.TabFolder.prototype.createObjects=function(){this._domNode=Quarix.UI.Element.fromString('<div class="'+this._DOMClassPrefix+(this._properties["class"]?" "+this._properties["class"]:"")+'" id="'+this._objectName+'" tabindex="-1" style="'+(this._pageN.length?"":"visibility: hidden")+'"><div class="tab-pane '+this._DOMClassPrefix+'Content" tabindex="-1" id="content_'+this._objectName+'"></div></div>');if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}this._setHandleKeyEvents();this.setContentDOMNode(new Quarix.UI.Element(this._domNode.domNode.firstChild));this._tabPane=new WebFXTabPane(this.getContentDOMNode().domNode,this);Quarix.Widgets.TabFolder.superclass.createObjects.call(this);this._applyCloseableTabs()};Quarix.Widgets.TabFolder.prototype._UIScanForPage=function(A){return this._objectInitialized&&A<this._tabPane.pages.length};Quarix.Widgets.TabFolder.prototype._UIBuildPage=function(A){var B=Quarix.UI.Element.fromString('<div class="page tab-page" style="display: none"><div class="pageInner"></div><span class="tab">'+(this._titles[A]||"")+"</span></div>");if(this._properties.minWidth){B.domNode.style.minWidth=this._properties.minWidth+"px"}if(this._properties.width){B.domNode.style.width=this._properties.width+"px"}if(this._properties.maxWidth){B.domNode.style.maxWidth=this._properties.maxWidth+"px"}this._contentDOMNode.domNode.appendChild(B.domNode);this._tabPane.addTabPage(B.domNode,A);this._pageNode[A]=new Quarix.UI.Element(B.domNode.firstChild);Quarix.Hotkeys.registerContext(this._pageNode[A].domNode)};Quarix.Widgets.TabFolder.prototype.initializeObject=function(A){Quarix.Widgets.TabFolder.superclass.initializeObject.call(this,A);this._checkTabMenuVisib()};Quarix.Widgets.TabFolder.prototype.viewObject=function(A){Quarix.Widgets.TabFolder.superclass.viewObject.call(this,A);this._checkTabMenuVisib()};Quarix.Widgets.TabFolder.prototype.resize=function(){Quarix.Widgets.TabFolder.superclass.resize.call(this);this._checkTabMenuVisib()};Quarix.Widgets.TabFolder.prototype._checkTabMenuVisib=function(){if(!this._domNode){return }var B=this._domNode.domNode.offsetWidth;if(!B){return }var C=this.getContentDOMNode().domNode;var A=({"true":"","false":"none"})[C.childNodes[1].scrollWidth>B];if(A!=C.firstChild.style.display){C.firstChild.style.display=A}};Quarix.Widgets.TabFolder.prototype.getFolderPage=function(){return this._currentPage};Quarix.Widgets.TabFolder.prototype.getHContainer=function(){return this.getContentDOMNode()};Quarix.Widgets.TabFolder.prototype.enableObject=function(){Quarix.Widgets.TabFolder.superclass.enableObject.call(this);this.publish(Quarix.Links.Container.EnableObject);this._tabPane._enabled=true};Quarix.Widgets.TabFolder.prototype.disableObject=function(){Quarix.Widgets.TabFolder.superclass.disableObject.call(this);this.publish(Quarix.Links.Container.DisableObject);this._tabPane._enabled=false};Quarix.Widgets.TabFolder.prototype.hideObject=function(){Quarix.Widgets.TabFolder.superclass.hideObject.call(this);if(this._tabPane.popup){this._tabPane.popup.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Widgets.TabFolder.prototype.addPage=function(C,A,B){if(this._objectInitialized&&this._pageN.length==0){this._domNode.domNode.style.visibility=""}Quarix.Widgets.TabFolder.superclass.addPage.call(this,C,A,B);this._checkTabMenuVisib()};Quarix.Widgets.TabFolder.prototype._setSelectedPage=function(A){Quarix.Widgets.TabFolder.superclass._setSelectedPage.call(this,A);this._tabPane._setSelectedIndex(A)};Quarix.Widgets.TabFolder.prototype.selectPage=function(C){var B=this._currentPage==-1,A;Quarix.Widgets.TabFolder.superclass.selectPage.call(this,C);if(B&&(A=$Q(this._windowName))&&A._objectInitialized&&!A._objectHidden&&!this._objectHidden&&this._objectInitialized){A.scheduleResize()}if((C<0)||(C>this._pageN.length-1)||(isNaN(C))){return }if(!this._objectEnabled){return }if(!this._objectHidden&&!this._layed[C]){this._layoutManagers[C].layout()}Quarix.WarningManager.checkFocus(this._containerTarget[C+1])};Quarix.Widgets.TabFolder.prototype.deletePage=function(C){var A=C+1,B=this._tabPane.pages.length;if(typeof C=="number"&&C>=0&&C<B){this._pageNode[C]=Quarix.UI.Element.get(this._pageNode[C].domNode.parentNode);if(!Quarix.Widgets.TabFolder.superclass.deletePage.call(this,C)){this._pageNode[C]=Quarix.UI.Element.get(this._pageNode[C].domNode.firstChild);return false}if(this._tabPane.selectedIndex>=C){--this._currentPage}this._tabPane.deletePage(C)}if(this._objectInitialized&&this._pageN.length==0){this._domNode.domNode.style.visibility="hidden"}else{this._checkTabMenuVisib()}return true};Quarix.Widgets.TabFolder.prototype.setCloseableTabs=function(A){if(this._properties.closeableTabs==A){return }this._properties.closeableTabs=A;this._applyCloseableTabs()};Quarix.Widgets.TabFolder.prototype._applyCloseableTabs=function(){var B,A;if((B=this._domNode)&&B.domNode.firstChild&&(A=B.domNode.firstChild.firstChild)&&(A=A.nextSibling)){if(this.getProperty("closeableTabs")){if(!A.className.match(/\bcloseableTabs\b/)){A.className+=" closeableTabs"}else{if(A.className.match(/\bcloseableTabs\b/)){A.className=A.className.replace(" closeableTabs","")}}}}};Quarix.Widgets.TabFolder.prototype.exitObject=function(A){if(this._properties.closeableTabs&&this._containerTarget.indexOf(A.source)>-1&&this._pageN[A.source._objectPage].length==1){this.deletePage(A.source._objectPage)}else{Quarix.Widgets.TabFolder.superclass.exitObject.call(this,A)}};Quarix.Widgets.Splitter=function(E,D){Quarix.Widgets.Splitter.superclass.constructor.call(this,E,D);this._objectType="Splitter";this._classPrefix="splitter";this._headerNodes=[];if(!this._properties){this._properties={}}this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Splitter.defaultProperties);if(!this._properties.speed){this._properties.speed=1}var B,A;for(A=0,B=["minSize","maxSize","size","containers","titles"];A<B.length;A++){if(!this._properties[B[A]]){this._properties[B[A]]=[null,null]}}if(!this._properties.canHide){this._properties.canHide=[true,true]}if(typeof this._properties.titles=="string"){this._properties.titles=this._properties.titles.split(",");for(var C=0;C<this._properties.titles.length;C++){if(this._properties.titles[C]=="null"){this._properties.titles[C]=null}}}for(var C=0;C<this._properties.containers.length;C++){if(this._properties.containers[C]&&typeof this._properties.containers[C]=="object"&&this._properties.containers[C].id){this._properties.minSize[C]=this._properties.containers[C].minSize||"";this._properties.maxSize[C]=this._properties.containers[C].maxSize||"";this._properties.size[C]=this._properties.containers[C].size||"";this._properties.titles[C]=this._properties.containers[C].title||"";this._properties.containers[C]=this._properties.containers[C].id}}this._checkSize("size");this._checkSize("maxSize");this._checkSize("minSize");this._layoutNodes=[];this._contentNodes=[];this._resizeNodes=[];this._showBars=[];this.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;this.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;this._resize={h:{name:"Width",sname:"width",a:"Left",al:"left",b:"Right",ptr:"pointerX",idx:0,cursor:"e-resize",x:"x",X:"X"},v:{name:"Height",sname:"height",a:"Top",al:"top",b:"Bottom",ptr:"pointerY",idx:1,cursor:"s-resize",x:"y",X:"Y"},resizing:false,expectingClick:false,nodeIdx:null,backupSize:null,startPos:null,startSize:null};this._resize.h.other=this._resize.v;this._resize.v.other=this._resize.h;this._onBeginResizeCol=this._beginResize.bind(this);this._onUpdateResizeCol=this._updateResize.bind(this);this._onEndResizeCol=this._endResize.bind(this);this._onCancelResizeCol=this._cancelResize.bind(this);this._onClick=this._eventClick.bind(this);this._onShowBarClick=this._showBarClick.bind(this);this._onShowButtonClick=this._showButtonClick.bind(this);this._onHideButtonClick=this._hideButtonClick.bind(this);this._processObjectProperties();this._canFocus=false;for(B in this._properties){if(A=B.match(/^container(\d+)$/)){while(this._properties.containers.length<parseInt(A[1])){this._properties.containers.push(null)}this._properties.containers[parseInt(A[1])]=this._properties[B];delete this._properties[B]}}this._lastTheme=null;this._colapsed=false};Quarix.extend(Quarix.Widgets.Splitter,Quarix.Base.AbsVisualObject);Quarix.Widgets.Splitter.defaultProperties={direction:"h",mainContainerIdx:0,resizable:true,width:null,height:null,speed:0,animationInterval:20,_selfStruct:{containers:{type:"AbsContainer[]"},height:{type:"size"},width:{type:"size"}}};Quarix.Widgets.Splitter.prototype._sizes={dividerWidth:5,showBarWidth:20,showBarDeltaHeight:4,lastTheme:null};Quarix.Widgets.Splitter.prototype.createObjects=function(){Quarix.Widgets.Splitter.superclass.createObjects.call(this);if(!this._sizes.lastTheme){this._makeSizes()}this._buildUI();this._objectCreated=true;this._processVisualObjectProperties();var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&typeof this._properties.containers[A]=="object"){this._properties.containers[A]._windowName=this._windowName;this._properties.containers[A]._propagateWindowName();this._properties.containers[A].createObjects()}}};Quarix.Widgets.Splitter.prototype.initializeObject=function(){Quarix.Widgets.Splitter.superclass.initializeObject.call(this);this._objectInitialized=true;var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&typeof this._properties.containers[A]=="object"){try{this._properties.containers[A].initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}catch(B){console.error("Exception in %o->%o (%o): %o",this._objectName,this._properties.containers[A]._objectName,"initializeObject",B.message);throw B}}}if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,"viewObject"))}};Quarix.Widgets.Splitter.prototype._makeSizes=function(){this._sizes.lastTheme=Quarix.Theme;var C=document.body.appendChild(document.createElement("div"));C.innerHTML='<table class="splitter" cellspacing="0" style="width: auto"><tbody valign="top"><tr><td><div class="resizer" style="height: 20px"></div><div class="pageSplit" style="height: 20px, width: 20px"><div class="pageHead vertical"></div></div><div class="showBar" style="height: 20px"><div class="right toolButton">&#187;</div></div></td><td><div>&nbsp;</div></td></tr></tbody></table>';var B=C.getElementsByTagName("div");var A=B[0].currentStyle||document.defaultView.getComputedStyle(B[0],null);this._sizes.dividerWidth=B[0].offsetWidth+parseInt(A.marginLeft)+parseInt(A.marginRight)+B[0].offsetLeft;this._sizes.pageDeltaHeight=B[1].offsetHeight-20;this._sizes.pageDeltaWidth=B[1].offsetWidth-20;this._sizes.showBarWidth=B[3].offsetWidth;this._sizes.showBarDeltaHeight=B[3].offsetHeight-20;C.parentNode.removeChild(C)};Quarix.Widgets.Splitter.prototype._buildUI=function(){var C;var E=this._domNode;if(E){if(E.domNode){E=E.domNode}}else{if(!(E=$1(this._objectName))){E=document.createElement("table");E.cellSpacing="0";E.id=this._objectName;E.tabIndex=-1;this.setDOMNode(Quarix.UI.Element.get(E))}}if(!E.className.match(/\bsplitter\b/)){if(E.className){E.className+=" splitter"}else{E.className="splitter"}}if(this._properties.height){E.style.height=this._properties.height}if(this._properties.width){E.style.width=this._properties.width}E=E.appendChild(document.createElement("tbody"));var F,H,D,B=this;if(this._properties.direction=="h"){E.appendChild(document.createElement("tr"));E.lastChild.vAlign="top";for(C=0;C<this._properties.containers.length;C++){var G=document.createElement("td");G.id=this._objectName+"__"+this._properties.containers[C].getObjectName();this._layoutNodes.push(E.rows[0].appendChild(G));this._contentNodes.push(F=E.rows[0].lastChild.appendChild(document.createElement("div")));F.className="pageSplit";F.onclick=function(){B._resize.expectingClick=true};this._showBars.push(D=F.parentNode.appendChild(document.createElement("div")));D.innerHTML='<div class="right toolButton">&#187;</div>';D.className="showBar";D.style.display="none";D.containerIndex=C;Event.observe(D,"click",this._onShowBarClick,false,this);Event.observe(D.firstChild,"click",this._onShowButtonClick,false,this);if(C>0){this._resizeNodes.push(H=F.parentNode.insertBefore(document.createElement("div"),F));H.className="resizer";Event.observe(H,"mousedown",this._onBeginResizeCol,false,this)}}}else{for(C=0;C<this._properties.containers.length;C++){this._layoutNodes.push(E.appendChild(document.createElement("tr")));E.lastChild.vAlign="top";var G=document.createElement("td");G.id=this._objectName+"__"+this._properties.containers[C].getObjectName();E.rows[C].appendChild(G);this._contentNodes.push(F=E.rows[C].cells[0].appendChild(document.createElement("div")));F.className="pageSplit";F.onclick=function(){B._resize.expectingClick=true};if(C>0){this._resizeNodes.push(H=F.parentNode.insertBefore(document.createElement("div"),F));H.className="resizer";Event.observe(H,"mousedown",this._onBeginResizeCol,false,this)}}}for(C=0;C<this._contentNodes.length;C++){if(typeof this._properties.titles[C]=="string"){if(C!=this._properties.mainContainerIdx){this._contentNodes[C].innerHTML='<div class="pageHead vertical"><div class="hideBtn left toolButton">&#171;</div>'+this._properties.titles[C]+"</div>";this._contentNodes[C].firstChild.firstChild.containerIndex=C;this._headerNodes[C]=this._contentNodes[C].firstChild;Event.observe(this._contentNodes[C].firstChild.firstChild,"click",this._onHideButtonClick,false,this)}else{this._contentNodes[C].innerHTML='<div class="pageHead vertical">'+this._properties.titles[C]+"</div>";this._headerNodes[C]=this._contentNodes[C].firstChild}}}Event.observe(this._domNode.domNode,"contextmenu",this._onCancelResizeCol,false,this);Event.observe(this._domNode.domNode,"click",this._onClick,false,this);this._updateSizes();if(this._containerSource){var A=this._containerSource.getLayoutManager(this._objectPage);A.add(this);if(this._properties.direction=="v"){this._domNode.domNode.parentNode.className+=" verticalSplitterHolder"}}};Quarix.Widgets.Splitter.prototype._getContentNodes=function(){return this._contentNodes};Quarix.Widgets.Splitter.prototype.getLayoutManager=function(){var A={layout:function(){}};A.add=(function(C){var B=this._properties.containers.indexOf(C);if(B==-1){B=this._properties.containers.indexOf(C.getObjectName());if(B==-1){B=this._properties.containers.indexOf(null)}if(B==-1){this.addLink(Quarix.Links.Container.CreateObjects,C);return }this._properties.containers[B]=C}this._getContentNodes()[B].appendChild(C._domNode.domNode)}).bind(this);return A};Quarix.Widgets.Splitter.prototype._checkSize=function(B){var A;if(typeof this._properties[B]=="string"){this._properties[B]=this._properties[B].replace(/\s+/,"").split(",")}for(A=0;A<this._properties[B].length;A++){if(this._properties[B][A]!=null&&!this._properties[B][A].match(/^[0-9.]+(\%|px)$/)){this._properties[B][A]=null}}while(this._properties[B].length<this._properties.containers.length){this._properties[B].push(null)}};Quarix.Widgets.Splitter.prototype._updateSizes=function(){var I,G=this._resize[this._properties.direction];var B=G.name,C=G.sname;var A=this._sizes["divider"+B];var E=this._resize.fullSize||this._domNode.domNode["offset"+B];if(E<1){return }var M=function(R){if(!R){return null}var Q;if(Q=R.match(/^([0-9.]+)\%$/)){return Math.floor(E*parseFloat(Q[1])/100)}if(Q=R.match(/^([0-9.]+)px$/)){return parseInt(Q[1])}console.warn("[PJSplitter._updateSize] Unrecognized size: %o",R);return null};var K,H,L=0;for(I=0;I<this._properties.minSize.length;I++){if(this._contentNodes[I].style.display!="none"&&(H=M(this._properties.minSize[I]))){L+=H}}var P=0;var D=0;var J=0;var O=[];var N=[];for(I=0;I<this._contentNodes.length;I++){if(this._contentNodes[I].style.display!="none"){K=null;if(this._properties.size[I]==null){D++;continue}else{J++}K=M(this._properties.size[I]);if(this._properties.maxSize[I]!=null){H=M(this._properties.maxSize[I]);if(K>H){K=H}}if(K+L>E){K=E-L}if(this._properties.minSize[I]!=null){H=M(this._properties.minSize[I]);if(H){L-=H;if(H>K){K=H}}}P+=K;O[I]=K}else{if(this._showBars[I].style.display!="none"){K=this._sizes["showBar"+G.name];P+=K}else{if(I>0){P+=A}}}}K=E-P;if(D){for(I=0;I<this._contentNodes.length&&D;I++){if(this._properties.size[I]==null&&this._contentNodes[I].style.display!="none"){var H=Math.floor(K/D);K-=K/D;O[I]=H;D--}}}else{if(J){for(I=0;I<O.length&&J;I++){if(O[I]){var H=Math.floor(K/J);K-=H;O[I]+=H;J--}}}}var F=-1;if(BrowserDetect.browser=="Explorer"&&BrowserDetect.version<7){F--}for(I=0;I<this._layoutNodes.length;I++){if(O[I]){this._contentNodes[I].style[C]=O[I]+F-(I&&A)+"px";this._layoutNodes[I].style[C]=O[I]+"px"}else{this._layoutNodes[I].style[C]=""}}this._remakeDividerSizes()};Quarix.Widgets.Splitter.prototype._remakeDividerSizes=function(){if(this._properties.direction=="h"){var C=this._sizes.showBarDeltaHeight;var B=this._domNode.domNode.className;this._domNode.domNode.className+=" resizing";var A=this._domNode.domNode.offsetHeight;for(var D=0;D<this._resizeNodes.length;D++){this._resizeNodes[D].style.height=A+"px"}A-=C;for(var D=0;D<this._showBars.length;D++){this._showBars[D].style.height=A+"px"}this._domNode.domNode.className=B}};Quarix.Widgets.Splitter.prototype.resize=function(){if(this._sizes.lastTheme!=Quarix.Theme){this._makeSizes()}var G=this._resize[this._properties.direction].name;var C,B=0;if((C=this._containerSource.getLayoutManager(this._objectPage))&&(C=C.containerLayout)&&C instanceof Quarix.Layout.TableLayout&&(C=C._tableNode)){B+=2*C.domNode.offsetLeft;if(C.domNode.tBodies[0]){B+=2*C.domNode.tBodies[0].offsetLeft}}var A=this._containerSource.getContentDOMNode?this._containerSource.getContentDOMNode():this._containerSource._domNode;if(A.domNode){A=A.domNode}var F=Quarix.UI.Element.get(this._domNode.domNode)["get"+G]();this._domNode.domNode.style.display="none";var D=Quarix.UI.Element.get(this._domNode.domNode)["get"+G]();this._domNode.domNode.style.display="";if((F==0||D<F)&&D!=0){F=D}F-=B;if(F>0&&F!=this._resize.fullSize||this._lastTheme!=this._sizes.lastTheme){this._lastTheme=this._sizes.lastTheme;this._resize.fullSize=F;this.actualResize();if(["Explorer","Safari"].indexOf(BrowserDetect.browser)>-1){var E=A.style.overflow;A.style.overflow="hidden";A.offsetWidth;A.style.overflow=E}}else{this._remakeDividerSizes()}};Quarix.Widgets.Splitter.prototype.actualResize=function(){var B=this._resize[this._properties.direction].name;var A=B.toLowerCase();this._domNode.domNode.style[A]=this._resize.fullSize+"px";this._updateSizes();this.publishResize()};Quarix.Widgets.Splitter.prototype.viewObject=function(A){Quarix.Widgets.Splitter.superclass.viewObject.call(this,A);if(!this._objectHidden){if(this._domNode.domNode.parentNode){if(BrowserDetect.browser=="Explorer"){var C=this._domNode.domNode.parentNode;if(C.style){C.style.position="relative";C.style.overflow="hidden"}}}this._updateSizes();var B;for(B=0;B<this._properties.containers.length;B++){if(this._properties.containers[B]&&(typeof this._properties.containers[B]=="object")&&this._properties.containers[B].viewObject){this._properties.containers[B].viewObject(A)}}}};Quarix.Widgets.Splitter.prototype.hideObject=function(){if(this._objectHidden){return }Quarix.Widgets.Splitter.superclass.hideObject.call(this);this._updateSizes();var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].hideObject){this._properties.containers[A].hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}}};Quarix.Widgets.Splitter.prototype.setContainerSource=function(A){Quarix.Widgets.Splitter.superclass.setContainerSource.call(this,A);if(this._domNode){if(this._containerSource!=null){this._containerSource.getLayoutManager(this._objectPage).add(this)}else{if(this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode)}}}};Quarix.Widgets.Splitter.prototype.addContainerTarget=function(B){var A;A=this._properties.containers.indexOf(B);if(A==-1){A=this._properties.containers.indexOf(B.getObjectName());if(A==-1){A=this._properties.containers.indexOf(null)}if(A!=-1){this._properties.containers[A]=B}else{A=this._properties.containers.length;this._properties.containers.push(B);this._properties.size.push(null);this._properties.minSize.push(null);this._properties.maxSize.push(null);if(this._objectCreated){var D;if(this._properties.direction=="h"){D=this._domNode.domNode.tBodies[0].rows[0].appendChild(document.createElement("td"));this._layoutNodes.push(D)}else{D=this._domNode.domNode.tBodies[0].appendChild(document.createElement("tr"));this._layoutNodes.push(D);D=D.appendChild(document.createEledment("td"))}D.appendChild(document.createElement("div"));var E;this._contentNodes.push(D=D.firstChild);D.className="pageSplit";var C=this;contN.onclick=function(){C._resize.expectingClick=true};if(A>0){this._resizeNodes.push(E=D.parentNode.insertBefore(document.createElement("div"),D));E.className="resizer";Event.observe(E,"mousedown",this._onBeginResizeCol,false,this)}}}}if(this._objectCreated){if(!B._objectCreated){B.createObjects()}this._contentNodes[A].appendChild(B._domNode.domNode);this._updateSizes()}if(this._objectInitialized){B.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.Splitter.prototype.getContainerTarget=function(){var A=this._properties.containers.concat([]);for(var B=A.length-1;B>=0;B--){if(!A[B]||typeof A[B]=="string"){A.splice(B,1)}}return A};Quarix.Widgets.Splitter.prototype.removeContainerTarget=function(B){var A=this._properties.containers.indexOf(B);if(A==-1){console.warn("ContainerTarget not found: %o",B);return }this._properties.containers.splice(A,1);this._properties.size.splice(A,1);this._properties.minSize.splice(A,1);this._properties.maxSize.splice(A,1);if(this._contentNodes[A]){var C=this._contentNodes[A].parentNode;if(this._properties.direction=="h"){C.parentNode.removeChild(C)}else{C.parentNode.parentNode.removeChild(C.parentNode)}this._contentNodes.splice(A,1)}};Quarix.Widgets.Splitter.prototype._showBarClick=function(B){this._resize.expectingClick=true;if(typeof (B)!="number"){var A=Event.element(B).containerIndex}else{if(typeof (B)=="number"){var A=B}}if(typeof A!="number"){return }};Quarix.Widgets.Splitter.prototype._showButtonClick=function(C){this._colapsed=false;if(typeof (C)!="undefined"){var A=Event.element(C).parentNode.containerIndex}else{var A=0}this._cleanUp(A);if(!this._properties.speed||!Effect){this._showBars[A].style.display="none";this._contentNodes[A].style.display="";this._updateSizes();this.publishResize()}else{this._contentNodes[A].className+=" measuring";var E="margin"+this._resize[this._properties.direction].a;var B=this._contentNodes[A]["offset"+this._resize[this._properties.direction].name];this._contentNodes[A].className=this._contentNodes[A].className.replace(/\bmeasuring\b/,"");var D={mode:"relative",beforeStart:function(){this._showBars[A].style.display="none";this._contentNodes[A].style.display="";this._contentNodes[A].style.visibility="hidden";this._updateSizes();this.publishResize();if(Prototype.Browser.Opera){this._contentNodes[A].style.position="relative";this._contentNodes[A].style.top=0}}.bind(this),afterSetup:function(){this._contentNodes[A].style.visibility=""}.bind(this),afterFinish:function(){this._cleanUp(A)}.bind(this)};D[this._resize[this._properties.direction].x]=B;this._contentNodes[A].style[this._resize[this._properties.direction].al]=-B+"px";new Effect.Move(this._contentNodes[A],D)}};Quarix.Widgets.Splitter.prototype._hideButtonClick=function(C){this._colapsed=true;if(typeof (C)!="undefined"){var A=Event.element(C).containerIndex}else{var A=0}this._cleanUp(A);if(this._contentNodes[A].className.match(/\bpeek\b/)){this._contentNodes[A].className="pageSplit";this._showBars[A].style.display="";this.publishResize()}else{if(!this._properties.speed||!Effect){this._contentNodes[A].style.display="none";this._showBars[A].style.display="";this._updateSizes();this.publishResize()}else{this._contentNodes[A].className+=" peek";var E="margin"+this._resize[this._properties.direction].a;var B=this._contentNodes[A]["offset"+this._resize[this._properties.direction].name];var D={mode:"relative",afterFinish:function(){this._contentNodes[A].style.display="none";this._showBars[A].style.display="";this._cleanUp(A);this._updateSizes();this.publishResize()}.bind(this)};D[this._resize[this._properties.direction].x]=-B;new Effect.Move(this._contentNodes[A],D)}}};Quarix.Widgets.Splitter.prototype.colapsePage=function(){if(!this._colapsed){this._hideButtonClick();this._eventClick();this._colapsed=true}};Quarix.Widgets.Splitter.prototype.expandPage=function(){if(this._colapsed){this._showButtonClick();this._eventClick();this._colapsed=false}};Quarix.Widgets.Splitter.prototype._cleanUp=function(A){this._contentNodes[A].className=this._contentNodes[A].className.replace(" peek","");this._contentNodes[A].style.position=this._contentNodes[A].style.top=this._contentNodes[A].style.left=""};Quarix.Widgets.Splitter.prototype.showPage=function(B){this._colapsed=false;this._cleanUp(B);if(!this._properties.speed||!Effect){this._contentNodes[B].style.display="";return }else{this._contentNodes[B].className+=" measuring";var D="margin"+this._resize[this._properties.direction].a;var A=this._contentNodes[B]["offset"+this._resize[this._properties.direction].name];this._contentNodes[B].className=this._contentNodes[B].className.replace(/\bmeasuring\b/,"");var C={mode:"relative",beforeStart:function(){this._showBars[B].style.display="none";this._contentNodes[B].style.display="";this._contentNodes[B].style.visibility="hidden";this._updateSizes();this.publishResize();if(Prototype.Browser.Opera){this._contentNodes[B].style.position="relative";this._contentNodes[B].style.top=0}}.bind(this),afterSetup:function(){this._contentNodes[B].style.visibility=""}.bind(this),afterFinish:function(){this._cleanUp(B)}.bind(this)};C[this._resize[this._properties.direction].x]=A;this._contentNodes[B].style[this._resize[this._properties.direction].al]=-A+"px";new Effect.Move(this._contentNodes[B],C)}};Quarix.Widgets.Splitter.prototype.hidePage=function(B){this._colapsed=true;this._cleanUp(B);this._contentNodes[B].style.display="none";if(!this._properties.speed||!Effect){this._updateSizes();return }this._contentNodes[B].className+=" peek";var D="margin"+this._resize[this._properties.direction].a;var A=this._contentNodes[B]["offset"+this._resize[this._properties.direction].name];var C={mode:"relative",afterFinish:function(){this._cleanUp(B);this._updateSizes();this.publishResize()}.bind(this)};C[this._resize[this._properties.direction].x]=-A;new Effect.Move(this._contentNodes[B],C)};Quarix.Widgets.Splitter.prototype._eventClick=function(D){if(this._resize.expectingClick){this._resize.expectingClick=false;return }var F=this._resize[this._properties.direction];if(typeof (D)!="undefined"){var C=Event[F.ptr](D)}else{var C=Position.positionedOffset(this._domNode.domNode.getElementsByClassName("right toolButton")[0])[F.a.toLowerCase()]+1}var G=C-document.documentElement["scroll"+F.a];var B,A;var E=[];for(B=0;B<this._layoutNodes.length;B++){if(B>0&&this._contentNodes[B].style.display=="none"){A=Position.page(this._contentNodes[B].previousSibling)[F.idx]+this._contentNodes[B].previousSibling["offset"+F.name]+1}else{A=Position.page(this._contentNodes[B])[F.idx]}E.push([A+(parseInt(this._contentNodes[B].style["margin"+F.a])||0),(this._contentNodes[B]["offset"+F.name]||this._layoutNodes[B]["offset"+F.name])-(parseInt(this._contentNodes[B].style["margin"+F.a])||0)-(parseInt(this._contentNodes[B].style["margin"+F.b])||0)])}for(B=0;B<this._contentNodes.length-1;B++){if((E[B][0]+E[B][1]<G)&&(E[B+1][0]>G)){if(B>=this._properties.mainContainerIdx){if(B==this._properties.containers.length-1){return }else{B++}}if(B>this._properties.containers.length-1){B=this._properties.containers.length-1}if(this._contentNodes[B].style.display=="none"){this.showPage(B)}else{this.hidePage(B)}this._showBars[B].style.display="none";if(!this._properties.speed){this._updateSizes();this.publishResize()}if(typeof (D)!="undefined"){Event.stop(D)}break}}};Quarix.Widgets.Splitter.prototype._beginResize=function(C){if(this._resize.resizing){this._onEndResizeCol(C);return }if(!this._properties.resizable){return }var B=0;for(var A=0;A<this._contentNodes.length;A++){if(this._contentNodes[A].style.display!="none"){B++}}if(B<2){return }var D=this._resize[this._properties.direction];this._resize.startPos=Event[D.ptr](C);this._resize.nodeIdx=this._resizeNodes.indexOf(Event.element(C));Event.observe(this._domNode.domNode,"mousemove",this._onUpdateResizeCol,false,this);Event.observe(this._domNode.domNode,"mouseup",this._onEndResizeCol,false,this);this._resize.resizing=true;this._resize.backupSize=this._properties.size.clone();this._resize.multiply=1;if(!this._properties.size[this._resize.nodeIdx]){if(this._properties.size[this._resize.nodeIdx+1]){this._resize.nodeIdx++;this._resize.multiply=-1}else{this._properties.size[this._resize.nodeIdx]=this._layoutNodes[this._resize.nodeIdx]["offset"+D.name]+"px"}}this._resize.startSize=this._layoutNodes[this._resize.nodeIdx]["offset"+D.name]};Quarix.Widgets.Splitter.prototype._updateResize=function(A){var B=this._resize[this._properties.direction];var D=Event[B.ptr](A);var C=D-this._resize.startPos;if(this._properties.size[this._resize.nodeIdx].match(/^[0-9.]+px$/)){this._properties.size[this._resize.nodeIdx]=this._resize.startSize+(C*this._resize.multiply)+"px"}else{if(this._properties.size[this._resize.nodeIdx].match(/^[0-9.]+%$/)){this._properties.size[this._resize.nodeIdx]=((this._resize.startSize+C*this._resize.multiply)*100/this._domNode.domNode["offset"+B.name])+"%"}}this._updateSizes();this._domNode.domNode.parentNode.title=String(this._properties.size).replace(/^,/g,"*,").replace(/,$/,",*").replace(/,,/g,",*,").replace(/(\.\d)\d+/g,"$1").replace(/,/g,", ")};Quarix.Widgets.Splitter.prototype._endResize=function(A){if(!this._resize.resizing){return }this._resize.resizing=false;var B=this._resize[this._properties.direction];var D=Event[B.ptr](A);var C=D-this._resize.startPos;if(C!=0){this._resize.expectingClick=true}this._domNode.domNode.parentNode.title="";Event.stopObserving(this._domNode.domNode,"mousemove",this._onUpdateResizeCol,false);Event.stopObserving(this._domNode.domNode,"mouseup",this._onEndResizeCol,false);this.publishResize()};Quarix.Widgets.Splitter.prototype._cancelResize=function(A){if(!this._resize.resizing){return }this._properties.size=this._resize.backupSize.without();this._resize.expectingClick=true;this._domNode.domNode.parentNode.title="";Event.stopObserving(this._domNode.domNode,"mousemove",this._onUpdateResizeCol,false);Event.stopObserving(this._domNode.domNode,"mouseup",this._onEndResizeCol,false)};Quarix.Widgets.Splitter.prototype.publishResize=function(){for(var A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&this._properties.containers[A] instanceof Quarix.Base.AbsSmartObject&&!this._properties.containers[A]._objectHidden){this._properties.containers[A].resize(Quarix.EventManager.newEvent(this,Quarix.Links.Container.Resize))}}};Quarix.Widgets.Splitter.prototype.disableObject=function(){Quarix.Widgets.Splitter.superclass.disableObject.call(this);var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].disableObject){this._properties.containers[A].disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}}};Quarix.Widgets.Splitter.prototype.enableObject=function(){Quarix.Widgets.Splitter.superclass.disableObject.call(this);var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].enableObject){this._properties.containers[A].enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}}};Quarix.Widgets.Splitter.prototype.destroyObject=function(){if(this._resize.resizing){this._onEndResizeCol({})}for(var A=this._properties.containers.length-1;A>=0;A--){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].destroyObject){this._properties.containers[A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}}if(this._objectCreated){Event.stopObserving(this._domNode.domNode,"contextmenu",this._onCancelResizeCol,false);Event.stopObserving(this._domNode.domNode,"click",this._onClick,false)}Quarix.Widgets.Splitter.superclass.destroyObject.call(this)};Quarix.Widgets.Splitter.prototype.confirmExit=function(){Quarix.Widgets.Splitter.superclass.confirmExit.call(this);var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].confirmExit){if(this._properties.containers[A].confirmExit(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmExit))!=true){return false}}}return true};Quarix.Widgets.Splitter.prototype.confirmCancel=function(){Quarix.Widgets.Splitter.superclass.confirmCancel.call(this);var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].confirmCancel){if(this._properties.containers[A].confirmCancel(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmCancel))!==true){return false}}}return true};Quarix.Widgets.Splitter.prototype.confirmOk=function(){Quarix.Widgets.Splitter.superclass.confirmOk.call(this);var A;for(A=0;A<this._properties.containers.length;A++){if(this._properties.containers[A]&&(typeof this._properties.containers[A]=="object")&&this._properties.containers[A].confirmOk){if(this._properties.containers[A].confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk))!==true){return false}}}return true};Quarix.Widgets.Accordion=function(B,A){Quarix.Widgets.Accordion.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Accordion.defaultProperties);this._properties._direction={v:"vertical",h:"horizontal"}[this._properties.direction];this._objectType="Accordion";this._DOMClassPrefix="accordion container";this._pageVisibility=[];this._handlerCache={headerClickHandler:null};this._pageHeaderControlsObject={collapseButton:null,maximizeButton:null,infoButton:null};this._pageHeaderControls=[];this._isPageHeaderControlsDisabled=[];if(this._properties.showAll&&this._properties.toggleMode){this._properties.toggleMode=false;console.warn("Accordion %o has both properties showAll and toggleMode but they are incompatible! Disabling toggleMode.",this._objectName)}};Quarix.extend(Quarix.Widgets.Accordion,Quarix.Widgets.Container);Quarix.Widgets.Accordion.defaultProperties={direction:"v",placeHeaderAfter:false,showAll:false,toggleMode:true,speed:1,showAllSpeed:0.5,animationInterval:20,pageTitleShow:true,maximizable:true,collapseButtonShow:true};Quarix.Widgets.Accordion.prototype._buildUI=function(){var C,B;if(C=this._domNode){C.domNode.style.minWidth=this.getProperty("minWidth",51)+"px"}else{if(C=$1(this._objectName)){C.style.minWidth=this.getProperty("minWidth",51)+"px";this.setDOMNode(C=Quarix.UI.Element.get(C))}else{this.setDOMNode(C=Quarix.UI.Element.fromString('<div id="'+this._objectName+'" class="'+this._DOMClassPrefix+'" style="min-width: '+this.getProperty("minWidth",51)+"px"+((this._properties.hide||this._properties.hideOnInit)?"; display: none":"")+'"></div>'));if(B=this.getContainerSource()){B.getLayoutManager(this.getObjectPage()).add(this)}}}this.setContentDOMNode(C);this._setHandleKeyEvents();for(var A=0;A<this._pageN.length;A++){if(!this._UIScanForPage(A)){this._UIBuildPage(A)}}};Quarix.Widgets.Accordion.prototype.initializeObject=function(){if(this._properties.showAll){for(var B=0;B<this._pageN.length;B++){this._pageVisibility[B]=false}this._properties.initPage=0;this._currentAnimatedPage=0;var A=new Object();A.duration=this._properties.showAllSpeed;A.afterFinish=function(){this.enablePageHeaderControls("all");this._pageVisibility[this._currentAnimatedPage]=true;var D=Quarix.EventManager.newEvent(this,"viewObject");for(var C=0,E=this._pageN[this._currentAnimatedPage].length;C<E;++C){if(this._pageN[this._currentAnimatedPage][C]._objectType!="SmartWindow"){try{this._pageN[this._currentAnimatedPage][C].viewObject(D)}catch(F){console.error("Exception in %o->%o (%o): %o",this._objectName,this._pageN[this._currentAnimatedPage][C]._objectName,"viewObject",F.message);throw F}}}this._currentAnimatedPage++;if(this._currentAnimatedPage>=this._pageNode.length){return }this._animatePage(this._currentAnimatedPage)}.bind(this);this._pageNode[this._currentAnimatedPage]._properties=A}Quarix.Widgets.Accordion.superclass.initializeObject.call(this);if(this._properties.showAll){this._pageNode[0]._properties=null}this._objectInitialized=true;this.resize()};Quarix.Widgets.Accordion.prototype._animatePage=function(B){var A=new Object();A.duration=this._properties.showAllSpeed;A.afterFinish=function(){this.enablePageHeaderControls("all");this._currentAnimatedPage++;if(this._currentAnimatedPage>=this._pageNode.length){this._pageNode[this._currentAnimatedPage-1]._properties=null;this._properties.showAll=false;this._properties.afterShowAll=true;return }this._animatePage(this._currentAnimatedPage);this._pageNode[this._currentAnimatedPage-1]._properties=null}.bind(this);this._pageNode[this._currentAnimatedPage]._properties=A;this.selectPage(this._currentAnimatedPage)};Quarix.Widgets.Accordion.prototype.disablePageHeaderControls=function(A){if(A=="all"){for(var B=0;B<this._headerNodes.length;B++){this.disablePageHeaderControls(B)}return }this._pageHeaderControls[A].collapseButton.disableObject();if(this._pageHeaderControls[A].maximizeButton){this._pageHeaderControls[A].maximizeButton.disableObject()}this._isPageHeaderControlsDisabled[A]=true};Quarix.Widgets.Accordion.prototype.enablePageHeaderControls=function(A){if(A=="all"){for(var B=0;B<this._headerNodes.length;B++){this.enablePageHeaderControls(B)}return }this._pageHeaderControls[A].collapseButton.enableObject();if(this._pageHeaderControls[A].maximizeButton){this._pageHeaderControls[A].maximizeButton.enableObject()}this._isPageHeaderControlsDisabled[A]=false};Quarix.Widgets.Accordion.prototype._UIBuildPage=function(B){var C=Quarix.UI.Element.fromString('<div class="pageHead '+this._properties._direction+" pageNr_"+B+'"><table class="pHTbl"><tbody><tr class="pHTR"><td class="pHL"><span class="pHT"</span></td><td class="pHC"></td><td class="pHR"></td></tr></tbody></table></div>');C=C.domNode;var A=Element.down(C,".pHT");if(this._properties.pageTitleShow&&A){A.innerHTML=this._titles[B]||("Page "+(B-0+1))}if(!this._headerContainer||true){this._handlerCache.headerClickHandler=this._headerClickHandler.bindAsEventListener(this,B);Event.observe(C,"click",this._handlerCache.headerClickHandler,false)}if(!this._properties.placeHeaderAfter){this.getContentDOMNode().domNode.appendChild(C)}Quarix.Widgets.Accordion.superclass._UIBuildPage.call(this,B);this._pageNode[B].initialDisplay="";if(this._properties.placeHeaderAfter){this.getContentDOMNode().domNode.appendChild(C);C.previousSibling.className+=" "+this._properties._direction}else{if(C.nextSibiling){C.nextSibling.className+=" "+this._properties._direction}}this._headerNodes[B]=C;this._BuildHeaderObjects(B,C)};Quarix.Widgets.Accordion.prototype._BuildHeaderObjects=function(C,B){var D=Object.clone(this._pageHeaderControlsObject);var A=new Quarix.Widgets.ToolButton(this._objectName+"_colapse_"+C,{image:Quarix.Theme.PJExpandImage,disabledImage:Quarix.Theme.PJExpandImageDisabled,toggledImage:Quarix.Theme.PJColapseImage,objectPage:C,isToggled:this._properties.showAll||((this._properties.initPage||0)==C),onToggleExecute:'$Q("'+this._objectName+'").selectPage('+C+");"});A.setContainerSource(Quarix.UI.Element.get(Element.down(B,".pHR")));A.createObjects();A.initializeObject();A.viewObject();D.collapseButton=A;if(this._properties.maximizable){var E=new Quarix.Widgets.ToolButton(this._objectName+"_maximize_"+C,{image:Quarix.Theme.PJMaximizeImage,disabledImage:Quarix.Theme.PJMaximizeImageDisabled,toggledImage:Quarix.Theme.PJMinimizeImage,objectPage:(this._properties.initPage||this._properties.showAll||0)==C,onToggleExecute:'$Q("'+this._objectName+'").maximizePage('+C+");"});E.setContainerSource(Quarix.UI.Element.get(Element.down(B,".pHR")));E.createObjects();E.initializeObject();E.viewObject();D.maximizeButton=E}this._pageHeaderControls[C]=D};Quarix.Widgets.Accordion.prototype.resize=function(){Quarix.Widgets.Accordion.superclass.resize.call(this);for(var B=0;B<this._headerNodes.length;B++){this._headerNodes[B].style.display=""}for(var A=0;A<this._headerNodes.length;A++){this.resizeHeader(A)}};Quarix.Widgets.Accordion.prototype.resizeHeader=function(F){var D=this._headerNodes[F];var A=Element.down(D,".pHL");var E=Element.down(D,".pHR");var C=Element.down(D,".pHC");C.style.width="";var B=Quarix.UI.Element.get(D).getWidth(true)-Element.getWidth(A)-4-Element.getWidth(E);if(B>=0){C.style.width=""+B+"px"}else{C.style.width="0px"}};Quarix.Widgets.Accordion.prototype._headerClickHandler=function(A,B){var C=this._pageHeaderControls[B];if(C&&C.collapseButton){C.collapseButton.click()}else{this.selectPage(B)}};Quarix.Widgets.Accordion.prototype.maximizePage=function(E){this.disablePageHeaderControls("all");var A=this._domNode.domNode;var C=this._pageNode[E].domNode;var F=this._headerNodes[E];var B=this._pageHeaderControls[E].collapseButton;var D=this._pageHeaderControls[E].maximizeButton;if(!this._maximizedPage){this._beforeMaximizeVisibility=this._pageVisibility[E];if(!this._pageVisibility[E]){this.animationsLinked=true;this.enablePageHeaderControls("all");B.toggle()}else{this._maximizePage(E)}}else{new Effect.Move(C,{x:0,y:this._mpY2,mode:"relative"});new Effect.Move(F,{x:0,y:this._mpY1,mode:"relative"});new Effect.Scale(C,100,{scaleFrom:this._mpPercent,scaleX:false,scaleContent:false,scaleMode:{originalHeight:this._mpOrigHeight},afterFinish:function(){A.style.height="auto";this._maximizedPage=false;D._isToggled=false;B._isToggled=false;this.enablePageHeaderControls("all");if(!this._beforeMaximizeVisibility){B.toggle();D._isToggled=false;D.setToggleStatus()}}.bind(this)})}};Quarix.Widgets.Accordion.prototype._maximizePage=function(E){var A=this._domNode.domNode;var C=this._pageNode[E].domNode;var F=this._headerNodes[E];var B=this._pageHeaderControls[E].collapseButton;var D=this._pageHeaderControls[E].maximizeButton;this._mpOrigHeight=this._getRealHeight(C);this._mpFinalHeight=this._getRealHeight(A)-F.offsetHeight-(C.offsetHeight-this._getRealHeight(C));this._mpPercent=(this._mpFinalHeight/this._mpOrigHeight)*100;A.style.height=this._getRealHeight(A)+"px";A.style.overflow="hidden";this._mpY1=F.cumulativeOffset().top-A.cumulativeOffset().top;this._mpY2=C.cumulativeOffset().top-A.cumulativeOffset().top-F.offsetHeight;new Effect.Move(F,{x:0,y:-this._mpY1,mode:"relative"});new Effect.Move(C,{x:0,y:-this._mpY2,mode:"relative"});new Effect.Scale(C,100,{scaleFrom:100,scaleX:false,scaleContent:false,scaleMode:{originalHeight:this._mpFinalHeight},afterFinish:function(){this.enablePageHeaderControls("all")}.bind(this)});this._maximizedPage=true};Quarix.Widgets.Accordion.prototype._getRealHeight=function(A){var B=Quarix.UI.GetStyle(A,"height");if(B&&B!="auto"){B=parseInt(B)}else{var E=parseInt(Quarix.UI.GetStyle(A,"paddingTop"));var D=parseInt(Quarix.UI.GetStyle(A,"paddingBottom"));var C=parseInt(Quarix.UI.GetStyle(A,"marginTop"));var F=parseInt(Quarix.UI.GetStyle(A,"marginBottom"));B=A.offsetHeight-(E+D+C+F)}return B};Quarix.Widgets.Accordion.prototype.getPage=function(A){return this._pageNode[A]};Quarix.Widgets.Accordion.prototype.isPageSelected=function(A){return this._headerNodes[A]&&this._headerNodes[A].className.match(/\bselected\b/)};Quarix.Widgets.Accordion.prototype._setSelectedPage=function(A){this._pageNode[A]._outerNode.domNode.style.visibility="hidden";this._pageNode[A]._outerNode.domNode.style.position="absolute";this._pageNode[A].domNode.style.display=""};Quarix.Widgets.Accordion.prototype.selectPage=function(E,J){if(this._isPageHeaderControlsDisabled[E]){return }this.disablePageHeaderControls("all");var K=this._pageNode[E]._properties||{};if(this._properties.speed&&!K.duration){K.duration=this._properties.speed}if(this._maximizedPage){this.maximizePage(E);return }else{if(this.animationsLinked){K.afterFinish=this._maximizePage.bind(this,E)}this.animationsLinked=false}var D=this.isPageSelected(E);if(D){Quarix.Util.Trigger(this,"beforeSelectPage",[this._currentPage,E]);this._pageVisibility[E]=false;if(Effect&&!J){var C=K.afterFinish?K.afterFinish:false;K.afterFinish=function(){this._headerNodes[E].className=this._headerNodes[E].className.replace(/ selected\b/,"");var L,M=this._pageN[E].length;for(L=0;L<M;L++){this._pageN[E][L].hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}this._pageNode[E].setDisplayed(false);this._pageNode[E]._outerNode.setDisplayed(false);this._currentPage=-1;this.resizeHeader(E);this.enablePageHeaderControls("all");if(C){C()}K.afterFinish=null}.bind(this);this._pageAnimation(E,K)}else{this._pageNode[E]._outerNode.setDisplayed(false)}}else{var I=this._currentPage;if(this._properties.showAll||!this._properties.toggleMode){I=this._currentPage=-1}else{if(this._properties.afterShowAll){for(var F=0;F<this._headerNodes.length;F++){if(F!=E){this._pageVisibility[F]=false;this._headerNodes[F].className=this._headerNodes[F].className.replace(/ selected\b/,"");this._pageHeaderControls[F].collapseButton._isToggled=!this._pageHeaderControls[F].collapseButton._isToggled;Quarix.Widgets.Accordion.superclass.selectPage.call(this,F)}}this._properties.afterShowAll=false}else{if(I>-1){this._pageVisibility[I]=false;if(Effect&&!J){var H=this._pageNode[I]._properties||{};var G=this;H.afterFinish=function(){H.afterFinish=null;G._currentPage=-1;G._headerNodes[I].className=G._headerNodes[I].className.replace(/ selected\b/,"");G._pageHeaderControls[I].collapseButton._isToggled=!G._pageHeaderControls[I].collapseButton._isToggled;G.enablePageHeaderControls("all");G.selectPage(E)};this._pageAnimation(I,H);return }else{this._pageNode[I]._outerNode.setDisplayed(false)}this._headerNodes[I].className=this._headerNodes[I].className.replace(/ selected\b/,"")}}}this._pageVisibility[E]=true;Quarix.Widgets.Accordion.superclass.selectPage.call(this,E);var G=this,A=function(){var M=Quarix.EventManager.newEvent(G,"resize");for(var L=0,N=G._pageN[E].length;L<N;++L){if(G._pageN[E][L]._objectType!="SmartWindow"&&G._pageN[E][L].resize){try{G._pageN[E][L].resize(M)}catch(O){console.error("Exception in %o->%o (%o): %o",G._objectName,G._pageN[E][L]._objectName,"resize",O.message);throw O}}}G._pageNode[E]._outerNode.domNode.style.visibility="";G._pageNode[E]._outerNode.domNode.style.position=""};if(Effect&&!J){if(!K.afterFinish){K.afterFinish=function(){this.enablePageHeaderControls("all");K.afterFinish=null}.bind(this)}this._pageAnimation(E,K)}else{this._pageNode[E]._outerNode.setDisplayed(true)}setTimeout(A,20);var B=this._currentPage;if(I!=B){if(this._headerNodes[I]){if(this._properties.speed){this._pageNode[I].domNode.style.display=""}}if(this._headerNodes[B]){this._headerNodes[B].className=this._headerNodes[B].className+" selected"}}this.resizeHeader(E)}};Quarix.Widgets.Accordion.prototype.setPlaceHeaderAfter=function(A){if(!!A==this._properties.placeHeaderAfter){return }this._properties.placeHeaderAfter=!!A;var B;var C=this.getContentDOMNode().domNode;if(this._properties.placeHeaderAfter){for(B=0;B<this._headerNodes.length-1;B++){C.insertBefore(this._headerNodes[B],this._headerNodes[B+1])}B=this._headerNodes.length-1;if(B>=0){C.appendChild(this._headerNodes[B])}}else{for(B=0;B<this._headerNodes.length-1;B++){C.insertBefore(this._headerNodes[B],this._headerNodes[B].previousSibling)}}};Quarix.Widgets.Accordion.prototype.destroyObject=function(){Quarix.Widgets.Accordion.superclass.destroyObject.call(this);if(!this._properties.hideOnDestroy){var A=0,C=this._pageHeaderControls.length;for(A;A<C;A++){var B=this._pageHeaderControls[A];if(B.collapseButton){B.collapseButton.destroyObject()}if(B.maximizeButton){B.maximizeButton.destroyObject()}if(B.infoButton){B.infoButton.destroyObject()}}}};Quarix.Widgets.Accordion.prototype.setDirection=function(C){if(C==this._properties.direction||["h","v"].indexOf(C)==-1){return }this._properties.direction=C;var A={h:"vertical",v:"horizontal"}[C];var B={h:"horizontal",v:"vertical"}[C];this._properties._direction=B;var E=new RegExp("\\b"+A+"\\b");var D=this.getContentDOMNode().domNode.firstChild;while(D){if(D.className){D.className=D.className.replace(E,B)}D=D.nextSibling}if(this._properties.direction=="h"){for(D=0;D<this._headerNodes.legth;D++){this._headerNodes[i].innerHTML=this._headerNodes[i].innerHTML.innerHTML.split("").join("<br />")}}else{for(D=0;D<this._headerNodes.legth;D++){this._headerNodes[i].innerHTML=this._headerNodes[i].innerHTML.innerHTML.replace(/<\\?br>/g,"")}}};Quarix.Widgets.Accordion.prototype.nextPage=function(A,B){if(this.isPageSelected(A)){this.getPage(A)._properties.afterFinish=function(){if(!this.isPageSelected(B)){this.selectPage(B)}}.bind(this);this.selectPage(A)}else{this.selectPage(B)}};Quarix.Widgets.Overlay=function(A,B){A=A||Quarix.UI.GenerateId();Quarix.Widgets.Overlay.superclass.constructor.call(this,A,B);this._contentDOMNode=null;this._title="";this._zIndex=0;this._nodes={};this.ClassPrefix="overlay"};Quarix.extend(Quarix.Widgets.Overlay,Quarix.Base.AbsVisualObject);Quarix.Widgets.Overlay.prototype._processObjectProperties=function(){Quarix.Widgets.Overlay.superclass._processObjectProperties.call(this);if(this.getProperty("doColumnName",null,true)){this.setDOColumnName(this.getProperty("doColumnName",null,true))}};Quarix.Widgets.Overlay.prototype._processVisualObjectProperties=function(){Quarix.Widgets.Overlay.superclass._processVisualObjectProperties.call(this);if(this.getProperty("title",false,true)){this.setTitle(this.getProperty("title","",true))}if(this.getProperty("width",false,true)){this.setSize(this.getProperty("width",0,true),null)}if(this.getProperty("height",false,true)){this.setSize(null,this.getProperty("height",0,true))}if(this.getProperty("x",false,true)){this.setLocation(this.getProperty("x",0,true),null)}if(this.getProperty("y",false,true)){this.setLocation(null,this.getProperty("y",0,true))}if(!this.getProperty("hiden",false,true)&&!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.Overlay.prototype.createObjects=function(){this._processObjectProperties();this._buildUI();this._objectCreated=true;return this};Quarix.Widgets.Overlay.prototype._buildUI=function(){var A;if(!this._domNode){this._domNode=Quarix.UI.CreateNodeElement({tag:"DIV",id:this.getObjectName(),className:this.ClassPrefix});if(this._zIndex>0){this._domNode.setStyle("zIndex",this._zIndex)}this._domNode.setStyle("position","absolute");this._domNode.setDisplayed(false);this._nodes.header=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Header"});this._domNode.domNode.appendChild(this._nodes.header.domNode);this._nodes.title=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Title"});this._nodes.header.domNode.appendChild(this._nodes.title.domNode);this._nodes.body=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Body"});this._domNode.domNode.appendChild(this._nodes.body.domNode);this._nodes.footer=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Footer"});this._domNode.domNode.appendChild(this._nodes.footer.domNode);if(this.getProperty("showShadow",true,true)){this._nodes.shadow=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Shadow"});if(this._zIndex>0){this._nodes.shadow.setStyle("zIndex",this._zIndex)}this._nodes.shadow.setStyle("position","absolute");this._nodes.shadow.setDisplayed(false);document.body.appendChild(this._nodes.shadow.domNode)}document.body.appendChild(this._domNode.domNode)}};Quarix.Widgets.Overlay.prototype.initializeObject=function(){Quarix.Widgets.Overlay.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();return this};Quarix.Widgets.Overlay.prototype.getContentDOMNode=function(){return this._nodes.body};Quarix.Widgets.Overlay.prototype.setTitle=function(A){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this._title=A;if(this._nodes.title){this._nodes.title.domNode.innerHTML=this._title}};Quarix.Widgets.Overlay.prototype.getTitle=function(){return _title};Quarix.Widgets.Overlay.prototype.setSize=function(B,A){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(typeof B!="undefined"&&B!==null){this._properties.width=B;if(this._domNode){this._domNode.setWidth(B)}if(this._nodes.shadow){this._nodes.shadow.setWidth(B)}}if(typeof A!="undefined"&&A!==null){this._properties.height=A;if(this._domNode){this._domNode.setHeight(A)}if(this._nodes.shadow){this._nodes.shadow.setHeight(A)}}};Quarix.Widgets.Overlay.prototype.setLocation=function(A,B){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(typeof A!="undefined"&&A!==null){this._properties.x=A;if(this._domNode){this._domNode.setX(A)}if(this._nodes.shadow){this._nodes.shadow.setX(A+2)}}if(typeof B!="undefined"&&B!==null){this._properties.y=B;if(this._domNode){this._domNode.setY(B)}if(this._nodes.shadow){this._nodes.shadow.setY(B+2)}}};Quarix.Widgets.Overlay.prototype._positions=[["TOP","BOTTOM","LEFT","RIGHT","INSIDE","INSIDETOP","INSIDEBOTTOM","INSIDELEFT","INSIDERIGTH"],["DownArrow","UpArrow","RightArrow","LeftArrow","","","","",""],["after","before","after","before","before","before","before","before","before"],];Quarix.Widgets.Overlay.prototype.attachTo=function(C,B){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}var D=B.toUpperCase(),A;if(typeof D=="undefined"||!D){throw new Error("Unknown position: "+B)}A=this._positions[0].indexOf(D);if(A==-1){A=["UP","DOWN"].indexOf(D)}if(A==-1){A=["ABOVE","BELOW"].indexOf(D)}if(D==-1){throw new Error("Unknown position: "+B)}this._attached={elem:C.domNode||C,pos:A};if(this._nodes.arrow){this._nodes.arrow.domNode.parentNode.removeChild(this._nodes.arrow.domNode);this._nodes.arrow=null}if(this._positions[1][A]){this._nodes.arrow=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+this._positions[1][A]});if(this._positions[2][A]=="after"){this._domNode.domNode.appendChild(this._nodes.arrow.domNode)}else{this._domNode.domNode.insertBefore(this._nodes.arrow.domNode,this._domNode.domNode.firstChild)}this._spaceForArrow=(this._spaceForArrow||this._spaceForArrow==0)?this._spaceForArrow:this._nodes.arrow.domNode.offsetHeight}this.reposition()};Quarix.Widgets.Overlay.prototype.reposition=function(){if(!this._attached||this._objectHidden){return }var E=this.getDOMNode(),G=this._attached.elem,A,H,B=0,F=0;if(E.domNode){E=E.domNode}var D=Position.page(G);D.push(G.offsetWidth);D.push(G.offsetHeight);switch(this._attached.pos){case 0:A=D[0];H=D[1]-E.offsetHeight-this._spaceForArrow;break;case 1:A=D[0];H=D[1]+D[3]+this._spaceForArrow;break;case 2:A=D[0]-E.offsetWidth-this._spaceForArrow;H=D[1];if(E.offsetHeight>D[3]){H-=Math.floor((E.offsetHeight-D[3])/2)}B=E.offsetHeight+"px";F=(E.offsetWidth-2)+"px";break;case 3:A=D[0]+D[2]+this._spaceForArrow;H=D[1];if(E.offsetHeight>D[3]){H-=Math.floor((E.offsetHeight-D[3])/2)}B=E.offsetHeight+"px";break;case 4:case 5:A=D[0]+this._spaceForArrow;H=D[1]+this._spaceForArrow;break;case 6:A=D[0]+this._spaceForArrow;H=D[1]+D[3]-E.offsetHeight-this._spaceForArrow;break;case 7:A=D[0]+this._spaceForArrow;H=D[1]+this._spaceForArrow;break;case 8:A=D[0]+D[2]-E.offsetWidth-this._spaceForArrow;H=D[1]+this._spaceForArrow;break;default:throw new Error("Unknown position: "+this._attached.pos)}if(A+E.offsetWidth>document.body.offsetWidth){A=A+A+E.offsetWidth-document.body.offsetWidth}A=Math.max(A,0);if(H+E.offsetHeight>document.body.offsetHeight){H=H+H+E.offsetHeight-document.body.offsetHeight}H=Math.max(H,0);if(F){this._nodes.arrow.domNode.style.left=F}if(B){this._nodes.arrow.domNode.style.height=B}E.style.left=A+"px";E.style.top=H+"px";if(this._nodes.shadow){this._nodes.shadow.setX(A+2);this._nodes.shadow.setY(H+2)}var C=0;while(G!=document&&((G&&G.style.zIndex)||C<1)){C=G.style.zIndex;G=G.parentNode}if(C>0&&this._zIndex<C){this._zIndex=parseInt(C)+1;this._domNode.setStyle("zIndex",this._zIndex);if(this._nodes.shadow){this._nodes.shadow.setStyle("zIndex",this._zIndex)}}};Quarix.Widgets.Overlay.prototype.hideObject=function(){if(!this.getDOMNode()){return }if(this.getDOMNode() instanceof Quarix.UI.Element){this.getDOMNode().setDisplayed(false);if(this._nodes.shadow){this._nodes.shadow.setDisplayed(false)}}else{this._displayMode=this.getDOMNode().style.display==""?"inline":this.getDOMNode().style.display;this.getDOMNode().style.display="none"}this._objectHidden=true};Quarix.Widgets.Overlay.prototype.viewObject=function(){if(this.getProperty("hide",false,true)||!this.getDOMNode()){return }if(this.getDOMNode() instanceof Quarix.UI.Element){this.getDOMNode().setDisplayed(true);if(this._nodes.shadow){this._nodes.shadow.setWidth(this._domNode.getWidth());this._nodes.shadow.setHeight(this._domNode.getHeight());this._nodes.shadow.setDisplayed(true)}}else{this.getDOMNode().style.display=this._displayMode}this._objectHidden=false;this.reposition()};Quarix.Widgets.Overlay.prototype.resize=function(){Quarix.Widgets.Overlay.superclass.resize.call(this);this.reposition()};Quarix.Widgets.Window=function(B,A){Quarix.Widgets.Window.superclass.constructor.call(this,B,A);this._DOMClassPrefix="window";this._objectType="SmartWindow";this._menubar=null;this._toolbar=null;this._statusBar=null;this._nodes=[];this._UIBuilt=false;this._windowType="inline";this._internalWindow=null;this._windowName=B;this._lastFocusedObject=null;this._processObjectProperties();this._popup=null;this._actionTargets=[];this.actionSources=[];this.FireValueChangedOnExit=null;this._staticMessageBundle={context_info_show_info:"Show Info"};this._autoCenter=this.__autoCenter.bind(this);if(this._properties.windowType=="overlay"){this._properties.noBorder=true}this._properties.isWarningContext=true};Quarix.extend(Quarix.Widgets.Window,Quarix.Widgets.Container);Quarix.Widgets.Window.prototype.ContainerSourceEvents=[Quarix.Links.Container.InitializeObject,Quarix.Links.Container.HideObject,Quarix.Links.Container.DestroyObject,Quarix.Links.Container.DisableObject,Quarix.Links.Container.ConfirmExit,Quarix.Links.Container.ConfirmCancel,Quarix.Links.Container.ConfirmOk,Quarix.Links.Container.Resize];Quarix.Widgets.Window.prototype.ActionSourceEvents=Quarix.Links.Action.SourceEvents;Quarix.Widgets.Window.prototype.createObjects=function(){if(this._objectCreated){return }var oThis=this;if(this._properties.windowType=="internal"&&this.getProperty("noBorder",null,true)===null){this.setProperty("noBorder",true)}this._buildWindowUI();Quarix.Widgets.Window.superclass.createObjects.call(this);var i=0;if(this._toolbar){while((this._pageN[0][i]!=null)&&(this._pageN[0][i]!=this._toolbar)){++i}this._pageN[0].splice(i,1)}if(this._menubar){while((this._pageN[0][i]!=null)&&(this._pageN[0][i]!=this._menubar)){++i}this._pageN[0].splice(i,1)}if(this._statusBar){while((this._pageN[0][i]!=null)&&(this._pageN[0][i]!=this._statusBar)){++i}this._pageN[0].splice(i,1)}if(this._menubar){this.setMenubar(this._menubar)}if(this._popup&&!this._popup._objectCreated){this._popup.createObjects()}Event.observe(this._contentDOMNode.domNode,"contextmenu",function(ev){var ev=ev||event;if(
/*Event.isLeftClick(ev) &&*/
oThis._popup){oThis._popup.pop(ev)}},false);if(this._properties.attachedTo){Event.observe(this._contentDOMNode.domNode,"click",function(ev){ev.stop()},false);Event.observe(document,"click",function(ev){this.exitObject()}.bind(this),false);Event.observe(document,"stopped:click",function(ev){this.exitObject()}.bind(this),false)}};Quarix.Widgets.Window.prototype._processObjectProperties=function(){Quarix.Widgets.Window.superclass._processObjectProperties.call(this);if(this._properties.windowType){this._windowType=this._properties.windowType}};Quarix.Widgets.Window.prototype._buildWindowUI=function(){var I,B;if(!this._domNode){if(this._windowType=="inline"){if(I=$1(this._objectName)){this.setDOMNode(Quarix.UI.Element.get(I));if(!this._domNode.hasClassName(this._DOMClassPrefix)){this._domNode.addClassName(this._DOMClassPrefix)}}else{I=Quarix.UI.Element.fromString(['<div id="',this._objectName,'" class="',this._DOMClassPrefix," inline",(this._properties["class"]?" "+this._properties["class"]:""),'"></div>'].join(""));if(this._containerSource&&this._containerSource.domNode){this._containerSource.domNode.appendChild(I.domNode)}else{document.body.appendChild(I.domNode);if(this._properties.title){document.title=this._properties.title}if(window!=window.top){document.body.className+=" iframe"}}this.setDOMNode(I)}}else{if(this._windowType=="internal"){this._properties.resizable=true;Quarix.Profiler.Start("newPrototypeWindow");this._internalWindow=new Window(this._objectName,Object.extend({className:Quarix.Theme.WindowClassName?Quarix.Theme.WindowClassName:"alphacube",wiredDrag:false,recenterAuto:true,closeCallback:this.canClose.bind(this)},this._properties));Quarix.Profiler.Stop("newPrototypeWindow",this._objectName);Windows.addObserver({onEndResize:function(J,L){if(L==this._internalWindow){try{this.resize(Quarix.EventManager.newEvent(this,"resize"))}catch(K){console.error("Error on window resize: %o",K)}}}.bind(this)});if(!this.getProperty("hideOnClose",false)){this._internalWindow.setDestroyOnClose()}I=Quarix.UI.Element.fromString('<div id="'+this._objectName+'_window_outer" class="'+this._DOMClassPrefix+'" style="display: none"></div>');document.body.appendChild(I.domNode);this._nodes.contentRoot=I;this.setDOMNode(I)}else{if(this._windowType=="overlay"){if(I=$1(this._objectName)){this.setDOMNode(I=Quarix.UI.Element.get(I))}else{var D,A,G=["minWidth","width","maxWidth","minHeight","height","maxHeight","top","left","right","bottom"],E=["min-width","width","max-width","min-height","height","max-height","top","left","right","bottom"];D=['<div id="',this._objectName,'" class="'+(this._properties.attachedTo?"":"overlay")+'" style="display: none; '];for(A=0;A<G.length;A++){if(this._properties[G[A]]){D.push(E[A]);D.push(": ");D.push(this._properties[G[A]]);D.push("px; ")}}D.push('"></div>');this.setDOMNode(I=Quarix.UI.Element.fromString(D.join("")))}this._nodes.rootNode=I=this._domNode.domNode;document.body.appendChild(this._domNode.domNode);Event.observe(window,"resize",this._autoCenter,false,this);if(this._properties.showShadow!=false&&!this._properties.attachedTo){this._domNode.domNode.innerHTML+='<div class="shadow right">&nbsp;</div><div class="shadow bottom">&nbsp;</div>'}if(this._properties.title||(this._properties.closable!=false)){this._domNode.domNode.innerHTML+='<div class="'+(Quarix.Theme.WindowClassName||"alphacube")+'_title title_window">'+(this._properties.title||"")+(this._properties.closable!=false?'<div class="closeBtn" onclick="$Q(\''+this._objectName+"').exitObject(Quarix.EventManager.newEvent(this, Quarix.Links.Container.ExitObject));\">&nbsp;</div>":"")+"</div>"}}else{throw new Error("Unknown window type: "+this._windowType)}}}}if(!this._nodes.contentRoot){this._nodes.contentRoot=this._domNode}var C=['<table class="{class}" cellspacing="0" cellpadding="0"><tbody><tr class="{class}" style="',this._menubar?"height: 1px":"display: none",'"><td class="{class}" valign="top"><div class="{class}_menubar"></div></td></tr><tr class="{class}" style="',this._toolbar?"height: 1px":"display: none",'"><td class="{class}" valign="top"><div class="{class}_toolbar"></div></td></tr>','<tr class="{class}"><td class="{class}" valign="top"><div class="{class}_container" tabindex="-1"></div></td></tr><tr class="{class}" style="',this._statusBar?"height: 1px":"display: none",'"><td class="{class}"><div class="{class}_statusbar"></div></td></tr></tbody></table>'];this._nodes.windowTable=Quarix.UI.Element.fromString(C.join("").replace(/{class}/g,this._DOMClassPrefix));this._nodes.contentRoot.domNode.appendChild(this._nodes.windowTable.domNode);this._nodes.menuCell=new Quarix.UI.Element(this._nodes.windowTable.domNode.rows[0].cells[0]);this._nodes.menubarHolder=new Quarix.UI.Element(this._nodes.menuCell.domNode.firstChild);this._nodes.toolbarCell=new Quarix.UI.Element(this._nodes.windowTable.domNode.rows[1].cells[0]);this._nodes.toolbarHolder=new Quarix.UI.Element(this._nodes.toolbarCell.domNode.firstChild);this._nodes.containerCell=new Quarix.UI.Element(this._nodes.windowTable.domNode.rows[2].cells[0]);this._nodes.containerHolder=new Quarix.UI.Element(this._nodes.containerCell.domNode.firstChild);this._nodes.statusbarCell=new Quarix.UI.Element(this._nodes.windowTable.domNode.rows[3].cells[0]);this._nodes.statusbarHolder=new Quarix.UI.Element(this._nodes.statusbarCell.domNode.firstChild);this._UIBuilt=true;var F=this._domNode;this._domNode=this._nodes.containerHolder;var H=this._properties.handleConfirms;this._properties.handleConfirms=false;this._buildUI();this._properties.handleConfirms=H;this._domNode=F;if(this._windowType=="internal"){this._internalWindow.setContent(this._nodes.contentRoot.domNode.id);this._domNode=Quarix.UI.Element.get(this._objectName)}else{if(this._windowType=="overlay"){if(this._nodes.rootNode!=this._domNode.domNode){this._nodes.rootNode.appendChild(this._domNode.domNode)}}else{Quarix.Globals.ROOT_WINDOW=this}}$1(this._objectName).tabIndex=-1;if(this._windowType!="inline"){Quarix.Hotkeys.registerContext(this._domNode.domNode)}else{if(this._properties.height=="auto"){document.body.style.overflow="auto"}}Quarix.Hotkeys.registerContext(this._nodes.contentRoot.domNode);if(this._properties.handleConfirms){this._setHandleKeyEvents()}};Quarix.Widgets.Window.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Widgets.Window.superclass.initializeObject.call(this);if(this._toolbar){if(!this._toolbar.isObjectInitialized()){this._toolbar.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(!this._popup&&this.getProperty("generatePopup",true,true)){this._generatePopupFromToolbar(this._toolbar)}}if(this._popup&&!this._popup._objectInitialized){this._popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.Window.prototype.getMenubar=function(){return this._menubar};Quarix.Widgets.Window.prototype.setMenubar=function(A){var B=this._nodes.menubarHolder;this._menubar=A;if(!this.isObjectCreated()){return }if(this._menubar&&this._menubar._containerSource!=this){if(this._menubar._containerSource){this._menubar._containerSource.removeLink(Quarix.Links.Container,this._menubar)}this.addLink(Quarix.Links.Container,this._menubar)}if(!this._menubar.isObjectCreated()){this._menubar._windowName=this._windowName;this._menubar._propagateWindowName();this._menubar.createObjects()}if(B){B.removeChildrens();if(this._menubar&&A._domNode){if(A._domNode.domNode.parentNode){A._domNode.domNode.parentNode.removeChild(A._domNode.domNode)}B.domNode.appendChild(A._domNode.domNode);B.domNode.parentNode.parentNode.style.height="1px";B.domNode.parentNode.parentNode.style.display=""}else{B.domNode.parentNode.parentNode.style.height="";B.domNode.parentNode.parentNode.style.display="none"}}};Quarix.Widgets.Window.prototype.getToolbar=function(){return this._toolbar};Quarix.Widgets.Window.prototype.setToolbar=function(B){var A=this._nodes.toolbarHolder;this._toolbar=B;if(B&&this._toolbar._containerSource!=this){if(this._toolbar._containerSource){this._toolbar._containerSource.removeLink(Quarix.Links.Container,this._toolbar)}this.addLink(Quarix.Links.Container,this._toolbar)}if(A){A.removeChildrens();if(B&&B._domNode){if(B._domNode.domNode.parentNode){B.domNode.parentNode.removeChild(B.domNode)}A.domNode.appendChild(B._domNode.domNode);A.domNode.parentNode.parentNode.style.height="1px";A.domNode.parentNode.parentNode.style.display=""}else{A.domNode.parentNode.parentNode.style.height="";A.domNode.parentNode.parentNode.style.display="none"}}};Quarix.Widgets.Window.prototype.getStatusBar=function(){return this._statusBar};Quarix.Widgets.Window.prototype.setStatusBar=function(A){var B=this._nodes.statusbarHolder;this._statusBar=A;if(this._statusBar&&this._statusBar._containerSource!=this){if(this._statusBar._containerSource){this._statusBar._containerSource.removeLink(Quarix.Links.Container,this._statusBar)}this.addLink(Quarix.Links.Container,this._statusBar)}if(B){B.removeChildrens();if(this._menubar&&A._domNode){if(A._domNode.domNode.parentNode){A.domNode.parentNode.removeChild(A.domNode)}B.domNode.appendChild(A._domNode.domNode);B.domNode.parentNode.parentNode.style.height="1px";B.domNode.parentNode.parentNode.style.display=""}else{B.domNode.parentNode.parentNode.style.height="";B.domNode.parentNode.parentNode.style.display="none"}}};Quarix.Widgets.Window.prototype.addContainerTarget=function(A){if(this._containerTarget.indexOf(A)!=-1){return }if(A._objectType){switch(A._objectType){case"SmartToolbar":this.setToolbar(A);break;case"MenuBar":this.setMenubar(A);break;case"SmartStatusbar":this.setStatusBar(A);break}}Quarix.Widgets.Window.superclass.addContainerTarget.call(this,A)};Quarix.Widgets.Window.prototype.removeContainerTarget=function(A){if(A._objectType){switch(A._objectType){case"SmartToolbar":this.setToolbar(null);break;case"SmartMenu":this.setMenubar(null);break;case"SmartStatusbar":this.setStatusBar(null);break}}Quarix.Widgets.Window.superclass.removeContainerTarget.call(this,A)};Quarix.Widgets.Window.prototype.setLayoutManager=function(B,A){if(B instanceof Quarix.Layout.WindowLayout){console.error("Quarix.Widgets.Window.prototype.setLayoutManager called with WindowLayout")}Quarix.Widgets.Window.superclass.setLayoutManager.call(this,new Quarix.Layout.WindowLayout(this,B),A)};Quarix.Widgets.Window.prototype.getWindowType=function(){return this._windowType};Quarix.Widgets.Window.prototype.setBackgroundColor=function(_color){if(typeof _color=="string"&&_color.indexOf("Quarix")!=-1){_color=eval(_color)}this._properties.backgroundColor=_color;var node;switch(this._windowType){case"inline":if(node=this._domNode){if(node.domNode){node=node.domNode}node.style.background=_color}break;case"overlay":if((node=this._domNode.domNode)&&(node=node.lastChild)){node.style.background=_color}break;case"internal":if(node=this._nodes.contentRoot){if(node.domNode){node=node.domNode}node.style.backgroundImage="none";node.style.background=_color}if(node=$1(this._objectName+"_table_content")){node.style.background=_color}break}};Quarix.Widgets.Window.prototype.getBackgroundColor=function(){return this.getProperty("backgroundColor",Quarix.Theme.PanelBackground,true)};Quarix.Widgets.Window.prototype.exitObject=function(){if(!this.confirmExit(Quarix.EventManager.newEvent(this,"confirmExit"))){if(this.getProperty("FireValueChangedOnExit",false,true)){if(this.getObjectValue()!=null){this.publish(Quarix.Links.Action.ValueChanged,{value:this.getObjectValue()});this.setObjectValue(null)}for(var B=0,A=this._actionTargets.length;B<A;B++){this.removeLink(Quarix.Links.Action,this._actionTargets[B])}}if(this._properties.hideOnClose){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}else{this.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}}};Quarix.Widgets.Window.prototype.canClose=function(A){this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject));return false};Quarix.Widgets.Window.prototype.viewObject=function(A){if(this._properties.hide||!this._domNode||!this._objectInitialized){return }if(!this._objectHidden){return }if(this._currentPage==-1){this.selectPage(0)}this._nodes.containerHolder.domNode.style.display="";if(this._internalWindow){Quarix.FocusManager.setFocusedWindow(this);this._internalWindow.showCenter(!!this._properties.modal);if(this.getProperty("maximizeOnInit",false)){this._internalWindow.maximize();this.setProperty("maximizeOnInit",false)}}else{if(this._windowType=="overlay"){Quarix.FocusManager.setFocusedWindow(this);Windows.maxZIndex++;if(this._properties.modal){Quarix.Util.BlockWindow(document.body,10,true,Windows.maxZIndex);Windows.maxZIndex++;this._blockModalObj=Quarix.Util.BlockWindow.blocked.last()}this._domNode.domNode.style.zIndex=Windows.maxZIndex}}Quarix.Widgets.Window.superclass.viewObject.call(this,A);if(this._toolbar){this._toolbar.viewObject(A)}if(this._menubar){this._menubar.viewObject(A)}if(this._statusBar){this._statusBar.viewObject(A)}this.resize(Quarix.EventManager.newEvent(this,"resize",{force:false,skipSuper:true}));Quarix.FocusManager.applyEntry(this._objectName,10)};Quarix.Widgets.Window.prototype.hideObject=function(){if(!this.getProperty("hideOnClose",false)){this.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject));return }if(this._internalWindow){if(Quarix.FocusManager.getFocusedWindow()==this){this._lastFocusedObject=null;Quarix.FocusManager.setFocusedWindow(null)}this._internalWindow.hide()}else{if(this._windowType=="overlay"){if(this._properties.modal){if(Quarix.Util.BlockWindow.blocked.last()!=this._blockModalObj){Quarix.Util.BlockWindow.blocked.splice(Quarix.Util.BlockWindow.blocked.indexOf(this._blockModalObj),1);Quarix.Util.BlockWindow.blocked.push(this._blockModalObj)}Quarix.Util.ClearWindow(document.body)}}}Quarix.Widgets.Window.superclass.hideObject.call(this);if(this._toolbar){this._toolbar.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this._menubar){this._menubar.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this._statusBar){this._statusBar.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Widgets.Window.prototype.destroyObject=function(){if(this.getProperty("hideOnDestroy",false)){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}else{if(Quarix.FocusManager.getFocusedWindow()==this.getWindowName()){Quarix.FocusManager.setFocusedWindow(null)}if(this._internalWindow){this._internalWindow.hide()}Quarix.Widgets.Window.superclass.destroyObject.call(this);if(this._nodes.contentRoot&&this._nodes.contentRoot.domNode.parentNode){this._nodes.contentRoot.domNode.parentNode.removeChild(this._nodes.contentRoot.domNode)}if(this._internalWindow){this._internalWindow.destroy()}else{if(this._windowType=="overlay"){if(this._properties.modal){if(Quarix.Util.BlockWindow.blocked.last()!=this._blockModalObj){Quarix.Util.BlockWindow.blocked.splice(Quarix.Util.BlockWindow.blocked.indexOf(this._blockModalObj),1);Quarix.Util.BlockWindow.blocked.push(this._blockModalObj)}Quarix.Util.ClearWindow(document.body)}}}}};Quarix.Widgets.Window.prototype.confirmCancel=function(){var A=Quarix.Widgets.Window.superclass.confirmCancel.call(this);if(A){this.setObjectValue(null);if(this.getProperty("closeOnCancel",true,true)){this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject))}}return A};Quarix.Widgets.Window.prototype.confirmOk=function(){var A=Quarix.Widgets.Window.superclass.confirmOk.call(this);if(A){if(this.getProperty("closeOnOk",true,true)){this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject))}}return A};Quarix.Widgets.Window.prototype.__autoCenter=function(){if(this._properties.recenterAuto){var A;if(typeof this._properties.recenterObject=="string"){if($Q(this._properties.recenterObject)){this._properties.recenterObject=$Q(this._properties.recenterObject)}else{if($1(this._properties.recenterObject)){this._properties.recenterObject=$1(this._properties.recenterObject)}}}if(this._properties.recenterObject){if(this._properties.recenterObject._domNode){A=this._properties.recenterObject._domNode.domNode}else{if(this._properties.recenterObject.tagName){A=this._properties.recenterObject}else{A=document.body}}}else{A=document.body}var B=Position.page(A);B[0]+=A.scrollLeft+A.offsetWidth/2;B[1]+=A.scrollTop+A.offsetHeight/2;B[0]-=this._domNode.domNode.offsetWidth/2;B[1]-=this._domNode.domNode.offsetHeight/2;this._domNode.domNode.style.top=B[1]+"px";this._domNode.domNode.style.left=B[0]+"px"}};Quarix.Widgets.Window.prototype.scheduleResize=function(){if(this._resizeTimeout){return }var A=this;this._resizeTimeout=setTimeout(function(){A.resize(Quarix.EventManager.newEvent(this,"resize",{force:true}));A._resizeTimeout=null},100)};Quarix.Widgets.Window.prototype.resize=function(A){if(this._resizeTimeout&&!A.force){return }if(this._objectHidden){return }if(this._properties.height!="auto"){var B=document.body.offsetHeight;if(this._internalWindow){B-=this._domNode.domNode.offsetHeight-this._internalWindow.content.offsetHeight}this._contentDOMNode.domNode.style.maxHeight=B-this._nodes.menuCell.domNode.offsetHeight-this._nodes.toolbarCell.domNode.offsetHeight-this._nodes.statusbarCell.domNode.offsetHeight+"px";switch(this._windowType){case"inline":this._contentDOMNode.domNode.style.height=this._contentDOMNode.domNode.style.maxHeight;break;case"internal":this._internalWindow.updateWidth();this._internalWindow.updateHeight();break;case"overlay":if(this._properties.attachedTo){this._attachedTo=Quarix.Register.get(this._properties.attachedTo);var C=this._attachedTo._domNode.domNode.firstChild.cumulativeOffset();this._domNode.domNode.style.position="absolute";this._domNode.domNode.style.top=C.top+this._attachedTo._domNode.domNode.firstChild.offsetHeight+"px";this._domNode.domNode.style.left=C.left+"px";this._properties.attachedLimitedTo=(this._properties.attachedLimitedTo&&$(this._properties.attachedLimitedTo))?$(this._properties.attachedLimitedTo):$("contentmainWin");if(!this._properties.attachedPosition){this._properties.attachedPosition="auto"}if(["auto","top","bottom"].indexOf(this._properties.attachedPosition)!=-1){this._reposition(this._properties.attachedPosition)}else{console.warn("Possible positions are: 'auto', 'top', 'bottom'. Default is 'auto'")}}break}}if(!A||!A.skipSuper){Quarix.Widgets.Window.superclass.resize.call(this,A)}if(this._properties.height!="auto"&&this._internalWindow){setTimeout(this._internalWindow.updateWidth.bind(this._internalWindow),50);setTimeout(this._internalWindow.updateHeight.bind(this._internalWindow),60)}this.__autoCenter()};Quarix.Widgets.Window.prototype._reposition=function(A){var B=0;this._domNode.domNode.descendants().each(function(D){B=(D.offsetHeight>B)?D.offsetHeight:B});var C=this._attachedTo._domNode.domNode.firstChild.cumulativeOffset();switch(A){case"top":this._domNode.domNode.style.top=C.top+this._attachedTo._domNode.domNode.firstChild.offsetTop-B+"px";break;case"auto":if(this._properties.attachedLimitedTo.clientTop+this._properties.attachedLimitedTo.clientHeight<this._domNode.domNode.offsetTop+B){this._reposition("top")}break}};Quarix.Widgets.Window.prototype.getActionTarget=function(){return this._actionTargets};Quarix.Widgets.Window.prototype.addActionTarget=function(A){this._actionTargets.push(A)};Quarix.Widgets.Window.prototype.removeActionTarget=function(B){var A=0;while((this._actionTargets[A]!=null)&&(this._actionTargets[A]!=B)){++A}this._actionTargets.splice(A,1)};Quarix.Widgets.Window.getFocusedWindowName=function(){return Quarix.FocusManager.getFocusedWindow()};Quarix.Widgets.Window.getFocusedObject=function(){return Quarix.FocusManager.getFocusedObject()};Quarix.Widgets.Window.prototype._generatePopupFromToolbar=function(F){this._popup=new Quarix.Widgets.PopupMenu("generated-popup-for-"+this._objectName,{});var B,E,G=[],D;for(B=0;B<F._containerTarget.length;B++){G.push(F._containerTarget[B])}for(B=0;B<G.length;B++){if((E=G[B])=="separator"){Quarix.EventManager.subscribe(this._popup,Quarix.Links.Container.CreateObjects,new Quarix.Widgets.MenuItem("generated-mi-"+B+"-for-"+this._objectName,{label:""}))}else{if(E instanceof Quarix.Widgets.ToolGroup){if(!this.getProperty("parseButtonGroupsToPopup",true,true)){continue}E=E._containerTarget;G.splice(B+1,0,"separator");for(D=E.length-1;D>=0;D--){G.splice(B+1,0,E[D])}}else{if(E instanceof Quarix.Widgets.ToolButton){var C={label:E._properties.label||"(No label given)",image:E._properties.image||null,hoverImage:E._properties.hoverImage||E._properties.hooverImage||null,disabledImage:E._properties.disabledImage||null,clickTarget:E};if(E._properties.hotkey){C.___hotkeyText=String(E._properties.hotkey)}var A=new Quarix.Widgets.MenuItem("generated-mi-"+B+"-for-"+this._objectName,C);E._properties.onDisableObjectPublish=Quarix.Links.Container.DisableObject;E._properties.onEnableObjectPublish=Quarix.Links.Container.EnableObject;Quarix.EventManager.subscribe(E,Quarix.Links.Container.DisableObject,A);Quarix.EventManager.subscribe(E,Quarix.Links.Container.EnableObject,A);Quarix.EventManager.subscribe(this._popup,Quarix.Links.Container.CreateObjects,A);if(E._popup){Quarix.EventManager.subscribe(A,Quarix.Links.Container.CreateObjects,E._popup)}}}}}this.addLink(Quarix.Links.Container,this._popup);if(this._objectCreated){this._popup.createObjects()}if(this._objectInitialized){this._popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.Window.prototype.getPopup=function(){return this._popup};Quarix.Widgets.Window.prototype.removePopup=function(){this._popup=null};Quarix.Widgets.Window.prototype.setPopup=function(A){if(this._popup==A){return }this._popup=A;if(this._objectCreated&&!this._popup._objectCreated){this._popup.createObjects()}if(this._objectInitialized&&!this._popup._objectInitialized){this._popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.Window.prototype.addActionSource=function(A){this.actionSources.push(A)};Quarix.Widgets.Window.prototype.getActionSource=function(){return this.actionSources};Quarix.Widgets.Window.prototype.removeActionSource=function(A){this.actionSources.splice(this.actionSources.indexOf(A),1)};Quarix.Widgets.Window.prototype.valueChanged=function(A){this.setObjectValue(A.value)};Quarix.Widgets.Window.prototype.actionPerformed=function(A){switch(A.command){case"apply":this.confirmOk(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmOk));break;case"cancel":this.confirmCancel(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ConfirmCancel));break;case"exit":this.confirmExit(Quarix.EventManager.newEvent(this,"confirmExit"));break}};Quarix.Widgets.Window.prototype.setSize=function(B,A){if(B){}if(A){}this.scheduleResize()};Quarix.Widgets.ToolWindow=function(B,A){Quarix.Widgets.ToolWindow.superclass.constructor.call(this,B,A);this._interval=null};Quarix.Widgets.ToolWindow.defaultProperties={hideOnInit:true,windowType:"overlay",position:"bottom",hideOnClose:true,speed:0,animationInterval:50};Quarix.extend(Quarix.Widgets.ToolWindow,Quarix.Widgets.Window);Quarix.Widgets.ToolWindow.prototype.showAt=function(A){this._properties.position=A;this.show()};Quarix.Widgets.ToolWindow.prototype.show=function(){var G=[0,0,document.body.offsetWidth,document.body.offsetHeight];var C;var F=this._domNode.domNode;F.style.top=G[3]+"px";this.viewObject(Quarix.EventManager.newEvent(this,"viewObject"));switch(this._properties.position){case"bottom":C=[0,G[3],G[2],G[3]+F.offsetHeight];G=[0,G[3]-F.offsetHeight,G[2],G[3]];break;case"top":C=[0,-F.offsetHeight,G[2],0];G=[0,0,G[2],F.offsetHeight];break;case"left":C=[-F.offsetWidth,0,0,G[3]];G=[0,0,F.offsetWidth,G[3]];break;case"right":C=[G[2],0,G[2]+F.offsetWidth,G[3]];G=[G[2]-F.offsetWidth,0,G[2],G[3]];break}if(!this._properties.speed){F.style.left=G[0]+"px";F.style.top=G[1]+"px"}else{F.style.left=C[0]+"px";F.style.top=C[1]+"px";if(this._interval){clearInterval(this._interval)}var E=this;var B=G[0]-C[0],A=G[1]-C[1];var H=new Date().valueOf(),D=E._properties.speed*1000;this._interval=setInterval(function(){var I=(new Date().valueOf()-H)/D;if(I>=1){F.style.left=G[0]+"px";F.style.top=G[1]+"px";clearInterval(E._interval);E._interval=null}else{F.style.left=C[0]+B*I+"px";F.style.top=C[1]+A*I+"px"}},this._properties.animationInterval)}};function testTool(){new Quarix.Widgets.ToolWindow("asdf",{speed:5}).addLink("createObjects",new Quarix.Widgets.Splitter("asdfS",{}));$Q("asdf").createObjects();$Q("asdf").initializeObject();$Q("asdf").show()}Quarix.Widgets.Toolbar=function(B,A){Quarix.Widgets.Toolbar.superclass.constructor.call(this,B,A);this._properties=Object.extend({showSomeLabels:true,showAllLabels:false},this._properties);this._DOMClassPrefix="toolbar";this._objectType="SmartToolbar";if(this._properties.noBorder!=false){this._properties.noBorder=true}if(this._properties.singlePage!=false){this._properties.singlePage=true}this._properties.handleConfirms=false};Quarix.extend(Quarix.Widgets.Toolbar,Quarix.Widgets.Container);Quarix.Widgets.Toolbar.prototype._useContainerHead=false;Quarix.Widgets.Toolbar.prototype.setBackgroundColor=function(){};Quarix.Widgets.Toolbar.prototype._buildUI=function(){Quarix.Widgets.Toolbar.superclass._buildUI.apply(this,arguments);var A="";if(this._properties.showSomeLabels){A+=" showPreferred"}if(this._properties.showAllLabels){A+=" forceLabel"}if(A){this._domNode.domNode.className+=A}this._domNode.domNode.tabIndex=-1};Quarix.Widgets.Toolbar.prototype.setShowSomeLabels=function(A){if(this._properties.showSomeLabels==A){return }this._properties.showSomeLabels=A;if(this._domNode){if(A){this._domNode.domNode.className+=" showPreferred"}else{this._domNode.domNode.className=this._domNode.domNode.className.replace(/ showPreferred\b/,"")}}};Quarix.Widgets.Toolbar.prototype.setShowAllLabels=function(A){if(this._properties.showAllLabels==A){return }this._properties.showAllLabels=A;if(this._domNode){if(A){this._domNode.domNode.className+=" forceLabel"}else{this._domNode.domNode.className=this._domNode.domNode.className.replace(/ forceLabel\b/,"")}}};Quarix.Widgets.Toolbar.prototype.resize=function(){};Quarix.Widgets.ToolGroup=function(B,A){Quarix.Widgets.ToolGroup.superclass.constructor.call(this,B,A);this._DOMClassPrefix="toolGroup";this._displayMode="inline";this._properties=Object.extend({showSomeLabels:true,showAllLabels:false,layoutSingleLine:true},this._properties);this._properties.noBorder=true;this._properties.singlePage=true;this._properties.handleConfirms=false;this._objectType="ToolGroup"};Quarix.extend(Quarix.Widgets.ToolGroup,Quarix.Widgets.Container);Quarix.Widgets.ToolGroup.prototype._useContainerHead=false;Quarix.Widgets.ToolGroup.prototype.initializeObject=function(){Quarix.Widgets.ToolGroup.superclass.initializeObject.call(this);var B=this._containerTarget.length;var C=[];for(var A=0;A<B;A++){if(!this._containerTarget[A]._properties.hide){C.push(this._containerTarget[A])}}B=C.length;if(B<3){if(B==2){this._containerTarget[0]._domNode.domNode.className+=" tbF";this._containerTarget[1]._domNode.domNode.className+=" tbL"}else{this._containerTarget[0]._domNode.domNode.className+=" tbF"}}else{this._containerTarget[0]._domNode.domNode.className+=" tbF";this._containerTarget[B-1]._domNode.domNode.className+=" tbL";for(A=1;A<B-1;A++){this._containerTarget[A]._domNode.domNode.className+=" tbM"}}};Quarix.Widgets.ToolGroup.prototype.setBackgroundColor=function(){};Quarix.Widgets.ToolGroup.prototype._buildUI=function(){Quarix.Widgets.ToolGroup.superclass._buildUI.apply(this,arguments);var A="";if(this._properties.showSomeLabels){A+=" showPreferred"}if(this._properties.showAllLabels){A+=" forceLabel"}if(A){this._domNode.domNode.className+=A}};Quarix.Widgets.ToolGroup.prototype.setShowSomeLabels=function(A){if(this._properties.showSomeLabels==A){return }this._properties.showSomeLabels=A;if(this._domNode){if(A){this._domNode.domNode.className+=" showPreferred"}else{this._domNode.domNode.className=this._domNode.domNode.className.replace(/ showPreferred\b/,"")}}};Quarix.Widgets.ToolGroup.prototype.setShowAllLabels=function(A){if(this._properties.showAllLabels==A){return }this._properties.showAllLabels=A;if(this._domNode){if(A){this._domNode.domNode.className+=" forceLabel"}else{this._domNode.domNode.className=this._domNode.domNode.className.replace(/ forceLabel\b/,"")}}};Quarix.Widgets.ToolGroup.prototype.resize=function(){};Quarix.Widgets.StatusPanel=function(B,A){if(false&&!A.layout){A.layout="TableLayout";A.layoutTableRows=1;A.layoutTableCols=1;A.layoutCellSpacing=0}Quarix.Widgets.StatusPanel.superclass.constructor.call(this,B,A);this._DOMClassPrefix="statusPanel";this._displayMode="block";this._objectType="SmartStatusbar"};Quarix.extend(Quarix.Widgets.StatusPanel,Quarix.Widgets.Container);Quarix.Widgets.HTMLBlock=function(A,B){A=A||Quarix.UI.GenerateId();Quarix.Widgets.HTMLBlock.superclass.constructor.call(this,A,B);this._contentDOMNode=null;this.ClassPrefix="hTMLBlock";this._displayMode="block";this._doColumnName=null;this._dataSource=null};Quarix.extend(Quarix.Widgets.HTMLBlock,Quarix.Base.AbsVisualObject);Quarix.Widgets.HTMLBlock.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable];Quarix.Widgets.HTMLBlock.prototype._processObjectProperties=function(){Quarix.Widgets.HTMLBlock.superclass._processObjectProperties.call(this);if(this._properties.doColumnName!=false){this.setDOColumnName(this._properties.doColumnName||this._objectName)}};Quarix.Widgets.HTMLBlock.prototype._processVisualObjectProperties=function(){Quarix.Widgets.HTMLBlock.superclass._processVisualObjectProperties.call(this);var B=this._properties.width||null,A=this._properties.height||null;if(B||A){this.setSize(B,A)}if(this._dataSource){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}else{this.setContent(this._properties.content||"&nbsp;")}if(!(this._properties.hidden==true)&&!(this._properties.hideOnInit==true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.HTMLBlock.prototype.createObjects=function(){this._objectCreated=true;this._processObjectProperties();this._buildUI();return this};Quarix.Widgets.HTMLBlock.prototype._buildUI=function(){var B;if(!this._domNode){var C=typeof this._properties.content=="string"?this._properties.content:"";this.setDOMNode(Quarix.UI.Element.fromString('<div id="'+this._objectName+'" class="'+this.ClassPrefix+'" style="display:none">'+C+"</div>"));this._contentDOMNode=this._domNode;if(typeof this._properties.content=="object"){this._contentDOMNode.domNode.appendChild(this._properties.content)}this._lastContent=this._properties.content;if(this._containerSource){var A=this._containerSource.getLayoutManager(this._objectPage);if(A){A.add(this)}}}};Quarix.Widgets.HTMLBlock.prototype.initializeObject=function(){Quarix.Widgets.HTMLBlock.superclass.initializeObject.call(this);this._objectInitialized=true;this._processVisualObjectProperties();return this};Quarix.Widgets.HTMLBlock.prototype.getContentDOMNode=function(){return this._contentDOMNode};Quarix.Widgets.HTMLBlock.prototype.setContent=function(A){if(A==this._lastContent){return }if(this._contentDOMNode){this._lastContent=A;if(typeof A=="string"){this._contentDOMNode.domNode.innerHTML=A}else{if(typeof A=="object"){while(this._contentDOMNode.domNode.firstChild){this._contentDOMNode.domNode.removeChild(this._contentDOMNode.domNode.firstChild)}this._contentDOMNode.domNode.appendChild(A)}}if(navigator.appVersion.indexOf("MSIE")>-1&&(navigator.appVersion.indexOf("MSIE 6")>-1||navigator.appVersion.indexOf("MSIE 5")>-1)){var C=this._contentDOMNode.domNode.getElementsByTagName("img"),B;for(B=0;B<C.length;B++){if(C[B].src.match(/\.png$/i)){C[B].onload=Quarix.Widgets.onPNGLoad}}}if(this._containerSource&&this._containerSource.objectInitialized&&!this._containerSource._objectHidden){this._containerSource.resize(Quarix.EventManager.newEvent(this,Quarix.Links.Container.Resize))}}};Quarix.Widgets.HTMLBlock.prototype.setSize=function(B,A){if(typeof B!="undefined"&&B!==null){this._properties.width=B;if(this._domNode){this._domNode.setWidth(B)}}if(typeof A!="undefined"&&A!==null){this._properties.height=A;if(this._domNode){this._domNode.setHeight(A)}}};Quarix.Widgets.HTMLBlock.prototype.setDOColumnName=function(A){this._doColumnName=A;Quarix.Register.add(this,this._objectName,this.getDOColumnName(),this._containerSource)};Quarix.Widgets.HTMLBlock.prototype.getDOColumnName=function(){return this._doColumnName||this._objectName};Quarix.Widgets.HTMLBlock.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.HTMLBlock.prototype.setDataSource=function(A){this._dataSource=A;if(A&&this._objectInitialized){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}};Quarix.Widgets.HTMLBlock.prototype.dataAvailable=function(){if(this._dataSource._properties.currentIndex<0){this.setContent(this._properties.noRecordContent||"")}else{var E=this._properties.content,B,A=0;var F=this._dataSource._getDataObject(),C=F.getCurrentRow(),D=F.options.columns;while(B=E.match(/{([-0-9a-zA-Z_]+)}/)){E=E.replace(B[0],C[D.indexByName[B[1]]])}this.setContent(E)}};Quarix.Widgets.ToolButton=function(B,A){Quarix.Widgets.ToolButton.superclass.constructor.call(this,B,A);this._properties=Object.extend({preferLabel:false,forceLabel:false,toggleMode:false,hoverImage:A.hoverImage||A.hooverImage},this._properties);this._contentDOMNode=null;this._imageElement=null;this._labelElement=null;this.onClickPublish=Quarix.Links.Action.ActionPerformed;this.onClickEval=null;this.onClickExecute=null;this._actionTarget=[];this.actionTargetEvents=[];this._isToggled=false;this._canFocus=true;this._hasFocus=false;this._isHover=false;this._popup=null;this._popupImg=null};Quarix.extend(Quarix.Widgets.ToolButton,Quarix.Base.AbsVisualObject);Quarix.Widgets.ToolButton.prototype.createObjects=function(){this._processObjectProperties();if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.ToolButton.superclass.createObjects.call(this);if(this._popup&&!this._popup._objectCreated){this._popup.createObjects()}this._objectCreated=true;this._processVisualObjectProperties();if(this._properties.hotkey&&!this._properties.hotkeyDescription&&this._properties.label){this.setHotkeyDescription(this._properties.label)}};Quarix.Widgets.ToolButton.prototype._processObjectProperties=function(){Quarix.Widgets.ToolButton.superclass._processObjectProperties.call(this);if(typeof this._properties.onClickPublish!="undefined"){this.onClickPublish=this._properties.onClickPublish}if(this._properties.onClickEval){this.onClickEval=this._properties.onClickEval}if(this._properties.onClickExecute){this.onClickExecute=this._properties.onClickExecute}if(this._properties.disableOnInit){this._objectEnabled=false;this._canFocus=false}};Quarix.Widgets.ToolButton.prototype._isUIBuilt=function(){return(this.getDOMNode()&&this._imageElement)};Quarix.Widgets.ToolButton.prototype._buildUI=function(){var B,G,H,C;var E='<img class="toolButtonImg" alt="" border="0" vspace="0" hspace="0" title="'+(this._properties.tooltip||"")+'" src="'+(this._objectEnabled?this._properties.image||"":this._properties.disabledImage||this._properties.image||"")+'"/><span class="label">'+(this._properties.label||"")+"</span>";var D=false;var F=this._domNode;if(!F){if(F=$1(this._objectName)){this.setDOMNode(F=Quarix.UI.Element.get(F));F.domNode.style.display="none";this._contentDOMNode=G=F.domNode}else{this.setDOMNode(F=Quarix.UI.Element.fromString(['<span class="toolButton',Quarix.Theme.ImageBase&&(C=Quarix.Theme.ImageBase.getWithSource(this._properties.image))&&C.image&&C.image.width&&(" tbtb"+C.image.width)||"",this._properties.preferLabel?" preferLabel":"",this._properties.forceLabel?" forceLabel":"",this._objectEnabled==false?" disabled":"",'" id="',this._objectName,(C=this._properties.tooltip)?'" title="'+C:"",'" tabindex="',this._objectEnabled?this._properties.tabIndex||0:-1,this._properties.hoverImage?'" onmouseover="$Q(this.id)._handlerMouseOver()" onmouseout="$Q(this.id)._handlerMouseOut()':"",'" onclick="$Q(this.id).click(event);" onkeydown="$Q(this.id)._handleKeyEvents(arguments[0] || window.event)" onblur="$Q(this.id)._focusLost()" onfocus="$Q(this.id)._focusGained()','" style="display:none;">',E,"</span>"].join("")));this._contentDOMNode=G=F.domNode;this._imageElement=F.domNode.firstChild;this._labelElement=F.domNode.lastChild;D=true;var A=E.match(/\ssrc="([^"]*)"/);if(A&&A[1]){this._lastImgSrc=A[1]}}}else{F.domNode.style.display="none";G=this.getContentDOMNode();if(!G){this._contentDOMNode=G=F.domNode}if(this._objectEnabled==false){this._setImgSrc(this._properties.disabledImage||this._properties.image)}else{this._setImgSrc(this._properties.image)}}if(this._popup){this._openPopup=this.__openPopup.bindAsEventListener(this);this._popupImg=document.createElement("span");if(this._properties.onClickPublish||this._properties.onClickEval||this._properties.onClickExecute){this._popupImg.className="popupOpen";Event.observe(this._popupImg,"click",this._openPopup,false)}else{this._popupImg.className="popupOpen popupDefault";Event.observe(this._domNode,"click",this._openPopup,false)}G.appendChild(this._popupImg)}this._imageElement.setSrc=Quarix.Widgets.ToolButton.setImgSrc;if(D&&(C=this._containerSource)){if(C instanceof Quarix.Base.AbsContainer){C.getLayoutManager(this._objectPage).add(this)}else{if(C instanceof Quarix.UI.Element){C.domNode.appendChild(F.domNode)}}}};if(navigator.appVersion.indexOf("MSIE")>-1&&(navigator.appVersion.indexOf("MSIE 6")>-1||navigator.appVersion.indexOf("MSIE 5")>-1)){Quarix.Widgets.ToolButton.prototype._setImgSrc=function(A){if(A!=this._lastImgSrc){if(A.match(/\.png$/)){this._imageElement.setSrc(A)}else{this._imageElement.onload=null;this._imageElement.style.filter="";this._imageElement.src=A}this._lastImgSrc=A}};Quarix.Widgets.ToolButton.setImgSrc=function(A){var B=this;if(!(this.style.width||this.style.height)){this.onload=Quarix.Widgets.onPNGLoad;this.src=A}else{this.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+A+'", sizingMethod="scale")'}};Quarix.Widgets.onPNGLoad=function(D){var A=this.offsetWidth,E=this.offsetHeight;this.onload=null;if(this.src.indexOf("/spacer.gif")>-1){return }if(A>0&&E>0){this.style.width=A+"px";this.style.height=E+"px";var B=this.offsetWidth,C=this.offsetHeight;if(B!=A){this.style.width=(A+A-B)+"px"}if(C!=E){this.style.height=(E+E-C)+"px"}this.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+this.src+'", sizingMethod="scale")';this.src=Quarix.Globals.DEP_PATH+"/templates/default/images/spacer.gif"}else{setTimeout(Quarix.Widgets.onPNGLoad.bind(this),200)}}}else{Quarix.Widgets.ToolButton.prototype._setImgSrc=function(A){if(A!=this._lastImgSrc){this._imageElement.src=A;this._lastImgSrc=A}};Quarix.Widgets.ToolButton.setImgSrc=function(A){if(this.src!=A){this.src=A}}}Quarix.Widgets.ToolButton.prototype._handlerMouseOver=function(A){this._isHover=this._imageElement&&this._properties.hoverImage;if(this._objectEnabled){if(this._isHover){this._setImgSrc(this._properties.hoverImage)}}};Quarix.Widgets.ToolButton.prototype._handlerMouseOut=function(A){this._isHover=false;if(this._objectEnabled&&this._imageElement&&this.getImage()){this._setImgSrc(this.getImage())}};Quarix.Widgets.ToolButton.prototype.initializeObject=function(){Quarix.Widgets.ToolButton.superclass.initializeObject.call(this);if(this._popup&&!this._popup._objectInitialized){this._popup.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this._objectInitialized=true;if(this._properties.hideOnInit||this._properties.hide){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}else{if(this.getProperty("isToggled",false,true)){this._isToggled=true;if(this.getProperty("toggledImage",false,true)){if(this._isToggled){this._setImgSrc(this.getProperty("toggledImage"))}else{this._setImgSrc(this.getProperty("image"))}}if(this.getProperty("toggledLabel",false,true)){if(this._isToggled){this._labelElement.innerHTML=this.getProperty("toggledLabel")}else{this._labelElement.innerHTML=this.getProperty("label")}}}this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.ToolButton.prototype.viewObject=function(){Quarix.Util.Trigger(this,"onViewObject");if(this._properties.hide||!this._domNode){return }Quarix.Widgets.ToolButton.superclass.viewObject.call(this);this._objectHidden=false};Quarix.Widgets.ToolButton.prototype.applyEntry=function(){if(this._domNode&&this.isObjectEnabled()){this._domNode.domNode.focus()}};Quarix.Widgets.ToolButton.prototype._focusLost=function(){if(!this._hasFocus){return }this._hasFocus=false;if(this._domNode){this._domNode.domNode.className=this._domNode.domNode.className.replace(" focused","")}Quarix.Util.Trigger(this,"onFocusLost")};Quarix.Widgets.ToolButton.prototype._focusGained=function(){if(this._hasFocus){return }this._hasFocus=true;if(this._domNode){this._domNode.domNode.className+=" focused"}Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.ToolButton.prototype._handleKeyEvents=function(A){if(A.keyCode==Event.KEY_RETURN||A.keyCode==32||A.keyCode==0){Event.stop(A);this.click(A)}};Quarix.Widgets.ToolButton.prototype.click=function(event){if(!this.isObjectEnabled()){if(event&&event.type=="keydown"){throw $continue}else{return }}event=event||Window.event;if(event){Event.stop(event)}this._isToggled=!this._isToggled;if(this.onClickEval){var node=$1("_tmpEvalUrl");if(!node){new Insertion.Bottom(document.body,'<div id="_tmpEvalUrl" style="display:none"> </div>');node=$1("_tmpEvalUrl")}else{node.innerHTML=""}new Ajax.Updater(node,this.onClickEval,{method:"post",parameters:params,asynchronous:true,evalScripts:true})}if(this.onClickExecute){if(typeof this.onClickExecute=="function"){this.onClickExecute.call(this)}else{eval(this.onClickExecute)}}if(this.onClickPublish&&(this.getActionCommand()||this.onClickPublish!=Quarix.Links.Action.ActionPerformed)){if(this.onClickPublish==Quarix.Links.Container.ExitObject){setTimeout((function(){this.publish(this.onClickPublish,{command:this.getActionCommand()})}).bind(this),10)}else{this.publish(this.onClickPublish,{command:this.getActionCommand()})}}Quarix.Util.Trigger(this,"onToggle",[this._isToggled]);this.setToggleStatus()};Quarix.Widgets.ToolButton.prototype.setToggleStatus=function(){if(this.getProperty("toggledImage",false,true)){if(this._isToggled){this._setImgSrc(this.getProperty("toggledImage"))}else{this._setImgSrc(this.getProperty("image"))}}if(this.getProperty("toggledLabel",false,true)){if(this._isToggled){this._labelElement.innerHTML=this.getProperty("toggledLabel")}else{this._labelElement.innerHTML=this.getProperty("label")}}};Quarix.Widgets.ToolButton.prototype.__openPopup=function(A){var B=Position.cumulativeOffset(this._domNode.domNode);this._popup.pop(B[0],B[1]+this._domNode.domNode.offsetHeight);this._popup._ignoreNextClick=true};Quarix.Widgets.ToolButton.prototype.getImage=function(){return this._isToggled&&this._properties.toggledImage||this._properties.image};Quarix.Widgets.ToolButton.prototype.setImage=function(A){this._properties.image=A;if(this._imageElement){this._setImgSrc(A)}};Quarix.Widgets.ToolButton.prototype.getDisabledImage=function(){return this._properties.disabledImage||null};Quarix.Widgets.ToolButton.prototype.setDisabledImage=function(A){this._properties.disabledImage=A};Quarix.Widgets.ToolButton.prototype.getLabel=function(){return this._properties.label||null};Quarix.Widgets.ToolButton.prototype.setLabel=function(A){this._properties.label=A;this._labelElement.innerHTML=A};Quarix.Widgets.ToolButton.prototype.getTooltip=function(){if(this._properties.tooltip){return this._properties.tooltip+(this._properties.hotkey?(" - "+this._properties.hotkey):"")}return null};Quarix.Widgets.ToolButton.prototype.setTooltip=function(A){this._properties.tooltip=A;this._imageElement.title=A};Quarix.Widgets.ToolButton.prototype.getHoverImage=function(){return this._properties.hoverImage||null};Quarix.Widgets.ToolButton.prototype.setHoverImage=function(A){this._properties.hoverImage=A};Quarix.Widgets.ToolButton.prototype.getActionCommand=function(){return this._properties.actionCommand||null};Quarix.Widgets.ToolButton.prototype.setActionCommand=function(A){this._properties.actionCommand=A};Quarix.Widgets.ToolButton.prototype.getActionKey=function(){return this._properties.actionKey||null};Quarix.Widgets.ToolButton.prototype.setActionKey=function(A){this._properties.actionKey=A};Quarix.Widgets.ToolButton.prototype.isActionKeyGlobal=function(){return !!this._properties.globalKey};Quarix.Widgets.ToolButton.prototype.setActionKeyGlobal=function(A){if(A){this._properties.actionKey=true}else{this._properties.actionKey=false}};Quarix.Widgets.ToolButton.prototype.setContentDOMNode=function(A){if(typeof A=="string"){A=$1(A)}this._contentDOMNode=A};Quarix.Widgets.ToolButton.prototype.getContentDOMNode=function(){return this._contentDOMNode};Quarix.Widgets.ToolButton.prototype.enableObject=function(){if(this._objectEnabled){return }if(Quarix.Util.Trigger(this,"onEnableObject")){return }this._objectEnabled=true;if(!this._objectCreated){return }this._domNode.domNode.className=this._domNode.domNode.className.replace(" disabled","");if(this._imageElement){if(this._isHover&&this._properties.hoverImage){this._setImgSrc(this._properties.hoverImage)}else{if(this.getImage()){this._setImgSrc(this.getImage())}}this._domNode.domNode.tabIndex=this._properties.tabIndex||0;this._canFocus=true}if(Quarix.Util.Trigger(this,"afterEnableObject")){return }};Quarix.Widgets.ToolButton.prototype.disableObject=function(){if(this._objectEnabled==false){return }if(Quarix.Util.Trigger(this,"onDisableObject")){return }this._objectEnabled=false;if(!this._objectCreated){return }if(this._domNode){this._domNode.domNode.className=(this._hasFocus?this._domNode.domNode.className.replace(" focused",""):this._domNode.domNode.className)+" disabled"}var A;if(this._imageElement&&(A=this.getDisabledImage())){this._setImgSrc(A);this._domNode.domNode.tabIndex=-1;this._canFocus=false}};Quarix.Widgets.ToolButton.prototype.destroyObject=function(){if(this._contentDOMNode){this._contentDOMNode.onmouseover=null;this._contentDOMNode.onmouseout=null;this._contentDOMNode.onmouseup=null;this._contentDOMNode.onmousedown=null}Quarix.Widgets.ToolButton.superclass.destroyObject.call(this)};Quarix.Widgets.ToolButton.prototype.getActionTarget=function(){return this._actionTarget};Quarix.Widgets.ToolButton.prototype.addActionTarget=function(A){this._actionTarget.push(A)};Quarix.Widgets.ToolButton.prototype.removeActionTarget=function(A){var B=0;while((this._actionTarget[B]!=null)&&(this._actionTarget[B]!=A)){++B}this._actionTarget.splice(B,1)};Quarix.Widgets.ToolButton.prototype.addContainerTarget=function(A){if(A.getObjectType){switch(A.getObjectType()){case"PopupMenu":this.setPopup(A);break;default:console.log("[Warning] Attempt to link unsupported object to ToolButton. The alien object is %o",A)}}else{console.log("[Warning] Attempt to link unsupported object to ToolButton. The alien object is %o",A)}};Quarix.Widgets.ToolButton.prototype.getContainerTarget=function(){if(this._popup){return[this._popup]}return[]};Quarix.Widgets.ToolButton.prototype.removeContainerTarget=function(A){if(this._popup&&this._popup==A){this.removePopup()}};Quarix.Widgets.ToolButton.prototype.setPopup=function(A){if(this._popup==A){return }if(this._popup){this.removePopup()}this._popupImg=document.createElement("span");if(this._properties.onClickPublish||this._properties.onClickEval||this._properties.onClickExecute){this._popupImg.className="popupOpen";Event.observe(this._popupImg,"click",this._openPopup,false)}else{this._popupImg.className="popupOpen popupDefault";Event.observe(this._domNode,"click",this._openPopup,false)}this._contentDOMNode.appendChild(this._popupImg);this._popup=A};Quarix.Widgets.ToolButton.prototype.removePopup=function(){if(this._popup){this._popupImg.parentNode.removeChild(this._popupImg);if(this._properties.onClickPublish||this._properties.onClickEval||this._properties.onClickExecute){Event.stopObserving(this._popupImg,"click",this._openPopup,false)}else{Event.stopObserving(this._domNode,"click",this._openPopup,false)}this._popupImg=null;this._popup=null}};Quarix.Widgets.ToolButton.prototype.isToggled=function(){return this._isToggled};Quarix.Widgets.ToolButton.prototype.toggle=function(A){if(!this._objectInitialized||!this._objectEnabled){return }if(typeof (A)=="undefined"||A==null){A=!this._isToggled}if(this._isToggled!=A){this.click()}};Quarix.Widgets.Button=function(B,A){Quarix.Widgets.Button.superclass.constructor.call(this,B,A);this._contentDOMNode=null;this._imageElement=null;this.onClickPublish=Quarix.Links.Action.ActionPerformed;this.onClickEval=null;this.onClickExecute=null;this._actionTarget=[];this.actionTargetEvents=[];this._actions={onBlur:Quarix.Widgets.Button._actions._onBlur.bindAsEventListener(this),onFocus:Quarix.Widgets.Button._actions._onFocus.bindAsEventListener(this)}};Quarix.extend(Quarix.Widgets.Button,Quarix.Base.AbsVisualObject);Quarix.Widgets.Button._actions={};Quarix.Widgets.Button._actions._onBlur=function(){this._hasFocus=false;Quarix.Util.Trigger(this,"onBlur")};Quarix.Widgets.Button._actions._onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.Button.prototype._initHandlers=function(){Event.observe(this._domNode.domNode,"blur",this._actions.onBlur,false);Event.observe(this._domNode.domNode,"focus",this._actions.onFocus,false);this._domNode.domNode.tabIndex=this.getProperty("tabIndex",0,true)};Quarix.Widgets.Button.prototype.createObjects=function(){this._processObjectProperties();if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.Button.superclass.createObjects.call(this);this._initHandlers()};Quarix.Widgets.Button.prototype._processObjectProperties=function(){Quarix.Widgets.Button.superclass._processObjectProperties.call(this);if(this._properties.onClickPublish){this.onClickPublish=this._properties.onClickPublish}if(this._properties.onClickEval){this.onClickEval=this._properties.onClickEval}if(this._properties.onClickExecute){this.onClickExecute=this._properties.onClickExecute}};Quarix.Widgets.Button.prototype._isUIBuilt=function(){return(this.getDOMNode()&&this.getContentDOMNode()&&this._imageElement)};Quarix.Widgets.Button.prototype._buildUI=function(){var A,B,C;if(!this.getDOMNode()){if($1(this._objectName)){this.setDOMNode(Quarix.UI.Element.get(this._objectName));this._containerSource.getLayoutManager(this._objectPage).add(this)}else{this._domNode=Quarix.UI.Element.fromString(['<input type="button" class="button',this._properties["class"]?" "+this._properties["class"]:"",'" id="',this._objectName,'" value="',this.getLabel(),'" style="',(this._properties.hide||this._properties.hideOnInit)?"display: none":"",'" />'].join(""));this._containerSource.getLayoutManager(this._objectPage).add(this)}}if(this._domNode){if(this.getTooltip()){this._domNode.domNode.title=this.getTooltip()}Event.observe(this._domNode.domNode,"click",this._handlerClick.bindAsEventListener(this))}};Quarix.Widgets.Button.prototype._handlerClick=function(A){if(!A){var A=window.event}if(typeof (A)!="undefined"){Event.stop(A)}if(this._objectEnabled){this.click()}};Quarix.Widgets.Button.prototype.initializeObject=function(){Quarix.Widgets.Button.superclass.initializeObject.call(this);this._objectInitialized=true};Quarix.Widgets.Button.prototype.click=function(){if(this.onClickPublish&&this.getActionCommand()){this.publish(this.onClickPublish,{command:this.getActionCommand()})}if(this.onClickExecute){if(typeof this.onClickExecute=="function"){this.onClickExecute.call(this)}else{eval(this.onClickExecute)}}if(this.onClickEval){var node=$1("_tmpEvalUrl");if(!node){new Insertion.Bottom(document.body,'<div id="_tmpEvalUrl" style="display:none"> </div>');node=$1("_tmpEvalUrl")}else{node.innerHTML=""}new Ajax.Updater(node,this.onClickEval,{method:"post",parameters:params,asynchronous:true,evalScripts:true})}};Quarix.Widgets.Button.prototype.getLabel=function(){return this._properties.label||null};Quarix.Widgets.Button.prototype.setLabel=function(A){this._properties.label=A;if(this._domNode){this._domNode.domNode.value=A}};Quarix.Widgets.Button.prototype.getTooltip=function(){return this._properties.tooltip||null};Quarix.Widgets.Button.prototype.setTooltip=function(A){this._properties.tooltip=A;if(this._objectInitialized){this._buildUI()}};Quarix.Widgets.Button.prototype.getActionCommand=function(){return this._properties.actionCommand||null};Quarix.Widgets.Button.prototype.setActionCommand=function(A){this._properties.actionCommand=A};Quarix.Widgets.Button.prototype.getActionKey=function(){return this._properties.actionKey||null};Quarix.Widgets.Button.prototype.setActionKey=function(A){this._properties.actionKey=A};Quarix.Widgets.Button.prototype.isActionKeyGlobal=function(){return !!this._properties.globalKey};Quarix.Widgets.Button.prototype.setActionKeyGlobal=function(A){if(A){this._properties.actionKey=true}else{this._properties.actionKey=false}};Quarix.Widgets.Button.prototype.setContentDOMNode=function(A){if(typeof A=="string"){A=$1(A)}this._contentDOMNode=A};Quarix.Widgets.Button.prototype.getContentDOMNode=function(){return this._contentDOMNode};Quarix.Widgets.Button.prototype.enableObject=function(){if(!this.isObjectInitialized()){return }if(this._imageElement&&this.getImage()){this._imageElement.src=this.getImage()}this._objectEnabled=true};Quarix.Widgets.Button.prototype.disableObject=function(){if(!this.isObjectInitialized()){return }if(this._imageElement&&this.getDisabledImage()){this._imageElement.src=this.getDisabledImage()}this._objectEnabled=false};Quarix.Widgets.Button.prototype.destroyObject=function(){if(this._contentDOMNode){this._contentDOMNode.onclick=null}Quarix.Widgets.Button.superclass.destroyObject.call(this)};Quarix.Widgets.Button.prototype.getActionTarget=function(){return this._actionTarget};Quarix.Widgets.Button.prototype.addActionTarget=function(A){this._actionTarget.push(A)};Quarix.Widgets.Button.prototype.removeActionTarget=function(A){var B=0;while((this._actionTarget[B]!=null)&&(this._actionTarget[B]!=A)){++B}this._actionTarget.splice(B,1)};Quarix.Widgets.Button.prototype.applyEntry=function(){if(this._domNode&&this.isObjectEnabled()){this._domNode.domNode.focus()}return this.hasFocus()};Quarix.Data.UpdateToolGroup=function(B,A){Quarix.Data.UpdateToolGroup.superclass.constructor.call(this,B,A);this.BtAdd=null;this.BtCopy=null;this.BtUpdate=null;this.BtDelete=null;this.BtSave=null;this.BtReset=null;this.BtCancel=null;this._actionSource=[];this._tableIOTarget;this._dataSource=null;this._saveType=false;this._prevToolbarState=null;this._state=null};Quarix.extend(Quarix.Data.UpdateToolGroup,Quarix.Widgets.ToolGroup);Quarix.Data.UpdateToolGroup.prototype.ActionSourceEvents=[Quarix.Links.Action.ActionPerformed];Quarix.Data.UpdateToolGroup.prototype.TableIOSourceEvents=Quarix.Links.TableIO.SourceEvents;Quarix.Data.UpdateToolGroup.prototype.TableIOTargetEvents=Quarix.Links.TableIO.TargetEvents;Quarix.Data.UpdateToolGroup.prototype.DataSourceEvents=Quarix.Links.Data.SourceEvents;Quarix.Data.UpdateToolGroup.prototype._processObjectProperties=function(){Quarix.Data.UpdateToolGroup.superclass._processObjectProperties.call(this);if(this.getProperty("saveType",false,true)){this._saveType=true}};Quarix.Data.UpdateToolGroup.prototype.createObjects=function(){this._processObjectProperties();var B=true;var A=this._tableIOTarget;if(A){A=A.getDataSource()}if(A&&(A instanceof Quarix.Data.DataObject)&&(A._properties.OpenOnInit==false)){B=false}var C={image:Quarix.Theme.PJUpdateToolbarAddImage,disabledImage:Quarix.Theme.PJUpdateToolbarAddImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarAddImageHoover,actionCommand:"add",label:"Add",tooltip:"Add record",hotkey:"INS"};if(this._properties.add){Object.extend(C,this._properties.add)}this.BtAdd=new Quarix.Widgets.ToolButton(this._objectName+"_BtAdd",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtAdd);this.BtAdd.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarCopyImage,disabledImage:Quarix.Theme.PJUpdateToolbarCopyImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarCopyImageHoover,disableOnInit:!B,actionCommand:"copy",label:"Copy",tooltip:"Copy record"};if(this._properties.copy){Object.extend(C,this._properties.copy)}this.BtCopy=new Quarix.Widgets.ToolButton(this._objectName+"_BtCopy",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtCopy);this.BtCopy.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarUpdateImage,disabledImage:Quarix.Theme.PJUpdateToolbarUpdateImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarUpdateImageHoover,disableOnInit:!B,actionCommand:"edit",label:"Update",tooltip:"Update record",hotkey:"CTRL+e"};if(this._saveType){C.hide=true}if(this._properties.update){Object.extend(C,this._properties.update)}if(this._saveType){C.hide=true}this.BtUpdate=new Quarix.Widgets.ToolButton(this._objectName+"_BtUpdate",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtUpdate);this.BtUpdate.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarDeleteImage,disabledImage:Quarix.Theme.PJUpdateToolbarDeleteImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarDeleteImageHoover,disableOnInit:!B,actionCommand:"delete",label:"Delete",tooltip:"Delete record",hotkey:"DEL"};if(this._properties["delete"]){Object.extend(C,this._properties["delete"])}this.BtDelete=new Quarix.Widgets.ToolButton(this._objectName+"_BtDelete",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtDelete);this.BtDelete.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarSaveImage,disabledImage:Quarix.Theme.PJUpdateToolbarSaveImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarSaveImageHoover,disableOnInit:true,label:"Save",actionCommand:"save",tooltip:"Save record",hotkey:"CTRL+s"};if(this._properties.save){Object.extend(C,this._properties.save)}this.BtSave=new Quarix.Widgets.ToolButton(this._objectName+"_BtSave",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtSave);this.BtSave.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarResetImage,disabledImage:Quarix.Theme.PJUpdateToolbarResetImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarResetImageHoover,disableOnInit:true,label:"Reset",actionCommand:"reset",tooltip:"Reset record",hotkey:"CTRL+z"};if(this._properties.reset){Object.extend(C,this._properties.reset)}this.BtReset=new Quarix.Widgets.ToolButton(this._objectName+"_BtReset",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtReset);this.BtReset.addLink(Quarix.Links.Action,this);C={image:Quarix.Theme.PJUpdateToolbarCancelImage,disabledImage:Quarix.Theme.PJUpdateToolbarCancelImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarCancelImageHoover,disableOnInit:true,label:"Cancel",actionCommand:"cancel",tooltip:"Cancel operation",hotkey:"ESC"};if(this._properties.cancel){Object.extend(C,this._properties.cancel)}this.BtCancel=new Quarix.Widgets.ToolButton(this._objectName+"_BtCancel",C);this.addLink(Quarix.Links.Container.CreateObjects,this.BtCancel);this.BtCancel.addLink(Quarix.Links.Action,this);Quarix.Data.UpdateToolGroup.superclass.createObjects.call(this)};Quarix.Data.UpdateToolGroup.prototype.initializeObject=function(){Quarix.Data.UpdateToolGroup.superclass.initializeObject.call(this);if(this.disableOnInit){delete this.disableOnInit;this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{if(this.getTableIOTarget()){this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:"UpdateComplete"}))}else{this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:"Disable-all"}))}var A;if(A=(this.getDataSource()||this.getTableIOTarget())){this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:A.getQueryPosition()}))}}this._objectInitialized=true};Quarix.Data.UpdateToolGroup.prototype.actionPerformed=function(A){switch(A.command){case"add":this.publish(Quarix.Links.TableIO.AddRecord);break;case"copy":this.publish(Quarix.Links.TableIO.CopyRecord);break;case"update":case"edit":this.publish(Quarix.Links.TableIO.UpdateMode,{mode:"UpdateBegin"});break;case"save":this.publish(Quarix.Links.TableIO.UpdateRecord);break;case"delete":this.publish(Quarix.Links.TableIO.DeleteRecord);break;case"reset":this.publish(Quarix.Links.TableIO.ResetRecord);break;case"cancel":this.publish(Quarix.Links.TableIO.CancelRecord);break;default:console.error("Unsupported action performed: %o",A.command)}};Quarix.Data.UpdateToolGroup.prototype.setButtons=function(A){if(!this._objectCreated){return }this._prevToolbarState=A;switch(A){case"Initial-TableIO":this.BtAdd.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtCopy.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtUpdate.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtDelete.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"Update":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtReset.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"Modal-Update":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));break;case"Modal-Update-Modified":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtReset.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtCancel.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));break;case"Delete-Only":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"Add-Only":this.BtAdd.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"Update-Only":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"Disable-TableIO":this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;default:this.BtAdd.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCopy.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtUpdate.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtDelete.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtSave.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtReset.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtCancel.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break}};Quarix.Data.UpdateToolGroup.prototype.queryPosition=function(A){if(this._state&&(this._state=="UpdateBegin"||this._state=="Update")){this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:this._state}))}else{switch(A.position){case"NoRecordAvailable":this.setButtons("Add-Only");break;default:this.setButtons("Initial-TableIO");break}}};Quarix.Data.UpdateToolGroup.prototype.updateState=function(A){this._state=A.state;switch(A.state){case"UpdateBegin":this.setButtons("Modal-Update");break;case"Update":this.setButtons("Modal-Update-Modified");break;case"UpdateComplete":case"UpdateEnd":this.setButtons((this._tableIOTarget&&this._tableIOTarget._queryPosition=="NoRecordAvailable")?"Add-Only":"Initial-TableIO");break;default:this.setButtons("Disable-TableIO");break}};Quarix.Data.UpdateToolGroup.prototype.enableObject=function(){Quarix.Data.UpdateToolGroup.superclass.enableObject.call(this);this.setButtons(this._prevToolbarState)};Quarix.Data.UpdateToolGroup.prototype.disableObject=function(A){if(!this._objectInitialized){this.disableOnInit=true;return }var B=this._prevToolbarState;this.setButtons("Disable-TableIO");this._prevToolbarState=B};Quarix.Data.UpdateToolGroup.prototype.getActionSource=function(){return this._actionSource};Quarix.Data.UpdateToolGroup.prototype.addActionSource=function(A){this._actionSource.push(A)};Quarix.Data.UpdateToolGroup.prototype.removeActionSource=function(A){var B=0;while((this._actionSource[B]!=null)&&(this._actionSource[B]!=A)){++B}this._actionSource.splice(B,1)};Quarix.Data.UpdateToolGroup.prototype.getTableIOTarget=function(){return this._tableIOTarget};Quarix.Data.UpdateToolGroup.prototype.setTableIOTarget=function(A){this._tableIOTarget=A;if(this._objectInitialized){if(A){this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:"UpdateComplete"}))}else{this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:"Disable-all"}))}}};Quarix.Data.UpdateToolGroup.prototype.isSaveType=function(){return this._saveType};Quarix.Data.UpdateToolGroup.prototype.getDataSource=function(){return this._dataSource};Quarix.Data.UpdateToolGroup.prototype.setDataSource=function(A){return this._dataSource=A};Quarix.Data.NavigationToolGroup=function(B,A){Quarix.Data.NavigationToolGroup.superclass.constructor.call(this,B,A);this.BtFirst=null;this.BtPrev=null;this.BtNext=null;this.BtLast=null;this._actionSource=[];this._navigationTarget;this._prevQueryPosition=null;this._prevUpdateState=null};Quarix.extend(Quarix.Data.NavigationToolGroup,Quarix.Widgets.ToolGroup);Quarix.Data.NavigationToolGroup.prototype.ActionSourceEvents=[Quarix.Links.Action.ActionPerformed];Quarix.Data.NavigationToolGroup.prototype.NavigationSourceEvents=Quarix.Links.Navigation.SourceEvents;Quarix.Data.NavigationToolGroup.prototype.NavigationTargetEvents=[Quarix.Links.Navigation.QueryPosition,Quarix.Links.Navigation.UpdateState];Quarix.Data.NavigationToolGroup.prototype.createObjects=function(){var A={image:Quarix.Theme.PJNavigationToolbarFirstImage,disabledImage:Quarix.Theme.PJNavigationToolbarFirstImageDisabled,hooverImage:Quarix.Theme.PJNavigationToolbarFirstImageHoover,actionCommand:"first",label:"First",tooltip:"Jump to first item",hotkey:"HOME"};if(this._properties.first){Object.extend(A,this._properties.first)}this.BtFirst=new Quarix.Widgets.ToolButton(this._objectName+"_BtFirst",A);this.addLink(Quarix.Links.Container.CreateObjects,this.BtFirst);this.BtFirst.addLink(Quarix.Links.Action,this);A={image:Quarix.Theme.PJNavigationToolbarPrevImage,disabledImage:Quarix.Theme.PJNavigationToolbarPrevImageDisabled,hooverImage:Quarix.Theme.PJNavigationToolbarPrevImageHoover,actionCommand:"prev",label:"Prev",tooltip:"Jump to previous item",hotkey:"UP"};if(this._properties.prev){Object.extend(A,this._properties.prev)}this.BtPrev=new Quarix.Widgets.ToolButton(this._objectName+"_BtPrev",A);this.addLink(Quarix.Links.Container.CreateObjects,this.BtPrev);this.BtPrev.addLink(Quarix.Links.Action,this);A={image:Quarix.Theme.PJNavigationToolbarNextImage,disabledImage:Quarix.Theme.PJNavigationToolbarNextImageDisabled,hooverImage:Quarix.Theme.PJNavigationToolbarNextImageHoover,actionCommand:"next",label:"Next",tooltip:"Jump to next item",hotkey:"DOWN"};if(this._properties.next){Object.extend(A,this._properties.next)}this.BtNext=new Quarix.Widgets.ToolButton(this._objectName+"_BtNext",A);this.addLink(Quarix.Links.Container.CreateObjects,this.BtNext);this.BtNext.addLink(Quarix.Links.Action,this);A={image:Quarix.Theme.PJNavigationToolbarLastImage,disabledImage:Quarix.Theme.PJNavigationToolbarLastImageDisabled,hooverImage:Quarix.Theme.PJNavigationToolbarLastImageHoover,label:"Last",actionCommand:"last",tooltip:"Jump to last item",hotkey:"END"};if(this._properties.last){Object.extend(A,this._properties.last)}this.BtLast=new Quarix.Widgets.ToolButton(this._objectName+"_BtLast",A);this.addLink(Quarix.Links.Container.CreateObjects,this.BtLast);this.BtLast.addLink(Quarix.Links.Action,this);Quarix.Data.NavigationToolGroup.superclass.createObjects.call(this)};Quarix.Data.NavigationToolGroup.prototype.initializeObject=function(){Quarix.Data.NavigationToolGroup.superclass.initializeObject.call(this);if(!this.getNavigationTarget()){this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:"NoRecordAvailable"}))}else{this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:this.getNavigationTarget().getQueryPosition()}))}this._objectInitialized=true};Quarix.Data.NavigationToolGroup.prototype.queryPosition=function(A){this._prevQueryPosition=A.position;if(!this._objectCreated){return }switch(A.position){case"FirstRecord":this.BtFirst.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtPrev.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtNext.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtLast.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));break;case"LastRecord":this.BtFirst.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtPrev.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtNext.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtLast.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"NotFirstOrLast":this.BtFirst.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtPrev.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtNext.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this.BtLast.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));break;case"NoRecordAvailable":this.BtFirst.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtPrev.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtNext.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtLast.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"OnlyRecordAvailable":this.BtFirst.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtPrev.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtNext.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtLast.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break}};Quarix.Data.NavigationToolGroup.prototype.updateState=function(A){this._prevUpdateState=A.state;switch(A.state){case"UpdateBegin":case"Update":this.BtFirst.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtPrev.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtNext.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this.BtLast.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));break;case"UpdateEnd":case"UpdateComplete":this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:this._prevQueryPosition}));break}};Quarix.Data.NavigationToolGroup.prototype.actionPerformed=function(A){switch(A.command){case"first":this.publish(Quarix.Links.Navigation.FetchFirst);break;case"prev":this.publish(Quarix.Links.Navigation.FetchPrev);break;case"next":this.publish(Quarix.Links.Navigation.FetchNext);break;case"last":this.publish(Quarix.Links.Navigation.FetchLast);break}};Quarix.Data.NavigationToolGroup.prototype.enableObject=function(){Quarix.Data.NavigationToolGroup.superclass.enableObject.call(this);this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:this._prevQueryPosition}));this.updateState(Quarix.EventManager.newEvent(this,"updateState",{state:this._prevUpdateState}))};Quarix.Data.NavigationToolGroup.prototype.getActionSource=function(){return this._actionSource};Quarix.Data.NavigationToolGroup.prototype.addActionSource=function(A){this._actionSource.push(A)};Quarix.Data.NavigationToolGroup.prototype.removeActionSource=function(A){var B=0;while((this._actionSource[B]!=null)&&(this._actionSource[B]!=A)){++B}this._actionSource.splice(B,1)};Quarix.Data.NavigationToolGroup.prototype.getNavigationTarget=function(){return this._navigationTarget};Quarix.Data.NavigationToolGroup.prototype.setNavigationTarget=function(A){this._navigationTarget=A};Quarix.Widgets.Label=function(A,B){Quarix.Widgets.Label.superclass.constructor.call(this,A,B);this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Label.defaultProperties);this._dataSource=null;this._fieldId=null;this._doColumnName=null;this._labelElement=null};Quarix.extend(Quarix.Widgets.Label,Quarix.Base.AbsVisualObject);Quarix.Widgets.Label.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable];Quarix.Widgets.Label.defaultProperties={valign:"middle"};Quarix.Widgets.Label.prototype._processObjectProperties=function(){Quarix.Widgets.Label.superclass._processObjectProperties.call(this);if(this._properties.doColumnName){this.setDOColumnName(this._properties.doColumnName)}if(this._properties.label){this.setObjectValue(this._properties.label)}};Quarix.Widgets.Label.prototype.createObjects=function(){this._processObjectProperties();this._buildUI();this._processVisualObjectProperties();this._objectCreated=true};Quarix.Widgets.Label.prototype._buildUI=function(){var B,A;if(!this._domNode){if(B=document.getElementById(this._objectName)){this._domNode=Quarix.UI.Element.get(B);this._labelElement=this._domNode;if(B=this._domNode.domNode.getElementsByTagName("label")[0]){this._labelElement=Quarix.UI.Element.get(B)}}else{this._domNode=Quarix.UI.Element.fromString(['<label id="',this._objectName,'" for="',this._fieldId,'" class="label',this._properties.required&&" required"||"",this._properties["class"]?" "+this._properties["class"]:"",'" ','style="'+((this._properties.hide||this._properties.hideOnInit)?"display: none":""),'">',this._objectValue,"</label>"].join(""));this._labelElement=this._domNode}}if(this._containerSource){A=this._containerSource.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.Label.prototype.initializeObject=function(){Quarix.Widgets.Label.superclass.initializeObject.call(this);this._objectInitialized=true;if(this._doColumnName&&this._dataSource){this.dataAvailable({})}};Quarix.Widgets.Label.prototype.setFieldId=function(A){this._fieldId=A;if(this._labelElement){this._labelElement.domNode.htmlFor=A}};Quarix.Widgets.Label.prototype.getFieldId=function(){return this._fieldId};Quarix.Widgets.Label.prototype.setDOColumnName=function(A){this._doColumnName=A};Quarix.Widgets.Label.prototype.getDOColumnName=function(){return this._doColumnName||this.getObjectName()};Quarix.Widgets.Label.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.Label.prototype.setDataSource=function(A){return this._dataSource=A};Quarix.Widgets.Label.prototype.dataAvailable=function(A){if(typeof A.newRow=="undefined"){A.newRow=true}if(!this._objectInitialized||this.getDataSource()==null){return }if(this.getDataSource().colValues([this.getDOColumnName()]).length&&this.getDataSource().colValues([this.getDOColumnName()]).length>0){this.setObjectValue(this.getDataSource().colValues([this.getDOColumnName()])[0])}};Quarix.Widgets.Label.prototype.setObjectValue=function(A){this._objectValue=A;if(this._labelElement){this._labelElement.domNode.innerHTML=A}};Quarix.Widgets.Label.prototype.isRequired=function(){return !!this._properties.required};Quarix.Widgets.Label.prototype.setRequired=function(A){if(!!this._properties.required==A){return }this._properties.required=A;if(this._labelElement){if(A){this._labelElement.domNode.className+=" required"}else{this._labelElement.domNode.className=this._labelElement.domNode.className.replace(/\brequired\b/,"")}}};Quarix.Widgets.Field=function(C,A,B){Quarix.Widgets.Field.superclass.constructor.call(this,C,A);this._objectType="Field";this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Field.defaultProperties);this._dataFormat=null;this._fieldNode=null;this._dataSource=null;this._doColumnName=null;this._actionSources=[];this._actionTargets=[];this._containerTargets=[];this._label=null;this._size=20;this._viewAs="Textfield";this._fieldRepr=null;this._readOnly=false;this._initialValue=null;this._nodes={};this._fkWindow=null;this._fkToolbutton=null;this._fkDO=null;this._fkDOColumnName=null;this._canFocus=true;this._dataModified=false;this._selectOnEnable=false;if(this._properties.mask&&!this._properties.format){this._properties.format=this._properties.mask}this._focusLostBound=this._focusLost.bindAsEventListener(this);this._focusGainedBound=this._focusGained.bindAsEventListener(this);this._layoutMgr=new Quarix.Layout.FieldLayout(this);this.dataView=null;this._properties.validateOnBlur=this._properties.validateOnBlur!==false;this._dataAvailOnInit=false};Quarix.extend(Quarix.Widgets.Field,Quarix.Base.AbsVisualObject);Quarix.Widgets.Field.defaultProperties={spinFloor:-1/0,spinCeil:1/0,horizontal:true};Quarix.Widgets.Field.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable];Quarix.Widgets.Field.prototype.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;Quarix.Widgets.Field.prototype.ActionSourceEvents=[Quarix.Links.Action.ValueChanged];Quarix.Widgets.Field.prototype.addContainerTarget=function(A){if(this._containerTargets.indexOf(A)>-1){return }this._containerTargets.push(A);if(this._objectCreated&&!A._objectCreated){A.createObjects()}if(this._objectInitialized&&!A._objectInitialized){A.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this.addLink(Quarix.Links.Container,A)};Quarix.Widgets.Field.prototype.getContainerTarget=function(){return this._containerTargets};Quarix.Widgets.Field.prototype.removeContainerTarget=function(B){var A=this._containerTargets.indexOf(B);if(A>-1){this._containerTargets.splice(A,1)}};Quarix.Widgets.Field.prototype._processObjectProperties=function(){if(this._properties.type){this._properties.type=this._properties.type.toLowerCase()}Quarix.Widgets.Field.superclass._processObjectProperties.call(this);if(this.getProperty("valueOptions",false,true)&&this.getProperty("valueOptionsDO",false,true)){this._properties.initialValueOptions=$H(Object.clone(this._properties.valueOptions))}if(this._properties.valueOptionsDO){Quarix.EventManager.subscribe($Q(this._properties.valueOptionsDO),Quarix.Links.Data,this)}if(this.getProperty("doColumnName",true,true)){this.setDOColumnName(this._properties.doColumnName||this._objectName)}if(this._properties.fkWindowName){this.setFKWindow(this._properties.fkWindowName)}if(this._properties.required){this._properties.required=false;this.setRequired(true)}};Quarix.Widgets.Field.prototype._processVisualObjectProperties=function(){Quarix.Widgets.Field.superclass._processVisualObjectProperties.call(this);this.setViewAs(this._properties.viewAs||"Textfield");this.setReadOnly(this._properties.readOnly||false);if(this._fieldRepr){this._fieldRepr.paint()}if(this._properties.disable||this._properties.disableOnInit){this.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}this.setSize(this._properties.size||20);if(this._properties.value){this.setObjectValue(this._properties.value)}if(this._properties.format){this.setDataFormat(this._properties.format)}};Quarix.Widgets.Field.prototype._sizes={lastTheme:null,fieldDeltaW:0};Quarix.Widgets.Field.prototype._makeSizes=function(){this._sizes.lastTheme=Quarix.Theme;var A=document.body.appendChild(document.createElement("div"));A.innerHTML='<input type="text" value="" style="width:20px" />';this._sizes.fieldDeltaW=A.firstChild.offsetWidth-20;A.parentNode.removeChild(A)};Quarix.Widgets.Field.prototype.createObjects=function(){if(this._sizes.lastTheme!=Quarix.Theme){this._makeSizes()}this._processObjectProperties();this._buildUI();this._processVisualObjectProperties();this._objectCreated=true;if(this._label&&this._properties.labelAlign=="right"&&this._label._properties.layoutRow==this._properties.layoutRow&&this._properties.layoutCol==this._label._properties.layoutCol){if(this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.insertBefore(this._label._domNode.domNode,this._domNode.domNode.nextSibling)}}if(this._properties.autoComplete){var A="generated_"+this._objectName+"_autoComplete";new Quarix.Widgets.AutoComplete(A,this._properties.autoComplete);this.addLink(Quarix.Links.Container.CreateObjects,A)}this.publish(Quarix.Links.Container.CreateObjects)};Quarix.Widgets.Field.prototype._buildUI=function(){var A;if(!this._domNode){A=$1("PJFieldCont_"+this._objectName);if(A){this.setDOMNode(Quarix.UI.Element.get(A))}else{this._domNode=Quarix.UI.Element.fromString(['<span id="PJFieldCont_',this._objectName,'" class="field',(this._properties["class"]?" "+this._properties["class"]:""),'" style="',((this._properties.hide||this._properties.hideOnInit)?"display:none":""),'"><span class="fieldChooser"></span><span class="fieldInfo"></span></span>'].join(""))}this._nodes.chooser=new Quarix.UI.Element(this._domNode.domNode.firstChild);this._nodes.info=new Quarix.UI.Element(this._domNode.domNode.lastChild)}else{this._domNode.domNode.style.display="none"}this._buildLabel();if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.Field.prototype._buildLabel=function(){if(this._label||this._properties.label==null){return }var B,A={label:this._properties.label||"",align:this._properties.labelAlign||"right",fieldId:this._objectName,objectPage:this._objectPage||0,required:!!this._properties.required,hide:this._properties.hide,hideOnInit:this._properties.hideOnInit};if(typeof this._properties.labelVAlign!="undefined"){A.valign=this._properties.labelVAlign}A.layoutRow=typeof this._properties.labelLayoutRow!="undefined"?this._properties.labelLayoutRow:this._properties.layoutRow;A.layoutRowSpan=this._properties.labelLayoutRowSpan||this._properties.layoutRowSpan;A.layoutCol=typeof this._properties.labelLayoutCol!="undefined"?this._properties.labelLayoutCol:typeof this._properties.layoutCol!="undefined"?this._properties.layoutCol-1:0;this._label=new Quarix.Widgets.Label(this._properties.labelId||"label_"+this._objectName,A);this._containerSource.addLink(Quarix.Links.Container.CreateObjects,this._label);this._label.createObjects()};Quarix.Widgets.Field.prototype.initializeObject=function(){Quarix.Widgets.Field.superclass.initializeObject.call(this);this._objectInitialized=true;this.setFKToolbutton(this._fkToolbutton);if(this._properties.type=="date"){var B={image:Quarix.Theme.PJDateSelectImage,disabledImage:Quarix.Theme.PJDateSelectImageDisabled,disableOnInit:!this._objectEnabled,hooverImage:Quarix.Theme.PJDateSelectImageHoover,label:this.getProperty("fkToolButtonLabel","Choose Value",true),tooltip:this.getProperty("fkToolButtonTooltip","Choose Value",true)};if(this._properties.fkToolbutton){Object.extend(B,this._properties.fkToolbutton)}this.setFKToolbutton(new Quarix.Widgets.ToolButton(this._objectName+"_fkChooser",B));var A=this;setTimeout(function(){if($1(A._objectName)){Quarix.Calendars.create(A._objectName,A._objectName+"_fkChooser",A._properties.format||"99-99-9999",A._properties.dateFormat||"dmy")}else{setTimeout(arguments.callee,500)}},100)}Quarix.ValidationManager.initialize(this);Quarix.EventManager.objectInit(this);if(this._dataAvailOnInit){this.dataAvailable(this._dataAvailOnInit)}if(this._fieldRepr&&this._fieldRepr.initializeObject){this._fieldRepr.initializeObject()}this.publish(Quarix.Links.Container.InitializeObject)};Quarix.Widgets.Field.prototype.getLayoutManager=function(){return this._layoutMgr};Quarix.Widgets.Field.prototype.setDataFormat=function(A){this._dataFormat=A;if(this._fieldRepr&&this._fieldRepr.setDataFormat){this._fieldRepr.setDataFormat(this._dataFormat)}};Quarix.Widgets.Field.prototype.getDataFormat=function(){return this._dataFormat};Quarix.Widgets.Field.prototype.setObjectValue=function(A,B){if(this._objectValue!=A){Quarix.WarningManager.clearWarnings(this,this._objectName)}Quarix.Widgets.Field.superclass.setObjectValue.call(this,A);this._initialValue=A;if(this._fieldRepr){this._fieldRepr.setValue(A)}if(this.doNameColumnName&&typeof B=="undefined"){console.warn("expected second argument to field.setObjectValue but it wasn't received")}if(typeof B!="undefined"&&!this._objectEnabled){if(!this._properties.valueOptions[A]){var C={};C[A]=B;this.setValueOptions(C)}this._selectOnEnable=true}else{this.selectRowInDataObject(A)}Quarix.Util.Trigger(this,"onObjectValue",[this,A]);this.fireValueChanged(this._initialValue)};Quarix.Widgets.Field.prototype.selectRowInDataObject=function(C){if(C&&this._properties.valueOptionsDO&&this._properties.valueOptions[C]){var B=this._properties.valueOptionsDO,D=this._properties.valueOptionsDOValueColumn;if(B){B=$Q(B);var A=B._getDataObject()._findRowByColumn(D,C);if(A!=null&&A!=B._properties.currentIndex){if(B._publishingCursorMove){B._properties.currentIndex=A}else{B._getDataObject().moveCursor(A)}}}}};Quarix.Widgets.Field.prototype.resetRecord=function(){this.fireValueChanged(this._initialValue);if(this._fieldRepr){this._fieldRepr.setValue(this._initialValue)}Quarix.WarningManager.clearWarnings(this,this.getDOColumnName());Quarix.WarningManager.clearWarnings(this,this._objectName)};Quarix.Widgets.Field.prototype.enableObject=function(){if(this.getProperty("disable",false,true)){return }this._objectEnabled=true;if(this._fieldRepr){this._fieldRepr.setEnabled(true)}if(this._fkToolbutton){this._fkToolbutton.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}this._fieldsEnabled=true;this._canFocus=true;if(this.selectOnEnable){this.selectRowInDataObject()}this.publish(Quarix.Links.Container.EnableObject)};Quarix.Widgets.Field.prototype.disableObject=function(){this._objectEnabled=false;this._canFocus=false;if(this._fieldRepr){this._fieldRepr.setEnabled(false)}if(this._fkToolbutton){this._fkToolbutton.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}this._fieldsEnabled=false;this.publish(Quarix.Links.Container.DisableObject)};Quarix.Widgets.Field.prototype.hideObject=function(){if(this._fkToolbutton){this._fkToolbutton.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this._label){this._label.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}Quarix.Widgets.Field.superclass.hideObject.call(this);this.publish(Quarix.Links.Container.HideObject)};Quarix.Widgets.Field.prototype.viewObject=function(){if(this._fkToolbutton){this._fkToolbutton.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}if(this._label){this._label.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}Quarix.Widgets.Field.superclass.viewObject.call(this);this.publish(Quarix.Links.Container.ViewObject)};Quarix.Widgets.Field.prototype.applyEntry=function(){if(this._fieldRepr){this._fieldRepr.focus()}return this.hasFocus()};Quarix.Widgets.Field.prototype.dataAvailable=function(C){if(C&&typeof C.newRow=="undefined"){C.newRow=true}if(this._dataSource==null){return }if(!this._objectInitialized){this._dataAvailOnInit=C;return }var E=null;if(this._viewAs=="Combofield"&&typeof this._fieldRepr._value=="string"){E=this._fieldRepr._value}if(this._properties.valueOptionsDO){this.updateDOValueOptions()}if(E!=null&&this._properties.valueOptions[E]){this._fieldRepr._fieldElement.domNode.value=E;this._dataModified=E!=this._initialValue;var B=this._properties.valueOptionsDO,D=this._properties.valueOptionsDOValueColumn;if(B){B=$Q(B);var A=B._getDataObject()._findRowByColumn(D,E);if(A!=null&&A!=B._properties.currentIndex){if(B._publishingCursorMove){B._properties.currentIndex=A}else{B._getDataObject().moveCursor(A)}}}}else{if(this._fieldRepr._fieldElement){this._fieldRepr._fieldElement.domNode.value=this._dataSource.colValues([this.getDOColumnName()])[0]}this._dataModified=E!=this._initialValue}};Quarix.Widgets.Field.prototype.setDOColumnName=function(A){this._doColumnName=A;Quarix.Register.add(this,this._objectName,this.getDOColumnName(),this.getContainerSource())};Quarix.Widgets.Field.prototype.getDOColumnName=function(){return this._doColumnName||this._objectName};Quarix.Widgets.Field.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.Field.prototype.setDataSource=function(A){if(A&&!this.getProperty("format",false,true)&&this.getProperty("doColumnName",false,true)){var B=A.getColumnInfo(this.getProperty("doColumnName",null,true));if(B&&B.format){this.setProperty("format",B.format,true)}this.setDataFormat(this._properties.format)}return this._dataSource=A};Quarix.Widgets.Field.prototype.getSize=function(){return this._size};Quarix.Widgets.Field.prototype.setSize=function(A){this._size=A;if(this._fieldRepr){this._fieldRepr.setSize(A)}};Quarix.Widgets.Field.prototype.getViewAs=function(){return this._viewAs};Quarix.Widgets.Field.prototype.setViewAs=function(A){this._viewAs=A;if(Quarix.Widgets.Field.Views[A]){if(this._fieldRepr){this._fieldRepr.destroy()}this._fieldRepr=new Quarix.Widgets.Field.Views[A](this,this._domNode);if(this.isObjectInitialized()&&this._fieldRepr){this._fieldRepr.paint()}}};Quarix.Widgets.Field.prototype.isReadOnly=function(){return this._readOnly};Quarix.Widgets.Field.prototype.setReadOnly=function(A){this._readOnly=A;if(this._fieldRepr){this._fieldRepr.setReadOnly(A)}};Quarix.Widgets.Field.prototype.isRequired=function(){return this._properties.required||false};Quarix.Widgets.Field.prototype.setRequired=function(A){if(this._properties.required==A){return }this._properties.required=A;if(A){if(this._fieldRepr){this._fieldRepr.addClassName("required")}this.addValidator(new Quarix.Valid.EmptyField(this._objectName,{id:"EmptyField",messageBundle:this._messageBundle}))}else{Quarix.WarningManager.clearWarnings(this,this._objectName);if(this._fieldRepr){this._fieldRepr.removeClassName("required")}this.removeValidator("EmptyField")}if(this._label){this._label.setRequired(A)}};Quarix.Widgets.Field.prototype.getValueOptions=function(){var A=this._properties.valueOptions||null;if(this._properties.valueOptionsDO){this.updateDOValueOptions(true);A=this._properties.valueOptions||null}if(A==null){A={}}return A};Quarix.Widgets.Field.prototype.setValueOptions=function(A){this._properties.valueOptions=A;if(this._fieldRepr){this._fieldRepr.setValueOptions(A);if(!this._objectValue){this._objectValue=this._fieldRepr.getValue()}}};Quarix.Widgets.Field.prototype.updateDOValueOptions=function(C){C=C||false;var A={},F;if(this._properties.valueOptionsDO){if(F=Quarix.Register.get(this._properties.valueOptionsDO)){var D,E,B;D=F.collectColumn(this._properties.valueOptionsDOValueColumn);E;if(this._properties.valueOptionsDONameColumn){E=F.collectColumn(this._properties.valueOptionsDONameColumn)}else{E=D}for(B=0;B<D.length;B++){A[D[B]]=E[B]}}else{console.error("Field %o can't find DataObject %o for valueOptions.",this._objectName,this._properties.valueOptionsDO)}}if(this._properties.initialValueOptions){A=this._properties.initialValueOptions.merge($H(A))}this.setProperty("valueOptions",A,C)};Quarix.Widgets.Field.prototype.setFKWindow=function(B){if(typeof B=="string"&&Quarix.Register.get(B)){B=Quarix.Register.get(B)}if(typeof B=="string"){this._fkWindow=Quarix.Register.get(B);if(!this._fkWindow&&this._properties.fkWindowURL){if(!this._fkToolbutton){var A={image:Quarix.Theme.PJSelectImage,disabledImage:Quarix.Theme.PJSelectImageDisabled,hooverImage:Quarix.Theme.PJSelectImageHoover,label:this._properties.fkToolButtonLabel||"Choose Value",tooltip:this._properties.fkToolButtonTooltip||"Choose Value",onClickExecute:"var c = Quarix.Register.get('"+this._objectName+"'); if( c.getFKWindow() ){ c.getFKWindow().addLink(Quarix.Links.Action, c); c.getFKWindow().viewObject(Quarix.EventManager.newEvent(this, Quarix.Links.Container.ViewObject));} else { Quarix.EventManager.subscribe('"+B+"', Quarix.Links.Action,'"+this._objectName+"' ); Quarix.Util.EvalUrl('"+this.getProperty("fkWindowURL",null,true)+"'); }"};if(this._properties.fkToolbutton){Object.extend(A,this._properties.fkToolbutton)}this.setFKToolbutton(new Quarix.Widgets.ToolButton(this._objectName+"_fkChooser",A));this.getFKToolbutton()._windowName=this._windowName}}}else{if(typeof B=="function"){var A={image:Quarix.Theme.PJSelectImage,disabledImage:Quarix.Theme.PJSelectImageDisabled,hooverImage:Quarix.Theme.PJSelectImageHoover,label:this._properties.fkToolButtonLabel||"Choose Value",tooltip:this._properties.fkToolButtonTooltip||"Choose Value",onClickExecute:(function(){this._fkWindow=B();if(!this._fkWindow.isObjectCreated()){this._fkWindow.createObjects()}if(!this._fkWindow.isObjectInitialized()){this._fkWindow.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this._fkWindow.addLink(Quarix.Links.Action,this);this._fkWindow.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}).bind(this)};if(this._properties.fkToolbutton){Object.extend(A,this._properties.fkToolbutton)}this.setFKToolbutton(new Quarix.Widgets.ToolButton(this._objectName+"_fkChooser",A));this.getFKToolbutton()._windowName=this._windowName}else{this._fkWindow=B;if(!this._fkWindow.isObjectCreated()){this._fkWindow.createObjects()}if(!this._fkWindow.isObjectInitialized()){this._fkWindow.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(this._fkWindow&&!this._fkToolbutton){var A={image:Quarix.Theme.PJSelectImage,disabledImage:Quarix.Theme.PJSelectImageDisabled,hooverImage:Quarix.Theme.PJSelectImageHoover,label:this._properties.fkToolButtonLabel||"Choose Value",tooltip:this._properties.fkToolButtonTooltip||"Choose Value",onClickExecute:"var c = Quarix.Register.get('"+this._objectName+"'); if( c.getFKWindow() ){ c.getFKWindow().addLink(Quarix.Links.Action, c); c.getFKWindow().viewObject(Quarix.EventManager.newEvent(this, Quarix.Links.Container.ViewObject));}"};if(this._properties.fkToolbutton){Object.extend(A,this._properties.fkToolbutton)}this.setFKToolbutton(new Quarix.Widgets.ToolButton(this._objectName+"_fkChooser",A));this.getFKToolbutton()._windowName=this._windowName}}}};Quarix.Widgets.Field.prototype.getFKWindow=function(){if(!this._fkWindow&&this._properties.fkWindowName){this._fkWindow=Quarix.Register.get(this._properties.fkWindowName);if(!this._fkWindow){return null}if(!this._fkWindow.isObjectCreated()){this._fkWindow.createObjects()}if(!this._fkWindow.isObjectInitialized()){this._fkWindow.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}}this._sinchronizeFkDO();return this._fkWindow};Quarix.Widgets.Field.prototype._sinchronizeFkDO=function(){if(this._fkWindow&&(!this._fkDOColumnName||!this._fkDO)){var A=this._fkWindow.getObjectsByType("DataBrowse");if(A&&A[0]&&A[0]._dataSource){this._fkDO=A[0]._dataSource}this._fkDOColumnName=this._properties.fkDOColumnName||null;if(this._fkDOColumnName==null){this._fkDOColumnName=this.getDOColumnName();this.setProperty("fkDOColumnName",this._fkDOColumnName,true)}}if(this._fkDO&&this._fkDOColumnName){this._fkDO.selectRow(this._fkDOColumnName,this._objectValue)}};Quarix.Widgets.Field.prototype.setFKToolbutton=function(A){if(!A){this._fkToolbutton=null;return }this._fkToolbutton=A;if(this.isObjectCreated()&&!A.isObjectCreated()){A.setContainerSource(this._nodes.chooser);A.createObjects()}if(this.isObjectInitialized()&&!A.isObjectInitialized()){A.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(this.isObjectEnabled()){this._fkToolbutton.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}else{this._fkToolbutton.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}if(this._fkToolbutton&&!this._fkToolbutton._windowName){this._fkToolbutton._windowName=this._windowName}};Quarix.Widgets.Field.prototype.getFKToolbutton=function(){return this._fkToolbutton};Quarix.Widgets.Field.prototype.fireValueChanged=function(A){if(!this.isObjectEnabled()||!this._objectInitialized){return }Quarix.WarningManager.clearWarnings(this,this._objectName);this._objectValue=A;Quarix.Util.Trigger(this,"onValueChanged",[this,A]);this.publish(Quarix.Links.Action.ValueChanged,Quarix.EventManager.newEvent(this,"valueChanged",{value:A}));this._sinchronizeFkDO()};Quarix.Widgets.Field.prototype.getObjectValue=function(){if(this._fieldRepr&&this._fieldRepr.getValue()!=this._objectValue&&this._fieldRepr.getValue()!==null){this.fireValueChanged(this._fieldRepr.getValue())}return this._objectValue};Quarix.Widgets.Field.prototype.valueChanged=function(A){if(A.value){if(this._initialValue!=A.value){this.publish(Quarix.Links.Action.DataModified,{isModified:true})}else{this.publish(Quarix.Links.Action.DataModified,{isModified:false})}this._fieldRepr.setValue(A.value);this.fireValueChanged(A.value)}else{if(A.source){var B=A.source.getObjectValue();if(this._initialValue!=A.value){this.publish(Quarix.Links.Action.DataModified,{isModified:true})}else{this.publish(Quarix.Links.Action.DataModified,{isModified:false})}if(B!=this._fieldRepr.getValue()){this._fieldRepr.setValue(B);this.fireValueChanged(B)}}}this.validate();if(this._fkWindow){this._fkWindow.removeLink(Quarix.Links.Action,this)}};Quarix.Widgets.Field.prototype.addValidator=function(A){if(A.RefObjectName=="GENERIC"){A.RefObjectName=this._objectName}Quarix.ValidationManager.add(A)};Quarix.Widgets.Field.prototype.removeValidator=function(A,B){Quarix.ValidationManager.remove(this._objectName,A,B)};Quarix.Widgets.Field.prototype.getValidators=function(A){return Quarix.ValidationManager.get(this._objectName,A)};Quarix.Widgets.Field.prototype.getActionSource=function(){return this._actionSources};Quarix.Widgets.Field.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Widgets.Field.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Widgets.Field.prototype.getActionTarget=function(){return this._actionTargets};Quarix.Widgets.Field.prototype.addActionTarget=function(A){this._actionTargets.push(A)};Quarix.Widgets.Field.prototype.removeActionTarget=function(B){var A=0;while((this._actionTargets[A]!=null)&&(this._actionTargets[A]!=B)){++A}this._actionTargets.splice(A,1)};Quarix.Widgets.Field.prototype.getInfoElement=function(){return this._nodes.info};Quarix.Widgets.Field.prototype.validate=function(){return Quarix.ValidationManager.run(this)};Quarix.Widgets.Field.prototype._focusLost=function(){if(this._properties.validateOnBlur&&!this.validate()){return }this._hasFocus=false;Quarix.Util.Trigger(this,"onFocusLost");if(this.dataView){this.dataView.focusLost(this)}};Quarix.Widgets.Field.prototype._focusGained=function(A){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this);if(this.dataView){this.dataView.focusGained(this)}};Quarix.Widgets.Field.prototype.destroyObject=function(){this.publish(Quarix.Links.Container.DestroyObject);if(this._label){this._label.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}if(this._fkToolbutton){this._fkToolbutton.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}Quarix.Widgets.Field.superclass.destroyObject.call(this)};Quarix.Widgets.Field.Views={};Quarix.Widgets.Field.Views.Textfield=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._roDisplayElement=null;this._readOnly=false;this._mask=null;this._value=null;this.keys=null;this.values=null;this.setValueOptions(this._field.getValueOptions());this.curValue=""};Quarix.Widgets.Field.Views.Textfield.prototype={paint:function(){this._field._canFocus=true;this.destroy();var A=function(F){var E=String(F);if(E.match(/^\d+$/)){return E-Quarix.Widgets.Field.prototype._sizes.fieldDeltaW+"px"}else{return E}};var C=Quarix.UI.Element.DOMfromString(['<input type="text" name="',this._field.getDOColumnName(),'" class="field',this._field._properties.required?" required":"",'" id="',this._field._objectName,'" tabindex="',(this._field._properties.tabIndex||0),'" title="',this._field.getTooltip(),this._field._properties.width?'" style="width: '+A(this._field._properties.width):"",'" value="" />'].join(""));this._contentElement.domNode.insertBefore(C,this._contentElement.domNode.firstChild);var B=this;var D=null;if(this._field._properties.valueOptions){this._field.addLink(Quarix.Links.Container.CreateObjects,D=new Quarix.Widgets.Spinner("generated-"+this._field._objectName+"-spinner",{onUpExecute:function(F){if(!B._field._objectEnabled){return }var G=B.keys;var E=G.indexOf(B.curValue);if(E==-1&&F<0){E=0}E+=F;while(E<0){E+=G.length}E=E%G.length;B._field.fireValueChanged(B._fieldElement.domNode.value=B.curValue=B.values[E])},onDownExecute:function(E){Quarix.Util.Trigger(this,"onUp",[-E])}}))}else{if(this._field._properties.spinStep){this._field.addLink(Quarix.Links.Container.CreateObjects,D=new Quarix.Widgets.Spinner("generated-"+this._field._objectName+"-spinner",{onUpExecute:function(E){if(!B._field._objectEnabled){return }var G;if(B._field._properties.type!="date"){G=parseFloat((B.curValue.match(new RegExp("[-\\d\\"+Quarix.Util.Validator.options.radix+"]","g"))||[]).join("").replace(Quarix.Util.Validator.options.radix,".")||"0");G+=B._field._properties.spinStep*E;if(G<B._field._properties.spinFloor){G=B._field._properties.spinFloor}if(G>B._field._properties.spinCeil){G=B._field._properties.spinCeil}G=String(G);if(Quarix.Util.Validator.options.radix!="."){G=G.replace(/\./,Quarix.Util.Validator.options.radix)}B._field.fireValueChanged(B._fieldElement.domNode.value=B.curValue=Quarix.Util.Validator.parseProgressNumber({str:G,format:B._mask.mask}))}else{if(B._mask&&B._mask.mask){var G=!B._fieldElement.domNode.value.empty()?B._fieldElement.domNode.value:B._mask.formatDate(new Date());var F=Mask.getDateObject(B._mask.mask,G);F=new Date(F.getTime()+(B._field._properties.spinStep*E*86400000));if(F){G=""+F.getMonth()+"-"+F.getDay()+"-"+F.getYear()}B._field.fireValueChanged(B._fieldElement.domNode.value=B.curValue=B._mask.formatDate(F))}}},onDownExecute:function(E){Quarix.Util.Trigger(this,"onUp",[-E])}}))}}this._fieldElement=new Quarix.UI.Element(C);if(D!=null){Event.observe(C,"mousescroll",D._mouseScroll.bindAsEventListener(D))}if(this._readOnly){this._roDisplayElement=Quarix.UI.Element.DOMfromString('<span class="fieldValue">'+this._field.getObjectValue()+"</span>");this._contentElement.domNode.insertBefore(this._roDisplayElement,C.nextSibling);this._roDisplayElement=new Quarix.UI.Element(this._roDisplayElement);this._field._canFocus=false}else{var B=this;Event.observe(C,"blur",this.valueChanged.bindAsEventListener(this));Event.observe(C,"keydown",this.handleKeyEvents.bindAsEventListener(this));Event.observe(C,"keyup",this.dataModified.bindAsEventListener(this));Event.observe(C,"blur",this._field._focusLostBound);Event.observe(C,"focus",this._field._focusGainedBound);Event.observe(C,"click",this._field._focusGainedBound)}this.setSize(this._field._size)},handleKeyEvents:function(A){if(A.keyCode==Event.KEY_RETURN){this._field.fireValueChanged(this.curValue=this._fieldElement.domNode.value)}if(A.keyCode==Event.KEY_DOWN&&this._field.getFKToolbutton()&&this._field._containerTargets.length==0){this._field.getFKToolbutton().click()}},setDataFormat:function(A){if(A&&this._field._properties.type){var B=this._field._properties.type;var C=["character","string","decimal","integer","date"];if(B&&C.indexOf(B)==-1){console.error("Field %o has type %o but only types %s are supported in masks.",this._field._objectName,B,C.join(", "))}this._mask=new Mask(this._fieldElement.domNode,A,B,this._field._properties.dateFormat||undefined)}else{if(!A&&this._field._properties.type){var B=this._field._properties.type,D;var C=["character","string","decimal","integer","date"];if(B&&C.indexOf(B)==-1){console.error("Field %o has type %o but only types %s are supported in masks.",this._field._objectName,B,C.join(", "))}else{switch(B){case"character":D="x(1)";break;case"string":D="x(20)";break;case"decimal":D=">>>9.9";break;case"integer":D=">>>9";break;case"date":D="99-99-9999";break;case"":D=">>>9";B="integer";break}}this._mask=new Mask(this._fieldElement.domNode,D,B,this._field._properties.dateFormat||undefined)}}},setValueOptions:function(A){if(this.valueOptions=$H(A)){this.keys=this.valueOptions.keys();this.values=this.valueOptions.values()}},focus:function(){try{this._fieldElement.domNode.focus();this._field._hasFocus=true}catch(A){}},setValue:function(A){this.curValue=this._value=String(A||"");this._fieldElement.domNode.value=this._value;if(this._readOnly){this._roDisplayElement.domNode.innerHTML=this._value}this._field._dataModified=false},isValueChanged:function(){if(this._fieldElement){return this._fieldElement.domNode.value!=this._value}return false},getValue:function(){return this.curValue},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){if(this._readOnly!=A){this._readOnly=A;if(this._field.isObjectInitialized()){this.destroy();this.paint()}}},setSize:function(A){this._fieldElement.domNode.size=A},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode);if(this._roDisplayElement){this._contentElement.domNode.removeChild(this._roDisplayElement)}},valueChanged:function(A){this._field.fireValueChanged(this.curValue=Event.element(A).value)},dataModified:function(A){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){if(this._fieldElement&&!this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Widgets.Field.Views.Hiddenfield=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._roDisplayElement=null;this._readOnly=false;this._mask=null;this._value=null};Quarix.Widgets.Field.Views.Hiddenfield.prototype={paint:function(){this._field._canFocus=false;this.destroy();var A=Quarix.UI.Element.DOMfromString('<input type="hidden" name="'+this._field.getDOColumnName()+'" class="field" id="'+this._field._objectName+'" value=""/>');this._contentElement.domNode.insertBefore(A,this._contentElement.domNode.firstChild);this._fieldElement=new Quarix.UI.Element(A);this._field._properties.hide=true},setDataFormat:function(A){},setValueOptions:function(A){},focus:function(){},setValue:function(A){this._value=A==null?"":A;this._fieldElement.domNode.value=this._value;this._field._dataModified=false},isValueChanged:function(){if(this._fieldElement){return this._fieldElement.domNode.value!=this._value}return false},getValue:function(){if(!this._fieldElement){return null}return this._fieldElement.domNode.value},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false}else{this._fieldElement.domNode.disabled=true}},setReadOnly:function(A){},setSize:function(A){},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }},valueChanged:function(A){},dataModified:function(A){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){},removeClassName:function(A){}};Quarix.Widgets.Field.Views.Passwordfield=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._roDisplayElement=null;this._readOnly=false;this._value=null};Quarix.Widgets.Field.Views.Passwordfield.prototype={paint:function(){this.destroy();var A=function(D){var C=String(D);if(C.match(/^\d+$/)){return C-Quarix.Widgets.Field.prototype._sizes.fieldDeltaW+"px"}else{return C}};var B=Quarix.UI.Element.DOMfromString(['<input name="',this._field.getDOColumnName(),'" type="password" class="field',this._field._properties.required?" required":"",'" id="',this._field._objectName,'" value="',(this._field.getObjectValue()||""),'" tabindex="',(this._field._properties.tabIndex||0),'" title="',this._field.getTooltip(),this._field._properties.width?'" style="width: '+A(this._field._properties.width):"",'" />'].join(""));Event.observe(B,"blur",this.valueChanged.bindAsEventListener(this));Event.observe(B,"keyup",this.dataModified.bindAsEventListener(this));Event.observe(B,"blur",this._field._focusLostBound);Event.observe(B,"focus",this._field._focusGainedBound);Event.observe(B,"click",this._field._focusGainedBound);this._contentElement.domNode.insertBefore(B,this._contentElement.domNode.firstChild);this._fieldElement=new Quarix.UI.Element(B);this.setSize(this._field._size)},setValueOptions:function(A){},setValue:function(A){this._value=A==null?"":A;this._fieldElement.domNode.value=this._value;if(this._readOnly){this._roDisplayElement.domNode.innerHTML=this._value}this._field._dataModified=false},getValue:function(){if(!this._fieldElement){return null}return this._fieldElement.domNode.value},focus:function(){try{this._fieldElement.domNode.focus()}catch(A){}},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){},setSize:function(A){this._fieldElement.domNode.size=A;if(this._fieldElement.domNode.maxLength){this._fieldElement.domNode.maxLength=A}},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode)},isValueChanged:function(){if(this._fieldElement){return this._fieldElement.domNode.value!=this._value}return false},valueChanged:function(A){if(this.isValueChanged()){this._field.fireValueChanged(Event.element(A).value)}},dataModified:function(A){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Widgets.Field.Views.Radiofield=function(A,B){this._field=A;this._contentElement=B;this._fieldElements=[];this._roDisplayElement=null;this._readOnly=false;this._valueOptions=$H(A.getValueOptions());this.painted=false};Quarix.Widgets.Field.Views.Radiofield.prototype={paint:function(){this.painted=true;var F,G,B,A,E,H,D;this.destroy();E=this._valueOptions.keys();var C=this._valueOptions.values();D=this._field.getObjectValue();F=[];for(B=0,A=E.length;B<A;B++){F.push('<input name="');F.push(this._field.getDOColumnName());F.push('" type="radio" class="field" value="');F.push(E[B]);F.push('" tabindex="');F.push(this._field._properties.tabIndex||0);F.push('" key="');F.push(E[B]);F.push('" keyVal="');F.push(C[B]);F.push('" qrxfldref="');F.push(this._field._objectName);F.push('" title="');F.push(this._field.getTooltip());if(D==E[B]){F.push('" checked="checked')}F.push('" />');F.push('<span class="fieldLabel">');F.push(C[B]||E[B]);F.push("</span>");if(!this._field._properties.horizontal){F.push("<br />")}}G=document.createElement("div");G.innerHTML=F.join("");for(B=0;B<E.length;B++){F=new Quarix.UI.Element(G.childNodes[0]);F.domNode.defaultChecked=(D==E[B]);this._contentElement.domNode.insertBefore(F.domNode,this._contentElement.domNode.childNodes[this._contentElement.domNode.childNodes.length-2]);this._contentElement.domNode.insertBefore(G.childNodes[0],F.domNode.nextSibling);if(!this._field._properties.horizontal){this._contentElement.domNode.insertBefore(G.childNodes[0],F.domNode.nextSibling.nextSibling)}this._fieldElements.push(F);F.domNode.onchange=this.valueChanged.bindAsEventListener(this);Event.observe(F.domNode,"blur",this._field._focusGainedBound);Event.observe(F.domNode,"focus",this._field._focusGainedBound)}this._field._canFocus=true;if(this._readOnly){this._roDisplayElement=Quarix.UI.Element.DOMfromString('<span class="fieldValue">'+this._field.getObjectValue()+"</span>");this._contentElement.domNode.insertBefore(this._roDisplayElement,this._contentElement.domNode.childNodes[this._contentElement.domNode.childNodes.length-2]);this._roDisplayElement=Quarix.UI.Element.get(this._roDisplayElement);this._field._canFocus=false}if(!this._field._objectValue){this._field._objectValue=this.getValue()}},setValueOptions:function(A){this._valueOptions=$H(A);if(this.painted){this.paint()}},setValue:function(C){var B,A,D,E;C=""+C;D=this._valueOptions.keys();E=this._valueOptions.values();var F=D.indexOf(C)>-1;for(B=0,A=this._fieldElements.length;B<A;B++){this._fieldElements[B].domNode.checked=F?this._fieldElements[B].domNode.value==C:this._fieldElements[B].domNode.nextSibling.innerHTML==C}},getValue:function(){var B,A,C;C=this._valueOptions.keys();for(B=0,A=C.length;B<A;B++){if(this._fieldElements[B]&&this._fieldElements[B].domNode.checked){return this._fieldElements[B].domNode.value}}return null},focus:function(){try{this._fieldElements[0].domNode.focus()}catch(A){}},setEnabled:function(C){for(var B=0,A=this._fieldElements.length;B<A;B++){if(this._fieldElements[B]){if(C){this._fieldElements[B].domNode.disabled=false;this._fieldElements[B].removeClassName("disabled")}else{this._fieldElements[B].domNode.disabled=true;this._fieldElements[B].addClassName("disabled")}}}},setReadOnly:function(A){if(this._readOnly!=A){this._readOnly=A;if(this._field.isObjectInitialized()){this.destroy();this.paint()}}},setSize:function(A){},destroy:function(){var B,A;for(A=this._fieldElements.length-1;A>=0;A--){Event.stopObserving(this._fieldElements[A].domNode,"change",this.valueChanged);this._fieldElements[A].domNode.onchange=null;this._fieldElements.splice(A,1)}while(this._contentElement.domNode.childNodes.length>2){this._contentElement.domNode.removeChild(this._contentElement.domNode.firstChild)}},isValueChanged:function(B){var A=typeof B!="undefined"&&B!=null?Event.element(B):null;if(A){return A.value!=this._field._objectValue}else{return this.getValue()!=this._field._objectValue}},valueChanged:function(E){var F=Form.getInputs(document,"radio",this._field.getDOColumnName());var A=0,B=F.length,C,D;for(;A<B;A++){C=F[A];if(C.getAttribute("qrxfldref")!=this._field._objectName){D=$Q(C.getAttribute("qrxfldref"));if(D&&D._fieldRepr.isValueChanged(null)){D.fireValueChanged(null)}}}if(this.isValueChanged(E)){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}else{this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}this._field.fireValueChanged(Event.element(E).value)},addClassName:function(A){},removeClassName:function(A){}};Quarix.Widgets.Field.Views.Combofield=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._mask=null;this._readOnly=false;this._valueOptions=null;this._value=null};Quarix.Widgets.Field.Views.Combofield.prototype={paint:function(){this.valueChangedBound=this.valueChanged.bindAsEventListener(this);this.setValue(this._field.getObjectValue());this._fieldElement=true;this.setValueOptions(this._field.getValueOptions());if(!this._field._objectValue){this._field._objectValue=this.getValue()}},initializeObject:function(){this.setValueOptions(this._field.getValueOptions())},setValueOptions:function(H){this._valueOptions=$H(H);if(this._fieldElement){var C,B,G=this._valueOptions.keys(),F=this._valueOptions.values();var D=this._fieldElement.domNode&&this._fieldElement.domNode.className||("field"+(this._field._properties.required?" required":""));var E=this._fieldElement.domNode&&this._fieldElement.domNode.disabled;var A=['<select name="',this._field.getDOColumnName(),'" id="',this._field._objectName,'" class="',D,'" tabindex="',this._field._properties.tabIndex||0,'" title="',this._field.getTooltip(),'" value="',this._value];if(E){A.push('" disabled="disabled')}if(this._field._properties.width){A.push('" style="width: ');A.push(this._field._properties.width);if(String(this._field._properties.width).match(/^\d+$/)){A.push("px")}}A.push('">');for(C=0,B=G.length;C<B;C++){A.push('<option value="');A.push(G[C]);A.push('">');A.push(F[C]);A.push("</option>")}A.push("</select>");if(this._fieldElement.domNode){this._fieldElement.domNode.parentNode.removeChild(this._fieldElement.domNode)}this._fieldElement=Quarix.UI.Element.fromString(A.join(""));this._fieldElement.domNode.value=this._value;this._contentElement.domNode.insertBefore(this._fieldElement.domNode,this._contentElement.domNode.firstChild);Event.observe(this._fieldElement.domNode,"blur",this._field._focusLostBound);Event.observe(this._fieldElement.domNode,"focus",this._field._focusGainedBound);Event.observe(this._fieldElement.domNode,"change",this.valueChangedBound);Event.observe(this._fieldElement.domNode,"click",this._field._focusGainedBound)}},focus:function(){try{this._fieldElement.domNode.focus()}catch(A){}},setValue:function(A){this._value=A==null?"":""+A;if(this._fieldElement){this._fieldElement.domNode.value=this._value}this._field._dataModified=false},getValue:function(){if(!this._fieldElement){return null}return this._fieldElement.domNode.value},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){this._readOnly=A;if(!this._fieldElement){return }if(A){this._fieldElement.domNode.readOnly="readOnly"}else{delete this._fieldElement.domNode.readOnly}},setSize:function(A){this._fieldElement.domNode.size=A},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode)},isValueChanged:function(){if(this._fieldElement&&this._field.isObjectEnabled()){return this._fieldElement.domNode.value!=this._value}return false},valueChanged:function(D){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}this._value=Event.element(D).value;var C=this._field._properties,A=C.valueOptionsDO,B=C.valueOptionsDOValueColumn;if(A){$Q(A).selectRow(B,this._value)}this._field.fireValueChanged(this._value)}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){if(this._fieldElement&&!this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Widgets.Field.Views.Togglebox=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._checked=null;this._format=[true,false]};Quarix.Widgets.Field.Views.Togglebox.prototype={paint:function(){this._field._canFocus=true;this.destroy();var B=Quarix.UI.CreateFormElement("input",this._field.getDOColumnName(),"checkbox");B.className="field"+(this._field._properties.required?" required":"");B.id=this._field._objectName;B.tabIndex=this._field.getProperty("tabIndex",0,true);B.title=this._field.getTooltip();this._contentElement.domNode.insertBefore(B,this._contentElement.domNode.firstChild);this._fieldElement=Quarix.UI.Element.get(B);var A=this;Event.observe(B,"blur",this._field._focusLost.bindAsEventListener(this._field));Event.observe(B,"focus",this._field._focusGained.bindAsEventListener(this._field));Event.observe(B,"change",this.valueChanged.bindAsEventListener(this))},setDataFormat:function(A){if(!A){this._format=[true,false];return }var B=A.indexOf("/");if(B!=-1){this._format[0]=A.substring(0,B);if(B<A.length-1){this._format[1]=A.substring(B+1)}}},setValueOptions:function(A){},focus:function(){try{this._fieldElement.domNode.focus();this._field._hasFocus=true}catch(A){}},setValue:function(A){if(!this._fieldElement){return }A=""+A;if(A==this._format[0]||A==""+this._format[0]){this._fieldElement.domNode.checked=true}else{this._fieldElement.domNode.checked=false}this._checked=this._fieldElement.domNode.checked},getValue:function(){if(!this._fieldElement){return null}if(this._fieldElement.domNode.checked){return this._format[0]}else{return this._format[1]}},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){},setSize:function(A){},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode)},valueChanged:function(A){if(this._fieldElement.domNode.checked!=this._checked){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}this._field.fireValueChanged(Event.element(A).value)}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}this._checked=this._fieldElement.domNode.checked},addClassName:function(A){if(this._fieldElement&&!this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Widgets.Field.Views.Textarea=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._roDisplayElement=null;this._readOnly=false;this._value=null};Quarix.Widgets.Field.Views.Textarea.prototype={paint:function(){this.destroy();var A=Quarix.UI.CreateFormElement("textarea",this._field.getDOColumnName());A.className="field"+(this._field._properties.required?" required":"");A.id=this._field._objectName;A.tabIndex=this._field.getProperty("tabIndex",0,true);A.rows=this._field.getProperty("rows",2,true);A.cols=this._field.getSize();Event.observe(A,"blur",this.valueChanged.bindAsEventListener(this));Event.observe(A,"keyup",this.dataModified.bindAsEventListener(this));Event.observe(A,"blur",this._field._focusLost.bindAsEventListener(this._field));Event.observe(A,"focus",this._field._focusGained.bindAsEventListener(this._field));Event.observe(A,"click",this._field._focusGainedBound);this._contentElement.domNode.insertBefore(A,this._contentElement.domNode.firstChild);this._fieldElement=Quarix.UI.Element.get(A);this.setValue(this._field.getObjectValue())},setValueOptions:function(A){},setValue:function(A){this._value=A==null?"":A;this._fieldElement.domNode.value=this._value;if(this._readOnly){this._roDisplayElement.domNode.innerHTML=this._value}this._field._dataModified=false},getValue:function(){if(!this._fieldElement){return null}return this._fieldElement.domNode.value},focus:function(){try{this._fieldElement.domNode.focus()}catch(A){}},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){},setSize:function(A){this._fieldElement.domNode.cols=A},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode)},isValueChanged:function(){if(this._fieldElement){return this._fieldElement.domNode.value!=this._value}return false},valueChanged:function(A){if(this.isValueChanged()){this._field.fireValueChanged(Event.element(A).value)}},dataModified:function(A){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){if(this._fieldElement&&!this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Widgets.Field.Views.FileUpload=function(A,B){this._field=A;this._contentElement=B;this._fieldElement=null;this._roDisplayElement=null;this._readOnly=false;this._mask=null;this._value=null};Quarix.Widgets.Field.Views.FileUpload.prototype={paint:function(){this._field._canFocus=true;this.destroy();var A=function(E){var D=String(E);if(D.match(/^\d+$/)){return D-Quarix.Widgets.Field.prototype._sizes.fieldDeltaW+"px"}else{return D}};var C=Quarix.UI.Element.DOMfromString(['<input type="file" name="',this._field.getDOColumnName(),'" class="field',this._field._properties.required?" required":"",'" id="',this._field._objectName,'" tabindex="',(this._field._properties.tabIndex||0),'" title="',this._field.getTooltip(),this._field._properties.width?'" style="width: '+A(this._field._properties.width):"",'" value="" />'].join(""));this._contentElement.domNode.insertBefore(C,this._contentElement.domNode.firstChild);this._fieldElement=new Quarix.UI.Element(C);if(this._field.getFKToolbutton()){Event.observe(C,"keydown",this.handleKeyEvents.bindAsEventListener(this))}if(this._readOnly){this._roDisplayElement=Quarix.UI.Element.DOMfromString('<span class="fieldValue">'+this._field.getObjectValue()+"</span>");this._contentElement.domNode.insertBefore(this._roDisplayElement,C.nextSibling);this._roDisplayElement=new Quarix.UI.Element(this._roDisplayElement);this._field._canFocus=false}else{var B=this;Event.observe(C,"blur",this.valueChanged.bindAsEventListener(this));Event.observe(C,"keyup",this.dataModified.bindAsEventListener(this));Event.observe(C,"blur",this._field._focusLostBound);Event.observe(C,"focus",this._field._focusGainedBound)}this.setSize(this._field._size)},handleKeyEvents:function(A){if(A.keyCode==Event.KEY_DOWN&&this._field.getFKToolbutton()&&this._field._containerTargets.length==0){this._field.getFKToolbutton().click()}},setDataFormat:function(A){if(A&&this._field._properties.type){var B=this._field._properties.type;this._mask=new Mask(this._fieldElement.domNode,A,B,this._field._properties.dateFormat||undefined)}},setValueOptions:function(A){},focus:function(){try{this._fieldElement.domNode.focus();this._field._hasFocus=true}catch(A){}},setValue:function(A){this._value=A==null?"":A;if(this._fieldElement.domNode.value!=this._value){throw new Error("Can't set FileUpload value")}if(this._readOnly){this._roDisplayElement.domNode.innerHTML=this._value}this._field._dataModified=false},isValueChanged:function(){if(this._fieldElement){return this._fieldElement.domNode.value!=this._value}return false},getValue:function(){if(!this._fieldElement){return null}return this._fieldElement.domNode.value},setEnabled:function(A){if(A){this._fieldElement.domNode.disabled=false;this.removeClassName("disabled")}else{this._fieldElement.domNode.disabled=true;this.addClassName("disabled")}},setReadOnly:function(A){if(this._readOnly!=A){this._readOnly=A;if(this._field.isObjectInitialized()){this.destroy();this.paint()}}},setSize:function(A){this._fieldElement.domNode.size=A},destroy:function(){if(!this._fieldElement||!this._fieldElement.domNode){return }Event.stopObserving(this._fieldElement.domNode,"change",this.valueChanged);this._fieldElement.domNode.onchange=null;this._contentElement.domNode.removeChild(this._fieldElement.domNode);if(this._roDisplayElement){this._contentElement.domNode.removeChild(this._roDisplayElement)}},valueChanged:function(A){if(this.isValueChanged()){this._field.fireValueChanged(Event.element(A).value)}},dataModified:function(A){if(this.isValueChanged()){if(!this._field._dataModified){this._field._dataModified=true;this._field.publish(Quarix.Links.Action.DataModified,{isModified:true})}}else{if(this._field._dataModified){this._field._dataModified=false;this._field.publish(Quarix.Links.Action.DataModified,{isModified:false})}}},addClassName:function(A){if(this._fieldElement&&!this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className+=" "+A}},removeClassName:function(A){if(this._fieldElement&&this._fieldElement.domNode.className.match(new RegExp("\\b"+A+"\\b"))){this._fieldElement.domNode.className=this._fieldElement.domNode.className.replace(new RegExp("\\b"+A+"\\b","g"),"")}}};Quarix.Util.Hotkey=function(C,D,B,A){if(typeof (C)=="object"&&C.keyCode){this.keyCode=C.keyCode;this.ctrlKey=C.ctrlKey;this.altKey=C.altKey;this.shiftKey=C.shiftKey}else{if(typeof (C)=="string"){C=C.toUpperCase();if(C.indexOf("CTRL+")>-1){D=true}if(C.indexOf("ALT+")>-1){B=true}if(C.indexOf("SHIFT+")>-1){A=true}C=C.replace(/CTRL\+/g,"").replace(/ALT\+/g,"").replace(/SHIFT\+/g,"");if(C.length>1){C=parseInt(C)}}this.keyCode=C;this.ctrlKey=(D)?true:false;this.altKey=(B)?true:false;this.shiftKey=(A)?true:false}};Quarix.Util.Hotkey.prototype.equals=function(A){return this.keyCode==A.keyCode&&this.ctrlKey==A.ctrlKey&&this.altKey==A.altKey&&this.shiftKey==A.shiftKey};Quarix.Util.Hotkey.prototype.toString=function(){if(this.readableKey){return this.readableKey}var A,C;if(Quarix.Util.HotkeyHandler.keyCodeTable[this.keyCode]){for(A in Quarix.Util.HotkeyHandler.keyCodeTable[this.keyCode]){C=Quarix.Util.HotkeyHandler.keyCodeTable[this.keyCode][A];if(Quarix.Util.HotkeyHandler.charCodeTable[C]&&this.equals(Quarix.Util.HotkeyHandler.charCodeTable[C])){return C}}}var B="";if(this.ctrlKey){B+="Ctrl+"}if(this.altKey){B+="Alt+"}if(this.shiftKey){B+="Shift+"}B+=this.keyCode;return B};Quarix.Util.HotkeyHandler=function(A){this.contexts=[];if(A.topLevel){this.registerContext(this.topLevel=A.topLevel)}this._ovr=null;this._removeOverlay=this.__removeOverlay.bind(this);this._activeModifiers={shift:false,ctrl:false,alt:false};this._listedShortcuts=[]};Quarix.Util.HotkeyHandler.prototype.registerContext=function(A){if(A.hotkeyContext){return }var C,B=this;this.contexts.push(C={object:A});A.hotkeyContext=C;Event.observe(A,"keydown",function(D){return B.dispatch(D||window.event,C)},false);if(A==this.topLevel){this.addAccessKey(A,new Quarix.Util.Hotkey(192,false,true,false),this.showHelp.bind(this),"Show hotkeys","Alt+`");Event.observe(A,"keydown",function(E){var D=E.keyCode||E.charCode;if(D>=16&&D<=18){this.setModifierForOvr(D,true);Event.stop(E);return false}}.bind(this),false);Event.observe(A,"keyup",function(E){var D=E.keyCode||E.charCode;if(D>=16&&D<=18){this.setModifierForOvr(D,false);Event.stop(E);return false}}.bind(this),false)}};Quarix.Util.HotkeyHandler.prototype.isContext=function(A){return A.hotkeyContext||null};Quarix.Util.HotkeyHandler.prototype.findContext=function(A){var C,B;while(A){if(B=A.hotkeyContext){return B}A=A.parentNode}return null};Quarix.Util.HotkeyHandler.prototype.findFreeContext=function(C,K){var I,A,D=[],E,H;if(C instanceof Quarix.Base.AbsSmartObject){E=C;H=-1;while(E){if(E._pageNode&&E._pageNode[H]&&E._pageNode[H].domNode.hotkeyContext&&!E._pageNode[H].domNode.hotkeyContextIsLocked){D.push(E._pageNode[H].domNode.hotkeyContext)}if(H!=-1&&E._nodes&&E._nodes.contentRoot&&E._nodes.contentRoot.domNode.hotkeyContext&&!E._nodes.contentRoot.domNode.hotkeyContextIsLocked){D[D.length]=E._nodes.contentRoot.domNode.hotkeyContext}if(E._domNode&&E._domNode.domNode.hotkeyContext&&!E._domNode.domNode.hotkeyContextIsLocked){D.push(E._domNode.domNode.hotkeyContext)}H=E._objectPage;E=E._containerSource}if(this.topLevel&&D.length==0||!D.last().object==this.topLevel&&!this.topLevel.hotkeyContextIsLocked){D.push(this.topLevel.hotkeyContext)}}else{while(C){if(C.hotkeyContext&&!C.hotkeyContextIsLocked){D.push(C.hotkeyContext)}C=C.parentNode}}if(D.length>1&&D.last().object==this.topLevel){D.pop()}if(D.length>1&&D.last().object.className.match(/\bdialog\b/)){D.pop()}var F,J=D.length,G;while(J>0){J--;A=D[J];if(!A[K.keyCode]){return A}G=false;var B=A[K.keyCode];for(F=0;F<B.length;F++){if(B[F].equals(K)){G=true;break}}if(!G){return A}}console.warn("No context %o found for key %o",C,K);return null};Quarix.Util.HotkeyHandler.prototype.addAccessKey=function(F,I,B,H,D){if(!this.topLevel){this.registerContext(this.topLevel=document.body);var E=this.contexts.last();this.contexts.pop();this.contexts.splice(0,0,E)}var C=F;if(C.domNode){C=C.domNode}if(!typeof (B)=="function"&&!typeof (B)=="string"){throw new Error("An invalid action ["+B+"] has been sent to [Quarix.Util.HotkeyHandler.addAccessKey].")}if(typeof (H)=="object"){flags=H;H=null}if(typeof (I)=="string"){I=I.toUpperCase();if(I.length==0){throw new Error("Empty string sent instead of key to [Quarix.Util.HotkeyHandler.addAccessKey].")}else{if(/^((CTRL\+)|(ALT\+)|(SHIFT\+))*[0-9A-z]$/.test(I)){I=new Quarix.Util.Hotkey(I)}else{if(/^\d+$/.test(I)){I=new Quarix.Util.Hotkey(parseInt(I))}else{if(Quarix.Util.HotkeyHandler.charCodeTable[I]){I=new Quarix.Util.Hotkey(Quarix.Util.HotkeyHandler.charCodeTable[I])}}}}}if(!I.keyCode){throw new Error("An invalid key ["+I+"] has been sent to [Quarix.Util.HotkeyHandler.addAccessKey].")}var A=this.findFreeContext(C,I);if(B){I.action=B}if(H&&(typeof (H)!="string"||H.length>0)){I.description=H}if(D){I.readableKey=D}if(!A){console.error("Unable to register key %o for object %o",I,F?F._objectName||F:F);return I}var G=I.keyCode;if(!A[G]){A[G]=[]}A[G].push(I);return I};Quarix.Util.HotkeyHandler.prototype.dispatch=function(F,C){var E=Event.element(F);if(E&&["INPUT","TEXTAREA","SELECT"].indexOf(E.nodeName)!=-1&&F.keyCode<=46&&F.keyCode!=13&&F.keyCode!=27){return }var B=F.keyCode||F.charCode;var G=this._ovr&&!this._ovr._objectHidden;B=String.fromCharCode(B);var D,A=new Quarix.Util.Hotkey(B,F.ctrlKey,F.altKey,F.shiftKey);if(C[B]&&C[B].length){for(D in C[B]){if(C[B][D].keyCode&&A.equals(C[B][D])){try{this.invoke(C,C[B][D].action,F);if(G&&!this._ovr._objectHidden){this._ovr.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}Event.stop(F);return false}catch(H){if(H!=$continue){console.error("Exception occured in hotkey handler for key %o (node %o): %o",C[B][D],C.object,H)}}}}}B=F.keyCode||F.charCode;A=new Quarix.Util.Hotkey(B,F.ctrlKey,F.altKey,F.shiftKey);if(C[B]&&C[B].length){for(D in C[B]){if(C[B][D].keyCode&&A.equals(C[B][D])){try{this.invoke(C,C[B][D].action,F);if(G&&!this._ovr._objectHidden){this._ovr.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}Event.stop(F);return false}catch(H){if(H!=$continue){throw H}}}}}return true};Quarix.Util.HotkeyHandler.prototype.invoke=function(A,C,B){if(typeof (C)=="function"||typeof (C)=="object"){return C(B,A.object)}else{if(typeof (C)=="string"){return(new Function("event","object",C))(B,A.object)}else{throw new Error("Invalid action in HotkeyHandler: ["+C+"].")}}};Quarix.Util.HotkeyHandler.prototype.setModifierForOvr=function(A,B){switch(A){case 16:this._activeModifiers.shift=B;break;case 17:this._activeModifiers.ctrl=B;break;case 18:this._activeModifiers.alt=B;break;default:break}this.applyModifiersToOvr()};Quarix.Util.HotkeyHandler.prototype.applyModifiersToOvr=function(){if(!this._ovr){return }var A=this._ovr.getDOMNode().domNode.childNodes;var C,B,D=0;for(C=0;C<A.length;C++){if(A[C].className=="overlay_Body"){A=A[C].childNodes;break}}if(!this._activeModifiers.shift&&!this._activeModifiers.ctrl&&!this._activeModifiers.alt){for(C=0;C<A.length;C++){if(A[C].className=="highlight"){A[C].className=""}}}else{for(C=0;C<this._listedShortcuts.length;C++){B=true;if((this._activeModifiers.shift&&!this._listedShortcuts[C].shiftKey)||(this._activeModifiers.ctrl&&!this._listedShortcuts[C].ctrlKey)||(this._activeModifiers.alt&&!this._listedShortcuts[C].altKey)){B=false}while(A[C+D].tagName.toUpperCase()=="HR"){D++}if(B){A[C+D].className="highlight"}else{A[C+D].className=""}}}};Quarix.Util.HotkeyHandler.prototype.showHelp=function(B,G){this._listedShortcuts=[];if(this._ovr&&!this._ovr._objectHidden){this._ovr.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));return }G=Event.lastClickedNode||Event.element(B);this._activeModifiers={shift:false,ctrl:false,alt:false};var D=[],C=this.findContext(G),F=C,A,I,E,L,H;G=C.object;while(C){for(I in C){if(C[I].length&&C[I][0]){for(E in C[I]){if((L=C[I][E]).keyCode){for(H=0;H<this._listedShortcuts.length;H++){if(this._listedShortcuts[H].equals(L)){L=null;break}}if(!L){continue}this._listedShortcuts.push(L);D.push("<div><b>");D.push(L);D.push("</b>: ");if(L.description){D.push(L.description)}else{D.push((typeof (L.action)=="function")?"[function]":L.action.replace("<","&lt;").replace("&","&amp;"))}D.push("</div>")}}}}if(D.length>0&&D.last()!="<hr/>"){D.push("<hr/>")}C=this.findContext(C.object.parentNode)}if(D.length>0){D.pop()}else{D.push("<i>(no hotkeys registered)</i>")}if(!this._ovr){this._ovr=new Quarix.Widgets.Overlay(null,{});this._ovr.createObjects();this._ovr.getDOMNode().domNode.className+=" hotkeys"}this._ovr.getContentDOMNode().domNode.innerHTML=D.join("");this._ovr.attachTo(G,"inside");var K=Position.cumulativeOffset(G);this._ovr.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject));var J=this._ovr._domNode.domNode;if(J.offsetWidth+K[0]>document.body.clientWidth){K[0]=Math.max(0,document.body.clientWidth-J.offsetWidth)}if(J.offsetHeight+K[1]>document.body.clientHeight){K[1]=Math.max(0,document.body.clientHeight-J.offsetHeight)}this._ovr.setLocation(K[0],K[1]);Event.observe(document.body,"click",this._removeOverlay,false);this.applyModifiersToOvr()};Quarix.Util.HotkeyHandler.prototype.__removeOverlay=function(A){this._ovr.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));Event.stopObserving(document.body,"click",this._removeOverlay,false)};Quarix.Util.HotkeyHandler.charCodeTable={common:{INS:new Quarix.Util.Hotkey(45),DEL:new Quarix.Util.Hotkey(46),HOME:new Quarix.Util.Hotkey(36),END:new Quarix.Util.Hotkey(35),PGUP:new Quarix.Util.Hotkey(33),PGDN:new Quarix.Util.Hotkey(34),F1:new Quarix.Util.Hotkey(112),F10:new Quarix.Util.Hotkey(121),LEFT:new Quarix.Util.Hotkey(37),UP:new Quarix.Util.Hotkey(38),RIGHT:new Quarix.Util.Hotkey(39),DOWN:new Quarix.Util.Hotkey(40),ENTER:new Quarix.Util.Hotkey(13),ESC:new Quarix.Util.Hotkey(27),"`":new Quarix.Util.Hotkey(192,false,false,false),"/":new Quarix.Util.Hotkey(191,false,false,false),"?":new Quarix.Util.Hotkey(191,false,false,true)},Presto:{"`":new Quarix.Util.Hotkey(96,false,false,false),"/":new Quarix.Util.Hotkey(47,false,false,false),"?":new Quarix.Util.Hotkey(47,false,false,true)}};Quarix.Util.HotkeyHandler.keyCodeTable={};Quarix.Util.HotkeyHandler.__runOnce=function(){try{var B,A=Quarix.Util.HotkeyHandler.charCodeTable[Quarix.Util.BrowserInfo.engine];for(B in A){if(A[B].keyCode){Quarix.Util.HotkeyHandler.charCodeTable.common[B]=A[B]}}A=Quarix.Util.HotkeyHandler.charCodeTable.common;for(B in A){if(A[B].keyCode){x=A[B].keyCode;if(!Quarix.Util.HotkeyHandler.keyCodeTable[x]){Quarix.Util.HotkeyHandler.keyCodeTable[x]=[]}Quarix.Util.HotkeyHandler.keyCodeTable[x].push(B)}}}finally{Quarix.Util.HotkeyHandler.charCodeTable=Quarix.Util.HotkeyHandler.charCodeTable.common}};Quarix.Util.HotkeyHandler.__runOnce();delete Quarix.Util.HotkeyHandler.__runOnce;Quarix.Hotkeys=new Quarix.Util.HotkeyHandler({topLevel:document.body});Quarix.Widgets.Menu=function(B,A){Quarix.Widgets.Menu.superclass.constructor.call(this,B,A);this._DOMClassPrefix="menu";this._objectType="Menu";this._ignoreNextClick=false;this.layoutManager=new Quarix.Layout.LineLayout(this,0,true);this._canFocus=true;this._defaultHideOnInit=true;this._containerSource=null;this._containerTargets=[];this._activeItem=null;this._processObjectProperties()};Quarix.extend(Quarix.Widgets.Menu,Quarix.Base.AbsVisualObject);Quarix.Widgets.Menu.prototype.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;Quarix.Widgets.Menu.prototype.ContainerSourceEvents=Quarix.Links.Container.SourceEvents.without(Quarix.Links.Container.ViewObject,Quarix.Links.Container.Resize);Quarix.Widgets.Menu.prototype.createObjects=function(){if(this._objectCreated){return }Quarix.Widgets.Menu.superclass.createObjects.call(this);this._buildUI();var A,C=this._containerSource;if(C){if(this._objectPage==-1){this.objectPage=0;C._domNode.domNode.appendChild(this._domNode.domNode)}else{if(C.getLayoutManager){A=this._containerSource.getLayoutManager(this._objectPage);A.add(this)}else{if(C instanceof Quarix.Widgets.ToolButton){while(C&&!(C instanceof Quarix.Widgets.Toolbar)){C=C._containerSource}if(!C){C=this._containerSource}C._domNode.domNode.appendChild(this._domNode.domNode)}else{C._domNode.domNode.appendChild(this._domNode.domNode)}}}}this._objectCreated=true;var B;this._propagateWindowName();this.publish(Quarix.Links.Container.CreateObjects);this._processVisualObjectProperties()};Quarix.Widgets.Menu.prototype._buildUI=function(){var A=this._domNode;if(!A){if(A=$1(this._objectName)){this.setDOMNode(Quarix.UI.Element.get(A))}else{this.setDOMNode(Quarix.UI.Element.fromString('<div id="'+this._objectName+'" tabindex="0" class="'+this._DOMClassPrefix+((this._properties.hideOnInit||this._defaultHideOnInit||this._properties.hide)?'" style="display: none':"")+'"></div>'));A=this._domNode.domNode}}};Quarix.Widgets.Menu.prototype.showAt=function(A,D){var B=this._domNode.domNode,C=[0,0];this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));this._properties.hide=false;this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject));if(B.offsetParent){C=Position.cumulativeOffset(B.offsetParent)}B.style.top=D-C[1]+"px";B.style.left=A-C[0]+"px"};Quarix.Widgets.Menu.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Widgets.Menu.superclass.initializeObject.call(this);this._actions=Object.extend(this._actions||{},{collapse:Quarix.Widgets.Menu._actions.collapse.bind(this),onBlur:Quarix.Widgets.Menu._actions.onBlur.bind(this),onFocus:Quarix.Widgets.Menu._actions.onFocus.bind(this),onKeyDown:Quarix.Widgets.Menu._actions.onKeyDown.bind(this),nextItem:Quarix.Widgets.Menu._actions.nextItem.bind(this),prevItem:Quarix.Widgets.Menu._actions.prevItem.bind(this),onMouseOver:Quarix.Widgets.Menu._actions.mouseover.bind(this),onMouseOut:Quarix.Widgets.Menu._actions.mouseout.bind(this)});Event.observe(this._domNode.domNode,"blur",this._actions.onBlur,false,this);Event.observe(this._domNode.domNode,"focus",this._actions.onFocus,false,this);Event.observe(this._domNode.domNode,"keydown",this._actions.onKeyDown,false,this);Event.observe(this._domNode.domNode,"mouseover",this._actions.onMouseOver,false,this);Event.observe(this._domNode.domNode,"mouseout",this._actions.onMouseOut,false,this);this._objectInitialized=true;this.publish(Quarix.Links.Container.InitializeObject)};Quarix.Widgets.Menu._actions={};Quarix.Widgets.Menu._actions.onBlur=function(){this._hasFocus=false};Quarix.Widgets.Menu._actions.onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.Menu._actions.onKeyDown=function(B){var A=B.keyCode||B.charCode;var C=false;switch(A){case 13:if(this._activeItem){this._activeItem._actions.click();if(!this._activeItem._containerTarget){this._actions.collapse()}}else{C=true}break;case 27:this._actions.collapse();break;case 37:if(this instanceof Quarix.Widgets.MenuBar){this._actions.prevItem()}else{if(!(this instanceof Quarix.Widgets.PopupMenu)){var D=this._containerSource._containerSource;if(D instanceof Quarix.Widgets.MenuBar){D._actions.prevItem()}else{this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));D.applyEntry()}}}break;case 38:if(!(this instanceof Quarix.Widgets.MenuBar)){this._actions.prevItem()}break;case 39:var D;if(this instanceof Quarix.Widgets.MenuBar){this._actions.nextItem()}else{if(this._activeItem&&this._activeItem._containerTarget){this._activeItem._actions.mouseover(null,false);this._activeItem._containerTarget._actions.nextItem()}else{if((D=this._containerSource._containerSource) instanceof Quarix.Widgets.MenuBar){D._actions.nextItem()}}}break;case 40:if(this instanceof Quarix.Widgets.MenuBar){if(this._activeItem){this._activeItem._actions.mouseover(B,true)}}else{this._actions.nextItem()}break;default:C=true}if(!C){Event.stop(B)}};Quarix.Widgets.Menu._actions.collapse=function(){this._containerSource._actions.mouseout();this._containerSource._containerSource._actions.collapse()};Quarix.Widgets.Menu._actions.mouseover=function(){if(this._mouseOutTimeout){clearTimeout(this._mouseOutTimeout);this._mouseOutTimeout=null}};Quarix.Widgets.Menu._actions.mouseout=function(){var A=this._containerSource;while(A&&!(A instanceof Quarix.Widgets.MenuBar)&&!(A instanceof Quarix.Widgets.PopupMenu)){A=A._containerSource}if(A&&A._properties.hoverMode){this._mouseOutTimeout=setTimeout((function(){this._containerSource._actions.mouseout()}).bind(this),200)}};Quarix.Widgets.Menu._actions.nextItem=function(){if(this._containerTargets.length<1){return }var A=this._containerTargets[0];if(this._activeItem&&this._activeItem!=this._containerTargets.last()){A=this._containerTargets[this._containerTargets.indexOf(this._activeItem)+1]}if(A){A._actions.mouseover(null,!(this instanceof Quarix.Widgets.MenuBar))}};Quarix.Widgets.Menu._actions.prevItem=function(){if(this._containerTargets.length<1){return }var A=this._containerTargets.last();if(this._activeItem&&this._activeItem!=this._containerTargets[0]){A=this._containerTargets[this._containerTargets.indexOf(this._activeItem)-1]}if(A){A._actions.mouseover(null,!(this instanceof Quarix.Widgets.MenuBar))}};Quarix.Widgets.Menu.prototype.applyEntry=function(){if(this._windowName){Quarix.FocusManager.setFocusedWindow(this._windowName)}try{if(this._domNode&&this.isObjectEnabled()){this._domNode.domNode.focus()}}catch(A){}return this.hasFocus()};Quarix.Widgets.Menu.prototype.hideObject=function(){if(this._activeItem){if(this._activeItem._actions&&this._activeItem._actions.mouseout){this._activeItem._actions.mouseout()}this._activeItem=null}Quarix.Util.Trigger(this,"onHideObject");this._domNode.domNode.style.display="none";this._objectHidden=true;this.publish(Quarix.Links.Container.HideObject)};Quarix.Widgets.Menu.prototype.viewObject=function(){Quarix.Widgets.Menu.superclass.viewObject.call(this);this.publish(Quarix.Links.Container.ViewObject)};Quarix.Widgets.Menu.prototype.destroyObject=function(){this.publish(Quarix.Links.Container.DestroyObject);Quarix.Widgets.Menu.superclass.destroyObject.call(this)};Quarix.Widgets.Menu.prototype.enableObject=function(){Quarix.Widgets.Menu.superclass.enableObject.call(this);this.publish(Quarix.Links.Container.EnableObject)};Quarix.Widgets.Menu.prototype.disableObject=function(){Quarix.Widgets.Menu.superclass.disableObject.call(this);this.publish(Quarix.Links.Container.DisableObject)};Quarix.Widgets.Menu.prototype.confirmExit=function(){this.publish(Quarix.Links.Container.ConfirmExit);Quarix.Widgets.Menu.superclass.confirmExit.call(this)};Quarix.Widgets.Menu.prototype.confirmCancel=function(){this.publish(Quarix.Links.Container.ConfirmCancel);Quarix.Widgets.Menu.superclass.confirmCancel.call(this)};Quarix.Widgets.Menu.prototype.confirmOK=function(){this.publish(Quarix.Links.Container.confirmOK);Quarix.Widgets.Menu.superclass.confirmOK.call(this)};Quarix.Widgets.Menu.prototype.resize=function(){Quarix.Widgets.Menu.superclass.resize.call(this);this.publish(Quarix.Links.Container.Resize)};Quarix.Widgets.Menu.prototype.exitObject=function(){Quarix.Widgets.Menu.superclass.exitObject.call(this);this.publish(Quarix.Links.Container.ExitObject)};Quarix.Widgets.Menu.prototype.addContainerTarget=function(A){if(this._containerTargets.indexOf(A)>-1){return }this._containerTargets.push(A);this.addLink(Quarix.Links.Container,A);A._windowName=this._windowName;if(this._objectCreated){A.createObjects()}if(this._objectInitialized){A.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Widgets.Menu.prototype.getContainerTarget=function(){return this._containerTargets};Quarix.Widgets.Menu.prototype.removeContainerTarget=function(A){if(this._containerTargets.indexOf(A)==-1){return }this._containerTargets=this._containerTargets.without(A);this.removeLink(Quarix.Links.Container,A)};Quarix.Widgets.Menu.prototype.getLayoutManager=function(){return this.layoutManager};Quarix.Widgets.Menu.prototype.setLayoutManager=function(A){if(A){this.layoutManager=new A}else{this.layoutManager=new Quarix.Layout.StackLayout(this)}};Quarix.Widgets.MenuBar=function(B,A){Quarix.Widgets.MenuBar.superclass.constructor.call(this,B,A);this._properties=Object.extend({displayAsList:false,hoverMode:!!this._properties.displayAsList},this._properties);this._DOMClassPrefix="menuBar";this._objectType="MenuBar";this._active=false;this._defaultHideOnInit=false;this.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;this._properties.displayAsList=!!this._properties.displayAsList};Quarix.extend(Quarix.Widgets.MenuBar,Quarix.Widgets.Menu);Quarix.Widgets.MenuBar.prototype.createObjects=function(){if(this._objectCreated){return }if(this._properties.displayAsList){this._DOMClassPrefix="menuBar displayAsList"}Quarix.Widgets.MenuBar.superclass.createObjects.call(this);if(!this._properties.displayAsList){for(var A=0;A<this._containerTargets.length;A++){if(this._containerTargets[A]._isSeparator){this._containerTargets[A]._domNode.domNode.innerHTML="|"}}}};Quarix.Widgets.MenuBar.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Widgets.MenuBar.superclass.initializeObject.call(this);var A=this._domNode.domNode;this._actions=Object.extend(this._actions||{},{collapse:Quarix.Widgets.MenuBar._actions.collapse.bind(this),onClick:Quarix.Widgets.MenuBar._actions.onClick.bind(this),onDocumentClick:Quarix.Widgets.MenuBar._actions.onDocumentClick.bind(this),onMouseOut:Quarix.Widgets.MenuBar._actions.onMouseOut.bind(this)});Event.observe(A,"click",this._actions.onClick,false,this);Event.observe(A,"mouseout",this._actions.onMouseOut,false,this);Event.observe(document.body,"click",this._actions.onDocumentClick,false,this);Event.observe(document.body,"contextmenu",this._actions.onDocumentClick,false,this)};Quarix.Widgets.MenuBar.prototype.addContainerTarget=function(A){if(!this._properties.displayAsList&&A._isSeparator&&A._objectCreated){A._domNode.domNode.innerHTML="|"}Quarix.Widgets.MenuBar.superclass.addContainerTarget.call(this,A)};Quarix.Widgets.MenuBar.prototype.removeContainerTarget=function(A){if(!this._properties.displayAsList&&A._isSeparator&&A._objectCreated){A._domNode.domNode.innerHTML="<hr />"}Quarix.Widgets.MenuBar.superclass.removeContainerTarget.call(this,A)};Quarix.Widgets.MenuBar.prototype.setDisplayAsList=function(D){if(typeof D=="undefined"){return }D=!!D;if(D==this._properties.displayAsList){return }this._properties.displayAsList=D;var A="menuBar",C="|";if(D){A+=" displayAsList";C="<hr />"}this._DOMClassPrefix=A;if(this._objectCreated){this._domNode.domNode.className=A;for(var B=0;B<this._containerTargets.length;B++){if(this._containerTargets[B]._isSeparator){this._containerTargets[B]._domNode.domNode.innerHTML=C}}}this._domNode.domNode.className=this._DOMClassPrefix};Quarix.Widgets.MenuBar._actions={};Quarix.Widgets.MenuBar._actions.collapse=function(A){this._active=false;this._actions.onMouseOut()};Quarix.Widgets.MenuBar._actions.onClick=function(B){if(this._ignoreNextClick){return }this._ignoreNextClick=true;this._active=!this._properties.hoverMode&&!this._active;var A;if(A=this._activeItem){A._actions.mouseout();A._actions.mouseover(null,false)}};Quarix.Widgets.MenuBar._actions.onDocumentClick=function(A){if(this._ignoreNextClick){this._ignoreNextClick=false;return }this._active=false;if(this._activeItem){this._activeItem._actions.mouseout()}};Quarix.Widgets.MenuBar._actions.onMouseOut=function(B){var A=Event.element(B);if(A!=this._domNode.domNode&&A.parentNode!=this._domNode.domNode){return }if(!this._active){if(this._activeItem){this._activeItem._actions.mouseout()}}};Quarix.Widgets.PopupMenu=function(B,A){A.ignoreLayoutPosition=true;A.hide=true;Quarix.Widgets.PopupMenu.superclass.constructor.call(this,B,A);this._DOMClassPrefix="menu";this._objectType="PopupMenu";if(Quarix.Widgets.PopupMenu.instances.length==0){Event.observe(document.body,"contextmenu",Quarix.Widgets.PopupMenu.closeAllInstances,false,this)}Quarix.Widgets.PopupMenu.instances.push(this)};Quarix.extend(Quarix.Widgets.PopupMenu,Quarix.Widgets.Menu);Quarix.Widgets.PopupMenu.instances=[];Quarix.Widgets.PopupMenu._keepInstance=null;Quarix.Widgets.PopupMenu.closeAllInstances=function(C){var B,A=Quarix.Widgets.PopupMenu.instances;for(B=0;B<A.length;B++){if(A[B]!=Quarix.Widgets.PopupMenu._keepInstance){A[B]._actions.onDocumentClick()}}Quarix.Widgets.PopupMenu._keepInstance=null;Event.stop(C)};Quarix.Widgets.PopupMenu.prototype.initializeObject=function(A){if(this._objectInitialized){return }Quarix.Widgets.PopupMenu.superclass.initializeObject.call(this,A);var B=this._domNode.domNode;this._actions=Object.extend(this._actions||{},{collapse:Quarix.Widgets.PopupMenu._actions.collapse.bind(this),onDocumentClick:Quarix.Widgets.PopupMenu._actions.onDocumentClick.bindAsEventListener(this)});Event.observe(document.body,"click",this._actions.onDocumentClick,false,this)};Quarix.Widgets.PopupMenu.prototype.destroyObject=function(){var A;for(A=Quarix.Widgets.PopupMenu.instances.length-1;A>=0;A--){if(Quarix.Widgets.PopupMenu.instances[A]==this){Quarix.Widgets.PopupMenu.instances.splice(A,1);break}}Quarix.Widgets.PopupMenu.superclass.destroyObject.call(this)};Quarix.Widgets.PopupMenu.prototype.disableObject=function(){Quarix.Widgets.Menu.superclass.disableObject.call(this);if(!this._objectHidden){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Widgets.PopupMenu.prototype.hideObject=function(){if(this._objectHidden){return }this._properties.hide=true;Quarix.Widgets.PopupMenu.superclass.hideObject.call(this)};Quarix.Widgets.PopupMenu.prototype.pop=function(B,C){if(!this._objectEnabled){return }var A,D;if(!this._objectCreated){this.createObjects(Quarix.EventManager.newEvent(this,Quarix.Links.Container.CreateObjects))}if(!this._objectInitialized){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(this._containerTargets.length==0){return false}if(this._domNode.domNode.parentNode){this._domNode.domNode.parentNode.removeChild(this._domNode.domNode);if(Quarix.Globals.ROOT_WINDOW&&Quarix.Globals.ROOT_WINDOW._domNode){Quarix.Globals.ROOT_WINDOW._domNode.domNode.appendChild(this._domNode.domNode)}else{document.body.appendChild(this._domNode.domNode)}}if(typeof B=="number"){A=B;D=C}else{A=Event.pointerX(B);D=Event.pointerY(B);Event.stop(B)}this.showAt(A,D);this.applyEntry();Quarix.Widgets.PopupMenu._keepInstance=this;return true};Quarix.Widgets.PopupMenu._actions={};Quarix.Widgets.PopupMenu._actions.collapse=function(A){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))};Quarix.Widgets.PopupMenu._actions.onDocumentClick=function(A){if(this._ignoreNextClick){this._ignoreNextClick=false;return }if(!this._objectHidden){this.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}};Quarix.Widgets.PopupMenu.prototype.setContainerSource=function(A){Quarix.Widgets.PopupMenu.superclass.setContainerSource.call(this,A);if(A){this._windowName=A._windowName}else{this._windowName=""}};Quarix.Widgets.MenuItem=function(B,A){Quarix.Widgets.MenuItem.superclass.constructor.call(this,B,A);this._DOMClassPrefix="menuItem";this._objectType="PJMenuItem";this._canFocus=true;this._ignoreNextClick=false;this.layoutManager=new Quarix.Layout.StackLayout(this);this._containerSource=null;this._containerTarget=null;this.ContainerSourceEvents=Quarix.Links.Container.SourceEvents;this.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;this._domNodes={img:null,label:null};this._isSeparator=false;this._processObjectProperties()};Quarix.extend(Quarix.Widgets.MenuItem,Quarix.Base.AbsVisualObject);Quarix.Widgets.MenuItem.prototype._setImgSrc=Quarix.Widgets.ToolButton.prototype._setImgSrc;Quarix.Widgets.MenuItem.prototype.createObjects=function(){if(this._objectCreated){return }Quarix.Widgets.MenuItem.superclass.createObjects.call(this);this._buildUI();if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}this._objectCreated=true;if(this._containerTarget){this._containerTarget._windowName=this._windowName;this._containerTarget.createObjects()}this._processVisualObjectProperties()};Quarix.Widgets.MenuItem.prototype._buildUI=function(){var C=this._domNode;if(!C){if(C=$1(this._objectName)){this.setDOMNode(Quarix.UI.Element.get(C))}else{var B=!this._properties.image&&!this._properties.hoverImage&&!this._properties.disabledImage;var A=!this._properties.label&&B;var D=['<span id="',this._objectName,'" class="',this._DOMClassPrefix];if(A){D.push(" separator")}D.push('">');if(A){D.push("<hr />");this._isSeparator=true;this._properties.disableOnInit=true}else{D.push("<img ");if(B){D.push('style="display: none" ')}else{if(this._properties.image&&(BrowserDetect.browser!="Explorer"||BrowserDetect.version>=7||!this._properties.image.match(/\.png$/))){D.push('src="');D.push(this._properties.image);D.push('" ');this._lastImgSrc=this._properties.image}}D.push('/><img class="submenu" /><span class="hotkey"></span>');D.push(this._properties.label||"&nbsp;");D.push('<span class="hidden"></span>')}D.push("</span>");this.setDOMNode(Quarix.UI.Element.fromString(D.join("")));if(!A){var C=this._domNode.domNode;this._imageElement=this._domNodes.img=C.firstChild;this._imageElement.setSrc=Quarix.Widgets.ToolButton.setImgSrc;this._domNodes.subimg=C.childNodes[1];this._domNodes.hotkey=C.childNodes[2];this._domNodes.label=C.childNodes[3];this._domNodes.hotkeyH=C.childNodes[4];if(!this._containerTarget){C.removeChild(this._domNodes.subimg)}C.removeChild(this._domNodes.hotkey);if(this._properties.image){this._setImgSrc(this._properties.image)}}}}};Quarix.Widgets.MenuItem.prototype.initializeObject=function(){if(this._objectInitialized){return }Quarix.Widgets.MenuItem.superclass.initializeObject.call(this);this._initHandlers();this._objectInitialized=true;this.publish(Quarix.Links.Container.InitializeObject);if(this._containerTarget){this._containerTarget.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}if(this._properties.hotkey){this.setHotkeyAction(this._actions.hotkey);if(this._containerTarget){this.setHotkeyDescription((this._properties.label||"[Unnamed]")+" menu")}else{this.setHotkeyDescription(this._properties.label||"[Unnamed menu item]")}}else{if(this._properties.___hotkeyText){this.showHotkey(this._properties.___hotkeyText)}}};Quarix.Widgets.MenuItem.prototype._initHandlers=function(){this._actions={hotkey:Quarix.Widgets.MenuItem._actions.hotkey.bind(this),click:Quarix.Widgets.MenuItem._actions.click.bindAsEventListener(this),mouseover:Quarix.Widgets.MenuItem._actions.mouseover.bindAsEventListener(this),mouseout:Quarix.Widgets.MenuItem._actions.mouseout.bindAsEventListener(this)};Event.observe(this._domNode.domNode,"click",this._actions.click,false,this);Event.observe(this._domNode.domNode,"mouseover",this._actions.mouseover,false,this)};Quarix.Widgets.MenuItem._actions={};Quarix.Widgets.MenuItem._actions.hotkey=function(B,A){if(this._containerSource instanceof Quarix.Widgets.MenuBar){this._containerSource._active=true}this._actions.mouseover();this._actions.click()};Quarix.Widgets.MenuItem._actions.click=function(B){if(this._ignoreNextClick){this._ignoreNextClick=false;return }if(this._containerTarget){this._containerTarget.applyEntry()}else{this._containerSource.applyEntry()}Quarix.Util.Trigger(this,"onClick");if(this._properties.clickTarget){if(this._properties.clickTarget.click){this._properties.clickTarget.click()}else{this._properties.clickTarget.onclick()}}var A=this;if((this._isSeparator||this._containerTarget)&&!(this._containerSource instanceof Quarix.Widgets.MenuBar)){while(A){if((A instanceof Quarix.Widgets.Menu)||(A instanceof Quarix.Widgets.MenuItem)){A._ignoreNextClick=true;A=A._containerSource}else{A=null}}}};Quarix.Widgets.MenuItem._actions.mouseover=function(C,D){var E=false;if(arguments.length==1){D=E}else{if(arguments.length>1&&C==D){D=(arguments.length>2)?arguments[2]:E}}if(this._containerSource._activeItem==this){return }if(this._containerSource._activeItem&&this._containerSource._activeItem._actions&&this._containerSource._activeItem._actions.mouseout){this._containerSource._activeItem._actions.mouseout()}this._containerSource._activeItem=this;if(!this._objectEnabled){return }this._domNode.domNode.className+=" hover";if(this._properties.hoverImage){this._setImgSrc(this._properties.hoverImage)}if(this._containerTarget&&this._containerTarget instanceof Quarix.Widgets.Menu&&(!(this._containerSource instanceof Quarix.Widgets.MenuBar)||this._containerSource._active||this._containerSource._properties.hoverMode)){var B=this._domNode.domNode;var A=Position.cumulativeOffset(B);if(this._containerSource instanceof Quarix.Widgets.MenuBar&&!this._containerSource._properties.displayAsList){this._containerTarget.showAt(A[0],A[1]+B.offsetHeight)}else{this._containerTarget.showAt(A[0]+B.offsetWidth,A[1]-3)}if((typeof D!="undefined")&&!D){this._containerTarget.applyEntry();this._containerTarget._actions.nextItem()}else{this._containerSource.applyEntry()}}};Quarix.Widgets.MenuItem._actions.mouseout=function(D){if(this._containerSource._activeItem!=this){return }if(0&&D){var C=this,A,E,B=false;while(C){if(C._objectHidden){break}A=C._domNode.domNode;E=Position.cumulativeOffset(A);E[0]=Event.pointerX(D)-E[0];E[1]=Event.pointerY(D)-E[1];if(E[0]>=0&&E[1]>=0&&E[0]<A.offsetWidth&&E[1]<A.offsetHeight){B=true;break}if(C instanceof Quarix.Widgets.Menu){C=C._activeItem}else{if(C._containerTarget){C=C._containerTarget}else{C=null}}}if(B){return }}this._containerSource._activeItem=null;this._domNode.domNode.className=this._domNode.domNode.className.replace(" hover","");if(this._objectEnabled&&this._properties.hoverImage){this._setImgSrc(this._properties.image)}if(this._containerTarget&&!this._containerTarget._objectHidden){this._containerTarget.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));this._containerSource.applyEntry()}};Quarix.Widgets.MenuItem.prototype.hideObject=function(){this.publish(Quarix.Links.Container.HideObject);Quarix.Widgets.MenuItem.superclass.hideObject.call(this)};Quarix.Widgets.MenuItem.prototype.viewObject=function(){Quarix.Widgets.MenuItem.superclass.viewObject.call(this)};Quarix.Widgets.MenuItem.prototype.destroyObject=function(){this.publish(Quarix.Links.Container.DestroyObject);Quarix.Widgets.MenuItem.superclass.destroyObject.call(this)};Quarix.Widgets.MenuItem.prototype.enableObject=function(){Quarix.Widgets.MenuItem.superclass.enableObject.call(this);this._domNode.removeClassName("disabled");if(this._properties.disabledImage){this._setImgSrc(this._properties.image||"")}this.publish(Quarix.Links.Container.EnableObject)};Quarix.Widgets.MenuItem.prototype.disableObject=function(){Quarix.Widgets.MenuItem.superclass.disableObject.call(this);if(this._objectInitialized){this._domNode.addClassName("disabled");if(this._properties.disabledImage){this._setImgSrc(this._properties.disabledImage)}}this.publish(Quarix.Links.Container.DisableObject)};Quarix.Widgets.MenuItem.prototype.confirmExit=function(){this.publish(Quarix.Links.Container.ConfirmExit);Quarix.Widgets.MenuItem.superclass.confirmExit.call(this)};Quarix.Widgets.MenuItem.prototype.confirmCancel=function(){this.publish(Quarix.Links.Container.ConfirmCancel);Quarix.Widgets.MenuItem.superclass.confirmCancel.call(this)};Quarix.Widgets.MenuItem.prototype.confirmOK=function(){this.publish(Quarix.Links.Container.confirmOK);Quarix.Widgets.MenuItem.superclass.confirmOK.call(this)};Quarix.Widgets.MenuItem.prototype.resize=function(){Quarix.Widgets.MenuItem.superclass.resize.call(this);this.publish(Quarix.Links.Container.Resize)};Quarix.Widgets.MenuItem.prototype.exitObject=function(){Quarix.Widgets.MenuItem.superclass.exitObject.call(this);this.publish(Quarix.Links.Container.ExitObject)};Quarix.Widgets.MenuItem.prototype.setHotkey=function(A){Quarix.Widgets.MenuItem.superclass.setHotkey.call(this,A);if(this._properties.hotkey){this.showHotkey(this._properties.hotkey.toString())}};Quarix.Widgets.MenuItem.prototype.showHotkey=function(A){this._domNodes.hotkeyH.innerHTML=this._domNodes.hotkey.innerHTML=A;if(this._domNodes.hotkey.parentNode!=this._domNode.domNode){this._domNode.domNode.insertBefore(this._domNodes.hotkey,this._domNode.domNode.firstChild)}};Quarix.Widgets.MenuItem.prototype.setContainerSource=function(B){if(B==this._containerSource){return }Quarix.Widgets.MenuItem.superclass.setContainerSource.call(this,B);if(this._containerSource&&this._objectCreated){var A=this._containerSource.getLayoutManager(this.getObjectPage());A.add(this)}else{if(this._domNode){var C=this._domNode.domNode;if(C.parentNode){C.parentNode.removeChild(C)}}}};Quarix.Widgets.MenuItem.prototype.setContainerTarget=function(A){if(this._containerTarget==A){return }if(A==null){if(this._containerTarget){this.removeLink(Quarix.Links.Container,this._containerTarget);this._containerTarget=null;if(this._objectCreated){this._domNode.domNode.removeChild(this._domNodes.subimg)}}return }this._containerTarget=A;A._windowName=this._windowName;this.addLink(Quarix.Links.Container,A);if(this._objectCreated){this._domNode.domNode.appendChild(this._domNodes.subimg)}};Quarix.Widgets.MenuItem.prototype.getContainerTarget=function(){return this._containerTarget};Quarix.Widgets.MenuItem.prototype.getLayoutManager=function(){return this.layoutManager};Quarix.Widgets.MenuItem.prototype.setLayoutManager=function(A){if(A){this.layoutManager=new A}else{this.layoutManager=new Quarix.Layout.StackLayout(this)}};Quarix.Widgets.Image=function(B,A){Quarix.Widgets.Image.superclass.constructor.call(this,B,A);this._properties=Object.extend({doColumnName:null,link:"",src:""},this._properties);this._contentDOMNode=null;this._domNode=null;this._imageLinkTarget=(this._imageLink!="#")?A.target:"";this._dataSource=null};Quarix.extend(Quarix.Widgets.Image,Quarix.Base.AbsVisualObject);Quarix.Widgets.Image.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable];Quarix.Widgets.Image.prototype.createObjects=function(){this._processObjectProperties();if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.Image.superclass.createObjects.call(this);Event.observe(this._domNode.domNode,"click",this._click.bindAsEventListener(this),this);this._objectCreated=true};Quarix.Widgets.Image.prototype._isUIBuilt=function(){return(this._domNode&&this._imageElement)};Quarix.Widgets.Image.prototype._buildUI=function(){var H,D,I;if(!this._domNode){H=document.getElementById(this._objectName);if(H){this._domNode=Quarix.UI.Element.get(H)}else{var E,B,C,G=["minWidth","width","maxWidth","minHeight","height","maxHeight","top","left","right","bottom"],F=["min-width","width","max-width","min-height","height","max-height","top","left","right","bottom"],A=["class"];if(this._properties.link!=""){E=['<a id="'+this._objectName+'" href="'+this._properties.link+'" target="'+this._imageLinkTarget+'" style="display:none"><img src="'+this._properties.src+'" style="display: none; '];B="/></a>"}else{E=['<img src="'+this._properties.src+'" style="display: none; '];B="/>"}for(C=0;C<G.length;C++){if(this._properties[G[C]]){E.push(F[C]);E.push(": ");E.push(this._properties[G[C]]);E.push("px; ")}}E.push('" ');for(C=0;C<A.length;C++){if(this._properties[A[C]]){E.push(A[C]);E.push('="');E.push(this._properties[A[C]]);E.push('" ')}else{E.push(' class="image" ')}}E.push(B);this._domNode=Quarix.UI.Element.fromString(E.join(""));if(this._properties.link!=""){D=this._domNode.domNode.firstChild}else{D=this._domNode.domNode}this._domNode.domNode.img=D}}if(I=this._containerSource){I.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.Image.prototype._click=function(){Quarix.Util.Trigger(this,"onClick")};Quarix.Widgets.Image.prototype.setObjectValue=function(A){this._properties.src=A;if(this._objectCreated){this._domNode.domNode.img.src=A}};Quarix.Widgets.Image.prototype.getObjectValue=function(A){return A?this[A]:this._properties.src};Quarix.Widgets.Image.prototype.getImageLink=function(){return this._properties.link};Quarix.Widgets.Image.prototype.setImageLink=function(A){this._properties.link=A;if(this._objectCreated){this._domNode.domNode.href=A}};Quarix.Widgets.Image.prototype.getImageLinkTarget=function(){return this._imageLinkTarget};Quarix.Widgets.Image.prototype.setImageLinkTarget=function(A){this._imageLinkTarget=A;if(this._objectCreated){this._domNode.domNode.target=A}};Quarix.Widgets.Image.prototype.initializeObject=function(){if(this._objectInitialized){return }if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}this._objectInitialized=true};Quarix.Widgets.Image.prototype.setDataSource=function(A){this._dataSource=A;if(this._dataSource){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}};Quarix.Widgets.Image.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.Image.prototype.dataAvailable=function(){var A;if(this._dataSource&&this._properties.doColumnName){A=this._dataSource.colValues([this._properties.doColumnName])[0]}else{A=""}this.setObjectValue(A)};Quarix.Widgets.HTMLLink=function(B,A){Quarix.Widgets.HTMLLink.superclass.constructor.call(this,B,A);this._contentDOMNode=null;this._domNode=null;this._link=A.link?A.link:false;this._linkTarget=(this._link!="#")?A.target:false;this._innerHTML=A.value};Quarix.extend(Quarix.Widgets.HTMLLink,Quarix.Base.AbsVisualObject);Quarix.Widgets.HTMLLink.prototype.createObjects=function(){this._processObjectProperties();if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.HTMLLink.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Widgets.HTMLLink.prototype._isUIBuilt=function(){return this.getDOMNode()};Quarix.Widgets.HTMLLink.prototype._buildUI=function(){var A;if(!this._domNode){A=document.getElementById(this.getObjectName());if(A){this._domNode=Quarix.UI.Element.get(A)}else{A=document.createElement("A");A.id=this.getObjectName();if(this._link){A.href=this.getLink()}if(this._linkTarget){A.target=this.getLinkTarget()}A.innerHTML=this.getObjectValue();A.style.display="none";A.onclick=function(){Quarix.Util.Trigger(this,"onClick")}.bind(this);this._domNode=Quarix.UI.Element.get(A)}}if(this.getContainerSource()){this.getContainerSource().getLayoutManager(this.getObjectPage()).add(this)}};Quarix.Widgets.HTMLLink.prototype.setObjectValue=function(A){this._innerHTML=A;this._domNode.domNode.innerHTML=A};Quarix.Widgets.HTMLLink.prototype.getObjectValue=function(){return this._innerHTML};Quarix.Widgets.HTMLLink.prototype.getLink=function(){return this._link};Quarix.Widgets.HTMLLink.prototype.setLink=function(A){this._link=A;this._domNode.domNode.href=A};Quarix.Widgets.HTMLLink.prototype.getLinkTarget=function(){return this._linkTarget};Quarix.Widgets.HTMLLink.prototype.setLinkTarget=function(A){this._linkTarget=A;this._domNode.domNode.target=A};Quarix.Widgets.HTMLLink.prototype.initializeObject=function(A){Quarix.Widgets.HTMLLink.superclass.initializeObject.call(this,A);if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.AutoComplete=function(B,A){Quarix.Widgets.AutoComplete.superclass.constructor.call(this,B,A);this._DOMClassPrefix="autoComplete";this._objectType="AutoComplete";this._staticMessageBundle={no_match:"(no match)"};this._lastText=null;this._firstText=null;this.__interval=null;this.__hideTimeout=null;this._canFocus=true;this._hasFocus=false;this._containerSource=null;this._actionSources=[];this._processObjectProperties();if(typeof this._properties.minChars!="number"){this._properties.minChars=1}this._processFilter()};Quarix.extend(Quarix.Widgets.AutoComplete,Quarix.Base.AbsVisualObject);Quarix.Widgets.AutoComplete.prototype.ContainerSourceEvents=Quarix.Links.Container.SourceEvents.without(Quarix.Links.Container.ViewObject);Quarix.Widgets.AutoComplete.prototype.ContainerTargetEvents=Quarix.Links.Container.TargetEvents;Quarix.Widgets.AutoComplete.prototype.ActionSourceEvents=[Quarix.Links.Action.ValueChanged];Quarix.Widgets.AutoComplete.prototype.createObjects=function(){if(this._objectCreated){return }Quarix.Widgets.AutoComplete.superclass.createObjects.call(this);this._buildUI();this._initHandlers();this._objectCreated=true};Quarix.Widgets.AutoComplete.prototype.initializeObject=function(){if(this._objectInitialized){return }if(!this._objectCreated){this.createObjects()}this._objectInitialized=true;if(!this._properties.values){if(this._properties.valueOptions){}else{if(this._properties.valuesDO){var A,C,D,B;D=Quarix.Register.get(this._properties.valuesDO);C=D.collectColumn(this._properties.valuesDOValueColumn);if(this._properties.valuesDONameColum){A=D.collectColumn(this._properties.valuesDONameColumn)}else{A=C}this._properties.values=[];for(B=0;B<C.length;B++){this._properties.values.push({label:A[B],value:C[B]})}}}}Quarix.Widgets.AutoComplete.superclass.initializeObject.call(this);this._bindHandlers();this.hideObject(Quarix.EventManager.newEvent(this,"hideObject"))};Quarix.Widgets.AutoComplete.prototype._processFilter=function(){this._filterParts=[];this._filterObjs=[];this._filterStr=encodeURIComponent("<filter></filter>");if(this._properties.filter){if(typeof this._properties.filter=="string"){this._properties.filter=this._properties.filter.parseJSON()}for(var A=0;A<this._properties.filter.length;A++){this._filterParts.push((A==0?"<filter>":"</col>")+'<col name="'+this._properties.filter[A].name+'" op="'+this._properties.filter[A].op+'">');this._filterParts.push(this._properties.filter[A].value||this._properties.filter[A].object);if(this._properties.filter[A].object){this._filterObjs.push(this._properties.filter[A].object);Quarix.Controller.subscribe(this._properties.filter[A].object,Quarix.Links.Action,this,[this._properties.filter[A].doColName])}else{this._filterObjs.push(null)}}this._filterParts.push("</col></filter>");this._filterStr=encodeURIComponent(this._filterParts.join(""))}};Quarix.Widgets.AutoComplete.prototype.getActionSource=function(){return this._actionSources};Quarix.Widgets.AutoComplete.prototype.addActionSource=function(B){this._actionSources.push(B);var A=this._filterObjs.indexOf(B._objectName);if(A>-1){this._filterObjs[A]=B}};Quarix.Widgets.AutoComplete.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Widgets.AutoComplete.prototype._buildUI=function(){this._domNode=Quarix.UI.Element.fromString('<div id="'+this._objectName+'" class="'+this._DOMClassPrefix+'" style="display: none;" tabindex="0"></div>')};Quarix.Widgets.AutoComplete.prototype._initHandlers=function(){this._activate=this.__activate.bind(this);this._deactivate=this.__deactivate.bind(this);this._updateChoices=this.__updateChoices.bind(this);this._hostKeyDown=this.__hostKeyDown.bind(this);this._actions={};this._actions.keydown=Quarix.Widgets.AutoComplete._actions.keydown.bindAsEventListener(this);this._actions.blur=Quarix.Widgets.AutoComplete._actions.blur.bindAsEventListener(this);this._actions.feed=Quarix.Widgets.AutoComplete._actions.feed.bind(this);this._domNode.domNode.feed=this._actions.feed;Event.observe(this._domNode.domNode,"keydown",this._actions.keydown,false);Event.observe(this._domNode.domNode,"blur",this._actions.blur,false)};Quarix.Widgets.AutoComplete.prototype._bindHandlers=function(){this._unbindHandlers();if(!this._containerSource){return }if(!this._objectInitialized){return }var A=this._containerSource.getDOMNode().domNode.getElementsByTagName("input");if(A.length==0){return }this.__linkedObject=A[0];this.__linkedObject.parentNode.appendChild(this.getDOMNode().domNode);Event.observe(this.__linkedObject,"focus",this._activate,false);Event.observe(this.__linkedObject,"blur",this._deactivate,false);Event.observe(this.__linkedObject,"keydown",this._hostKeyDown,false)};Quarix.Widgets.AutoComplete.prototype._unbindHandlers=function(){if(this.__linkedObject){Event.stopObserving(this.__linkedObject,"focus",this._activate,false);Event.stopObserving(this.__linkedObject,"blur",this._deactivate,false);this.hideObject(Quarix.EventManager.newEvent(this,"hideObject"));this.__linkedObject=null}this._lastText=null};Quarix.Widgets.AutoComplete.prototype.__activate=function(){if(!this._objectEnabled){return }this._hasFocus=false;this.__interval=setInterval(this._updateChoices,500);this._firstText=this.__linkedObject.value;if(this.__hideTimeout){clearTimeout(this.__hideTimeout);this.__hideTimeout=null}this._domNode.domNode.style.minWidth=this.__linkedObject.offsetWidth-4+"px"};Quarix.Widgets.AutoComplete.prototype.__deactivate=function(){if(this._hasFocus){return }if(this.__interval){clearInterval(this.__interval)}var A=this;this.__hideTimeout=setTimeout(function(){A.hideObject(Quarix.EventManager.newEvent(this,"hideObject"))},50)};Quarix.Widgets.AutoComplete.prototype.__hostKeyDown=function(C){var A=C.keyCode||C.charCode;switch(A){case 13:break;case 27:break;case 38:if(this._lastChoices&&this._lastChoices.length>0){this._hasFocus=true;this._domNode.domNode.focus();var B=this._domNode.domNode.lastChild;B.className="selected";if(B.offsetTop+B.offsetHeight>this._domNode.domNode.scrollTop+this._domNode.domNode.clientHeight){this._domNode.domNode.scrollTop=B.offsetTop+B.offsetHeight-this._domNode.domNode.clientHeight}Event.stop(C);return false}break;case 40:if(this._lastChoices&&this._lastChoices.length>0){this._hasFocus=true;this._domNode.domNode.focus();this._domNode.domNode.firstChild.className="selected";this._domNode.domNode.scrollTop=0;Event.stop(C);return false}break;default:if(String.fromCharCode(A).match(/[-a-zA-Z0-9.,+*/()\[\]= ]/)&&!this._domNode.domNode.className.match(/boldb/)){this._domNode.domNode.className+=" old"}break}};Quarix.Widgets.AutoComplete.prototype.__updateChoices=function(B){var C=this.__linkedObject.value;if(C.length<this._properties.minChars){this.hideObject(Quarix.EventManager.newEvent(this,"hideObject",{leaveInterval:true}));return }if(C==this._lastText){this.viewObject(Quarix.EventManager.newEvent(this,"viewObject",{skipRepos:true}));var A=this._domNode.domNode;if(A.className.match(/\bold\b/)){A.className=A.className.replace(/ old/g,"")}return }this._lastText=C;this.viewObject(Quarix.EventManager.newEvent(this,"viewObject"));if(this._properties.url){this._domNode.domNode.style.innerHTML="Loading...";new Quarix.Request(this._properties.url,{method:"post",asynchronous:true,domain:this,postBody:"column="+encodeURIComponent(this._properties.doColumnName||this._objectName)+"&text="+C+"&filter="+this._filterStr,onComplete:(function(D){if(!D||D.status!=200){return }this._setChoices(D.responseText.parseJSON().values)}).bind(this)})}else{if(this._properties.values){this._setChoices(this._properties.values)}}};Quarix.Widgets.AutoComplete.prototype._setChoices=function(E){var B,C=this._domNode.domNode,D=[],F,A=this.__linkedObject.value;if(this._properties.clientFilter){F=[];for(B=0;B<E.length;B++){if(E[B].value.indexOf(A)==0||(this._properties.caseSensitive&&E[B].value.toUpperCase().indexOf(A.toUpperCase())==0)){F.push(E[B])}}}else{F=E}if(F.length==0){D.push('<div class="noMatch">');D.push(this.getMessage("no_match"));D.push("</div>")}else{for(B=0;B<F.length;B++){D.push("<div onmouseover='this.lastClass = this.className; this.className=\"hover\";' onmouseout='this.className=this.lastClass || \"\";' onclick='this.parentNode.feed(\"");D.push(F[B].value.replace(/\\/,"\\\\").replace(/"/,'\\"').replace(/'/,"\\'"));D.push("\");'>");if(F[B].image){D.push("<img src='");D.push(F[B].image);D.push("'/>");D.push(" ")}D.push(F[B].label||F[B].value);D.push("</div>")}}if(C.className.match(/\bold\b/)){C.className=C.className.replace(/ old/g,"")}C.innerHTML=D.join("");this._lastChoices=F};Quarix.Widgets.AutoComplete._actions={};Quarix.Widgets.AutoComplete._actions.keydown=function(D){var C=D.keyCode||D.charCode;var B=this._domNode.domNode.firstChild,E=0,A=false;while(B&&!B.className.match(/\bselected\b/)){E++;B=B.nextSibling}if(!B){return }switch(C){case 13:this._actions.feed(this._lastChoices[E].value);break;case 27:this._actions.feed(this._firstText);break;case 38:B.className="";if(B.previousSibling){B=B.previousSibling;E--}else{B=B.parentNode.lastChild;E=this._lastChoices.length-1}B.className="selected";A=true;break;case 40:B.className="";if(B.nextSibling){B=B.nextSibling;E++}else{B=B.parentNode.firstChild;E=0}B.className="selected";A=true;break;default:break}if(A){if(B.offsetTop+B.offsetHeight>this._domNode.domNode.scrollTop+this._domNode.domNode.clientHeight){this._domNode.domNode.scrollTop=B.offsetTop+B.offsetHeight-this._domNode.domNode.clientHeight}if(B.offsetTop<this._domNode.domNode.scrollTop){this._domNode.domNode.scrollTop=B.offsetTop}}Event.stop(D);return false};Quarix.Widgets.AutoComplete._actions.blur=function(A){this.hideObject(Quarix.EventManager.newEvent(this,"hideObject"))};Quarix.Widgets.AutoComplete._actions.feed=function(A){this._containerSource.valueChanged(Quarix.EventManager.newEvent(this,"valueChanged",{value:A}));this.hideObject(Quarix.EventManager.newEvent(this,"hideObject"))};Quarix.Widgets.AutoComplete.prototype.getURL=function(){return this._properties.url};Quarix.Widgets.AutoComplete.prototype.setURL=function(A){this._properties.url=A};Quarix.Widgets.AutoComplete.prototype.setContainerSource=function(A){if(A==this._containerSource){return }this._containerSource=A;this._bindHandlers()};Quarix.Widgets.AutoComplete.prototype.removeContainerSource=function(){this._containerSource=null;this._unbindHandlers()};Quarix.Widgets.AutoComplete.prototype.viewObject=function(A){if(!this._objectHidden){return }if(!A.skipRepos){var B=Position.positionedOffset(this.__linkedObject);B.push(this.__linkedObject.offsetWidth);B.push(this.__linkedObject.offsetHeight)}Quarix.Widgets.AutoComplete.superclass.viewObject.call(this,A);if(!A.skipRepos){this._domNode.domNode.style.left=B[0]+"px";this._domNode.domNode.style.top=B[1]+B[3]-1+"px"}};Quarix.Widgets.AutoComplete.prototype.hideObject=function(A){if(this.__hideTimeout){clearTimeout(this.__hideTimeout);this.__hideTimeout=null}if(!A.leaveInterval&&this.__interval){clearInterval(this.__interval);this.__interval=null}if(!this._objectHidden){this._objectHidden=true;this._domNode.domNode.style.display="none";Quarix.Util.Trigger(this,"onHideObject")}};Quarix.Widgets.AutoComplete.prototype.disableObject=function(){this._objectEnabled=false;this.hideObject(Quarix.EventManager.newEvent(this,"hideObject"))};Quarix.Widgets.AutoComplete.prototype.enableObject=function(){this._objectEnabled=true};Quarix.Widgets.AutoComplete.prototype.destroyObject=function(){if(this.__hideTimeout){clearTimeout(this.__hideTimeout);this.__hideTimeout=null}Quarix.Widgets.AutoComplete.superclass.destroyObject.call(this)};Quarix.Reflection={root:null,rootVisual:null,exploredTree:null,inlineParentCalls:false,profileEverything:false,isolateMethods:false,checkGlobals:true,basicExplore:false,frx:/^\s*function\s*\(([^)]*)\)\s*{((?:.|\s)*)}\s*$/,fcrxg:/\s([^\s;,{}()]+).call\(\s*this\s*(,[^)]+)?\)/g,fcrx:/\s([^\s;,{}()]+).call\(\s*this\s*(,[^)]+)?\)/,gprxg:/(?:==\s*)?(t|oT)his.getProperty\(\s*("|')([^\s;,{}()]+?)\1\s*,\s*([^\s;,{}()]+)\s*(?:,\s*([^\s;,{}()]+)\s*)?\)|(?:==\s*)?(t|oT)his._properties.([\w\d]+?)\s*\|\|\s*('[^']*?'|"[^"]*?"|\[[^]]*?\]|[^;\s\(\),]+)/g,gprx:/(?:==\s*)?(t|oT)his.getProperty\(\s*("|')([^\s;,{}()]+?)\1\s*,\s*([^\s;,{}()]+)\s*(?:,\s*([^\s;,{}()]+)\s*)?\)|(?:==\s*)?(t|oT)his._properties.([\w\d]+?)\s*\|\|\s*('[^']*?'|"[^"]*?"|\[[^]]*?\]|[^;\s\(\),]+)/,vdrxg:/(?:[{}();,]|^)\s*var\s+([^;]+)(?=;)/g,vdrx:/(?:[{}();,]|^)\s*var\s+([^;]+)/,varxg:/(?:[{}();,]|^)\s*([a-zA-Z0-9_$]+)\s*=(?!=)/g,varx:/(?:[{}();,]|^)\s*([a-zA-Z0-9_$]+)\s*=(?!=)/,var_str_auto_profiled:"auto profiled",explore:function(A){if(this.exploredTree&&(typeof A=="undefined"||!A)){return this.exploredTree}if(!this.root){this.root=Quarix.Base.AbsSmartObject}if(!this.rootVisual){this.rootVisual=Quarix.Base.AbsVisualObject}return this.exploredTree=this.processExplored(Object.extend(Object.extend(Object.extend(Object.extend(Object.extend(this.exploreClasses(Quarix.Base,"Quarix.Base","Base"),this.exploreClasses(Quarix.Data,"Quarix.Data","Data")),this.exploreClasses(Quarix.Widgets,"Quarix.Widgets","UI")),this.exploreClasses(Quarix.Layout,"Quarix.Layout","Layout")),this.exploreClasses({Element:Quarix.UI.Element},"DOM","DOM")),this.exploreClasses({WeekdayTrigger:Quarix.Util.WeekdayTrigger},"Quarix.Util","Util")))},exploreClasses:function(F,E,A){var C={},B;for(B in F){if(!{}[B]&&typeof F[B]=="function"&&!F[B].notExplorable){try{C[B]=this.exploreClass(F[B],E+"."+B,A+"."+B);if(C[B]==null){delete C[B];continue}C[B].className=A+"."+B;C[B].classRef=F[B];C[B].qualifiedClassName=E+"."+B}catch(D){console.error("Error exploring %s.%s, exception: %o",A,B,D);delete C[B]}}}return C},exploreClass:function(clss,fullName,shortName){var item={children:[],toString:function(){return this.className}},name,name2,m,m2,match,match2,v1,v2,str,newFuncBody;if(Quarix.Reflection.basicExplore){return item}var safeName=shortName.replace(/\./g,"_");var instance;try{instance=new clss("generated-exploring-"+shortName.replace(/\./g,"_"),{})}catch(e){try{instance.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}catch(e){}if(!shortName.match(/^(Layout|DOM)\./)){console.info("Unable to explore a clean instance of %o, using it's prototype",shortName)}instance=clss.prototype}item.isSmartObject=instance instanceof this.root;item.visual=instance instanceof this.rootVisual;if(!clss.prototype.toString||clss.prototype.toString.reflected){clss.prototype.toString=function(){return fullName};clss.prototype.toString.reflected=true}if(item.isSmartObject){item.properties={};if(instance._properties){for(name in instance._properties){if(!{}[name]&&name.length>0&&name[0]!="_"){item.properties[name]={type:typeof instance._properties[name],defVal:instance._properties[name]};if(item.properties[name].defVal instanceof Array){item.properties[name].type="array"}if(instance._properties[name]==null){item.properties[name].nullable=true}}}if(instance._properties._selfStruct){for(name in instance._properties._selfStruct){if(!{}[name]){if(!item.properties[name]){item.properties[name]={}}for(name2 in instance._properties._selfStruct[name]){item.properties[name][name2]=instance._properties._selfStruct[name][name2]}}}}}item.links={};for(name in instance){if(m=name.match(/^(get|set|add|remove)(\w+)(Source|Target)$/)){if(!item.links[m[2]]){item.links[m[2]]={source:[],target:[]}}item.links[m[2]][m[3].toLowerCase()].push(m[1])}}for(name in item.links){if(item.links[name].source&&item.links[name].target){for(m in {source:true,target:true}){if(!{}[m]){if(item.links[name][m].length>0){name2=[];if(item.links[name][m].indexOf("get")<0){name2.push("get")}if(item.links[name][m].indexOf("set")<0){if(item.links[name][m].indexOf("add")>=0||item.links[name][m].indexOf("remove")>=0){if(item.links[name][m].indexOf("add")<0){name2.push("add")}if(item.links[name][m].indexOf("remove")<0){name2.push("remove")}}else{name2.push("set/add/remove")}}if(name2.length>0){console.warn("%s has incomplete support for %s %s, missing methods: %s",fullName,name,m,name2.join(", "))}}}}}}item.messages={};if(instance._staticMessageBundle){for(name in instance._staticMessageBundle){if(!{}[name]){item.messages[name]=instance._staticMessageBundle[name]}}}if(instance._messageBundle){for(name in instance._messageBundle){if(!{}[name]){item.messages[name]=instance._messageBundle[name]}}}}for(name in clss.prototype){if(!{}[name]&&typeof clss.prototype[name]=="function"&&!clss.prototype[name].reflected){m=String(clss.prototype[name]).match(this.frx);if(!m){continue}m2=m[2].replace(/((\/\/.*\n)|(\/\*(.|\s)*?\*\/))/g,"\n");newFuncBody="";if(item.isSmartObject&&(!clss.superclass||clss.prototype[name]!=clss.superclass[name])&&(name2=m2.match(this.gprxg))){while(name2.length>0){match=name2.shift().match(this.gprx);if(!match[2]&&match[7]){match=[match[0],match[6],match[7],match[8],"true"]}var test=match[0].match(/^==/);if(test&&item.properties[match[2]]){continue}try{match2=match[3].match(/^\!?this/)||test?null:eval(match[3])}catch(e){console.error("Error parsing default value for property %o found in %o, method %o",match[2],shortName,name)}if(!item.properties[match[2]]){item.properties[match[2]]={type:typeof match2,defVal:match2,defValStr:match[3],extraDef:[],extractedFromCode:true};if(item.properties[match[2]].defVal instanceof Array){item.properties[match[2]].type="array"}if(match2==null){item.properties[match[2]].nullable=true}}else{if(item.properties[match[2]].extractedFromCode&&item.properties[match[2]].defValStr!=match[3]&&item.properties[match[2]].extraDef.indexOf(match[3])==-1){item.properties[match[2]].extraDef.push(match[3])}}}}if(this.checkGlobals){if(v1=m2.match(this.vdrxg)){v1=v1.collect(function(s){return s.match(Quarix.Reflection.vdrx)[1].split(",")}).flatten()}else{v1=[]}if(m[1].match(/\S/)){v1=v1.concat(m[1].split(","))}v1=v1.collect(function(s){return s.match(/^\s*([^\s=]+)/)[1]}).uniq();if(v2=m2.match(this.varxg)){v2=v2.collect(function(s){return s.match(Quarix.Reflection.varx)[1]}).uniq()}else{v2=[]}for(name2=v2.length-1;name2>=0;name2--){if(v1.indexOf(v2[name2])>-1){v2.splice(name2,1)}}if(v2.length>0){console.warn(fullName+"->"+name+" is using the global variables: "+v2.join(", "))}}if(item.isSmartObject&&this.inlineParentCalls){newFuncBody=m2;if(name2=newFuncBody.match(this.fcrxg)){while(name2.length>0){match=name2[0].match(this.fcrx);if(typeof eval(match[1])=="function"&&match[1].indexOf(".superclass.")>-1){match2=String(eval(match[1])).match(this.frx);v1=(match[2]?match[2].split(","):[]);v2=(match2[1]?match2[1].split(","):[]);v1.shift();str=[name2[0].charAt(0),"for (;;) {\n"];while(v2.length>0){str.push("var ");str.push(v2.shift());if(v1.length>0){str.push(" = ");str.push(v1.shift())}str.push(";\n")}str.push(match2[2].replace(/\breturn\b/g,"break;"));str.push("break;}");str=str.join("");while(newFuncBody.indexOf(name2[0])>-1){newFuncBody=newFuncBody.replace(name2,str)}}name2.shift()}}try{eval("function() {"+newFuncBody+"}")}catch(e){newFuncBody="";console.log("Unable to inline super() call for "+fullName+"->"+name+", exception: %o",e)}}if(this.isolateMethods){if(!newFuncBody){newFuncBody=m2}newFuncBody="try {\n"+newFuncBody+"} catch(e) {\n	console.log('Error %o in "+fullName+"->"+name+".', e);\n}\n"}if(this.profileEverything){eval(["clss.prototype[name] = function(",m[1],") {\n","Quarix.Profiler.Start('",safeName,"_",name,"');\n",(newFuncBody||m2).replace(/(^|[^)\s])(\s*)return\s*(?=[^\s{])([^;{}]+\s*)?(?=[;}])/g,"$1 $2 if(1) {if (arguments.callee._profiledName) Quarix.Profiler.Stop(arguments.callee._profiledName, Quarix.Reflection.var_str_auto_profiled); return $3;}").replace(/(\)\s*)return\s*(?=[^\s{])([^;{}]+\s*)?(?:[;}])/g,"$1 {if (arguments.callee._profiledName) Quarix.Profiler.Stop(arguments.callee._profiledName, Quarix.Reflection.var_str_auto_profiled); return $2;}"),"\nQuarix.Profiler.Stop(arguments.callee._profiledName, 'auto profiled');\n","}"].join(""));clss.prototype[name]._profiledName=safeName+"_"+name}else{if(this.inlineParentCalls||this.isolateMethods){eval(["clss.prototype[name] = function(",m[1],") {\n",(newFuncBody||m2),"}"].join(""))}}clss.prototype[name].reflected=true}}if(item.isSmartObject){if(instance!=clss.prototype){instance.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}for(name in item.properties){if(item.properties[name].extractedFromCode&&item.properties[name].extraDef.length>0){console.warn("The class "+fullName+" has different default values for the property "+match[2]+": "+item.properties[name].defValStr+", "+item.properties[name].extraDef.join(", ")+".")}}}return item},processExplored:function(C){var E,B,D,A;for(B in C){if(!{}[B]){E=C[B];D=E.classRef.superclass;if(D){for(A in C){if(C[A].classRef&&C[A].classRef.prototype==D){E.parent=C[A];break}}}if(E.parent){D=E.parent;if(E.properties&&D.properties){for(A in E.properties){if(!{}[A]&&D.properties[A]){E.properties[A].inherited=true}}}D.children.push(E)}}}return C},findClass:function(B){var D=[],C,A;for(C in this.explore()){if(this.explore()[C].classRef&&B instanceof this.explore()[C].classRef){D.push(this.explore()[C])}}for(C=1;C<D.length;C++){while(D[C].parent==D[0]){D.splice(0,1);C--}for(A=0;A<C;A++){if(D[A].parent==D[C]){D.splice(C,1);C--;break}}}if(D.length==1){return D[0]}else{if(D.length==0){return null}else{return D}}},findLinks:function(G,E){var B,F,A,C;if(typeof G=="string"){F=G;B=Quarix.Register.get(G)}else{B=G;F=G._objectName}if(typeof E=="string"){C=E;A=Quarix.Register.get(E)}else{A=E;C=E._objectName}var I,D,H;I=[];H="";H+=F+" -> "+C;if(Quarix.EventManager._indexed[F]){for(D in Quarix.EventManager._indexed[F]){if(Quarix.EventManager._indexed[F][D] instanceof Array&&Quarix.EventManager._indexed[F][D].pluck("_targetObject").indexOf(A)>-1){I.push(D)}}H+=" ("+I.length+"): "+I.join(", ")+"."}else{H+=" (0)."}console.log(H);I=[];H="";H+=C+" -> "+F;if(Quarix.EventManager._indexed[C]){for(D in Quarix.EventManager._indexed[C]){if(Quarix.EventManager._indexed[C][D] instanceof Array&&Quarix.EventManager._indexed[C][D].pluck("_targetObject").indexOf(B)>-1){I.push(D)}}H+=" ("+I.length+"): "+I.join(", ")+"."}else{H+=" (0)."}console.log(H)},classTree:null,getClassTree:function(){if(this.classTree){return this.classTree}var B=[],A;this.explore();for(A in this.exploredTree){if(!{}[A]&&!this.exploredTree[A].parent&&this.exploredTree[A].children){B.push(this.exploredTree[A])}}return this.classTree=B},getLinkTypes:function(){var A={},D=Quarix.Reflection.explore(),C=null,B,E;for(C in D){if(D[C].links){for(B in D[C].links){if((E=D[C].links[B])&&E.source){if(E.source.length>0){if(!A[B]){A[B]={Sources:[],Targets:[]}}A[B].Targets.push(C)}if(E.target.length>0){if(!A[B]){A[B]={Sources:[],Targets:[]}}A[B].Sources.push(C)}}}}}return A},findClassesWhichImplement:function(B){var D=[];var A=Quarix.Reflection.explore();for(var C in A){if(A[C].classRef&&A[C].classRef.prototype[B]&&(!A[C].classRef.superclass||A[C].classRef.prototype[B]!=A[C].classRef.superclass[B])){D.push(C)}}return D.join(", ")},findLinkHandlersWithParams:function(){var D=Quarix.Links,C,B,A=[];for(C in D){if(!{}[C]&&D[C].SourceEvents){A=A.concat(D[C].SourceEvents).concat(D[C].targetEvents)}}D=this.explore();for(C in D){if(D[C]&&D[C].classRef){for(B in D[C].classRef.prototype){if(A.indexOf(B)>-1&&typeof D[C].classRef.prototype[B]=="function"&&String(D[C].classRef.prototype[B]).match(/function\s*\(\s*[^)]/)&&!String(D[C].classRef.prototype[B]).match(/function\s*\(\s*evtObj/)){console.log("%s->%s",C,B)}}}}},printContainerStructure:function(B){B=B||Quarix.Globals.ROOT_WINDOW;var C=[typeof B=="string"?$Q(B):B];var D={};while(C.length){if(C[0]==D){console.groupEnd();C.shift();continue}var A=C[0].getContainerTarget&&C[0].getContainerTarget();if(A&&typeof A.length=="undefined"){A=[A]}if(A&&A.length){console.group(C[0]._objectName);C.splice.apply(C,[0,1].concat(A).concat([D]));continue}else{console.log(C.shift()._objectName)}}},printEventTree:function(A,B){var C=A;if(typeof C=="string"){C=$1(C)}else{if(C instanceof Quarix.Base.AbsVisualObject){C=C._domNode}if(C instanceof Quarix.UI.Element){C=C.domNode}}if(B.indexOf("on")!=0){B="on"+B}while(C){if(C[B]){if(C[B]==Quarix.Util.getEventHandler.cache[B]){console.log("%o (standard handler, %o callbacks)",C,C[B+"_h"].length)}else{console.log("%o (custom handler)",C)}}C=C.parentNode}},getType:function(B){if(B instanceof Array){return"array"}var A=this.findClass(B);if(!A){A=typeof B}return A},getAsJS:function(target,prefix){if(target==null){return"null"}if(typeof prefix=="undefined"){prefix=""}var prefix2;if(prefix==null){prefix2=null}else{prefix2=prefix+"  "}var cls=this.findClass(target),i;if(cls){var str=["new "],first=true;str.push(cls.qualifiedClassName);str.push('("');str.push(target.getObjectName());str.push('",');str.push("{");var str2=[],targ,propVal;for(propName in cls.properties){if(!{}[propName]){propVal=target.getProperty(propName,null);if(propVal==cls.properties[propName].defVal&&(!cls.properties[propName].extraDef||!cls.properties[propName].extraDef.length)){continue}if(typeof propVal=="object"&&propVal!=null){targ=str2}else{targ=str;if(first){first=false}else{str.push(", ")}}targ.push("\n");targ.push(prefix);targ.push('"');targ.push(String(propName).replace(/\\/g,"\\\\").replace(/"/g,'\\"'));targ.push('": ');targ.push(this.getAsJS(target.getProperty(propName,null),prefix2))}}if(str2.length>0){if(str.last()!="{"){str.push(", ")}str=str.concat(str2)}str.push("\n");str.push(prefix);str.push("});");return str.join("")}else{switch(typeof target){case"string":return'"'+target.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"';case"boolean":case"number":return String(target);case"function":return"null";case"object":var str=[];if(target instanceof Array){str.push("[");if(target.length>0){str.push("\n");str.push(prefix);str.push(this.getAsJS(target[0],prefix2));for(i=1;i<target.length;i++){str.push(", \n");str.push(prefix);str.push(this.getAsJS(target[i],prefix2))}}str.push("\n");str.push(prefix);str.push("]")}else{str.push("{");for(i in target){if(!{}[i]){if(str.length>1){str.push(", ")}str.push("\n");str.push(prefix);str.push('"');str.push(String(i).replace(/\\/g,"\\\\").replace(/"/g,'\\"'));str.push('": ');str.push(this.getAsJS(target[i],prefix2))}}str.push("\n");str.push(prefix);str.push("}")}str=str.join("");var str2=str.replace(eval("/\\n"+prefix+"/g"),"");if(str2.length<80){return str2}return str;default:console.warn("Unhandled type for: %o",target);break}}},getAsXML:function(A){return"Not implemented"},printClassTree:function(){var A=this.getClassTree();var B={};while(A.length){if(A[0]==B){A.splice(0,1);console.groupEnd()}else{if(A[0].children.length){console.group("%s %o",A[0].className,A[0]);A.splice.apply(A,[0,1].concat(A[0].children).concat([B]))}else{console.log("%s %o",A[0].className,A[0]);A.splice(0,1)}}}},objectEditors:[],editObject:function(B){if(this.objectEditors.length==0){this.objectEditors.push(Quarix.Reflection.ObjectEditor.createInstance())}var A=this.objectEditors.last();A.beginEdit(B)},editObjectWithNewEditor:function(A){this.objectEditors.push(Quarix.Reflection.ObjectEditor.createInstance());this.editObject(A)}};Quarix.Reflection.ObjectEditor=function(B,A){A=Object.extend({closeCallback:this.destroyObject.bind(this),onViewObjectExecute:null},A);Quarix.Reflection.ObjectEditor.superclass.constructor.call(this,B,A);this._properties=Object.extend(A,this._properties);this._targetObject=null;this._targetClass=null;this._emptyMsg=null;this._dynObj=[];this.__destroying=false;this._history=[];this._historyIndex=-1;this.NavigationSourceEvents=[Quarix.Links.Navigation.FetchFirst,Quarix.Links.Navigation.FetchNext,Quarix.Links.Navigation.FetchPrev,Quarix.Links.Navigation.FetchLast]};Quarix.extend(Quarix.Reflection.ObjectEditor,Quarix.Widgets.Window);Quarix.Reflection.ObjectEditor.createInstance=function(){var A=1,D="_generated_ObjectEditor",B={title:"Object Editor",closeOnOK:false,closeOnCancel:false,hideOnInit:true,layout:"TableLayout",layoutTableRows:3,layoutTableCols:3,layoutCellSpacing:0,width:250,windowType:"internal"};while(Quarix.Register.get(D+A)){A++}var C=new Quarix.Reflection.ObjectEditor(D+A,B);C.createObjects();C.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject));return C};Quarix.Reflection.ObjectEditor.prototype.setTargetObject=function(B,A){if(this._targetObject){this.removeTargetObject()}this._targetObject=B;this.publish(Quarix.Links.Navigation.QueryPosition,{position:this.getQueryPosition()});if(this._targetObject){this._emptyMsg._properties.hide=true;this._emptyMsg.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject));this._targetClass=(typeof A!="undefined"&&A)?A:Quarix.Reflection.findClass(this._targetObject);if(this._targetObject instanceof Quarix.Base.AbsSmartObject){this._editType="SmartObject";this.setTitle(this._targetObject._objectName)}else{this._editType=this._targetClass;this.setTitle(this._editType)}this._prepareForEdit()}};Quarix.Reflection.ObjectEditor.prototype.removeTargetObject=function(){this._targetObject=null;this._emptyMsg._properties.hide=false;this._emptyMsg.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject));this.setTitle("Object Editor");var A;for(A=0;A<this._dynObj.length;A++){this._dynObj[A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}this._dynObj=[]};Quarix.Reflection.ObjectEditor.prototype.createObjects=function(){this._emptyMsg=new Quarix.Widgets.Label(this._objectName+"_noTargetObjectMsg",{layoutRow:1,layoutCol:0,layoutColSpan:3,label:"No object selected"});this.addLink(Quarix.Links.Container.CreateObjects,this._emptyMsg);this._PJObjectSelector=new Quarix.Widgets.Field(this._objectName+"_selector",{layoutRow:0,layoutCol:0,layoutColSpan:3,size:1,viewAs:"Combofield",value:"",valueOptions:this._getValueOptionsForSelector()});this._PJObjectSelector.addLink(Quarix.Links.Action.ValueChanged,this);this.addLink(Quarix.Links.Container.CreateObjects,this._PJObjectSelector);var B=new Quarix.Widgets.Toolbar(this._objectName+"_toolbar",{});var A=new Quarix.Data.NavigationToolGroup(this._objectName+"_nav",{first:{label:"First"},prev:{label:"Back"},next:{label:"Next"},last:{label:"Last"}});B.addLink(Quarix.Links.Container.CreateObjects,A);A.addLink(Quarix.Links.Navigation,this);B.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"_JSbtn",{label:"Get JS",tooltip:"View the JS commands to generate this object",preferLabel:true,onClickExecute:(function(){var C=Quarix.Reflection.getAsJS(this._targetObject);console.log(C);alert(C.replace(/\n\s*/g," "))}).bind(this)}));B.addLink(Quarix.Links.Container.CreateObjects,new Quarix.Widgets.ToolButton(this._objectName+"_XMLbtn",{label:"Get XML",tooltip:"View the XML text to generate this object",preferLabel:true,onClickExecute:(function(){var C=Quarix.Reflection.getAsXML(this._targetObject);console.log(C);alert(C.replace(/\n\s*/g," "))}).bind(this)}));B.addLink(Quarix.Links.Container.CreateObjects,this._addBtn=new Quarix.Widgets.ToolButton(this._objectName+"_AddBtn",{image:Quarix.Theme.PJUpdateToolbarAddImage,disabledImage:Quarix.Theme.PJUpdateToolbarAddImageDisabled,hooverImage:Quarix.Theme.PJUpdateToolbarAddImageHoover,label:"Add",tooltip:"Add a new field",hotkey:"INS",disableOnInit:true,onClickExecute:(function(){this.addNewProperty()}).bind(this)}));this.addLink(Quarix.Links.Container.CreateObjects,B);Quarix.Reflection.ObjectEditor.superclass.createObjects.call(this)};Quarix.Reflection.ObjectEditor.prototype.initializeObject=function(){Quarix.Reflection.ObjectEditor.superclass.initializeObject.call(this);this.publish(Quarix.Links.Navigation.QueryPosition,{position:"NoRecordAvailable"})};Quarix.Reflection.ObjectEditor.prototype.getQueryPosition=function(){if(this._history.length==0){return"NoRecordAvailable"}else{if(this._history.length==1){return"OnlyRecordAvailable"}else{if(this._historyIndex==0){return"FirstRecord"}else{if(this._historyIndex==this._history.length-1){return"LastRecord"}else{return"NotFirstOrLast"}}}}};Quarix.Reflection.ObjectEditor.prototype.fetchFirst=function(){this._historyIndex=0;this.setTargetObject(this._history[this._historyIndex])};Quarix.Reflection.ObjectEditor.prototype.fetchPrev=function(){this._historyIndex--;this.setTargetObject(this._history[this._historyIndex])};Quarix.Reflection.ObjectEditor.prototype.fetchNext=function(){this._historyIndex++;this.setTargetObject(this._history[this._historyIndex])};Quarix.Reflection.ObjectEditor.prototype.fetchLast=function(){this._historyIndex=this._history.length-1;this.setTargetObject(this._history[this._historyIndex])};Quarix.Reflection.ObjectEditor.prototype.viewObject=function(){Quarix.Reflection.ObjectEditor.superclass.viewObject.call(this);if(this._properties.onViewObjectExecute){this._properties.onViewObjectExecute(this)}};Quarix.Reflection.ObjectEditor.prototype.destroyObject=function(){if(this.__destroying){return }this.__destroying=true;Quarix.Reflection.objectEditors=Quarix.Reflection.objectEditors.without(this);Quarix.Reflection.ObjectEditor.superclass.destroyObject.call(this)};Quarix.Reflection.ObjectEditor.prototype._adjustSelects=function(){var A,B;this._PJObjectSelector.getDOMNode().domNode.getElementsByTagName("select")[0].style.width=this._toolbar.getDOMNode().domNode.offsetWidth-20+"px";for(A=0;A<this._dynObj.length;A++){if(this._dynObj[A] instanceof Quarix.Reflection.ObjectEditor.LinkEditor){B=this._dynObj[A].objects[0].getDOMNode().domNode.getElementsByTagName("select");if(B.length>0){B[0].style.width="200px"}}}};Quarix.Reflection.ObjectEditor.prototype.resize=function(){this._adjustSelects();Quarix.Reflection.ObjectEditor.superclass.resize.call(this)};Quarix.Reflection.ObjectEditor.prototype.beginEdit=function(A){if(typeof A=="string"){A=Quarix.Register.get(A)}if(A!=this._targetObject){this._historyIndex=this._history.length;this._history[this._historyIndex]=A;this.setTargetObject(A)}this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))};Quarix.Reflection.ObjectEditor.prototype.setTitle=function(A){this._properties.title=A;if(this._internalWindow){this._internalWindow.setTitle(A)}else{document.title=A}};Quarix.Reflection.ObjectEditor.prototype.setOnViewObjectExecute=function(A){this._properties.onViewObjectExecute=A};Quarix.Reflection.ObjectEditor.prototype.valueChanged=function(C){var B=C.value;if(B=="_"){return }if(!B){return }console.log("editing "+B);var A=Quarix.Register.get(B);if(!A){this._PJObjectSelector.setValueOptions(this._getValueOptionsForSelector());this._PJObjectSelector.setObjectValue(this._targetObject._objectName)}else{this.beginEdit(A)}};Quarix.Reflection.ObjectEditor.prototype._getValueOptionsForSelector=function(){var B={},A,C,D=true;for(A=0;A<Quarix.Register._objectRegister.length;A++){C=Quarix.Register._objectRegister[A];if(C.getObjectName().match(/(\b|_)generated(\b|_)/)){continue}D=false;B[C.getObjectName()]=C.getObjectName()+" ("+Quarix.Reflection.findClass(C).className+")"}if(D){B._="None available"}return B};Quarix.Reflection.ObjectEditor.prototype._prepareForEdit=function(){var C=3,E,A=C;if(this._editType!="SmartObject"){if(["array","object","dictionary"].indexOf(this._editType)==-1){this._addBtn.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject))}else{this._addBtn.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject))}this._PJObjectSelector.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this._PJObjectSelector.hideObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.HideObject))}else{this._addBtn.disableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DisableObject));this._PJObjectSelector.enableObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.EnableObject));this._PJObjectSelector.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject));this._PJObjectSelector.setValueOptions(this._getValueOptionsForSelector());this._PJObjectSelector.setObjectValue(this._targetObject._objectName)}switch(this._editType){case"SmartObject":if(this._internalWindow.width<350){this._internalWindow.setSize(350,this._internalWindow.height)}var B,D=0;if(B=$Q(this._objectName+"_folder")){D=B._currentPage;B.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}B=new Quarix.Widgets.TabFolder(this._objectName+"_folder",{layout:"TableLayout",layoutTableRows:0,layoutTableCols:2,layoutCellSpacing:5,layoutRow:3,layoutCol:0,layoutColSpan:3,initPage:D});B._windowName=this._windowName;B.addPage("0",Quarix.Layout.TableLayout,"Properties");B.addPage("1",Quarix.Layout.TableLayout,"Messages");B.addPage("2",Quarix.Layout.TableLayout,"Links");A=0;for(E in this._targetClass.properties){if(this._targetClass.properties[E].type){this._dynObj.push(new Quarix.Reflection.ObjectEditor.PropertyEditor(this,E,this._targetClass.properties[E],A++,{container:B,objectPage:0}))}}if(A){B._titles[0]="Properties ("+A+")"}else{B._titles[0]="Properties -"}A=0;for(E in this._targetClass.messages){if(!{}[E]){this._dynObj.push(new Quarix.Reflection.ObjectEditor.MessageEditor(this,E,A++,{container:B,objectPage:1}))}}if(A){B._titles[1]="Messages ("+A+")"}else{B._titles[1]="Messages -"}A=0;for(E in this._targetClass.links){if(this._targetClass.links[E].source&&this._targetClass.links[E].target){if((this._targetClass.links[E].source.indexOf("add")>-1)||(this._targetClass.links[E].source.indexOf("set")>-1)){this._dynObj.push(new Quarix.Reflection.ObjectEditor.LinkEditor(this,E,"Source",A++,{container:B,objectPage:2,single:(this._targetClass.links[E].source.indexOf("set")>-1),rIdx:this._dynObj.length}));if(this._targetClass.links[E].source.indexOf("add")>-1){A++}}if((this._targetClass.links[E].target.indexOf("add")>-1)||(this._targetClass.links[E].target.indexOf("set")>-1)){this._dynObj.push(new Quarix.Reflection.ObjectEditor.LinkEditor(this,E,"Target",A++,{container:B,objectPage:2,single:(this._targetClass.links[E].target.indexOf("set")>-1),rIdx:this._dynObj.length}));if(this._targetClass.links[E].target.indexOf("add")>-1){A++}}}}if(A){B._titles[2]="Links ("+A+")"}else{B._titles[2]="Links -"}this.addLink(Quarix.Links.Container.CreateObjects,B);this._dynObj.push(B);if(this._objectInitialized){this._adjustSelects()}break;case"array":for(A=0;A<this._targetObject.length;A++){this._dynObj.push(new Quarix.Reflection.ObjectEditor.PropertyEditor(this,A,Quarix.Reflection.getType(this._targetObject[A]),A+C))}break;case"dictionary":case"object":for(E in this._targetObject){if(!{}[E]){this._dynObj.push(new Quarix.Reflection.ObjectEditor.PropertyEditor(this,E,Quarix.Reflection.getType(this._targetObject[E]),A++))}}break;default:break}};Quarix.Reflection.ObjectEditor.prototype.getQualifiedPropName=function(A){switch(this._editType){case"array":return this._properties.title+"["+A+"]";case"dictionary":return this._properties.title+"."+A;default:return this._properties.title+"->"+A}};Quarix.Reflection.ObjectEditor.prototype.getSnippet=function(){switch(this._editType){case"array":return"["+this._targetObject.length+"]";case"dictionary":return"(dictionary)";case"SmartObject":return"("+this._targetClass.className+")";default:return"("+this._editType+")"}};Quarix.Reflection.ObjectEditor.prototype.addNewProperty=function(){var A;switch(this._editType){case"array":var B={};if(this._targetObject.length>0&&this._targetObject[0].constructor){B=this._targetObject[0].constructor()}this._targetObject.push(B);this._dynObj.push(new Quarix.Reflection.ObjectEditor.PropertyEditor(this,this._targetObject.length-1,Quarix.Reflection.getType(this._targetObject[A]),this._targetObject.length+2));break;case"dictionary":case"object":alert("Not implemented");break;default:return }};Quarix.Reflection.ObjectEditor.prototype.getTargetProperty=function(A,C){var B;if(this._targetObject.getProperty){B=this._targetObject.getProperty(A,C)}else{B=this._targetObject[A]}if(typeof B=="undefined"){B=C}return B};Quarix.Reflection.ObjectEditor.prototype.updateTargetProperty=function(B,A){switch(this._editType){case"array":case"dictionary":this._targetObject[B]=A;break;case"SmartObject":this._targetObject.setProperty(B,A);default:return(this._targetObject.setProperty)?this._targetObject.setProperty(B,A):this._targetObject[B]=A}};Quarix.Reflection.ObjectEditor.prototype.removeTargetProperty=function(B,C){switch(this._editType){case"array":if(typeof C=="string"){C=parseInt(C)}if(this._targetObject.length<=C){return false}this._targetObject.splice(C,1);this._dynObj=this._dynObj.without(B);B.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject));var A;for(A=0;A<this._dynObj.length;A++){if(this._dynObj[A] instanceof Quarix.Reflection.ObjectEditor.PropertyEditor&&this._dynObj[A].propName>=C){this._dynObj[A].updatePropName(this._dynObj[A].propName-1)}}return true;break;case"dictionary":case"object":if(typeof this._targetObject[C]!="undefined"){delete this._targetObject[C]}this._dynObj=this._dynObj.without(B);B.destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject));return true;break;default:return false}};Quarix.Reflection.ObjectEditor.PropertyEditor=function(B,G,H,A,F){this._objectName="generated-PropertyEditor-"+Quarix.Reflection.ObjectEditor.PropertyEditor.count++;this.owner=B;Quarix.Register.add(this);this.ownerName=B._objectName;this._targetObject=this.owner._targetObject;this.propName=G;this.objects=[];this.nullable=!!H.nullable;this.pp=this._string;this._propInfo=(typeof H=="string")?{type:H}:H;var C=G;if(B._editType=="array"&&parseInt(G)==G){C="["+G+"]"}if(typeof F=="undefined"){F={}}if(!F.objectPage){F.objectPage=0}if(!F.container){F.container=B}var L=20;if(F.container!=B){L+=10}var D=null,K=null,E;var I=function(R){var N=B.getDOMNode().domNode,O=D.getDOMNode().domNode,Q=R.getDOMNode().domNode;var P=Position.cumulativeOffset(N);var S=Position.cumulativeOffset(O);var M=P[0]+N.offsetWidth;if(M+Q.offsetWidth>document.body.offsetWidth){M=P[0]-Q.offsetWidth}if(M<0){M=0}var T=S[1];if(T+Q.offsetHeight>document.body.offsetHeight){T=document.body.offsetHeight-Q.offsetHeight}if(T<0){T=0}Q=R.getDOMNode();Q.setX(M);Q.setY(T)};this.objects.addAndHandle=function(N,M){this.push(N);N._windowName=M._windowName;M.addLink(Quarix.Links.Container.CreateObjects,N);if(M._objectCreated){N.createObjects()}if(M._objectInitialized){N.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};switch(this._propInfo.type){case"boolean":D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,labelAlign:"LEFT",size:1,viewAs:"Combofield",value:[false,true].indexOf(this.owner.getTargetProperty(G,false))+"",label:C,disableOnInit:!!this._propInfo.readOnly,valueOptions:{"0":"false","1":"true"},objectPage:F.objectPage});D.addLink(Quarix.Links.Action.ValueChanged,this);this.pp=this._boolean;break;case"number":D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L,viewAs:"Textfield",value:String(this.owner.getTargetProperty(G,null)),disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage});D.addLink(Quarix.Links.Action.ValueChanged,this);this.pp=this._number;break;case"string":D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L,viewAs:"Textfield",value:this.owner.getTargetProperty(G,null),disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage});D.addLink(Quarix.Links.Action.ValueChanged,this);break;case"array":D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L-3,viewAs:"Textfield",value:"["+this.owner.getTargetProperty(G,[]).length+"]",disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage,fkWindowName:function(){var M=Quarix.Reflection.ObjectEditor.createInstance();M.setTargetObject(B.getTargetProperty(G,[]),"array");M.setTitle(B.getQualifiedPropName(G));M.setOnViewObjectExecute(I);return M}});break;case"dictionary":D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L-3,viewAs:"Textfield",value:"(dictionary)",disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage,fkWindowName:function(){var M=Quarix.Reflection.ObjectEditor.createInstance();M.setTargetObject(B.getTargetProperty(G,{}),"dictionary");M.setTitle(B.getQualifiedPropName(G));M.setOnViewObjectExecute(I);return M}});break;case"object":if(this._propInfo.isSmartObject){D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L-3,viewAs:"Textfield",value:"("+this._propInfo.className+")",disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage,fkWindowName:function(){var M=Quarix.Reflection.ObjectEditor.createInstance();M.setTargetObject(B.getTargetProperty(G,null));M.setTitle(B.getQualifiedPropName(G));M.setOnViewObjectExecute(I);return M}})}else{D=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,label:C,labelAlign:"LEFT",size:L-3,viewAs:"Textfield",value:"(object)",disableOnInit:!!this._propInfo.readOnly,objectPage:F.objectPage,fkWindowName:function(){var M=Quarix.Reflection.ObjectEditor.createInstance();M.setTargetObject(B.getTargetProperty(G,{}),"object");M.setTitle(B.getQualifiedPropName(G));M.setOnViewObjectExecute(I);return M}})}break;default:break}if(!D){D=new Quarix.Widgets.Label(this._objectName+"_dynLbl_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:0,layoutColSpan:1,label:G,objectPage:F.objectPage});K=new Quarix.Widgets.Label(this._objectName+"_dynTct_"+F.objectPage+"-"+A,{layoutRow:A,layoutCol:1,layoutColSpan:1,align:"left",label:"("+this._propInfo.type+")",objectPage:F.objectPage});this.objects.addAndHandle(K,F.container)}this.field=D;this.objects.addAndHandle(this.field,F.container);if(["array","dictionary","object"].indexOf(this.owner._editType)>-1){var J=new Quarix.Widgets.Button("remove_"+D._objectName,{layoutRow:A,layoutCol:2,objectPage:F.objectPage,label:" - ",onClickExecute:(function(){B.removeTargetProperty(this,this.propName)}).bind(this)});this.objects.addAndHandle(J,F.container)}};Quarix.Reflection.ObjectEditor.PropertyEditor.count=0;Quarix.Reflection.ObjectEditor.PropertyEditor.prototype.getWindowName=function(){return this.owner.getWindowName()};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype.getObjectName=function(){return this._objectName};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype.destroyObject=function(){var A;for(A=0;A<this.objects.length;A++){this.objects[A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype.valueChanged=function(A){var B=this.pp(A.value);this.owner.updateTargetProperty(this.propName,B);A.source.setObjectValue(String(B));console.log("%s: %s",this.propName,A.value)};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype.updatePropName=function(C){this.propName=C;var A=this.propName;if(this.owner._editType=="array"&&parseInt(this.propName)==this.propName){A="["+this.propName+"]"}var B=this.field._label||this.field;if(B instanceof Quarix.Widgets.Label){B.setObjectValue(A)}};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype._boolean=function(A){if(A=="1"||A=="true"||A==1||A==true){return true}return false};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype._number=function(A){if(A==""){if(this.nullable){return null}else{return 0}}return parseFloat(A)};Quarix.Reflection.ObjectEditor.PropertyEditor.prototype._string=function(A){if(A==""&&this.nullable){return null}return A};Quarix.Reflection.ObjectEditor.LinkEditor=function(A,H,G,D,F){this._objectName="generated-LinkEditor-"+Quarix.Reflection.ObjectEditor.LinkEditor.count++;this.owner=A;Quarix.Register.add(this);this.ownerName=A._objectName;this._targetObject=this.owner._targetObject;this.linkName=H;this.direction=G;this.single=true;if(typeof F.single!="undefined"){this.single=!!F.single}this.objects=[];this.rIdx=F.rIdx;if(typeof F=="undefined"){F={}}if(!F.objectPage){F.objectPage=0}if(!F.container){F.container=A}var C=this.listedOptions=this.getValueOptions();var B=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+F.objectPage+"-"+D,{layoutRow:D,layoutCol:1,label:H+" ("+G+")",labelAlign:"LEFT",size:1,viewAs:"Combofield",value:this.getValueId(C),valueOptions:C,objectPage:F.objectPage});B.addLink(Quarix.Links.Action.ValueChanged,this);this.objects.push(B);B._windowName=F.container._windowName;F.container.addLink(Quarix.Links.Container.CreateObjects,B);if(F.container._objectCreated){B.createObjects()}if(F.container._objectInitialized){B.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(!this.single){var E;E=new Quarix.Widgets.Label(this.ownerName+"_dynFld_"+F.objectPage+"-"+D+"a",{layoutRow:D+1,layoutCol:0,layoutColSpan:1,align:"left",label:this.linkName+" "+this.direction.toLowerCase()+"s:",objectPage:F.objectPage});this.objects.push(E);E._windowName=F.container._windowName;F.container.addLink(Quarix.Links.Container.CreateObjects,E);if(F.container._objectCreated){E.createObjects()}if(F.container._objectInitialized){E.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}this._listLbl=E=new Quarix.Widgets.HTMLBlock(this.ownerName+"_dynFld_"+F.objectPage+"-"+D+"b",{layoutRow:D+1,layoutCol:1,layoutColSpan:1,align:"left",content:this.updateLabel(),objectPage:F.objectPage});this.objects.push(E);E._windowName=F.container._windowName;F.container.addLink(Quarix.Links.Container.CreateObjects,E);if(F.container._objectCreated){E.createObjects()}if(F.container._objectInitialized){E.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}}};Quarix.Reflection.ObjectEditor.LinkEditor.count=0;Quarix.Reflection.ObjectEditor.LinkEditor.prototype.getWindowName=function(){return this.owner.getWindowName()};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.getObjectName=function(){return this._objectName};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.destroyObject=function(){var A;for(A=0;A<this.objects.length;A++){this.objects[A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.valueChanged=function(A){var B;if(A.value!="_"){B=Quarix.Register.get(A.value);if(!B){this.refreshOptions();this.updateLabel();return }else{if(this.single){this._targetObject["set"+this.linkName+this.direction](B)}else{this._targetObject["add"+this.linkName+this.direction](B);this.updateLabel()}}}else{if(this.single){this._targetObject["set"+this.linkName+this.direction](null)}}A.source.setValueOptions(this.getValueOptions());if(this.single){A.source.setObjectValue(newVal)}else{A.source.setObjectValue("_")}console.log("%s: %s",this.linkName,A.value)};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.getValueOptions=function(){var D={_:"None"},B,E,A=[this._targetObject],F=true;if(!this.single){D._="Add..."}var C=this.linkName+["Source","Target"][1-["Source","Target"].indexOf(this.direction)];if(this.linkName!="Action"&&this._targetObject["get"+C]){E=this._targetObject["get"+C]();if(E){if(E instanceof Array){A=A.concat(E)}else{A.push(E)}}}if(!this.single){E=this._targetObject["get"+this.linkName+this.direction]();if(E){if(E instanceof Array){A=A.concat(E)}else{A.push(E)}}}for(B=0;B<Quarix.Register._objectRegister.length;B++){E=Quarix.Register._objectRegister[B];if(A.indexOf(E)>-1){continue}if(E.getObjectName().match(/(\b|_)generated(\b|_)/)){continue}if(E["set"+C]||E["add"+C]){F=false;D[E.getObjectName()]=E.getObjectName()+" ("+Quarix.Reflection.findClass(E).className+")"}}if(F){D._=(this.single)?"None available":"None left"}return D};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.getValueId=function(B){if(this.single){var A=this._targetObject["get"+this.linkName+this.direction]();if(A){return A.getObjectName()}}return"_"};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.updateLabel=function(){var D,A=[],C,B=this._targetObject["get"+this.linkName+this.direction]();if(B instanceof Array){for(C=0;C<B.length;C++){A.push(B[C].getObjectName())}}else{if(B&&B.getObjectName){A.push(B.getObjectName())}}if(A.length==0){D="none"}else{for(C=0;C<A.length;C++){A[C]='<a href="#edit '+A[C]+'" onclick=\'Quarix.Register.get("'+this.owner._objectName+'").beginEdit("'+A[C]+'"); false;\' tooltip="edit '+A[C]+'">'+A[C]+"</a> <input type='button' class='button' value='-' onclick='Quarix.Register.get(\""+this.owner._objectName+'")._dynObj['+this.rIdx+'].removeLinked("'+A[C]+"\")'/>"}D=A.join(", ")}if(this._listLbl){this._listLbl.setContent(D)}return D};Quarix.Reflection.ObjectEditor.LinkEditor.prototype.removeLinked=function(A){if(typeof A=="string"){A=Quarix.Register.get(A)}if(!A){return }this._targetObject.removeLink(this.linkName,A);this.objects[0].setValueOptions(this.getValueOptions());this.updateLabel()};Quarix.Reflection.ObjectEditor.MessageEditor=function(A,D,B,C){this._objectName="generated-MessageEditor-"+Quarix.Reflection.ObjectEditor.MessageEditor.count++;this.owner=A;Quarix.Register.add(this);this.ownerName=A._objectName;this._targetObject=this.owner._targetObject;this.msgName=D;this.objects=[];if(typeof C=="undefined"){C={}}if(!C.objectPage){C.objectPage=0}if(!C.container){C.container=A}fld=new Quarix.Widgets.Field(this.ownerName+"_dynFld_"+C.objectPage+"-"+B,{layoutRow:B,layoutCol:1,label:D,labelAlign:"LEFT",size:20,viewAs:"Textfield",value:this._targetObject.getMessage(D),objectPage:C.objectPage});fld.addLink(Quarix.Links.Action.ValueChanged,this);this.objects.push(fld);fld._windowName=C.container._windowName;C.container.addLink(Quarix.Links.Container.CreateObjects,fld);if(C.container._objectCreated){fld.createObjects()}if(C.container._objectInitialized){fld.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}};Quarix.Reflection.ObjectEditor.MessageEditor.count=0;Quarix.Reflection.ObjectEditor.MessageEditor.prototype.getWindowName=function(){return this.owner.getWindowName()};Quarix.Reflection.ObjectEditor.MessageEditor.prototype.getObjectName=function(){return this._objectName};Quarix.Reflection.ObjectEditor.MessageEditor.prototype.destroyObject=function(){var A;for(A=0;A<this.objects.length;A++){this.objects[A].destroyObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.DestroyObject))}};Quarix.Reflection.ObjectEditor.MessageEditor.prototype.valueChanged=function(A){this._targetObject._messageBundle[this.msgName]=A.value;A.source.setObjectValue(A.value);console.log("%s: %s",this.msgName,A.value);this.updateList()};Array.prototype.getProperty=function(A,C,B){return(this.length>A)?this[A]:C};Quarix.Data.DataSet=function(B,A){Quarix.Data.DataSet.superclass.constructor.call(this,B,A);this._objectType="DataSet";this._staticMessageBundle={msg_dataobject_save_error:"There was an error while attemptig to save changes on the server. Please fix any network issues and try again.",msg_dataobject_timeout:"Communication with server timed-out.",msg_dataobject_server_save_error:"Server error while saving, http code %d",msg_dataobject_server_error:"Server error, http code %d"};this._properties=Quarix.Util.Extend(this._properties,Quarix.Data.DataSet.defaultProperties);this.tableProps=this._properties.tables;delete this._properties.tables;this.relations=this._properties.relations;delete this._properties.relations;this.DOs=[];this.processing=[];this._action="sendRows";var D=this;this.roots=[];for(var C=0;C<this.tableProps.length;C++){this.tableProps[C]=Object.extend(Object.extend({},this._properties),this.tableProps[C]);var B=this.tableProps[C].name;this.tableProps[C].DSIndex=C;this.tableProps[B]=this.tableProps[C];this.tableProps[C].daoId=B;this.tableProps[C].sendFilterEveryTime=true;this.tableProps[C].url+="/"+B;this.relations[B]=[];this.roots.push(B);this.DOs.push(this.DOs[B]=new Quarix.Data.DataObject(this._objectName+"-"+B,this.tableProps[B]));this.DOs[B].dataProxy.setFilters=function(G,E){var F=-1;if(E&&D.processing[this.name]){F=this.requestPending;this.requestPending=null}Quarix.Data.DataObject.DataProxy.prototype.setFilters.call(this,G,E);if(F!=-1){if(this.requestPending){clearTimeout(this.requestPending)}this.requestPending=F}};this.DOs[B].dataProxy.finalizeRequest=(function(G,I,H){if(this._properties.serverData&&!this._objectInitialized){clearTimeout(this.dataProxy.requestPending);this.dataProxy.requestPending=null;var F=this._notifyOnRequest.clone();for(var E=0;E<F.length;E++){F[E](false)}return }if(!H&&D.processing[this._objectName]){this.dataProxy.requestPending=null;var F=this._notifyOnRequest.clone();for(var E=0;E<F.length;E++){F[E](false)}return }D._request(this,G,I,H);return{}}).bind(this.DOs[B])}for(var C=0;C<this.relations.length;C++){this.relations[this.relations[C].parent].push([this.relations[C].child,this.relations[C].map]);this.DOs[this.relations[C].parent].addLink(Quarix.Links.Data,this.DOs[this.relations[C].child]);if(this.relations[C].map){this.DOs[this.relations[C].child].setFK(this.DOs[this.relations[C].parent],Quarix.Util.ConvertToMap(this.relations[C].map));this.DOs[this.relations[C].child].dataProxy.options.filterMode=this._properties.fkFilterMode}}this.pendingRequest=false;this.requestClosures=[];this._makeRequest=this.__makeRequest.bind(this)};Quarix.Data.DataSet.defaultProperties={url:null,delay:100,tables:[],relations:[],autoSync:false,batchSize:100,margin:10,readOnly:false,threadTimeout:300000,OpenOnInit:true,rules:[],sendFilterEveryTime:false,fkFilterMode:"local",sendChangesOnly:false,disableChildren:false,onAfterSync:null,onSyncError:null};Quarix.extend(Quarix.Data.DataSet,Quarix.Base.AbsSmartObject);Quarix.Data.DataSet.prototype.setContainerSource=function(A){if(this._dataSource==A){return }Quarix.Data.DataSet.superclass.setContainerSource.call(this,A);for(var B=0;B<this.DOs.length;B++){this._containerSource.addLink(Quarix.Links.Container.CreateObjects,this.DOs[B])}};Quarix.Data.DataSet.prototype.hasChanges=function(){for(var A=0;A<this.DOs.length;A++){if(this.DOs[A].dataProxy.changed.append.length||this.DOs[A].dataProxy.changed.modified.length||this.DOs[A].dataProxy.changed.deleted.length){return true}}return false};Quarix.Data.DataSet.prototype.commitTransaction=Quarix.Data.DataSet.prototype.submitCommit=Quarix.Data.DataSet.prototype.updateRecord=function(B){this._action=B;for(var A=0;A<this.DOs.length;A++){this.DOs[A].dataProxy.sync(B)}};Quarix.Data.DataSet.prototype.canRequest=function(D){var C;if(D._objectName){D=D._objectName}if(typeof D=="string"&&D.indexOf(this._objectName+"-")==0){D=this.DOs[C=D.substring(this._objectName.length+1)]}else{D=this.DOs[C=D]}if(typeof C=="number"){C=D._objectName.substring(this._objectName.length+1)}var B;if(this.requestClosures[C]){return false}B=this.DOs[C];while(B.hdoFKParent){B=B.hdoFKParent;if(this.requestClosures[B._objectName.substring(this._objectName.length+1)]){return false}}var A=this.relations[C].pluck(0);for(B=0;B<A.length;B++){if(this.requestClosures[A[B]]){return false}A=A.concat(this.relations[A[B]].pluck(0))}return true};Quarix.Data.DataSet.prototype.assignQuerySelection=function(E){var C=[],B,D,A;for(B=0;B<E.length;B++){A=E[B][0].indexOf(".");if(A==-1){console.error("DataSet %o received invalid filter for column %o, but was expecting it in table.column format. Filter ignored.",this._objectName,E[B][0]);continue}D=E[B][0].substr(0,A);if(!C[D]){C.push(C[D]={table:D,filters:[]})}C[D].filters.push([E[B][0].substr(A+1),E[B][1],E[B][2]])}for(B=0;B<C.length;B++){this.DOs[C[B].table].dataProxy.setFilters(C[B].filters)}};Quarix.Data.DataSet.prototype._request=function(A,E,B,D){if(!D&&A.dataProxy.options.filterMode=="local"){A.dataProxy._filterCache();A.dataProxy.options.runCacheChange();A.dataProxy._checkCursor(null,true);return }if(this.activeRequest){console.error("DataSet cannot make two requests simultaneously: %o %s",A,E);throw new Error("DataSet cannot make two requests simultaneously: "+A._objectName+" "+E)}var C=A._objectName.substring(this._objectName.length+1);E=E.replace(/<\?.*?\?>/,"");if(this.requestClosures[C]){if(this.requestClosures[C][1].indexOf('prefetch="true"')>-1){this.requestClosures[C][1]=E;this.requestClosures[C][2]=B;if(D){this.requestClosures.isSave=true}return }else{console.error("Cannot queue more than one request before DataSet hits the server. DS: %o, table: %o",this._objectName,C);throw new Error("Cannot queue more than one request before DataSet hits the server. DS: "+this._objectName+", table: "+C)}}if(D){this.requestClosures.isSave=true}this.requestClosures.push(this.requestClosures[C]=[A,E,B]);if(!this.pendingRequest){this.pendingRequest=setTimeout(this._makeRequest,this._properties.delay)}};Quarix.Data.DataSet.prototype.__makeRequest=function(){var A=['<?xml version="1.0" encoding="UTF-8"?>\n<datasetMsg>\n\t<action command="'+this._action+'" responseFormat="json" />'];for(var B=0;B<this.requestClosures.length;B++){A.push(this.requestClosures[B][1].replace(/<(\/)*datasetMsg>/g,""));this.requestClosures[B][0].__notifyOnRequest(true)}A.push("\n</datasetMsg>");A="xml="+encodeURIComponent(A.join(""));console.info("Requesting");this.activeRequest=new Quarix.Request(this._properties.url,{method:"post",contentType:"application/x-www-form-urlencoded",postBody:A,asynchronous:true,onComplete:(function(J){console.info("Got response");this.activeRequest=null;this.pendingRequest=null;var E=this.requestClosures.isSave;var D=true;if(J.status>=300){for(K=0;K<this.requestClosures.length;K++){this.requestClosures[K][0].dataProxy.requestPending=null}if(this._properties.onSyncError){this._properties.onSyncError()}return }var I=J.responseText.parseJSON();var R=I.tables;if(!R){console.error("DataSet received a bad reply from server, missing list of tables.");return }var F=R.pluck("id");var N={};var G=[],L=[],K,C=[];for(K=0;K<R.length;K++){R[K].parsed=true;R[K].status=J.status;G.push(G[this.DOs[F[K]]._objectName]=this.DOs[F[K]]);if(G[K].dataProxy.requestPending){clearTimeout(G[K].dataProxy.requestPending);G[K].dataProxy.requestPending=true}else{if(G[K].dataProxy.options.fkFilterMode!="local"){console.info("DataSet received table "+F[K]+" though no data was requested")}}if(!R[K].messages){R[K].messages=[]}N[F[K]]=R[K]}this.processing=G;if(I.messages&&I.messages.length){D=false;var H,O;for(var K=0;K<I.messages.length;K++){if(I.messages[K].column){var Q=I.messages[K].column.split(".");H=Q[0];O=Q[1];I.messages[K].column=O;N[H].messages.push(I.messages[K])}else{C.push(I.messages[K])}}if(Quarix.WarningManager&&(C.length>0)){Quarix.WarningManager.clearWarnings(this);Quarix.WarningManager.process(C,this);Quarix.WarningManager.showWarnings(this)}}var M;for(K=0;K<G.length;K++){if(!this.DOs[F[K]]){console.warn("DataSet %o received table with ID %o but no suck ID is present.",this._objectName,F[K])}else{if(this.requestClosures[F[K]]){if((M=this.requestClosures[F[K]][2](R[K]))&&!M.updateSuccess){D=false}}else{if(!this.DOs[F[K]].dataProxy._onRequestComplete(R[K]).updateSuccess){D=false}}}}var P=[];for(K=0;K<this.requestClosures.length;K++){if(this.requestClosures[K][0].dataProxy.requestPending){P+=this.requestClosures[K][0]._objectName.substring(this._objectName.length+1)}this.requestClosures[K][0].__notifyOnRequest(false)}if(P.length>0){console.error("DataSet %o received a server response which omitted information for tables %o",this._objectName,P)}this.processing=[];this.requestClosures=[];if(D){if(E){Quarix.Util.Trigger(this,"onUpdateSuccess")}if(typeof this._properties.onAfterSync=="function"){this._properties.onAfterSync()}}else{if(this._properties.onSyncError){this._properties.onSyncError()}}}).bind(this),domain:this,handlesServerError:false})};Quarix.Widgets.PageSelector=function(B,A){this.constructor.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,this.constructor.defaultProperties);this._pageTargets=[]};Quarix.extend(Quarix.Widgets.PageSelector,Quarix.Base.AbsVisualObject);Quarix.Widgets.PageSelector.defaultProperties={pages:[],icons:[]};Quarix.Widgets.PageSelector.prototype.createObjects=function(A){this.constructor.superclass.createObjects.call(this,A);this._buildUI()};Quarix.Widgets.PageSelector.prototype._buildUI=function(){if(this._domNode){return }var B;if(B=$1(this._objectName)){this.setDOMNode(B)}else{B=['<div id="',this._objectName,'" class="pageSelector',this._properties["class"]?" "+this._properties["class"]:"",'">'];for(var A=0;A<this._properties.pages.length;A++){if(this._properties.pages[A]=="-"){B.push("<hr />")}else{B.push('<span class="item" onclick="this.parentNode.ref._itemClicked(this);">');if(this._properties.icons[A]){B.push('<img alt="');B.push(this._properties.pages[A]);B.push('" src="');B.push(this._properties.icons[A]);B.push('" />')}B.push(this._properties.pages[A]);B.push("</span>")}}B.push("</div>");B=Quarix.UI.Element.fromString(B.join(""));B.domNode.ref=this;if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}}};Quarix.Widgets.PageSelector.prototype._addPage=function(A,B,C){if(A==null){A=this._properties.names.length}this._properties.names.splice(A,0,B);this._properties.icons.splice(A,0,C);if(this._domNode){this._domNode.domNode.insertBefore(this._domNode.domNode.childNodes[A],Quarix.UI.Element.DOMfromString(['<span onclick="this.parentNode.ref._itemClicked(this);">',C?'<img alt="'+B+'" src="'+C+'" />':"",B,"</span>"].join("")))}};Quarix.Widgets.PageSelector.prototype._itemClicked=function(C){var D=C.parentNode,E=D.childNodes,B=0;for(var A=0;A<E.length;A++){if(this._properties.pages[A]=="-"){B++}else{if(E[A]==C){this.publish(Quarix.LinksPage.ChangeFolderPage,{page:A-B});return }}}};Quarix.Widgets.PageSelector.prototype.addPageTarget=function(A){this._pageTargets.push(A)};Quarix.Widgets.PageSelector.prototype.getPageTarget=function(A){return this._pageTargets};Quarix.Widgets.PageSelector.prototype.removePageTarget=function(B){var A=this._pageTargets.indexOf(B);if(A!=-1){this._pageTargets.splice(A,1)}else{console.warn("Unable to remove page target link from %o to %o because target not found in list.",this._objectName,B._objectName)}};Quarix.Widgets.CustomBrowse=function(B,A){Quarix.Widgets.CustomBrowse.superclass.constructor.call(this,B,A);this._DOMClassName="dataBrowse customBrowse";this._ignoreNextClick=false;this.onKeyDownFunc=this._actions.onKeyDown;this.oldIndex=null;this.oldRow=[];this.allCheckboxesSelected=[];this._actions.onKeyDown=Quarix.Widgets.CustomBrowse._actions._onKeyDown.bindAsEventListener(this);this._actions.superSelect=this._actions.select;this._actions.select=Quarix.Widgets.CustomBrowse._actions._select.bind(this)};Quarix.extend(Quarix.Widgets.CustomBrowse,Quarix.Widgets.DataBrowse);Quarix.Widgets.CustomBrowse.prototype._sizes=Quarix.Util.Extend(null,Quarix.Widgets.DataBrowse.prototype._sizes);Quarix.Widgets.CustomBrowse._actions={};Quarix.Widgets.CustomBrowse._actions._onKeyDown=function(A){if(A.target.tagName=="INPUT"){return true}this.onKeyDownFunc(A)};Quarix.Widgets.CustomBrowse.prototype.makeSizes=function(){Quarix.Widgets.CustomBrowse.superclass.makeSizes.call(this);var G=0,H=0,E=0,D,I=false,A=false,C=false;var B=document.body.appendChild(document.createElement("div"));B.className="dataBrowse customBrowse";B.innerHTML='<div class="dataBrowseContent" style="height: 50px; width: 50px"><table cellspacing="0" class="dataBrowseBody"><tbody><tr class="dataBrowseRow"><td class="dataBrowseCell" style="width: 1px;"><input value="m"></td></tr><tr class="dataBrowseRow"><td class="dataBrowseCell" style="width: 1px;"><input value="m"><span class="spinnerHolder"><div class="spinner up"></div><div class="spinner down"></div></span></td></tr><tr class="dataBrowseRow"><td class="dataBrowseCell" style="width: 1px;"><input value="m" type="checkbox" /></td></tr></tbody></table></div>';for(D=0;D<this._columns.length;D++){if(this._properties.columns[D].viewAs=="input"&&I==false){G=B.firstChild.firstChild.firstChild.rows[0].offsetHeight;I=true;continue}if(this._properties.columns[D].viewAs=="spinner"&&A==false){H=B.firstChild.firstChild.firstChild.rows[1].offsetHeight;A=true;continue}if(this._properties.columns[D].viewAs=="checkbox"&&C==false){E=B.firstChild.firstChild.firstChild.rows[2].offsetHeight;C=true;continue}}var F=G>H?G:H;F=F>E?F:E;this._sizes.input=F;if(this._sizes.input>0){this._heightProp="input"}B.parentNode.removeChild(B)};Quarix.Widgets.CustomBrowse.prototype._pushRowContents=function(tbl,row,rowIndex){var j,objRef,val,checkboxes=0;for(j=0;j<this._columns.length;j++){objRef=row[this._columns[j]];var name=this._properties.columns[j].name;var type=-1;tbl.push(this._row0[j].str);if(name){var viewAs=this._properties.columns[j].viewAs;if(viewAs=="input"||viewAs=="spinner"){tbl.push('<input id="generated-');tbl.push(this._objectName);tbl.push("-input-row-");tbl.push(rowIndex);tbl.push("-col-");tbl.push(j);tbl.push('" value="');val=this._properties.columns[j].doColumn.translate[objRef.value]||objRef.value;tbl.push(val||" ");tbl.push('">')}else{if(viewAs!="checkbox"){if(!objRef.html){val=this._properties.columns[j].doColumn.translate[objRef.value]||objRef.value}tbl.push(objRef.html||val.replace(/ /g,"&nbsp;").replace(/</g,"&lt;")||"&nbsp;")}}if(viewAs=="spinner"){var val=this._properties.columns[j].doColumn.translate[objRef.value]||objRef.value;var spinner="<span id=generated-"+this._objectName+"-spinner-row-"+rowIndex+"-col-"+j+'" class="spinnerHolder"><div class="spinner up" onmousedown="$Q(\''+this._objectName+"')._spinner("+rowIndex+","+j+',1,0)" onmouseup="$Q(\''+this._objectName+"')._mouseUp("+rowIndex+","+j+')"></div><div class="spinner down" onmousedown="$Q(\''+this._objectName+"')._spinner("+rowIndex+","+j+',0,1)" onmouseup="$Q(\''+this._objectName+"')._mouseUp("+rowIndex+","+j+')"></div></span>';tbl.push(spinner)}if(viewAs=="checkbox"){tbl.push('<input id="generated-');tbl.push(this._objectName);tbl.push("-togglebox-row-");tbl.push(rowIndex);tbl.push("-col-");tbl.push(j);tbl.push('" type="checkbox"');val=this._properties.columns[j].doColumn.translate[objRef.value]||objRef.value;if(val=="true"){tbl.push(' checked="checked"')}tbl.push(" onclick=\"$Q('");tbl.push(this._objectName);tbl.push("')._toggleboxClick(");tbl.push(rowIndex);tbl.push(", ");tbl.push(j);tbl.push(')" >');checkboxes++}if(checkboxes>0&&this.allCheckboxesSelected.length==0){this.allCheckboxesSelected=new Array(checkboxes);for(i=1;i<checkboxes;i++){this.allCheckboxesSelected[i]=false}}else{for(i=1;i<this.allCheckboxesSelected.length;i++){this.allCheckboxesSelected[i]=false}}}else{var viewAs=this._properties.columns[j].viewAs;var staticObj=this._properties.columns[j].staticObj.replace(/"/g,"'");var actionObj=this._properties.columns[j].actionObj.replace(/"/g,"'");if(viewAs=="image"){tbl.push('<img id="generated-');tbl.push(this._objectName);tbl.push("-img-row-");tbl.push(rowIndex);tbl.push("-col-");tbl.push(j);tbl.push('" src="');staticObj=eval(staticObj);tbl.push(staticObj);tbl.push('"');type=0}else{if(viewAs=="link"){tbl.push('<span style="color:#0000FF;text-decoration: underline"');type=1}}tbl.push(' onclick="');if(typeof (actionObj)!="function"){tbl.push(actionObj)}else{tbl.push("setTimeout(function(){$Q($Q('");tbl.push(this._objectName);tbl.push("')._execute(");tbl.push(rowIndex);tbl.push(", ");tbl.push(j);tbl.push("))},10)")}if(!type){tbl.push('" />')}else{tbl.push('">');tbl.push(staticObj);tbl.push("</span>")}}tbl.push("</td>")}};Quarix.Widgets.CustomBrowse.prototype._fillNearRowContents=function(G,F,E){var C,D;for(C=0;C<this._columns.length;C++){D=F[this._columns[C]];var B=this._properties.columns[C].name;if(B){if(D.html){G[C].innerHTML=D.html}else{G[C].innerHTML=(this._properties.columns[C].doColumn.translate[D.value]||D.value).replace(/ /g,"&nbsp;").replace(/</g,"&lt;")||"&nbsp;"}}else{var A=this._properties.columns[C].staticObj;G[C].innerHTML=A}}};Quarix.Widgets.CustomBrowse.prototype.repaintRow=function(idx,deleted){if(!this.domNodes||!this.domNodes.contentTable){return }if(idx>=this.domNodes.contentTable.rows.length-4||!this.domNodes.contentTable.rows[idx+2].onmousedown){if(idx==0){this._refreshUI();return }var tbl=['<table><tr class="dataBrowseRow'];if(idx%2==1&&!this._properties.disableAltRowMarkup){tbl.push(" alt")}tbl.push(Quarix.Widgets.DataBrowse._rowEvents);this._pushRowContents(tbl,this._dataSource.dataProxy.cache[idx],i);tbl.push("</tr></table>");var row=Quarix.UI.Element.DOMfromString(tbl.join("")).rows[0];if(!this.domNodes.contentTable.rows[idx+2].onmousedown){this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[idx+2])}this.domNodes.contentTable.tBodies[0].insertBefore(row,this.domNodes.contentTable.rows[idx+2])}else{if(deleted){this._rowContentsCache.splice(idx,1);this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[idx+2])}else{var gridRow=this.domNodes.contentTable.rows[idx+2];this._rowContentsCache[idx]=null;var val=this._getRowContents(null,idx);for(var i=0;i<this._columns.length;i++){if(gridRow.cells[i].firstChild.id){if(gridRow.cells[i].firstChild.tagName=="IMG"){gridRow.cells[i].firstChild.src=eval(this._properties.columns[i].staticObj.replace(/"/g,"'"));gridRow.cells[i].firstChild.onclick=this._properties.columns[i].actionObj.replace(/"/g,"'")}else{if(gridRow.cells[i].firstChild.type&&gridRow.cells[i].firstChild.type=="checkbox"){if(val[i]=="true"){gridRow.cells[i].firstChild.checked=true}else{gridRow.cells[i].firstChild.checked=false}}else{gridRow.cells[i].firstChild.value=val[i]}}}else{gridRow.cells[i].innerHTML=val[i]}}}}return };Quarix.Widgets.CustomBrowse.prototype._getRowContents=function(D,F){var B=[],C;if(this._rowContentsCache[F]){return this._rowContentsCache[F]}if(!D){D=this._dataSource.dataProxy.cache[F]}for(var E=0;E<this._columns.length;E++){C=D[this._columns[E]];if(typeof C=="undefined"){continue}if(C.html){B.push(C.html)}else{var A=typeof D[0]=="string"?C:C.value||C;if(this._properties.columns[E].doColumn&&this._properties.columns[E].doColumn.translate[A]){A=this._properties.columns[E].doColumn.translate[A]}if(typeof A=="boolean"){B.push(A)}else{if(!this._properties.columns[E].skipEscape){A=A.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/ /g,"&nbsp;")}B.push(A||"&nbsp;")}}}this._rowContentsCache[F]=B;return B};Quarix.Widgets.CustomBrowse.prototype._spinner=function(F,B,A,E){this._properties.repeatAfter=500;this._properties.repeatEach=100;this._properties.accelerateRate=5000;var C=this,D=1;$Q(this._objectName)._spin(F,B,D*A,D*E);this.timeout=setTimeout(function(){C.interval=setInterval(function(){$Q(C._objectName)._spin(F,B,D*A,D*E)},C._properties.repeatEach);C.interval2=setInterval(function(){D*=2},C._properties.accelerateRate)},this._properties.repeatAfter)};Quarix.Widgets.CustomBrowse.prototype._spin=function(H,B,A,G){var F="generated-"+this._objectName+"-input-row-"+H+"-col-"+B;var E=parseFloat(($1(F).value.match(new RegExp("[-\\d\\"+Quarix.Util.Validator.options.radix+"]","g"))||[]).join("").replace(Quarix.Util.Validator.options.radix,".")||"0")+A-G;E=String(E);if(Quarix.Util.Validator.options.radix!="."){E=E.replace(/\./,Quarix.Util.Validator.options.radix)}var D=this._dataSource.getRowHash(H),C=D[this._properties.columns[B].name].format;$1(F).value=Quarix.Util.Validator.parseProgressNumber({str:E,format:this._properties.columns[B].format||this._properties.columns[B].doColumn.format||C})};Quarix.Widgets.CustomBrowse.prototype._mouseUp=function(B,A){if(this.timeout){clearTimeout(this.timeout);this.timeout=null}if(this.interval){clearInterval(this.interval);this.interval=null}if(this.interval2){clearInterval(this.interval2);this.interval2=null}this._update(B,A)};Quarix.Widgets.CustomBrowse._actions._select=function(B,A,D){if(this.oldIndex!=null){var E=this.domNodes.contentTable.rows[this.oldIndex+2];for(var C=0;C<this._columns.length;C++){if(E.cells[C].firstChild.id){if(E.cells[C].firstChild.type=="checkbox"){continue}if(this.oldRow[C]!=E.cells[C].firstChild.value){this._update(this.oldIndex,C)}}}}this._actions.superSelect(B,A,D);this.oldIndex=B;this.oldRow=this.domNodes.contentTable.rows[this.oldIndex+2]};Quarix.Widgets.CustomBrowse.prototype._update=function(E,A){var B=this._dataSource.getRowHash(E);var D="generated-"+this._objectName+"-input-row-"+E+"-col-"+A;if($1(D).value!=B[this._properties.columns[A].name]){var C={};C[this._properties.columns[A].name]=$1(D).value;this._dataSource.updateRow(C);if(this._properties.autoSync&&this._properties.autoSync==true){this._dataSource.dataProxy.sync()}}};Quarix.Widgets.CustomBrowse.prototype._toggleboxClick=function(E,A){var B=this._dataSource.getRowHash(E);var D="generated-"+this._objectName+"-togglebox-row-"+E+"-col-"+A;if(String($1(D).checked)!=B[this._properties.columns[A].name]){var C={};C[this._properties.columns[A].name]=String($1(D).checked);this._dataSource.updateRow(C);if(this._properties.autoSync&&this._properties.autoSync==true){this._dataSource.dataProxy.sync()}}};Quarix.Widgets.CustomBrowse.prototype._selectAllCheckboxes=function(C){var I=false,E=-1,G;for(var F=0;F<this._properties.columns.length;F++){if(this._properties.columns[F].name==C){E=F}}if(E>-1){if(this._properties.columns[E].viewAs&&this._properties.columns[E].viewAs=="checkbox"){I=true}}if(I==false){console.error("The customBrowse column specified for _selectAllCheckboxes() selection is not a checkbox column.")}else{D="generated-"+this._objectName+"-togglebox-row-0-col-"+E;var H=true,B=$1(D).checked;for(G=0;G<this._dataSource.dataProxy.cache.length;G++){var D="generated-"+this._objectName+"-togglebox-row-"+G+"-col-"+E;if(B!=$1(D).checked){H=false;this.allCheckboxesSelected[E]=false;break}}if(H){this.allCheckboxesSelected[E]=B}this.allCheckboxesSelected[E]=!this.allCheckboxesSelected[E];for(G=0;G<this._dataSource.dataProxy.cache.length;G++){var D="generated-"+this._objectName+"-togglebox-row-"+G+"-col-"+E;$1(D).checked=this.allCheckboxesSelected[E];var A={};A[C]=String($1(D).checked);this._dataSource.updateRow(A);if(this._properties.autoSync&&this._properties.autoSync==true){this._dataSource.dataProxy.sync()}}}};Quarix.Widgets.CustomBrowse.prototype._execute=function(C,A){var B=this._dataSource.getRowHash(C);this._properties.columns[A].actionObj(B)};testCustBr=function(){var A=new Quarix.Widgets.CustomBrowse("wTravelAgentcustgrid",{editable:false,generatePopup:true,layoutCol:0,layoutRow:1,multiselect:true,objectPage:0,parseButtonGroupsToPopup:true,rows:10,onDblClickExecute:'Quarix.Util.loadAndPublishOp({operation: "", container: "wTravelAgentDetail", containerParent: "mainWinmainContainer", containerTitle: "", url: Quarix.Globals.APP_PATH + "/sls/client/travelagentdetail/paint", doChild: "wTravelAgentDetaildoTravelAgentDet", doParent: "wTravelAgentdoTravelAgent", fkMap: "travelagentid"})',onEnterExecute:'Quarix.Util.loadAndPublishOp({operation: "", container: "wTravelAgentDetail", containerParent: "mainWinmainContainer", containerTitle: "", url: Quarix.Globals.APP_PATH + "/sls/client/travelagentdetail/paint", doChild: "wTravelAgentDetaildoTravelAgentDet", doParent: "wTravelAgentdoTravelAgent", fkMap: "travelagentid"})',columns:[{label:" ",name:"name",size:"1",viewAs:"checkbox"},{label:"Name",name:"name",size:"15"},{label:"Official Name",name:"officialname",size:"15"},{label:"ANVR Number",name:"anvrnumber",size:"*",viewAs:"spinner",format:"->>>>>>9"},{label:"Text",name:"",size:"10",viewAs:"link",staticObj:"click_me",actionObj:function(B){console.log(B.name)}},{label:"Image",name:"",size:"5",viewAs:"image",staticObj:Quarix.Theme.TemplatePath+"/images/segmentBrowse/delete.png",actionObj:function(){console.log("img")}}]});Quarix.EventManager.subscribe("wTravelAgentdoTravelAgent",Quarix.Links.Data,"wTravelAgentcustgrid");Quarix.EventManager.subscribe("wTravelAgent",Quarix.Links.Container.CreateObjects,"wTravelAgentcustgrid");Quarix.EventManager.subscribe("wTravelAgentcustgrid",Quarix.Links.Navigation,"wTravelAgentdoTravelAgent");Quarix.EventManager.subscribe("wTravelAgentupd",Quarix.Links.TableIO,"wTravelAgentcustgrid")};Quarix.Widgets.HeaderContainer=function(B,A){Quarix.Widgets.HeaderContainer.superclass.constructor.call(this,B,A);this._DOMClassPrefix="HeaderContainer";this._displayMode="inline";this._properties=Object.extend({layoutSingleLine:true},this._properties);this._properties.singlePage=true;this._properties.handleConfirms=false;this._pageVisibility=[];this._showAll=true;this._objectType="Container"};Quarix.extend(Quarix.Widgets.HeaderContainer,Quarix.Base.AbsContainer);Quarix.Widgets.HeaderContainer.prototype.createObjects=function(){var B=this._containerSource._pageN.length;for(var A=0;A<B;A++){this._addHeaderPage(A,this._containerSource._titles[A])}Quarix.Widgets.HeaderContainer.superclass.createObjects.call(this);this._properties.initPage=(this._containerSource._properties.initPage||0)};Quarix.Widgets.HeaderContainer.prototype.initializeObject=function(){this._showAll=this._containerSource instanceof Quarix.Widgets.Accordion||this._containerSource instanceof Quarix.Widgets.Splitter||this._containerSource instanceof Quarix.Widgets.TabFolder;if(this._showAll){for(var A=0;A<this._pageN.length;A++){this._pageVisibility[A]=true;if(!this._layed[A]){this._layoutManagers[A].layout();this._layed[A]=true}}}Quarix.Widgets.HeaderContainer.superclass.initializeObject.call(this);if(this._showAll){for(var A=0;A<this._pageNode.length;A++){this._pageNode[A].domNode.style.display="";if(A==(this._properties.initPage||0)){this._headerNodes[A].className=this._headerNodes[A].className+" selected"}}this.publish(Quarix.Links.Container.ViewObject)}this._objectInitialized=true};Quarix.Widgets.HeaderContainer.prototype._buildUI=function(){var A=0,B=this._pageN.length;for(A;A<B;++A){if(!this._UIScanForPage(A)){this._UIBuildPage(A)}}};Quarix.Widgets.HeaderContainer.prototype._UIScanForPage=function(A){return this._pageNode[A]};Quarix.Widgets.HeaderContainer.prototype._UIBuildPage=function(A){if(this._pageNode[A]){return }if(this._containerSource._headerNodes&&this._containerSource._headerNodes[A]){var C=Quarix.UI.Element.fromString('<div class="page" style="display: none"></div>');var B=Element.down(this._containerSource._headerNodes[A],".pHC");if(B){B.appendChild(C.domNode)}else{B=Element.down(this._containerSource._headerNodes[A],".cHC");if(B){B.appendChild(C.domNode)}else{this._containerSource._headerNodes[A].appendChild(C.domNode)}}this._headerNodes[A]=C.domNode;this._pageNode[A]=C;Quarix.Hotkeys.registerContext(C.domNode)}};Quarix.Widgets.HeaderContainer.prototype.selectPage=function(A){if(!this._showAll){Quarix.Widgets.HeaderContainer.superclass.selectPage.call(this,A)}};Quarix.Widgets.HeaderContainer.prototype.addPage=function(C,A,B){if(isNaN(C)||(C<0)||(C>this._pageN.length)){console.error("Cannot add page number %o (%o) to %o. Next page number is %o.",C,B,this._objectName,this._pageN.length);return false}if(!this._pageN[C]){this._pageN[C]=[]}if(B){this._titles[C]=B}if(this._objectCreated){if(this._objectInitialized){this._buildUI()}this.setLayoutManager(this._getLayoutManagerInstance(A,C),C);if(C==0){this.selectPage(0)}}else{this._layoutManagers[C]=A}Quarix.Util.Trigger(this,"afterAddPage",[C])};Quarix.Widgets.HeaderContainer.prototype._addHeaderPage=function(B,A){if(A){this._titles[B]=A}this._layoutManagers[B]=null};Quarix.Widgets.HeaderContainer.prototype.setBackgroundColor=function(){};Quarix.Widgets.HeaderContainer.prototype.resize=function(){};Quarix.Widgets.HeaderContainer.prototype.hideObject=function(){if(this._showAll){return }Quarix.Widgets.HeaderContainer.superclass.hideObject.call(this)};Quarix.Widgets.HeaderContainer.prototype.viewObject=function(){if(this._showAll){return }Quarix.Widgets.HeaderContainer.superclass.viewObject.call(this)};Quarix.Widgets.ImageGallery=function(B,A){Quarix.Widgets.ImageGallery.superclass.constructor.call(this,B,A);this._properties=Object.extend({doColumnName:null,thumbs:3,zoomWidth:20,noImageThumbURL:null},this._properties);this._contentDOMNode=null;this._domNode=null;this._navigationTarget;this._dataSource=null;this._listNodes=[];this._canFocus=true;this._hasFocus=true;this._focusedObj=null;this._clickObj=null;this.handled=false;this._empty=true;this._actions={select:Quarix.Widgets.ImageGallery._actions._select.bind(this),onKeyDown:Quarix.Widgets.ImageGallery._actions._onKeyDown.bindAsEventListener(this),onBlur:Quarix.Widgets.ImageGallery._actions._onBlur.bindAsEventListener(this),onFocus:Quarix.Widgets.ImageGallery._actions._onFocus.bindAsEventListener(this)}};Quarix.extend(Quarix.Widgets.ImageGallery,Quarix.Base.AbsVisualObject);Quarix.Widgets.ImageGallery.prototype.DataSourceEvents=[Quarix.Links.Data.DataAvailable];Quarix.Widgets.ImageGallery.prototype.NavigationSourceEvents=Quarix.Links.Navigation.SourceEvents;Quarix.Widgets.ImageGallery.prototype.NavigationTargetEvents=[Quarix.Links.Navigation.QueryPosition,Quarix.Links.Navigation.TargetEvents];Quarix.Widgets.ImageGallery.prototype.createObjects=function(){this._processObjectProperties();if(!this._dataSource){console.warn("DataSource not set for ImageGallery before createObjects was called. ( %o )",this);return }if(!this._isUIBuilt()){this._buildUI()}this._initHandlers();Quarix.Widgets.ImageGallery.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Widgets.ImageGallery.prototype._processObjectProperties=function(){};Quarix.Widgets.ImageGallery.prototype._isUIBuilt=function(){return(this._domNode&&this._ImageGalleryElement)};Quarix.Widgets.ImageGallery.prototype._buildUI=function(){var D,B,A;if(!this._domNode){D=document.getElementById(this._objectName);if(D){this._domNode=Quarix.UI.Element.get(D)}else{var C=(this._properties.thumbWidth*this._properties.thumbs)+(4*this._properties.thumbs);var E='<div id="'+this._objectName+'" class="imgGal" style="display:none"><table id="'+this._objectName+'-table"><tbody><tr><td colspan="3" align="center"><div id="spotlight" style="overflow:hidden; height:'+this._properties.previewHeight+"px; width:"+this._properties.previewWidth+'px;"><img id="spotlight-img-'+this._objectName+'" class="spotlight" src="" style="visibility:hidden;" /></div></td></tr><tr><td align="center" style="vertical-align:middle"><img src="'+Quarix.Theme.TemplatePath+'images/imageGallery/left-enabled.gif" /></td><td id="container" class="carousel-horizontal carousel carousel-visible" style="width: '+C+'px" ><div class="carousel-content" style="width: '+C+'px"><ul id="carousel" class="carousel-element" style="left: 0px;"></ul></div></td><td align="center" style="vertical-align:middle"><img src="'+Quarix.Theme.TemplatePath+'images/imageGallery/right-enabled.gif" /></td></tr></tbody></table></div>';this._domNode=Quarix.UI.Element.fromString(E)}}if(A=this._containerSource){A.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.ImageGallery.prototype.initializeObject=function(){if(!this._dataSource){console.error("[Error] DataSource not set for ImageGallery before initializeObject was called. ( %o )",this);return }if(!this._objectCreated){this.createObjects()}if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}this._objectInitialized=true;this._refreshUI();if(!this.getNavigationTarget()){this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:"NoRecordAvailable"}))}else{this.queryPosition(Quarix.EventManager.newEvent(this,"queryPosition",{position:this.getNavigationTarget().getQueryPosition()}))}};Quarix.Widgets.ImageGallery.prototype._initLi=function(){this._listNodes.li=this._domNode.domNode.firstChild.firstChild.lastChild.childNodes[1].firstChild.firstChild.firstChild;this._listNodes.liN=0};Quarix.Widgets.ImageGallery.prototype._initLiHandlers=function(C){var B=this._listNodes.li,A;for(A=0;A<C;A++){B=B.nextSibling}A=0;while(B&&A<this._properties.thumbs){Event.observe(B,"click",this.liClick.bindAsEventListener(this,B),false);Event.observe(B,"blur",this.liBlur.bindAsEventListener(this,B),false);this._listNodes.liN=this._listNodes.liN+1;this._listNodes.lastLi=B;B=B.nextSibling;A+=1}};Quarix.Widgets.ImageGallery.prototype._initHandlers=function(){this._listNodes.left=this._domNode.domNode.firstChild.firstChild.lastChild.firstChild.firstChild;this._listNodes.right=this._domNode.domNode.firstChild.firstChild.lastChild.lastChild.firstChild;this._listNodes.ul=this._domNode.domNode.firstChild.firstChild.lastChild.childNodes[1].firstChild.firstChild;this._listNodes.spotlight=this._domNode.domNode.firstChild.firstChild.firstChild.firstChild.firstChild.lastChild;this._listNodes.left.tabIndex=this._listNodes.right.tabIndex=this._listNodes.spotlight.tabIndex=0;Event.observe(this._domNode.domNode,"keydown",this._actions.onKeyDown,false);Event.observe(this._domNode.domNode,"click",this.handleMouseDown.bindAsEventListener(this),false);Event.observe(this._listNodes.left,"click",this.leftClick.bindAsEventListener(this),false);Event.observe(this._listNodes.left,"blur",this.leftBlur.bindAsEventListener(this),false);Event.observe(this._listNodes.right,"click",this.rightClick.bindAsEventListener(this),false);Event.observe(this._listNodes.right,"blur",this.rightBlur.bindAsEventListener(this),false);Event.observe(this._listNodes.spotlight,"click",this.spotlightClick.bindAsEventListener(this),false);Event.observe(this._listNodes.spotlight,"blur",this.spotlightBlur.bindAsEventListener(this),false)};Quarix.Widgets.ImageGallery.prototype.start=function(){var C=this._listNodes.li;var B=this._listNodes.spotlight;if(this._empty){Event.observe(B,"load",this.spotlightLoaded.bindAsEventListener(this,B));B.src=Quarix.Theme.TemplatePath+"images/imageGallery/noimage.jpg";this._listNodes.spotlight.style.cursor="default";return }var A=Quarix.UI.Element.get(C);A.addClassName("carousel-item-selected");this._actions.selected=C;Event.observe(B,"load",this.spotlightLoaded.bindAsEventListener(this,B));B.src=C.firstChild.src};Quarix.Widgets.ImageGallery.prototype.imageLoaded=function(D,A,C){var E=0;Event.stopObserving(C,"load",this.imageLoaded.bindAsEventListener(this,A,C));var B=A.getHeight(true)<A.getWidth(true)?A.getHeight(true):A.getWidth(true);if(parseInt(C.height)>=parseInt(C.width)){if(C.height>A.getHeight(true)){C.style.height=B+"px";C.style.width="auto"}}else{if(C.width>A.getWidth(true)){C.style.width=B+"px";C.style.height="auto"}}C.style.visibility="visible"};Quarix.Widgets.ImageGallery.prototype.spotlightLoaded=function(D,C){var F=0,A=parseInt(C.parentNode.style.width),E=parseInt(C.parentNode.style.height);Event.stopObserving(C,"load",this.spotlightLoaded.bindAsEventListener(this,C));var B=E<A?E:A;if(parseInt(C.height)>=parseInt(C.width)){if(C.height>E){C.style.height=B+"px";C.style.width="auto"}}else{if(C.width>A){C.style.width=B+"px";C.style.height="auto"}}if(C.height>0){C.style.visibility="visible"}};Quarix.Widgets.ImageGallery.prototype._spotlightClick=function(){var B,G,D,A,H,E,F;if(this._empty){return }this._detail=Quarix.Widgets.ImageGallery.getDetailWindow();var C=this._detail.image._domNode.domNode;C.style.width="auto";C.style.height="auto";C.src=this._listNodes.spotlight.src;if(Prototype.Browser.Opera||Prototype.Browser.IE){this._detail.viewObject()}if(this._detail._properties.title){A=C.height+52;E=this._detail._containerSource._domNode.domNode.getHeight(true)-10;B=A<E?A+"px":E+"px";this._detail._domNode.domNode.style.height=B;this._detail._domNode.domNode.childNodes[2].innerHTML=this._objectName}else{A=C.height+36;E=this._detail._containerSource._domNode.domNode.getHeight(true)-10;B=A<E?A+"px":E+"px";this._detail._domNode.domNode.style.height=B}D=C.width+12;F=A>D?A/D:D/A;H=parseInt(B)*F-10;G=D<H?D+"px":H+"px";this._detail._domNode.domNode.style.width=G;C.style.width=(parseInt(G)-12)+"px";C.style.height=typeof this._detail._properties.title!="undefined"?(parseInt(B)-52)+"px":(parseInt(B)-36)+"px";this._detail.viewObject();this._detail.resize()};Quarix.Widgets.ImageGallery.getDetailWindow=function(){var A;if(A=Quarix.Widgets.ImageGallery._detailWindow){return A}else{Quarix.Widgets.ImageGallery._detailWindow=new Quarix.Widgets.Window("__GALLERY_DETAIL_WINDOW",{title:" ",layout:"StackLayout",layoutCellSpacing:6,closeOnOk:true,closeOnCancel:true,windowType:"overlay",hideOnDestroy:true,hideOnClose:true,hideOnInit:true,recenterAuto:true,modal:true,closable:false});Quarix.Widgets.ImageGallery._detailWindow.image=new Quarix.Widgets.Image("__GALLERY_DETAIL_WINDOW_preview",{src:""});Quarix.Widgets.ImageGallery._detailWindow.close=new Quarix.Widgets.Image("__GALLERY_DETAIL_WINDOW_close",{src:Quarix.Theme.TemplatePath+"images/imageGallery/closelabel.gif",onClickExecute:"$Q('__GALLERY_DETAIL_WINDOW').exitObject(Quarix.EventManager.newEvent(this, Quarix.Links.Container.ExitObject));","class":"closeImg"});Quarix.EventManager.subscribe("__GALLERY_DETAIL_WINDOW",Quarix.Links.Container.CreateObjects,"__GALLERY_DETAIL_WINDOW_preview");Quarix.EventManager.subscribe("__GALLERY_DETAIL_WINDOW",Quarix.Links.Container.CreateObjects,"__GALLERY_DETAIL_WINDOW_close");Quarix.EventManager.subscribe("mainWin",Quarix.Links.Container.CreateObjects,"__GALLERY_DETAIL_WINDOW");return Quarix.Widgets.ImageGallery._detailWindow}};Quarix.Widgets.ImageGallery.prototype.setDataSource=function(B){if(this._dataSource){this.removeDataSource()}this._dataSource=B;if(this._dataSource){var A=this;this._dataSource._properties.onCacheChange.push(function(){A._refreshUI()});this._dataSource._properties.onCacheChange[this._dataSource._properties.onCacheChange.length-1].objRef=this}};Quarix.Widgets.ImageGallery.prototype.removeDataSource=function(){this._dataSource=null};Quarix.Widgets.ImageGallery.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.ImageGallery.prototype._loadImgs=function(C,H){var E,B;for(E=0;E<this._properties.thumbs;E++){if(typeof C[H+E]!="undefined"){var F,D,G;this._listNodes.ul.appendChild(F=document.createElement("li")).appendChild(B=document.createElement("img"));G=this._dataSource._properties.columns;var A=Quarix.UI.Element.get(F);B.style.visibility="hidden";B.style.width="auto";B.style.top="0px";A.addClassName("cursor");F.index=H+E;F.style.width=this._properties.thumbWidth+"px";F.style.height=this._properties.thumbHeight+"px";F.style.overflow="hidden";Event.observe(B,"load",this.imageLoaded.bindAsEventListener(this,A,B));B.src=Quarix.Globals.DEP_PATH+"/templates/images/app/sports/"+C[H+E][G.indexByName.src].value}}};Quarix.Widgets.ImageGallery.prototype._removeImgs=function(){while(this._listNodes.ul.firstChild){Event.stopObserving(this._listNodes.ul.firstChild,"click",this.liClick.bindAsEventListener(this,this._listNodes.ul.firstChild),false);Event.stopObserving(this._listNodes.ul.firstChild,"blur",this.liBlur.bindAsEventListener(this,this._listNodes.ul.firstChild),false);this._listNodes.ul.removeChild(this._listNodes.ul.firstChild)}this._listNodes.ul.style.left=0+"px"};Quarix.Widgets.ImageGallery.prototype._refreshUI=function(){if(!this._objectInitialized){return }var E,C,B=this._dataSource.dataProxy.cache,F,A;this._removeImgs();if(B&&B.length>0){this._loadImgs(B,0);this._empty=false;this._initLi();this._initLiHandlers(0);this.start()}else{for(E=0;E<3;E++){var D=(this._properties.thumbWidth*3)+12;this._listNodes.ul.parentNode.parentNode.style.width=this._listNodes.ul.parentNode.style.width=D+"px";this._listNodes.ul.appendChild(F=document.createElement("li"));F.style.width=this._properties.thumbWidth+"px";F.style.height=this._properties.thumbHeight+"px";F.style.overflow="hidden";if(E==1&this._properties.noImageThumbURL){F.appendChild(A=document.createElement("img"));A.style.top="0px";A.style.width=this._properties.thumbWidth+"px";A.style.visibility="hidden";Event.observe(A,"load",this.imageLoaded.bindAsEventListener(this,F,A));A.src=Quarix.Theme.TemplatePath+this._properties.noImageThumbURL}}this._empty=true;this.start()}};Quarix.Widgets.ImageGallery.prototype.queryPosition=function(A){this._prevQueryPosition=A.position;if(!this._objectCreated){return }var C=Quarix.UI.Element.get(this._listNodes.left);var B=Quarix.UI.Element.get(this._listNodes.right);switch(A.position){case"FirstRecord":this._listNodes.left.src=Quarix.Theme.TemplatePath+"images/imageGallery/left-disabled.gif";this._listNodes.right.src=Quarix.Theme.TemplatePath+"images/imageGallery/right-enabled.gif";C.removeClassName("cursor");B.addClassName("cursor");break;case"LastRecord":this._listNodes.left.src=Quarix.Theme.TemplatePath+"images/imageGallery/left-enabled.gif";this._listNodes.right.src=Quarix.Theme.TemplatePath+"images/imageGallery/right-disabled.gif";C.addClassName("cursor");B.removeClassName("cursor");break;case"NotFirstOrLast":this._listNodes.left.src=Quarix.Theme.TemplatePath+"images/imageGallery/left-enabled.gif";this._listNodes.right.src=Quarix.Theme.TemplatePath+"images/imageGallery/right-enabled.gif";C.addClassName("cursor");B.addClassName("cursor");break;case"NoRecordAvailable":this._listNodes.left.src=Quarix.Theme.TemplatePath+"images/imageGallery/left-disabled.gif";this._listNodes.right.src=Quarix.Theme.TemplatePath+"images/imageGallery/right-disabled.gif";C.removeClassName("cursor");B.removeClassName("cursor");break;case"OnlyRecordAvailable":this._listNodes.left.src=Quarix.Theme.TemplatePath+"images/imageGallery/left-disabled.gif";this._listNodes.right.src=Quarix.Theme.TemplatePath+"images/imageGallery/right-disabled.gif";C.removeClassName("cursor");B.removeClassName("cursor");break}};Quarix.Widgets.ImageGallery.prototype.dataAvailable=function(){if(!this._objectInitialized){return }var A=this._dataSource.dataProxy;if(A.cache.length>0){if(this._actions.selected&&(this._actions.selected.index||this._actions.selected.index==0)&&this._actions.selected.index!=A.options.currentIndex){this._actions.select(A.options.currentIndex,false,true)}}};Quarix.Widgets.ImageGallery.prototype.getNavigationTarget=function(){return this.navigationTarget};Quarix.Widgets.ImageGallery.prototype.removeNavigationTarget=function(){this.navigationTarget=null};Quarix.Widgets.ImageGallery.prototype.setNavigationTarget=function(A){this.navigationTarget=A};Quarix.Widgets.ImageGallery.prototype.handleMouseDown=function(A){switch(this._focusedObj){case"left":this.publish(Quarix.Links.Navigation.FetchPrev);break;case"right":this.publish(Quarix.Links.Navigation.FetchNext);break;case"li":this._actions.select(this._clickObj.index);break;case"spotlight":this._spotlightClick();break}Event.stop(A)};Quarix.Widgets.ImageGallery.prototype.applyEntry=function(){if(this._domNode&&this.isObjectEnabled()){this._domNode.domNode.focus()}return this.hasFocus()};Quarix.Widgets.ImageGallery._actions={};Quarix.Widgets.ImageGallery._actions._select=function(E){if(!this._objectEnabled){return }var G=this._dataSource.dataProxy;if(!G.cache[E]){return }var H=this._listNodes.spotlight;var D=this._listNodes.li;var C=this._listNodes.ul;var A=this._properties.thumbs;var I=0;this._handled=false;while(D){var J=Quarix.UI.Element.get(D);if(J.hasClassName("carousel-item-selected")){J.removeClassName("carousel-item-selected");break}D=D.nextSibling;I+=1}D=this._listNodes.li;for(i=0;i<E;i++){D=D.nextSibling}if(D==null){this._loadImgs(G.cache,E);this._initLiHandlers(E);D=this._listNodes.li;for(i=0;i<E;i++){D=D.nextSibling}}this._actions.selected=D;var J=Quarix.UI.Element.get(D);J.addClassName("carousel-item-selected");H.style.visibility="hidden";H.src=D.firstChild.src;if((E+1)%A==1){var F=this._listNodes.liN-E;if(F<A){this._shortTurn=F;var B=(F*this._properties.thumbWidth)+(F*4)+2}else{var B=(A*this._properties.thumbWidth)+(A*4);this._shortTurn=null}if(I<E){C.style.left=(parseInt(C.style.left)-B)+"px"}}if((E+1)%A==0){if(this._shortTurn!=null){var B=(this._shortTurn*this._properties.thumbWidth)+(this._shortTurn*4)+2;this._shortTurn=null}else{var B=(A*this._properties.thumbWidth)+(A*4)}if(I>E){C.style.left=(parseInt(C.style.left)+B)+"px";this._handled=true}}if(this._shortTurn!=null&&this._handled==false&&I>E&&((E+1)%A)>this._shortTurn){var B=(this._shortTurn*this._properties.thumbWidth)+(this._shortTurn*4)+2;C.style.left=(parseInt(C.style.left)+B)+"px";this._shortTurn=null}this._dataSource.fetchRow(E)};Quarix.Widgets.ImageGallery._actions._onKeyDown=function(B){var A=B.keyCode?B.keyCode:B.which;var C=false,D=this._dataSource;if(this.isObjectEnabled()){switch(A){case 37:this.publish(Quarix.Links.Navigation.FetchPrev);break;case 39:this.publish(Quarix.Links.Navigation.FetchNext);break;case 36:this.publish(Quarix.Links.Navigation.FetchFirst);break;case 35:this.publish(Quarix.Links.Navigation.FetchLast);break;case 13:this._actions.select(this._dataSource.getIndex(),B.ctrlKey);this._scrolledSinceSelect=true;Quarix.Util.Trigger(this,"onEnter");if(!this.getProperty("onEnterExecute",false,true)&&!this.getProperty("onEnterEval",false,true)&&!this.getProperty("onEnterPublish",false,true)){C=true}break;default:C=true}}else{C=true}if(C){return true}Event.stop(B);return false};Quarix.Widgets.ImageGallery._actions._onBlur=function(){this._hasFocus=false};Quarix.Widgets.ImageGallery._actions._onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.ImageGallery.prototype.leftClick=function(A){this._focusedObj="left"};Quarix.Widgets.ImageGallery.prototype.leftBlur=function(A){this._focusedObj=""};Quarix.Widgets.ImageGallery.prototype.rightClick=function(A){this._focusedObj="right"};Quarix.Widgets.ImageGallery.prototype.rightBlur=function(A){this._focusedObj=""};Quarix.Widgets.ImageGallery.prototype.spotlightClick=function(A){this._focusedObj="spotlight"};Quarix.Widgets.ImageGallery.prototype.spotlightBlur=function(A){this._focusedObj=""};Quarix.Widgets.ImageGallery.prototype.liClick=function(B,A){this._focusedObj="li";this._clickObj=A};Quarix.Widgets.ImageGallery.prototype.liBlur=function(A){this._focusedObj=""};Quarix.Widgets.Spinner=function(B,A){Quarix.Widgets.Spinner.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Spinner.defaultProperties);this._hasFocus=false;this.timeout=null;this.interval=null;this.interval2=null};Quarix.extend(Quarix.Widgets.Spinner,Quarix.Base.AbsVisualObject);Quarix.Widgets.Spinner.defaultProperties={repeatAfter:500,repeatEach:100,accelerateRate:5000};Quarix.Widgets.Spinner.prototype.createObjects=function(A){Quarix.Widgets.Spinner.superclass.createObjects.call(this,A);this._buildUI();Event.observe(this._domNode.domNode.firstChild,"mousedown",this._mouseDown.bindAsEventListener(this,1),this);Event.observe(this._domNode.domNode.lastChild,"mousedown",this._mouseDown.bindAsEventListener(this,-1),this);Event.observe(document.body,"mouseup",this._mouseUp.bindAsEventListener(this),this);Event.observe(this._domNode.domNode,"mousescroll",this._mouseScroll.bindAsEventListener(this),this);Event.observe(this._domNode.domNode,"focus",this._onFocus.bindAsEventListener(this),false);Event.observe(this._domNode.domNode,"blur",this._onBlur.bindAsEventListener(this),false)};Quarix.Widgets.Spinner.prototype._buildUI=function(B){var A;if(!this._domNode){if(A=$1(this._objectName)){this._domNode=Quarix.UI.Element.get(A)}else{this._domNode=Quarix.UI.Element.fromString('<span id="'+this._objectName+'" class="spinnerHolder"><div class="spinner up"></div><div class="spinner down"></div></span>')}}if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.Spinner.prototype._mouseDown=function(D,E){var A,C=1;if(E<0){A="onDown"}else{A="onUp"}Quarix.Util.Trigger(this,A,[C]);var B=this;this.timeout=setTimeout(function(){B.timeout=null;B.interval=setInterval(function(){Quarix.Util.Trigger(B,A,[C])},B._properties.repeatEach);B.interval2=setInterval(function(){C*=2},B._properties.accelerateRate)},this._properties.repeatAfter)};Quarix.Widgets.Spinner.prototype._mouseUp=function(A){if(this.timeout){clearTimeout(this.timeout);this.timeout=null}if(this.interval){clearInterval(this.interval);this.interval=null}if(this.interval2){clearInterval(this.interval2);this.interval2=null}};Quarix.Widgets.Spinner.prototype._mouseScroll=function(B){var A=B.detail?B.detail*-1:B.wheelDelta/40;this._scroll(A/3);return Event.stop(B)};Quarix.Widgets.Spinner.prototype._scroll=function(C){var B=1,A;if(C<0){A="onDown"}else{A="onUp"}Quarix.Util.Trigger(this,A,[B])};Quarix.Widgets.Spinner.prototype.applyEntry=function(){if(this._domNode&&this._objectEnabled){this._domNode.domNode.focus()}return this._hasFocus=true};Quarix.Widgets.Spinner.prototype._onBlur=function(){this._hasFocus=false};Quarix.Widgets.Spinner.prototype._onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Quarix.Widgets.Slider=function(B,A){Quarix.Widgets.Slider.superclass.constructor.call(this,B,A);this._properties=Quarix.Util.Extend(this._properties,Quarix.Widgets.Slider.defaultProperties);if(typeof this._properties.value!="number"){this._properties.value=this._properties.minVal}this._canFocus=true;this._hasFocus=false;this._ignoreNextMouseDownBg=false;this._mouseDown=this.__mouseDown.bindAsEventListener(this);this._mouseMove=this.__mouseMove.bindAsEventListener(this);this._mouseUp=this.__mouseUp.bindAsEventListener(this);this._mouseDownBg=this.__mouseDownBg.bindAsEventListener(this);this._mouseMoveBg=this.__mouseMoveBg.bindAsEventListener(this);this._mouseUpBg=this.__mouseUpBg.bindAsEventListener(this);this._keyDown=this.__keyDown.bindAsEventListener(this);this._mouseScroll=this.__mouseScroll.bindAsEventListener(this);this._onFocus=this.__onFocus.bindAsEventListener(this);this._onBlur=this.__onBlur.bindAsEventListener(this)};Quarix.extend(Quarix.Widgets.Slider,Quarix.Base.AbsVisualObject);Quarix.Widgets.Slider.defaultProperties={minVal:0,maxVal:1,steps:10,width:100,repeatAfter:500,repeatEach:100};Quarix.Widgets.Slider.prototype._sizes={lastTheme:null};Quarix.Widgets.Slider.prototype.createObjects=function(A){Quarix.Widgets.Slider.superclass.createObjects.call(this,A);this._buildUI();var B=this._properties.maxVal-this._properties.minVal;if(!this._properties.step){this._properties.step=B/this._properties.steps}else{this._properties.steps=Math.round(B/this._properties.step)}this.resize();this._objectCreated=true};Quarix.Widgets.Slider.prototype._buildUI=function(){var A;this.makeSizes();if(!this._domNode){if(A=$1(this._objectName)){this._domNode=Quarix.UI.Element.get(A)}else{this._domNode=Quarix.UI.Element.fromString('<div class="slider'+(this._properties["class"]?" "+this._properties["class"]:"")+'" id="'+this._objectName+'" tabindex="-1"><span class="sliderBegin"></span><span class="bg" style="width:'+(this._properties.width-this._sizes.deltaW)+'px"></span><span class="sliderEnd"></span><span class="item"></span></div>')}this.itemBg=this._domNode.domNode.childNodes[1];this.itemNode=this._domNode.domNode.lastChild;this._positionSlider()}if(this._containerSource){this._containerSource.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.Slider.prototype.initializeObject=function(A){Quarix.Widgets.Slider.superclass.initializeObject.call(this,A);Event.observe(this.itemNode,"mousedown",this._mouseDown,this);Event.observe(this._domNode.domNode,"mousedown",this._mouseDownBg,this);Event.observe(this._domNode.domNode,"keydown",this._keyDown,this);Event.observe(this._domNode.domNode,"mousescroll",this._mouseScroll,this);Event.observe(this._domNode.domNode,"focus",this._onFocus,false);Event.observe(this._domNode.domNode,"blur",this._onBlur,false)};Quarix.Widgets.Slider.prototype.__mouseDown=function(A){if(!this._objectEnabled){return }Event.observe(document.body,"mousemove",this._mouseMove,this);Event.observe(document.body,"mouseup",this._mouseUp,this);this._resizeStart=Event.pointerX(A);this._resizeStartVal=this._properties.value;this._domNode.domNode.className+=" active";this._ignoreNextMouseDownBg=true};Quarix.Widgets.Slider.prototype.__mouseMove=function(B){var A=Event.pointerX(B)-this._resizeStart;var C=this._resizeStartVal+A/(this._properties.width-this._sizes.deltaW);C-=C%this._properties.step;if(C<this._properties.minVal){C=this._properties.minVal}if(C>this._properties.maxVal){C=this._properties.maxVal}this._positionSlider(C);Quarix.Util.Trigger(this,"onSlide",[C,Math.round((C-this._properties.minVal)/this._properties.step)])};Quarix.Widgets.Slider.prototype.__mouseUp=function(B){Event.stopObserving(document.body,"mousemove",this._mouseMove,this);Event.stopObserving(document.body,"mouseup",this._mouseUp,this);var A=Event.pointerX(B)-this._resizeStart;var C=this._resizeStartVal+A/(this._properties.width-this._sizes.deltaW);C-=C%this._properties.step;if(C<this._properties.minVal){C=this._properties.minVal}if(C>this._properties.maxVal){C=this._properties.maxVal}this._properties.value=C;this._positionSlider(C);this.publish(Quarix.Links.Action.ValueChanged,{value:C});Quarix.Util.Trigger(this,"onValueChanged",[C,Math.round((C-this._properties.minVal)/this._properties.step)]);delete this._resizeStart;delete this._resizeStartVal;this._domNode.domNode.className=this._domNode.domNode.className.replace(" active","")};Quarix.Widgets.Slider.prototype.__mouseDownBg=function(B){if(!this._objectEnabled){return }if(!this._hasFocus){this.applyEntry()}Event.stop(B);if(this._ignoreNextMouseDownBg){this._ignoreNextMouseDownBg=false;return }Event.observe(document.body,"mousemove",this._mouseMoveBg,this);Event.observe(document.body,"mouseup",this._mouseUpBg,this);this._mousePos=Event.pointerX(B);this._domNode.domNode.className+=" active";this._mouseIntervalBg();var A=this;this._timeout=setTimeout(function(){A._timeout=null;A._interval=setInterval(function(){A._mouseIntervalBg()},A._properties.repeatEach)},this._properties.repeatAfter)};Quarix.Widgets.Slider.prototype.__mouseMoveBg=function(A){this._mousePos=Event.pointerX(A)};Quarix.Widgets.Slider.prototype._mouseIntervalBg=function(){var A=Element.viewportOffset(this.itemNode).left;var B=this._properties.value;if(this._mousePos<A){B-=this._properties.step}else{if(this._mousePos>A+this._sizes.sliderW){B+=this._properties.step}}if(B!=this._properties.value){this._properties.value=B;this._positionSlider();Quarix.Util.Trigger(this,"onSlide",[B,Math.round((B-this._properties.minVal)/this._properties.step)])}};Quarix.Widgets.Slider.prototype.__mouseUpBg=function(A){Event.stopObserving(document.body,"mousemove",this._mouseMoveBg,this);Event.stopObserving(document.body,"mouseup",this._mouseUpBg,this);if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(this._interval){clearInterval(this._interval);this._interval=null}this.publish(Quarix.Links.Action.ValueChanged,{value:this._properties.value});Quarix.Util.Trigger(this,"onValueChanged",[this._properties.value,Math.round((this._properties.value-this._properties.minVal)/this._properties.step)]);this._domNode.domNode.className=this._domNode.domNode.className.replace(" active","")};Quarix.Widgets.Slider.prototype._positionSlider=function(B){if(typeof B=="undefined"){B=this._properties.value}var A=(B-this._properties.minVal)/(this._properties.maxVal-this._properties.minVal);A=A*(this._properties.width-this._sizes.deltaW)+this._sizes.deltaW-this._sizes.itemML+this.leftPos;this._sliderPos=A;this.itemNode.style.left=A+"px"};Quarix.Widgets.Slider.prototype.makeSizes=function(){if(!Quarix.Theme||this._sizes.lastTheme==Quarix.Theme){return }this._sizes.lastTheme=Quarix.Theme;var A=document.body.appendChild(document.createElement("div"));A.style.visibility="hidden";A.innerHTML='<div class="slider"><span class="sliderBegin"></span><span class="bg" style="width:20px"></span><span class="sliderEnd"></span><span class="item"></span></div>';this._sizes.deltaW=A.firstChild.childNodes[2].offsetLeft+A.firstChild.childNodes[2].offsetWidth-20;this._sizes.sliderW=A.firstChild.lastChild.offsetWidth;this._sizes.itemML=Math.floor(A.firstChild.lastChild.offsetWidth/2);A.parentNode.removeChild(A)};Quarix.Widgets.Slider.prototype.resize=function(A){this.makeSizes();this.itemBg.style.width=(this._properties.width-this._sizes.deltaW)+"px";var B=Element.cumulativeOffset(this._domNode.domNode);this.itemNode.style.top=B[1]+"px";this.leftPos=B[0];this._positionSlider()};Quarix.Widgets.Slider.prototype.enableObject=function(A){if(this._objectEnabled){return }Quarix.Widgets.Slider.superclass.enableObject.call(this,A);this._domNode.domNode.className=this._domNode.domNode.className.replace(" disabled","")};Quarix.Widgets.Slider.prototype.disableObject=function(A){if(!this._objectEnabled){return }this._cancelModify();Quarix.Widgets.Slider.superclass.disableObject.call(this,A);this._domNode.domNode.className+=" disabled"};Quarix.Widgets.Slider.prototype._addSteps=function(A){var B=this._properties.value+this._properties.step*A;if(B<this._properties.minVal){B=this._properties.minVal}if(B>this._properties.maxVal){B=this._properties.maxVal}this._properties.value=B;this._positionSlider();this.publish(Quarix.Links.Action.ValueChanged,{value:B});Quarix.Util.Trigger(this,"onValueChanged",[B,Math.round((B-this._properties.minVal)/this._properties.step)])};Quarix.Widgets.Slider.prototype.__keyDown=function(B){if(!this._objectEnabled){return }var A=B.keyCode;switch(A){case Event.KEY_ESC:this._cancelModify();break;case Event.KEY_LEFT:this._addSteps(-1);break;case Event.KEY_RIGHT:this._addSteps(1);break;default:break}};Quarix.Widgets.Slider.prototype.__mouseScroll=function(B){var A=B.detail?B.detail*-1:B.wheelDelta/40;this._addSteps(A/3);return Event.stop(B)};Quarix.Widgets.Slider.prototype.setObjectValue=function(A){if(typeof A!="number"){A=A-0}this._properties.value=A;this._positionSlider()};Quarix.Widgets.Slider.prototype._cancelModify=function(){if(this._resizeStart){Event.stopObserving(document.body,"mousemove",this._mouseMove,this);Event.stopObserving(document.body,"mouseup",this._mouseUp,this);delete this._resizeStart;delete this._resizeStartVal;this._positionSlider();Quarix.Util.Trigger(this,"onSlide",[this._properties.value,Math.round((this._properties.value-this._properties.minVal)/this._properties.step)]);this._domNode.domNode.className=this._domNode.domNode.className.replace(" active","")}};Quarix.Widgets.Slider.prototype.applyEntry=function(){if(this._domNode&&this._objectEnabled){this._domNode.domNode.focus()}return this._hasFocus=true};Quarix.Widgets.Slider.prototype.__onBlur=function(){this._hasFocus=false};Quarix.Widgets.Slider.prototype.__onFocus=function(){this._hasFocus=true;Quarix.Util.Trigger(this,"onApplyEntry");Quarix.FocusManager.setFocusedObject(this)};Projapi={Base:{},Widgets:{}};Projapi.Base.iPJFilterView=Quarix.Data.FilterView;Projapi.Base.iPJFormView=Quarix.Data.FormView;Projapi.Base.iPJDataView=Quarix.Data.DataView;Projapi.Base.PJDataObject=Quarix.Data.DataObject;Projapi.Widgets.PJNavigationToolbar=Quarix.Data.NavigationToolGroup;Projapi.Widgets.PJUpdateToolbar=Quarix.Data.UpdateToolGroup;Projapi.Base.iPJSmartContainer=Quarix.Base.AbsContainer;Projapi.Base.iPJSmartObject=Quarix.Base.AbsSmartObject;Projapi.Base.iPJVisualObject=Quarix.Base.AbsVisualObject;Projapi.Base.iPJSmartContainer=Quarix.Base.AbsContainer;Projapi.Base.iPJSmartObject=Quarix.Base.AbsSmartObject;Projapi.Base.iPJVisualObject=Quarix.Base.AbsVisualObject;Projapi.Layout={Layout:Quarix.Layout.LineLayout,TableLayout:Quarix.Layout.TableLayout,WindowLayout:Quarix.Layout.WindowLayout,LineLayout:Quarix.Layout.StackLayout};Projapi.Links=Quarix.Links;Projapi.Widgets.iPJOverlay=Quarix.Widgets.Overlay;Projapi.Widgets.PJAccordion=Quarix.Widgets.Accordion;Projapi.Widgets.PJAutoComplete=Quarix.Widgets.AutoComplete;Projapi.Widgets.PJButton=Quarix.Widgets.Button;Projapi.Widgets.PJDataBrowse=Quarix.Widgets.DataBrowse;Projapi.Widgets.PJField=Quarix.Widgets.Field;Projapi.Widgets.PJHTMLBlock=Quarix.Widgets.HTMLBlock;Projapi.Widgets.PJHTMLBrowse=Quarix.Widgets.HTMLBrowse;Projapi.Widgets.PJHTMLLink=Quarix.Widgets.HTMLLink;Projapi.Widgets.PJImage=Quarix.Widgets.Image;Projapi.Widgets.PJLabel=Quarix.Widgets.Label;Projapi.Widgets.PJLookup=Quarix.Widgets.Lookup;Projapi.Widgets.PJMenu=Quarix.Widgets.Menu;Projapi.Widgets.PJMenuBar=Quarix.Widgets.MenuBar;Projapi.Widgets.PJMenuItem=Quarix.Widgets.MenuItem;Projapi.Widgets.PJPopupMenu=Quarix.Widgets.PopupMenu;Projapi.Widgets.PJSmartContainer=Quarix.Widgets.Container;Projapi.Widgets.PJSmartFolder=Quarix.Widgets.TabFolder;Projapi.Widgets.PJSmartWindow=Quarix.Widgets.Window;Projapi.Widgets.PJSplitter=Quarix.Widgets.Splitter;Projapi.Widgets.PJStatusPanel=Quarix.Widgets.StatusPanel;Projapi.Widgets.PJToolbar=Quarix.Widgets.Toolbar;Projapi.Widgets.PJToolButton=Quarix.Widgets.ToolButton;Projapi.Widgets.PJToolGroup=Quarix.Widgets.ToolGroup;Projapi.Widgets.PJTree=Quarix.Widgets.Tree;Projapi.PJRegister=Quarix.ObjectManager;Projapi.Base.RequestManager=Quarix.RequestManager;Projapi.Controller=Quarix.EventManager;Projapi.Base.HotkeyHandler=Quarix.Util.HotkeyHandler;Projapi.FocusManager=Quarix.FocusManager;Projapi.ValidationManager=Quarix.ValidationManager;Projapi.WarningManager=Quarix.WarningManager;Projapi.Widgets.PJWarningManager=Quarix.Warning.Manager;Projapi.Widgets.PJWarning=Quarix.Warning.Warning;Projapi.UI=Quarix.UI;Projapi.Util=Quarix.Util;Projapi.Profiler=Quarix.Profiler;Projapi.Reflection=Quarix.Reflection;Projapi.Valid={Manager:Quarix.Valid.Manager,AbstractValidator:Quarix.Valid.AbsValidator,EmptyField:Quarix.Valid.EmptyField};Projapi.Request=Quarix.Request;Projapi.Hotkeys=Quarix.Hotkeys;Projapi.Register=Quarix.Register;Projapi.Base.Hotkey=Quarix.Util.Hotkey;Projapi.Calendars=Quarix.Calendars;$P=$Q;Quarix.Widgets.DockableOverlay=function(A,B){Quarix.Widgets.DockableOverlay.superclass.constructor.call(this,A,B);this.closed=this.getProperty("closed",true,false);this.ClassPrefix=(this._properties.classPrefix?this._properties.classPrefix:"")+"dockableOverlay";this._spaceForArrow=0;this._borderWhenCollapsed=4};Quarix.extend(Quarix.Widgets.DockableOverlay,Quarix.Widgets.Overlay);Quarix.Widgets.DockableOverlay.prototype._buildUI=function(){if(!this._domNode){this._domNode=Quarix.UI.CreateNodeElement({tag:"DIV",id:this.getObjectName(),className:this.ClassPrefix});if(this._zIndex>0){this._domNode.setStyle("zIndex",this._zIndex)}this._domNode.setStyle("position","absolute");this._domNode.setStyle("overflow","hidden");this._domNode.setDisplayed(false);this._node=this._domNode.domNode;this._nodes.container=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Container"});this._nodes.container.setStyle("position","absolute");this._container=this._nodes.container.domNode;this._node.appendChild(this._container);this._nodes.content=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Content"});this._nodes.content.setStyle("position","absolute");this._content=this._nodes.content.domNode;this._container.appendChild(this._content);var E=["_topLeft","_topRight","_bottomLeft","_bottomRight"];var D=["_topCenter","_middleLeft","_middleRight","_bottomCenter"];var B=[["top","0px","left","0px"],["top","0px","right","0px"],["bottom","0px","left","0px"],["bottom","0px","right","0px"]];var A=[["top","0px"],["left","0px"],["right","0px"],["bottom","0px"]];for(var C=0;C<E.length;C++){this[E[C]]=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+E[C]});this[E[C]].setStyle("position","absolute");this[E[C]].setStyle(B[C][0],B[C][1]);this[E[C]].setStyle(B[C][2],B[C][3]);this._content.appendChild(this[E[C]].domNode)}for(var C=0;C<D.length;C++){this[D[C]]=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+D[C]});this[D[C]].setStyle("position","absolute");this[D[C]].setStyle(A[C][0],A[C][1]);this._content.appendChild(this[D[C]].domNode)}this._nodes.title=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Title"});this._nodes.title.setStyle("position","absolute");this._ntitle=this._nodes.title.domNode;this._content.appendChild(this._ntitle);this._nodes.body=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Body"});this._nodes.body.setStyle("position","absolute");this._nodes.body.setStyle("overflow","auto");this._nbody=this._nodes.body.domNode;this._content.appendChild(this._nbody);document.body.appendChild(this._node)}};Quarix.Widgets.DockableOverlay.prototype.setSize=function(B,A){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(typeof B!="undefined"&&B!==null){this._properties.width=B;if(this._domNode){this._domNode.setWidth(B)}if(this._nodes.container){this._nodes.container.setWidth(B)}if(this._nodes.content){this._nodes.content.setWidth(B)}}if(typeof A!="undefined"&&A!==null){this._properties.height=A;if(this._domNode){this._domNode.setHeight(A)}if(this._nodes.container){this._nodes.container.setHeight(A)}if(this._nodes.content){this._nodes.content.setHeight(A)}}};Quarix.Widgets.DockableOverlay.prototype._repositionCenters=function(){this._topCenter.setStyle("left",this._topLeft.domNode.offsetWidth+"px");this._topCenter.setWidth(this._content.offsetWidth-this._topLeft.domNode.offsetWidth-this._topRight.domNode.offsetWidth);this._middleLeft.setStyle("top",this._topLeft.domNode.offsetHeight+"px");this._middleLeft.setHeight(this._content.offsetHeight-this._topLeft.domNode.offsetHeight-this._bottomLeft.domNode.offsetHeight);this._middleRight.setStyle("top",this._topLeft.domNode.offsetHeight+"px");this._middleRight.setHeight(this._content.offsetHeight-this._topLeft.domNode.offsetHeight-this._bottomLeft.domNode.offsetHeight);this._bottomCenter.setStyle("left",this._topLeft.domNode.offsetWidth+"px");this._bottomCenter.setWidth(this._content.offsetWidth-this._topLeft.domNode.offsetWidth-this._topRight.domNode.offsetWidth);this._ntitle.style.top=this._topCenter.domNode.offsetHeight+"px";this._ntitle.style.left=this._middleLeft.domNode.offsetWidth+"px";this._ntitle.style.width=this._content.offsetWidth-this._middleLeft.domNode.offsetWidth-this._middleRight.domNode.offsetWidth-this._ntitle.style.padding.split("px")[0]+"px";this._nbody.style.top=this._ntitle.offsetTop+this._ntitle.offsetHeight+"px";this._nbody.style.left=this._ntitle.offsetLeft+"px";this._nbody.style.width=this._ntitle.offsetWidth+"px";this._nbody.style.height=this._content.offsetHeight-this._topCenter.domNode.offsetHeight-this._bottomCenter.domNode.offsetHeight-this._ntitle.offsetHeight+"px"};Quarix.Widgets.DockableOverlay.prototype.reposition=function(){if(!this._attached||this._objectHidden){return }Quarix.Widgets.DockableOverlay.superclass.reposition.call(this);this._arrow=this._nodes.arrow.domNode;this._container.appendChild(this._arrow);switch(this._attached.pos){case 0:case 6:this._content.style.height=this._properties.height-this._arrow.offsetHeight+"px";this._content.style.top=this._arrow.offsetHeight+"px";this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._upX=this._downX=0;this._upY=this._content.offsetHeight-this._borderWhenCollapsed;this._downY=-this._content.offsetHeight+this._borderWhenCollapsed;break;case 1:case 4:case 5:this._content.style.height=this._properties.height-this._arrow.offsetHeight+"px";this._arrow.style.top=this._content.offsetHeight+"px";this._container.style.top=-this._content.offsetHeight+this._borderWhenCollapsed+"px";this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._upX=this._downX=0;this._upY=-this._content.offsetHeight+this._borderWhenCollapsed;this._downY=this._content.offsetHeight-this._borderWhenCollapsed;break;case 2:case 8:this._content.style.width=this._properties.width-this._arrow.offsetWidth+"px";this._content.style.left=this._arrow.offsetWidth+"px";this._arrow.style.left="0px";this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._upY=this._downY=0;this._upX=this._content.offsetWidth-this._borderWhenCollapsed;this._downX=-this._content.offsetWidth+this._borderWhenCollapsed;break;case 3:case 7:this._content.style.width=this._properties.width-this._arrow.offsetWidth+"px";this._arrow.style.left=this._content.offsetWidth+"px";this._container.style.left=-this._content.offsetWidth+this._borderWhenCollapsed+"px";this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._upY=this._downY=0;this._upX=-this._content.offsetWidth+this._borderWhenCollapsed;this._downX=this._content.offsetWidth-this._borderWhenCollapsed;break;default:throw new Error("Unknown position: "+this._attached.pos)}this._repositionCenters()};Quarix.Widgets.DockableOverlay.prototype._repositionForSlideDown=function(){this._node.style.height=this._properties.height+"px";this._node.style.width=this._properties.width+"px";switch(this._attached.pos){case 0:case 6:this._node.style.top=this._node.offsetTop+this._borderWhenCollapsed-this._content.offsetHeight+"px";this._container.style.top=this._content.offsetHeight-this._borderWhenCollapsed+"px";break;case 1:case 4:case 5:break;case 2:case 8:this._node.style.left=this._node.offsetLeft+this._borderWhenCollapsed-this._content.offsetWidth+"px";this._container.style.left=this._content.offsetWidth-this._borderWhenCollapsed+"px";break;case 3:case 7:break;default:throw new Error("Unknown position: "+this._attached.pos)}};Quarix.Widgets.DockableOverlay.prototype._repositionAfterSlideUp=function(){switch(this._attached.pos){case 0:case 6:this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._node.style.top=this._node.offsetTop+this._content.offsetHeight-this._borderWhenCollapsed+"px";this._container.style.top="0px";break;case 1:case 4:case 5:this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";break;case 2:case 8:this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._node.style.left=this._node.offsetLeft+this._content.offsetWidth-this._borderWhenCollapsed+"px";this._container.style.left="0px";break;case 3:case 7:this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";break;default:throw new Error("Unknown position: "+this._attached.pos)}};Quarix.Widgets.DockableOverlay.prototype._positions=[["TOP","BOTTOM","LEFT","RIGHT","INSIDE","INSIDETOP","INSIDEBOTTOM","INSIDELEFT","INSIDERIGTH"],["UpArrow","DownArrow","LeftArrow","RightArrow","DownArrow","DownArrow","UpArrow","RightArrow","LeftArrow"],["before","after","before","after","after","after","after","before","after"]];Quarix.Widgets.DockableOverlay.prototype._processVisualObjectProperties=function(){Quarix.Widgets.DockableOverlay.superclass._processVisualObjectProperties.call(this);if(this._properties.attachTo){this.attachTo($(this._properties.attachTo),this._properties.attachPosition)}Event.observe(this._arrow,"click",this.slide.bind(this))};Quarix.Widgets.DockableOverlay.prototype.slideUp=function(A){this.closed=true;new Effect.Move(this._container,{x:this._upX,y:this._upY,mode:"relative",afterFinish:function(){this._repositionAfterSlideUp();Event.observe(this._arrow,"click",this.slide.bind(this))}.bind(this)})};Quarix.Widgets.DockableOverlay.prototype.slideDown=function(A){this.closed=false;this._repositionForSlideDown();new Effect.Move(this._container,{x:this._downX,y:this._downY,mode:"relative",afterFinish:function(){Event.observe(this._arrow,"click",this.slide.bind(this))}.bind(this)})};Quarix.Widgets.DockableOverlay.prototype.slide=function(A){Event.stopObserving(this._arrow,"click");this.closed?this.slideDown(A):this.slideUp(A)};Quarix.Widgets.DockableOverlay.prototype.resize=function(){};Quarix.Warning.DockableWarningDisplay=function(B,C){Quarix.Warning.DockableWarningDisplay.superclass.constructor.call(this,B,C);this.closed=this.getProperty("closed",true,false);this.ClassPrefix=(this._properties.classPrefix?this._properties.classPrefix:"")+"dockablewarningdisplay";this._spaceForArrow=0;this._borderWhenCollapsed=4;this._msgList=[];this._eventStopped=true;this._warningType=["ERROR","WARNING","INFO","DEBUG"];var A=Quarix.Globals.DEP_PATH+"/templates/"+Quarix.Globals.USER_THEME+"/images/dockablewarningdisplay";this._srcArrow=A+"/"+(this._properties.classPrefix?this._properties.classPrefix:"");this._srcArrowDown=this._srcArrow+"arrow_down.png";this._srcArrowUp=this._srcArrow+"arrow_up.png";this._positions=Quarix.Warning.DockableWarningDisplay.positions;Quarix.Warning.DockableWarningDisplay.instance=this};Quarix.extend(Quarix.Warning.DockableWarningDisplay,Quarix.Widgets.Overlay);Quarix.Warning.DockableWarningDisplay.instance=null;Quarix.Warning.DockableWarningDisplay.getInstance=function(){if(Quarix.Warning.DockableWarningDisplay.instance==null){var A=Quarix.UI.GenerateId();_properties={attachTo:Quarix.Globals.ROOT_WINDOW._objectName,hide:true,attachPosition:"INSIDETOP",width:450,height:130,classPrefix:"redTop_"};Quarix.Warning.DockableWarningDisplay.instance=new Quarix.Warning.DockableWarningDisplay(A,_properties);Quarix.EventManager.subscribe(Quarix.Globals.ROOT_WINDOW,Quarix.Links.Container.CreateObjects,A)}return Quarix.Warning.DockableWarningDisplay.instance};Quarix.Warning.DockableWarningDisplay.prototype._buildUI=function(){if(!this._domNode){this._domNode=Quarix.UI.CreateNodeElement({tag:"DIV",id:this.getObjectName(),className:this.ClassPrefix});if(this._zIndex>0){this._domNode.setStyle("zIndex",this._zIndex)}this._domNode.setStyle("position","absolute");this._domNode.setStyle("overflow","hidden");this._node=this._domNode.domNode;this._nodes.container=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Container"});this._nodes.container.setStyle("position","absolute");this._container=this._nodes.container.domNode;this._node.appendChild(this._container);this._nodes.content=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Content"});this._nodes.content.setStyle("position","absolute");this._content=this._nodes.content.domNode;this._container.appendChild(this._content);var E=["_topLeft","_topRight","_bottomLeft","_bottomRight"];var D=["_topCenter","_middleLeft","_middleRight","_bottomCenter"];var B=[["top","0px","left","0px"],["top","0px","right","0px"],["bottom","0px","left","0px"],["bottom","0px","right","0px"]];var A=[["top","0px"],["left","0px"],["right","0px"],["bottom","0px"]];for(var C=0;C<E.length;C++){this[E[C]]=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+E[C]});this[E[C]].setStyle("position","absolute");this[E[C]].setStyle(B[C][0],B[C][1]);this[E[C]].setStyle(B[C][2],B[C][3]);this._content.appendChild(this[E[C]].domNode)}for(var C=0;C<D.length;C++){this[D[C]]=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+D[C]});this[D[C]].setStyle("position","absolute");this[D[C]].setStyle(A[C][0],A[C][1]);this._content.appendChild(this[D[C]].domNode)}this._nodes.title=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Title"});this._nodes.title.setStyle("position","absolute");this._ntitle=this._nodes.title.domNode;this._content.appendChild(this._ntitle);this._nodes.body=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_Body"});this._nodes.body.setStyle("position","absolute");this._nodes.body.setStyle("overflow","auto");this._nbody=this._nodes.body.domNode;this._content.appendChild(this._nbody);document.body.appendChild(this._node);this._node.style.zIndex=9000}};Quarix.Warning.DockableWarningDisplay.prototype.setSize=function(B,A){if(!this.isObjectCreated()){this.createObjects()}if(!this.isObjectInitialized()){this.initializeObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.InitializeObject))}if(typeof B!="undefined"&&B!==null){this._properties.width=B;if(this._domNode){this._domNode.setWidth(B)}if(this._nodes.container){this._nodes.container.setWidth(B)}if(this._nodes.content){this._nodes.content.setWidth(B)}}if(typeof A!="undefined"&&A!==null){this._properties.height=A;if(this._domNode){this._domNode.setHeight(A)}if(this._nodes.container){this._nodes.container.setHeight(A)}if(this._nodes.content){this._nodes.content.setHeight(A)}}};Quarix.Warning.DockableWarningDisplay.prototype._repositionCenters=function(){this._topCenter.setStyle("left",this._topLeft.domNode.offsetWidth+"px");this._topCenter.setWidth(this._content.offsetWidth-this._topLeft.domNode.offsetWidth-this._topRight.domNode.offsetWidth);this._middleLeft.setStyle("top",this._topLeft.domNode.offsetHeight+"px");this._middleLeft.setHeight(this._content.offsetHeight-this._topLeft.domNode.offsetHeight-this._bottomLeft.domNode.offsetHeight);this._middleRight.setStyle("top",this._topLeft.domNode.offsetHeight+"px");this._middleRight.setHeight(this._content.offsetHeight-this._topLeft.domNode.offsetHeight-this._bottomLeft.domNode.offsetHeight);this._bottomCenter.setStyle("left",this._topLeft.domNode.offsetWidth+"px");this._bottomCenter.setWidth(this._content.offsetWidth-this._topLeft.domNode.offsetWidth-this._topRight.domNode.offsetWidth);this._ntitle.style.top=this._topCenter.domNode.offsetHeight+"px";this._ntitle.style.left=this._middleLeft.domNode.offsetWidth+"px";this._ntitle.style.width=this._content.offsetWidth-this._middleLeft.domNode.offsetWidth-this._middleRight.domNode.offsetWidth-this._ntitle.style.padding.split("px")[0]+"px";this._nbody.style.top=this._ntitle.offsetTop+this._ntitle.offsetHeight+"px";this._nbody.style.left=this._ntitle.offsetLeft+"px";this._nbody.style.width=this._ntitle.offsetWidth+"px";this._nbody.style.height=this._content.offsetHeight-this._topCenter.domNode.offsetHeight-this._bottomCenter.domNode.offsetHeight-this._ntitle.offsetHeight+"px"};Quarix.Warning.DockableWarningDisplay.prototype.restart=function(){if(!this._attached||this._objectHidden){return }this._arrow=this._nodes.arrow.domNode;this._container.appendChild(this._arrow);this._arrow.style.cursor="pointer";if(!this._arrowArrow){this._nodes._arrowArrow=Quarix.UI.CreateNodeElement({tag:"IMG"});this._arrowArrow=this._nodes._arrowArrow.domNode;this._arrowArrow.src=this._srcArrowUp;this._arrowArrow.style.position="absolute";this._arrowArrow.style.top="2px";this._arrowArrow.style.left="6px";this._arrow.appendChild(this._arrowArrow)}switch(this._attached.pos){case 0:case 6:this._content.style.height=this._properties.height-this._arrow.offsetHeight+"px";this._content.style.top=this._arrow.offsetHeight+"px";this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._upX=this._downX=0;this._upY=this._content.offsetHeight-this._borderWhenCollapsed;this._downY=-this._content.offsetHeight+this._borderWhenCollapsed;break;case 1:case 4:case 5:this._content.style.height=this._properties.height-this._arrow.offsetHeight+"px";this._arrow.style.top=this._content.offsetHeight+"px";this._container.style.top=-this._content.offsetHeight+this._borderWhenCollapsed+"px";this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._upX=this._downX=0;this._upY=-this._content.offsetHeight+this._borderWhenCollapsed;this._downY=this._content.offsetHeight-this._borderWhenCollapsed;break;case 2:case 8:this._content.style.width=this._properties.width-this._arrow.offsetWidth+"px";this._content.style.left=this._arrow.offsetWidth+"px";this._arrow.style.left="0px";this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._upY=this._downY=0;this._upX=this._content.offsetWidth-this._borderWhenCollapsed;this._downX=-this._content.offsetWidth+this._borderWhenCollapsed;break;case 3:case 7:this._content.style.width=this._properties.width-this._arrow.offsetWidth+"px";this._arrow.style.left=this._content.offsetWidth+"px";this._container.style.left=-this._content.offsetWidth+this._borderWhenCollapsed+"px";this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._upY=this._downY=0;this._upX=-this._content.offsetWidth+this._borderWhenCollapsed;this._downX=this._content.offsetWidth-this._borderWhenCollapsed;break;default:throw new Error("Unknown position: "+this._attached.pos)}this._repositionCenters()};Quarix.Warning.DockableWarningDisplay.prototype._repositionForSlideDown=function(){this._node.style.height=this._properties.height+"px";this._node.style.width=this._properties.width+"px";switch(this._attached.pos){case 0:case 6:this._node.style.top=this._node.offsetTop+this._borderWhenCollapsed-this._content.offsetHeight+"px";this._container.style.top=this._content.offsetHeight-this._borderWhenCollapsed+"px";break;case 1:case 4:case 5:break;case 2:case 8:this._node.style.left=this._node.offsetLeft+this._borderWhenCollapsed-this._content.offsetWidth+"px";this._container.style.left=this._content.offsetWidth-this._borderWhenCollapsed+"px";break;case 3:case 7:break;default:throw new Error("Unknown position: "+this._attached.pos)}};Quarix.Warning.DockableWarningDisplay.prototype._repositionAfterSlideUp=function(){switch(this._attached.pos){case 0:case 6:this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";this._node.style.top=this._node.offsetTop+this._content.offsetHeight-this._borderWhenCollapsed+"px";this._container.style.top="0px";break;case 1:case 4:case 5:this._node.style.height=this._arrow.offsetHeight+this._borderWhenCollapsed+"px";break;case 2:case 8:this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";this._node.style.left=this._node.offsetLeft+this._content.offsetWidth-this._borderWhenCollapsed+"px";this._container.style.left="0px";break;case 3:case 7:this._node.style.width=this._arrow.offsetWidth+this._borderWhenCollapsed+"px";break;default:throw new Error("Unknown position: "+this._attached.pos)}};Quarix.Warning.DockableWarningDisplay.positions=[["TOP","BOTTOM","LEFT","RIGHT","INSIDE","INSIDETOP","INSIDEBOTTOM","INSIDELEFT","INSIDERIGTH"],["UpArrow","DownArrow","LeftArrow","RightArrow","DownArrow","DownArrow","UpArrow","RightArrow","LeftArrow"],["before","after","before","after","after","after","after","before","after"]];Quarix.Warning.DockableWarningDisplay.prototype._processVisualObjectProperties=function(){Quarix.Warning.DockableWarningDisplay.superclass._processVisualObjectProperties.call(this);if(this._properties.attachTo){this.attachTo($(this._properties.attachTo),this._properties.attachPosition)}};Quarix.Warning.DockableWarningDisplay.prototype.slideUp=function(B,A){this.closed=true;new Effect.Move(this._container,{x:this._upX,y:this._upY,mode:"relative",duration:0.5,afterFinish:function(){this._repositionAfterSlideUp();this._arrowArrow.src=this._srcArrowUp;Event.observe(this._arrow,"click",this.slide.bind(this));this._eventStopped=false;if(A){this.hideObject()}}.bind(this)})};Quarix.Warning.DockableWarningDisplay.prototype.slideDown=function(B,A){if(!this.closed){return }this.closed=false;this._repositionForSlideDown();new Effect.Move(this._container,{x:this._downX,y:this._downY,mode:"relative",duration:0.5,afterFinish:function(){this._arrowArrow.src=this._srcArrowDown;Event.observe(this._arrow,"click",this.slide.bind(this));this._eventStopped=false}.bind(this)})};Quarix.Warning.DockableWarningDisplay.prototype.reposition=function(){if(!this._attached||this._objectHidden){return }Quarix.Warning.DockableWarningDisplay.superclass.reposition.call(this);switch(this._attached.pos){case 0:case 6:break;case 1:case 4:case 5:this._node.style.left=((document.viewport.getWidth()-this._node.offsetWidth)/2)+"px";break;case 2:case 8:break;case 3:case 7:break;default:throw new Error("Unknown position: "+this._attached.pos)}};Quarix.Warning.DockableWarningDisplay.prototype.slide=function(B,A){Event.stopObserving(this._arrow,"click");if(!this._eventStopped){this.closed?this.slideDown(B,A):this.slideUp(B,A);this._eventStopped=true}};Quarix.Warning.DockableWarningDisplay.prototype.resize=function(){};Quarix.Warning.DockableWarningDisplay.prototype._clearMessages=function(){for(var B=0;B<this._msgList.length;B++){for(var A=0;A<this._msgList[B].length;A++){this._nbody.removeChild(this._msgList[B][A]._node.domNode)}}this._msgList=[]};Quarix.Warning.DockableWarningDisplay.prototype.setObjectValue=function(B){this._clearMessages();for(var E=0;E<B.length;E++){this._msgList[E]=[];for(var A=0;A<B[E].length;A++){var G=B[E][A];var D=Quarix.UI.CreateNodeElement({tag:"DIV",className:this.ClassPrefix+"_"+this._warningType[G.warningType]});this._nbody.appendChild(D.domNode);var F=false;if(G.warningLabel&&G.warningObjectName){F=Quarix.UI.CreateNodeElement({tag:"A"});F.domNode.innerHTML=G.warningLabel;F.domNode._i=E;F.domNode._j=A;D.domNode.appendChild(F.domNode);Event.observe(F.domNode,"click",function(I){var L=Event.element(I);var H=this._msgList[L._i][L._j];H._msg.isWarningHandled=true;var K=Quarix.Register.get(H._msg.warningObjectName);if(K.applyEntry){K.applyEntry()}var J="Gray";H._node.domNode.addClassName("Gray");this._msgList[L._i][L._j]=H}.bind(this));Event.observe(F.domNode,"mouseover",function(I){var K=Event.element(I);var H=this._msgList[K._i][K._j];var J=Quarix.Register.get(H._msg.warningObjectName);Quarix.WarningManager._registerMarkInContainer(J);Effect.Shake(H._msg.warningObjectName)}.bind(this))}_text=Quarix.UI.CreateNodeElement({tag:"DIV"});_text.domNode.innerHTML=G.warningMessage;D.domNode.appendChild(_text.domNode);var C=new Object();C._msg=G;C._node=D;C._label=F;C._text=_text;this._msgList[E][A]=C}}};Quarix.Warning.DockableWarningDisplay.prototype.hideObject=function(){if(!this.getDOMNode()){return }if(this.getProperty("hide",false,true)){this._properties.hide=false}if(this.getDOMNode() instanceof Quarix.UI.Element){this.getDOMNode().setDisplayed(false)}else{this._displayMode=this.getDOMNode().style.display==""?"inline":this.getDOMNode().style.display;this.getDOMNode().style.display="none"}this._objectHidden=true};Quarix.Warning.DockableWarningDisplay.prototype.viewObject=function(){if(!this.getDOMNode()){return }if(this.getDOMNode() instanceof Quarix.UI.Element){this.getDOMNode().setDisplayed(true)}else{this.getDOMNode().style.display=this._displayMode}this._objectHidden=false;this.reposition();if(this.closed){this.restart()}if(this.getProperty("hide",false,true)){this.getDOMNode().setDisplayed(false)}else{Event.observe(this._arrow,"click",this.slide.bind(this));this._eventStopped=false}};Quarix.Widgets.ActiveScreenSelector=function(B,A){Quarix.Widgets.ActiveScreenSelector.superclass.constructor.call(this,B,A);this._objectValue=null;this._domNode=null;this._listNodes=[];this._actionSources=[];this._actionTarget=[]};Quarix.extend(Quarix.Widgets.ActiveScreenSelector,Quarix.Base.AbsVisualObject);Quarix.Widgets.ActiveScreenSelector.prototype.ActionSourceEvents=[Quarix.Links.Action.StateChanged];Quarix.Widgets.ActiveScreenSelector.prototype.ActionTargetEvents=Quarix.Links.Action.TargetEvents;Quarix.Widgets.ActiveScreenSelector.prototype.createObjects=function(){this._processObjectProperties();if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.ActiveScreenSelector.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Widgets.ActiveScreenSelector.prototype._isUIBuilt=function(){return(this._domNode&&this._imageElement)};Quarix.Widgets.ActiveScreenSelector.prototype._buildUI=function(){var C,A;if(!this._domNode){C=document.getElementById(this._objectName);if(C){this._domNode=Quarix.UI.Element.get(C)}else{var F,B,D=["minWidth","width","maxWidth","minHeight","height","maxHeight","top","left","right","bottom"],E=["min-width","width","max-width","min-height","height","max-height","top","left","right","bottom"],G=["class"];F=['<select id="'+this._objectName+'" style="display: none; '];for(B=0;B<D.length;B++){if(this._properties[D[B]]){F.push(E[B]);F.push(": ");F.push(this._properties[D[B]]);F.push("px; ")}}F.push('" ');for(B=0;B<G.length;B++){if(this._properties[G[B]]){F.push(G[B]);F.push('="screenSelector ');F.push(this._properties[G[B]]);F.push('" ')}else{F.push(' class="screenSelector" ')}}F.push(" onchange=\"$Q('");F.push(this._objectName);F.push('\').onChange(event);" ><option value="0">'+this._properties.label+"</option>");this._domNode=Quarix.UI.Element.fromString(F.join(""));this._listNodes.select=this._domNode.domNode;this._listNodes.optionNr=0}}if(A=this._containerSource){A.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.ActiveScreenSelector.prototype.initializeObject=function(A){Quarix.Widgets.ActiveScreenSelector.superclass.initializeObject.call(this,A||{});if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.ActiveScreenSelector.prototype.stateChanged=function(B){if(B){switch(B.state){case"pageSelected":Quarix.Util.Trigger(this,"beforeSelectPage",[B.currentPage,B.pageNr]);Quarix.Util.Trigger(this,"afterSelectPage",[B.pageNr]);break;case"pageAdded":var A;Quarix.Util.Trigger(this,"beforeAddPage",[B.currentPage,B.pageNr]);A=document.createElement("option");if((B.pageNr+1)<this._listNodes.optionNr){_opt1=this._listNodes.select.firstChild;while(_opt1.value<=(B.pageNr+1)){_opt1=_opt1.nextSibling}this._listNodes.select.insertBefore(A,_opt1)}else{this._listNodes.select.appendChild(A)}A.value=B.pageNr+1;A.innerHTML=B.pageTitle;this._listNodes.optionNr+=1;if(this._properties.showNr){this._listNodes.select.firstChild.innerHTML=this._properties.label+" ("+this._listNodes.optionNr+")"}Quarix.Util.Trigger(this,"afterAddPage",[B.pageNr]);break;case"pageDeleted":var A=this._listNodes.select.firstChild,C;Quarix.Util.Trigger(this,"beforeDeletePage",[B.currentPage,B.pageNr]);while(A&&A.value!=(B.pageNr+1)){A=A.nextSibling}if(C=A.nextSibling){while(C){C.value-=1;C=C.nextSibling}}this._listNodes.optionNr-=1;this._listNodes.select.removeChild(A);if(this._properties.showNr){this._listNodes.select.firstChild.innerHTML=this._properties.label+" ("+this._listNodes.optionNr+")"}Quarix.Util.Trigger(this,"afterDeletePage",[B.pageNr]);break}}};Quarix.Widgets.ActiveScreenSelector.prototype.onChange=function(A){var B=A.target.options.selectedIndex;if(B==0){return }this._actionSources[0].selectPage(B-1);this._domNode.domNode.selectedIndex=0};Quarix.Widgets.ActiveScreenSelector.prototype.getActionSource=function(){return this._actionSources};Quarix.Widgets.ActiveScreenSelector.prototype.addActionSource=function(A){this._actionSources.push(A)};Quarix.Widgets.ActiveScreenSelector.prototype.removeActionSource=function(B){var A=0;while((this._actionSources[A]!=null)&&(this._actionSources[A]!=B)){++A}this._actionSources.splice(A,1)};Quarix.Widgets.ImageCube=function(B,A){Quarix.Widgets.ImageCube.superclass.constructor.call(this,B,A);this._isMove=false;this._dragStarted=false;this._startX=0;this.currentPage=0;this._cubeConfigParams=["background","viewDistance","waitSeconds","minResolution","maxResolution","cursor","clockWise","rotateSeconds","repeat"];this._eventHandlers={mouseDown:this._mouseDownHandler.bindAsEventListener(this),mouseOut:this._mouseOutHandler.bindAsEventListener(this),mouseMove:this._mouseMoveHandler.bindAsEventListener(this),click:this._clickHandler.bindAsEventListener(this),imageLoaded:this._imageLoaded.bindAsEventListener(this)};this._contentDOMNode=null;this.animation=null;this._valueOptionsKeys=null;this._valueOptionsValues=null};Quarix.extend(Quarix.Widgets.ImageCube,Quarix.Base.AbsVisualObject);Quarix.Widgets.ImageCube.prototype.createObjects=function(){this._processObjectProperties();this.setValueOptions(this._properties.valueOptions);if(!this._isUIBuilt()){this._buildUI()}Quarix.Widgets.ImageCube.superclass.createObjects.call(this);this._objectCreated=true};Quarix.Widgets.ImageCube.prototype._isUIBuilt=function(){return(this._domNode&&this._imageElement)};Quarix.Widgets.ImageCube.prototype._buildUI=function(){var C,B,A;if(!this._domNode){C=document.getElementById(this._objectName);if(C){this._domNode=Quarix.UI.Element.get(C)}else{this._domNode=Quarix.UI.Element.fromString('<div id="cubeDiv_'+this._objectName+'" class="cubeClass"><img id="'+this._objectName+'" src="'+this._valueOptionsValues[0]+'" /></div>');B=this._domNode.domNode.firstChild;this._domNode.domNode.img=B;Element.observe(this._domNode.domNode.img,"load",this._eventHandlers.imageLoaded);this.animationOverlay=document.createElement("DIV");Element.setStyle(this.animationOverlay,{display:"block",position:"absolute",width:"0px",height:"0px",zIndex:1000,cursor:"col-resize"});this.animationOverlay.style.opacity=0;this.animationOverlay.style.backgroundColor="#FFFFFF";this.animationOverlay.style.filter="alpha(opacity=00)";this._domNode.domNode.appendChild(this.animationOverlay)}}if(A=this._containerSource){A.getLayoutManager(this._objectPage).add(this)}};Quarix.Widgets.ImageCube.prototype._imageLoaded=function(A){Event.stopObserving(this._domNode.domNode.img,"load",this._eventHandlers.imageLoaded);console.log("On load");this.animation=new Animation.Cube(this._objectName,this._valueOptionsValues);this.setCubeConfigParams();this.animation.onInterval=this._intervalHandler.bind(this);this.animation.onComplete=this._completeHandler.bind(this);Element.observe(this.animationOverlay,"mousedown",this._eventHandlers.mouseDown);Element.observe(this.animationOverlay,"mouseout",this._eventHandlers.mouseOut);Element.observe(this.animationOverlay,"mousemove",this._eventHandlers.mouseMove);Element.observe(this.animationOverlay,"click",this._eventHandlers.click);if($(this._objectName)){this.animationOverlay.style.width=""+$(this._objectName).offsetWidth+"px";this.animationOverlay.style.height=""+$(this._objectName).offsetHeight+"px"}var B=Position.positionedOffset(this._domNode.domNode.img);this.animationOverlay.style.left=""+B[0]+"px";this.animationOverlay.style.top=""+B[1]+"px"};Quarix.Widgets.ImageCube.prototype.setObjectValue=function(A){this._properties.src=A;if(this._objectCreated){this._domNode.domNode.img.src=A}};Quarix.Widgets.ImageCube.prototype.getObjectValue=function(A){return A?this[A]:this._properties.src};Quarix.Widgets.ImageCube.prototype.initializeObject=function(A){Quarix.Widgets.ImageCube.superclass.initializeObject.call(this,A);this._processVisualObjectProperties(this);if(!this.getProperty("hideOnInit",false,true)){this.viewObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ViewObject))}};Quarix.Widgets.ImageCube.prototype.setDataSource=function(A){this._dataSource=A;if(this._dataSource){this.dataAvailable(Quarix.EventManager.newEvent(this,Quarix.Links.Data.DataAvailable))}};Quarix.Widgets.ImageCube.prototype.getDataSource=function(){return this._dataSource};Quarix.Widgets.ImageCube.prototype.dataAvailable=function(){var A;if(this._dataSource&&this._properties.doColumnName){A=this._dataSource.colValues([this._properties.doColumnName])[0]}else{A=""}this.setObjectValue(A)};Quarix.Widgets.ImageCube.prototype._mouseDownHandler=function(A){if(A){if(!Event.isLeftClick(A)){return }Event.stop(A)}this._startX=Event.pointerX(A);this._dragStarted=true;this._isMove=false;if(this.currentPage!=this.animation.cursor){this.animationOverlay.style.cursor="pointer"}else{this.animationOverlay.style.cursor="col-resize"}};Quarix.Widgets.ImageCube.prototype._mouseOutHandler=function(A){if(A){Event.stop(A)}this._isMove=false;this._dragStarted=false;if(this.currentPage!=this.animation.cursor){this.animationOverlay.style.cursor="pointer"}else{this.animationOverlay.style.cursor="col-resize"}};Quarix.Widgets.ImageCube.prototype._mouseMoveHandler=function(A){if(A){Event.stop(A)}if(!this._dragStarted){return }if(this.animation.is_running){this._startX=Event.pointerX(A);this.animationOverlay.style.cursor="col-resize";return }var B=Event.pointerX(A)-this._startX;if(Math.abs(B)>2){this._startX=Event.pointerX(A);this.animation.clockWise=B>0?false:true;this._isMove=true;this.animation.rotate()}};Quarix.Widgets.ImageCube.prototype.onClick=function(A){Quarix.Util.Trigger(this,"onClick",[this,this.currentPage])};Quarix.Widgets.ImageCube.prototype._clickHandler=function(A){if(this._isMove){this._isMove=false;this._dragStarted=false;if(this.currentPage!=this.animation.cursor){this.animationOverlay.style.cursor="pointer"}else{this.animationOverlay.style.cursor="col-resize"}if(A){Event.stop(A)}return }this._dragStarted=false;if(!this.animation.is_running&&this.currentPage!=this.animation.cursor){if(A){A.cursor=this.animation.cursor}this.currentPage=this.animation.cursor;this.onClick(A);this.animationOverlay.style.cursor="col-resize"}console.log("Click current page %s animation cursor %s",this.currentPage,this.animation.cursor)};Quarix.Widgets.ImageCube.prototype._intervalHandler=function(A){this.animation.finish();if(!this._dragStarted){if(this.currentPage!=this.animation.cursor){this.animationOverlay.style.cursor="pointer"}else{this.animationOverlay.style.cursor="col-resize"}}Quarix.Util.Trigger(this,"onInterval")};Quarix.Widgets.ImageCube.prototype._completeHandler=function(A){Quarix.Util.Trigger(this,"onComplete")};Quarix.Widgets.ImageCube.prototype.setValueOptions=function(B){this._properties.valueOptions=B;var C=$H(B);if(C){this._valueOptionsKeys=C.keys();this._valueOptionsValues=C.values()}for(var A=0;A<this._valueOptionsValues.length;A++){if(this._valueOptionsValues[A].charAt(0)!="/"){this._valueOptionsValues[A]=Quarix.Globals.DEP_PATH+"/"+this._valueOptionsValues[A]}}};Quarix.Widgets.ImageCube.prototype.setCubeConfigParams=function(){for(var A=0;A<this._cubeConfigParams.length;A++){var B=this._cubeConfigParams[A];if(this._properties[B]){this.animation[B]=this._properties[B]}}};Quarix.Widgets.ConfirmationDialog=function(A,B){var C={layout:"TableLayout",layoutTableRows:2,layoutTableCols:3,layoutCellSpacing:10,maximizable:false,minimizable:false,closable:false,resizable:false,windowType:"internal",hideOnClose:true,onBeforeShow:function(){if(!Effect){return }this._internalWindow.element.show();var E=this._nodes.containerHolder.domNode.offsetWidth;var F=this._nodes.containerHolder.domNode.offsetHeight;this._internalWindow.setSize(E,F);var D=this._internalWindow.element.offsetTop+F;this._internalWindow.element.style.top=-F+"px";this._internalWindow.options.showEffectOptions={x:0,y:D,mode:"relative"}}.bind(this),showEffect:(Effect?Effect.Move:Element.show)};B=Object.extend(B,C);Quarix.Widgets.ConfirmationDialog.superclass.constructor.call(this,A,B);this._buttons=[];this._selected=false;this._blockWindow=false};Quarix.extend(Quarix.Widgets.ConfirmationDialog,Quarix.Widgets.Window);Quarix.Widgets.ConfirmationDialog.prototype._buildWindowUI=function(){Quarix.Widgets.ConfirmationDialog.superclass._buildWindowUI.call(this);var D=this._objectName+"Message";new Quarix.Widgets.HTMLBlock(D,{layoutRow:0,layoutCol:0,layoutColSpan:3,align:"center",content:this._properties.dialogMessage});Quarix.EventManager.subscribe(this._objectName,Quarix.Links.Container.CreateObjects,D);for(var A=0;A<this._properties.buttons.length;A++){var E=this._properties.buttons[A];var C=this._objectName+"Button"+A;var B={left:0,center:1,right:2};this._buttons[A]=new Quarix.Widgets.Button(C,{layoutRow:1,layoutCol:B[E.align],label:E.label,align:E.align,actionCommand:E.actionCommand,onApplyEntryExecute:this._trackFocusedButton,onBlurExecute:this._keepFocusOnButtons});if(E.selected){this._selected=this._buttons[A]}Quarix.EventManager.subscribe(this._objectName,Quarix.Links.Container.CreateObjects,C);Quarix.EventManager.subscribe(C,Quarix.Links.Action,this._objectName)}if(!this._selected&&(this._buttons.length>0)){this._selected=this._buttons[0]}};Quarix.Widgets.ConfirmationDialog.prototype.viewObject=function(A){Quarix.Widgets.ConfirmationDialog.superclass.viewObject.call(this,A);if(this.getDOMNode()&&!this._blockWindow){this._blockWindow=Quarix.Util.BlockWindow(Quarix.Globals.ROOT_WINDOW,1);this.getDOMNode().domNode.style.zIndex=this._blockWindow.style.zIndex+1}if(this._selected){this._selected.applyEntry()}};Quarix.Widgets.ConfirmationDialog.prototype.confirmCancel=function(){var A=Quarix.Widgets.Window.superclass.confirmCancel.call(this);if(A){this.setObjectValue(null);if(this.getProperty("closeOnCancel",true,true)){if(this._blockWindow){Quarix.Util.ClearWindow(Quarix.Globals.ROOT_WINDOW)}this._blockWindow=false;this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject))}}return A};Quarix.Widgets.ConfirmationDialog.prototype.confirmOk=function(){if(this._selected){this._selected.click()}var A=Quarix.Widgets.Window.superclass.confirmOk.call(this);if(A){if(this.getProperty("closeOnOk",true,true)){if(this._blockWindow){Quarix.Util.ClearWindow(Quarix.Globals.ROOT_WINDOW)}this._blockWindow=false;this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject))}}return A};Quarix.Widgets.ConfirmationDialog.prototype.actionPerformed=function(A){Quarix.Util.Trigger(this,"onDialogSelect",[A.command.toLowerCase()]);if(this._blockWindow){Quarix.Util.ClearWindow(Quarix.Globals.ROOT_WINDOW)}this._blockWindow=false;this.exitObject(Quarix.EventManager.newEvent(this,Quarix.Links.Container.ExitObject))};Quarix.Widgets.ConfirmationDialog.prototype._trackFocusedButton=function(){this._containerSource._selected=this};Quarix.Widgets.ConfirmationDialog.prototype._keepFocusOnButtons=function(){};Quarix.Widgets.SegmentBrowse=function(C,B){Quarix.Widgets.SegmentBrowse.superclass.constructor.call(this,C,B);this._DOMClassName="dataBrowse segmentBrowse";this._gridOrigValues=[];this._gridShortValues=[];this._arrows=[];this._deletes=[];var A=Quarix.Globals.DEP_PATH+"/templates/"+Quarix.Globals.USER_THEME+"/images/segmentbrowse";this._arrowUpImg=A+"/arrow_up.gif";this._arrowDownImg=A+"/arrow_down.gif";this._deleteImg=A+"/delete.png";this._expandedNo=0};Quarix.extend(Quarix.Widgets.SegmentBrowse,Quarix.Widgets.DataBrowse);Quarix.Widgets.SegmentBrowse.prototype._pushRowContentsSimple=function(D,F,G){var C,E,A=this._getRowContents(F,G);var B='<div class="'+this._DOMClassName+' arrow"><img src="'+this._arrowUpImg+'"></div>';D.push(this._row0[0].str);D.push('<table cellpadding="0" cellspacing="0" border="0" width="100%">');D.push('<tr><td valing="top">'+B+'</td><td rowspan="2"></td></tr>');D.push("<tr><td>"+A[0]+"</td></tr>");D.push("</table>");D.push("</td>");for(C=1;C<this._columns.length-1;C++){D.push(this._row0[C].str);D.push(A[C]);D.push("</td>")}var B='<div class="'+this._DOMClassName+' delete" style="display:none;"><img src="'+this._deleteImg+'"></div>';D.push(this._row0[0].str);D.push('<table cellpadding="0" cellspacing="0" border="0" width="100%">');D.push('<tr><td colspan="2">'+A[this._columns.length-1]+"</td></tr>");D.push('<tr><td></td><td valign="bottom">'+B+"</td></tr>");D.push("</table>");D.push("</td>")};Quarix.Widgets.SegmentBrowse.prototype._pushRowContents=Quarix.Widgets.SegmentBrowse.prototype._pushRowContentsSimple;Quarix.Widgets.SegmentBrowse.prototype._refreshRowUI=function(A){var D=new Object();D.parentTd=this.domNodes.contentTable.rows[A+2].lastChild;D.table=D.parentTd.firstChild;D.tableTR1=D.table.firstChild.firstChild;D.tableTR2=D.tableTR1.nextSibling;D.tableTD00=D.tableTR1.firstChild;D.tableTD10=D.tableTR2.firstChild;D.tableTD11=D.tableTD10.nextSibling;D.parentDiv=D.tableTD11.firstChild;D.img=D.parentDiv.firstChild;D.rowIndex=A;D.parentDiv._delete=D;D.parentDiv.parentThis=this;Event.observe(D.parentDiv,"click",this._deleteRecord.bind(D.parentDiv));this._deletes[A]=D;var C=new Object();C.parentTd=this.domNodes.contentTable.rows[A+2].firstChild;C.table=C.parentTd.firstChild;C.tableTR1=C.table.firstChild.firstChild;C.tableTR2=C.tableTR1.nextSibling;C.tableTD00=C.tableTR1.firstChild;C.tableTD01=C.tableTD00.nextSibling;C.tableTD10=C.tableTR2.firstChild;C.parentDiv=C.tableTD00.firstChild;C.img=C.parentDiv.firstChild;C.rowIndex=A;C.parentDiv.closed=false;C.parentDiv._arrow=C;C.parentDiv.parentThis=this;Event.observe(C.parentDiv,"click",this.slide.bind(C.parentDiv));this._arrows[A]=C;var B=this._getRowContents(this._dataSource.dataProxy.cache[A],A);this._gridOrigValues[A]=[];this._gridShortValues[A]=[];for(var E=0;E<this._columns.length;E++){this._gridOrigValues[A][E]=B[E];this._gridShortValues[A][E]=this._extractShortValues(B[E])}};Quarix.Widgets.SegmentBrowse.prototype._refreshUI=function(){if(!this._objectInitialized){return }Quarix.Widgets.SegmentBrowse.superclass._refreshUI.call(this);this._arrows=[];this._gridOrigValues=[];this._gridShortValues=[];for(var A=0;A<this._dataSource.dataProxy.cache.length;A++){this._refreshRowUI(A)}this._setStyleFirstLastCols();if(this._properties.expandAll){this.expandAll()}if(this._properties.collapseAll){this.collapseAll()}};Quarix.Widgets.SegmentBrowse.prototype.repaintRow=function(B,A){if(!this.domNodes||!this.domNodes.contentTable){return }if(B>=this.domNodes.contentTable.rows.length-4||!this.domNodes.contentTable.rows[B+2].onmousedown){if(B==0){this._refreshUI();return }var D=['<table><tr class="dataBrowseRow'];if(B%2==1&&!this._properties.disableAltRowMarkup){D.push(" alt")}D.push(Quarix.Widgets.DataBrowse._rowEvents);this._pushRowContents(D,this._dataSource.dataProxy.cache[B],C);D.push("</tr></table>");var G=Quarix.UI.Element.DOMfromString(D.join("")).rows[0];if(!this.domNodes.contentTable.rows[B+2].onmousedown){this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[B+2])}this.domNodes.contentTable.tBodies[0].insertBefore(G,this.domNodes.contentTable.rows[B+2]);this._refreshRowUI(B)}else{if(A){this._rowContentsCache.splice(B,1);this.domNodes.contentTable.tBodies[0].removeChild(this.domNodes.contentTable.rows[B+2])}else{var F=this.domNodes.contentTable.rows[B+2];this._rowContentsCache[B]=null;var E=this._getRowContents(null,B);this._gridOrigValues[B]=[];this._gridShortValues[B]=[];for(var C=0;C<this._columns.length;C++){this._gridOrigValues[B][C]=E[C];this._gridShortValues[B][C]=this._extractShortValues(E[C])}for(var C=1;C<this._columns.length-1;C++){F.cells[C].innerHTML=this._arrows[B].parentDiv.closed?this._gridShortValues[B][C]:this._gridOrigValues[B][C]}this._setArrowCellValue(B,0);this._setDeleteCellValue(B,this._columns.length-1);this._setStyleArrowDeleteCols(B)}}return };Quarix.Widgets.SegmentBrowse.prototype._setArrowCellValue=function(A,B){var C=this.domNodes.contentTable.rows[A+2];if(this._arrows[A].parentDiv.closed){this._arrows[A].tableTD01.innerHTML=this._gridShortValues[A][B]}else{this._arrows[A].tableTD10.innerHTML=this._gridOrigValues[A][B]}};Quarix.Widgets.SegmentBrowse.prototype._setDeleteCellValue=function(A,B){var C=this.domNodes.contentTable.rows[A+2];if(this._arrows[A].parentDiv.closed){this._deletes[A].tableTD10.innerHTML=this._gridShortValues[A][B]}else{this._deletes[A].tableTD00.innerHTML=this._gridOrigValues[A][B]}};Quarix.Widgets.SegmentBrowse.prototype._setStyleArrowDeleteCols=function(A){var C=this._arrows[A];C.parentDiv._origHeight=Quarix.UI.Element.get(C.parentTd).getHeight(true);C.tableTD01.style.width="0px";C.tableTD10.style.height=Quarix.UI.Element.get(C.parentTd).getHeight(true)-C.parentDiv.offsetHeight+"px";Quarix.UI.SetStyle(C.tableTD10,"vertical-align",Quarix.UI.GetStyle(C.parentTd,"vertical-align"));Quarix.UI.SetStyle(C.tableTD10,"text-align",Quarix.UI.GetStyle(C.parentTd,"text-align"));var B=this._deletes[A];var D=Quarix.UI.Element.get(B.parentTd).getHeight(true);B.parentDiv.style.display="block";if(D>B.table.offsetHeight){B.tableTD00.style.height=D-B.parentDiv.offsetHeight+"px"}else{var F=this._gridOrigValues[A];var E=this._splitToLastRow(F[F.length-1]);if(E.line1){B.tableTD00.innerHTML=E.line1}else{B.tableTD00.innerHTML=""}B.tableTD10.innerHTML=E.line2;Quarix.UI.SetStyle(B.tableTD10,"text-align",Quarix.UI.GetStyle(B.parentTd,"text-align"));Quarix.UI.SetStyle(B.tableTD10,"vertical-align","top")}B._origLine1=B.tableTD00.innerHTML;B._origLine2=B.tableTD10.innerHTML;B._origLine1H=Quarix.UI.Element.get(B.tableTD00).getHeight(true);B._origLine2H=Quarix.UI.Element.get(B.tableTD10).getHeight(true);B.tableTD10.style.width=Quarix.UI.Element.get(B.parentTd).getWidth(true)-B.parentDiv.offsetWidth+"px";Quarix.UI.SetStyle(B.tableTD11,"vertical-align","bottom");Quarix.UI.SetStyle(B.tableTD11,"width",B.parentDiv.offsetWidth);Quarix.UI.SetStyle(B.tableTD11,"height",B.parentDiv.offsetHeight)};Quarix.Widgets.SegmentBrowse.prototype._setStyleFirstLastCols=function(){for(var A=0;A<this._dataSource.dataProxy.cache.length;A++){this._setStyleArrowDeleteCols(A)}};Quarix.Widgets.SegmentBrowse.prototype._deleteRecord=function(){this.parentThis.deleteRecord()};Quarix.Widgets.SegmentBrowse.prototype._extractShortValues=function(B){var A;A=B.split(/<short>/i)[1];if(A){A=A.split(/<\/short>/i)[0]}else{A=B.split(/<br\/?>/i)[0]}return A};Quarix.Widgets.SegmentBrowse.prototype._splitToLastRow=function(B){var C=new Object();var A=B.split(/<br\/?>/ig);C.line2=A.pop();C.line1=(A.length>0)?A.join("<br>"):false;return C};Quarix.Widgets.SegmentBrowse.prototype.slide=function(){(this.closed)?this.parentThis.slideDown(this):this.parentThis.slideUp(this)};Quarix.Widgets.SegmentBrowse.prototype.slideUp=function(D){D._arrow.img.src=this._arrowDownImg;D.closed=true;D._arrow.tableTD10.innerHTML="";D._arrow.tableTD00.style.width=D._arrow.parentDiv.offsetWidth+"px";D._arrow.tableTD01.innerHTML=this._gridShortValues[D._arrow.rowIndex][0];D._arrow.tableTD10.style.height="0px";Quarix.UI.SetStyle(D._arrow.tableTD00,"vertical-align","top");var C=D._arrow.parentTd;for(var B=1;B<this._columns.length-1;B++){C.nextSibling.innerHTML=this._gridShortValues[D._arrow.rowIndex][B];C=C.nextSibling}var A=this._deletes[D._arrow.rowIndex];A.tableTD00.innerHTML="";A.tableTD00.style.height="0px";A.tableTD10.innerHTML=this._gridShortValues[D._arrow.rowIndex][this._columns.length-1];D._arrow.tableTD10.style.height=Quarix.UI.Element.get(D._arrow.parentTd).getHeight(true)-D._arrow.tableTD01.offsetHeight+"px";this._expandedNo--};Quarix.Widgets.SegmentBrowse.prototype.slideDown=function(D){D._arrow.img.src=this._arrowUpImg;D.closed=false;D._arrow.tableTD01.innerHTML="";D._arrow.tableTD01.style.width="0px";D._arrow.tableTD10.innerHTML=this._gridOrigValues[D._arrow.rowIndex][0];D._arrow.tableTD10.style.height=D._arrow.parentDiv._origHeight-D._arrow.parentDiv.offsetHeight+"px";var C=D._arrow.parentTd;for(var B=1;B<this._columns.length-1;B++){C.nextSibling.innerHTML=this._gridOrigValues[D._arrow.rowIndex][B];C=C.nextSibling}var A=this._deletes[D._arrow.rowIndex];A.tableTD00.style.height=A._origLine1H;A.tableTD10.style.height=A._origLine2H;A.tableTD00.innerHTML=A._origLine1;A.tableTD10.innerHTML=A._origLine2;this._expandedNo++};Quarix.Widgets.SegmentBrowse.prototype.expandAll=function(){this._expandedNo=0;for(var A=0;A<this._arrows.length;A++){this._arrows[A].parentDiv.parentThis.slideDown(this._arrows[A].parentDiv)}};Quarix.Widgets.SegmentBrowse.prototype.collapseAll=function(){this._expandedNo=this._arrows.length;for(var A=0;A<this._arrows.length;A++){this._arrows[A].parentDiv.parentThis.slideUp(this._arrows[A].parentDiv)}};Quarix.Widgets.SegmentBrowse.prototype.expandPriority=function(){if(this._expandedNo==this._arrows.length){this.collapseAll()}else{this.expandAll()}};Quarix.Widgets.SegmentBrowse.prototype._applySizes=function(){if(this._lastTheme!=Quarix.Theme){this.makeSizes();this._lastTheme=this._sizes.lastTheme;this.domNodes.contentDiv.style.height=this._properties.height?this._properties.height:"auto";this.domNodes.scrollTH.style.width=this._sizes.spacerW+"px"}};