
Control=Class.create();Control.eventStub=function(){return false;}
Control.onfocus=function(element){element.hasFocus=true;}
Control.onblur=function(element){element.hasFocus=undefined;}
Control.prototype.initialize=function(eNode,dNode,isShown,isEnabled,action){this.disabledNode=dNode;this.disabledNode.onselectstart=Control.eventStub;this.enabledNode=eNode
this.enabledNode.onselectstart=Control.eventStub;this.isShown=isShown;this.isEnabled=isEnabled;this.action=action;}
Control.prototype.doShow=function(){this.isShown=true;if(this.isEnabled){this.doHideNode(this.disabledNode);this.doShowNode(this.enabledNode);}else{this.doHideNode(this.enabledNode);this.doShowNode(this.disabledNode);}}
Control.prototype.doHide=function(){this.isShown=false;this.doHideNode(this.disabledNode);this.doHideNode(this.enabledNode);}
Control.prototype.doEnable=function(){this.isEnabled=true;this.doHideNode(this.disabledNode);this.doShowNode(this.enabledNode);}
Control.prototype.doDisable=function(){this.isEnabled=false;var nodes=this.enabledNode.select("a[id='"+this.enabledNode.id+"link']");var newFocusNode=undefined;if(nodes&&nodes[0]){var link=nodes[0];if(link.hasFocus){var disNodes=this.disabledNode.select("a[id='"+this.disabledNode.id+"link']");if(disNodes&&disNodes[0]){newFocusNode=disNodes[0];}}}
this.doHideNode(this.enabledNode);this.doShowNode(this.disabledNode);if(newFocusNode&&newFocusNode.focus){newFocusNode.disabled=false;newFocusNode.focus();newFocusNode.disabled=true;}}
Control.prototype.doHideNode=function(node){node.hide();}
Control.prototype.doShowNode=function(node){node.show();}