function TMUIPeer(){
}
TMObject.createSubclass(TMUIPeer);
TMUIPeer.createPeerClass=function(_1,_2,_3){
var _4=new Function("c","if(arguments.length)this.Init(c);");
TMObject.createSubclass(_4,_1,_2);
if(_2){
window[_2]=_4;
}
_4.InitClass=TMUIPeer.DefaultInitClass;
_4.STATELESS=(_3!=false);
return _4;
};
TMUIPeer.prototype.getDomDocument=function(){
return TMPage.PAGE.getDomDocument();
};
TMUIPeer.prototype.replaceDomElement=function(_5,_6,_7){
this.bind(_5);
this.ReplaceDomElement(_6,_7);
};
TMUIPeer.prototype.ReplaceDomElement=function(_8,_9){
TMPage.PAGE.__replaceDomElement(_8,_9);
};
TMUIPeer.prototype.__replaceDomElement=function(_a,_b){
var _c=TMAgent.AGENT;
this.removeComponentsInSubtree(_b);
_b.parentNode.replaceChild(_a,_b);
};
TMUIPeer.prototype.domReplaceNotify=function(_d,_e){
this.bind(_d);
return this.DomReplaceNotify(_e);
};
TMUIPeer.prototype.DomReplaceNotify=function(_f){
return _f;
};
TMUIPeer.prototype.getComponentParent=function(_10){
this.bind(_10);
return TMUIPeer.getFirstAncestorComponent(this._domElement.parentNode);
};
TMUIPeer.prototype.getComponentProperty=function(_11,_12){
if(!this.constructor._componentPropertyGetters){
return undefined;
}
var _13=this.constructor._componentPropertyGetters[_12];
if(_13){
this.bind(_11);
return _13.call(this,_11,this.getDomElement());
}
};
TMUIPeer.prototype.getParentPeer=function(){
};
TMUIPeer.prototype.isVisible=function(){
};
TMUIPeer.prototype.needsResizeNotify=function(_14){
return false;
};
TMUIPeer.prototype.resizeNotify=function(_15,_16,_17,_18,_19){
this.bind(_15);
this.ResizeNotify(_16,_17,_18,_19);
};
TMUIPeer.addComponentPropertyGetters=function(_1a,_1b){
TMUIPeer._initializeCallbacks(_1a,"_componentPropertyGetters",TMUIPeer._GET_COMPONENT_FORMAT,null,TMUIPeer._sliceArgumentsArray(arguments,1));
};
TMUIPeer.prototype.needsChildVisibilityChanges=function(_1c){
return false;
};
TMUIPeer.prototype.ComponentPropertyChanged=function(_1d){
var _1e=_1d.getPropertyName();
var _1f=_1d.getSource();
var _20=this.constructor;
var _21=_20._componentPropertyChanges[_1e];
var _22=false;
if(_21){
this.bind(_1f);
_22=_21.call(this,_1f,this.getDomElement(),_1d.getNewValue(),_1d.getOldValue());
if(_22===undefined){
_22=true;
}
}
};
TMUIPeer.prototype.ComponentVisibleChanged=function(_23,_24,_25,_26){
var _27=false;
var _28=_23.getParent();
if(_28){
var _29=_28.getPeer();
if(_29&&_29.needsChildVisibilityChanges()){
this.bind(_28);
_27=_29.ChildVisibilityChanged(_23,_24,_25);
}
}
if(!_27){
TMDomUtils.setVisible(_24,_25);
if(_25){
TMPage.PAGE.doResizeNotifyDom(_24,false);
}
}
};
TMUIPeer.prototype.GetComponentVisible=function(_2a,_2b){
return TMDomUtils.isVisible(_2b);
};
TMUIPeer.getDomElementForComponent=function(_2c){
return TMAgent.AGENT.getElementById(_2c.getClientId());
};
TMUIPeer.prototype.getDomElement=function(_2d){
return this._domElement;
};
TMUIPeer.prototype.Init=function(_2e){
TMUIPeer.superclass.Init.call(this,_2e);
};
TMUIPeer.prototype.initialize=function(_2f){
TMPage.PAGE.mapComponent(_2f.getClientId(),_2f);
var _30=TMUIPeer.getDomElementForComponent(_2f);
this.InitDomElement(_2f,_30);
if(!this.constructor.STATELESS){
this.BindToComponent(_2f,_30);
}
};
TMUIPeer.prototype.ComponentRemoved=function(_31){
};
TMUIPeer.prototype.componentRemoved=function(_32){
var _33=TMUIPeer.getDomElementForComponent(_32);
this.hideAllPopups(_32);
this.ComponentRemoved(_32);
if(this._component===_32){
this.UnbindFromComponent();
}
TMPage.PAGE.unmapComponent(_32.getClientId());
};
TMUIPeer.InitClass=function(){
this._PROPETY_CHANGED_FORMAT=new Array("Component",null,"Changed");
this._GET_COMPONENT_FORMAT=new Array("GetComponent",null);
this._CREATE_SUB_ID_ARRAY=new Array(null,"::",null);
this._HANDLE_DOM_EVENT_FORMAT=new Array("HandleDom",null);
this._HANDLE_COMPONENT_EVENT_FORMAT=new Array("HandleComponent",null);
this.addComponentPropertyGetters(this,TMUIComponent.VISIBLE);
};
TMUIPeer.DefaultInitClass=function(){
TMUIPeer.addComponentEventHandlers(this);
TMUIPeer.addDomEventHandlers(this);
if(this.InitSubclass!=null){
this.InitSubclass();
}
};
TMUIPeer.prototype.InitDomElement=function(_34,_35){
};
TMUIPeer.prototype.BindToComponent=function(_36,_37){
this._component=_36;
this._domElement=_37;
};
TMUIPeer.prototype.UnbindFromComponent=function(){
this._component=null;
this._domElement=null;
};
TMUIPeer.prototype.bind=function(_38){
if(_38!==this._component){
if(this.constructor.STATELESS){
this.UnbindFromComponent();
var _39=TMUIPeer.getDomElementForComponent(_38);
this.BindToComponent(_38,_39);
}
}
};
TMUIPeer.prototype.focus=function(_3a){
this.bind(_3a);
this.Focus();
};
TMUIPeer.prototype.Focus=function(){
var dom=this.getDomElement();
TMFocusUtils.focusFirstTabStop(dom);
};
TMUIPeer.prototype.initiateDrag=function(_3c,_3d){
};
TMUIPeer.prototype.getComponent=function(){
return this._component;
};
TMUIPeer.getFirstAncestorComponent=function(_3e){
var _3f=TMPage.PAGE;
while(_3e){
var _40=_3e.nodeType;
if(_40==1){
var _41=_3e.id;
if(_41){
var _42=_3f.findComponent(_41);
if(_42){
return _42;
}
}
}
_3e=_3e.parentNode;
}
return null;
};
TMUIPeer.prototype.visitChildren=function(_43,_44,_45,_46){
var dom=TMUIPeer.getDomElementForComponent(_43);
var _48=this._visitChildren(_43,dom,_44,_45,_46);
if(_48!=2){
var _49=this.getAllPopups(_43);
if(_49!=null){
for(var _4a in _49){
dom=_49[_4a].getElement();
if(dom){
_48=this._visitChildren(_43,dom,_44,_45,_46);
if(_48==2){
break;
}
}
}
}
}
return _48;
};
TMUIPeer.prototype.getPagePosition=function(_4b){
this.bind(_4b);
return TMAgent.AGENT.getElementPosition(this._domElement);
};
TMUIPeer.prototype._visitChildren=function(_4c,_4d,_4e,_4f,_50){
var _51=_4d.firstChild;
if(!_51){
return 0;
}
var _52=TMDomUtils.isVisible;
var _53=TMAgent.AGENT.isElementHTML;
var _54=TMPage.PAGE;
while(_51){
if(_51.nodeType==1){
if(_53(_51)&&(!_50||_52(_51))){
var _55=0;
var _56;
var _57=_51.id;
if(_57){
_56=_54.findComponent(_57);
}
if(_56&&(_56!=_4c)){
_55=_4e.call(_4f,_56);
if(!_55){
_55=_56.visitChildren(_4e,_4f,_50);
}
}else{
_55=this._visitChildren(_4c,_51,_4e,_4f,_50);
}
if(_55==2){
return 2;
}
}
}
_51=_51.nextSibling;
}
return 0;
};
TMUIPeer.GetComponent=function(_58){
var _59=_58.id;
return (_59)?TMPage.PAGE.findComponent(_59):null;
};
TMUIPeer.prototype.__CreateComponentEvent=function(_5a,_5b){
var _5c=TMAgent.AGENT;
this._dispatchDomEvent(_5c,_5a,_5b);
return _5c.getComponentEvent(_5a,_5b);
};
TMUIPeer.prototype._dispatchDomEvent=function(_5d,_5e,_5f){
var _60=this.constructor._domEventHandlers[_5f.type];
if(_60){
this.bind(_5e);
_60.call(this,_5e,_5f);
}
};
TMUIPeer.prototype.DispatchComponentEvent=function(_61){
var _62=this.constructor._componentEventHandlers;
if(_62){
var _63=_62[_61.getType()];
if(_63){
var _64=_61.getCurrentTarget();
this.bind(_64,TMUIPeer.getDomElementForComponent(_64));
_63.call(this,_61);
}
}
};
TMUIPeer.prototype.showContextMenu=function(_65,_66,_67,_68){
if(_66){
var _69;
if(_67){
_69=_67.findComponent(_66);
}else{
_69=TMPage.PAGE.findComponent(_66);
}
if(_69){
TMAgent.AGENT.preventDefault(_65);
var _6a={};
_6a[TMDhtmlPopupWindow.HINT_TYPE]=TMDhtmlPopupWindow.HINT_TYPE_MENU;
_6a[TMDhtmlPopupWindow.HINT_AUTODISMISS]=true;
_6a[TMDhtmlPopupWindow.HINT_FOCUS]=true;
if(_68!=null){
_6a[TMDhtmlPopupWindow.HINT_ALIGN_ELEMENT]=_68;
_6a[TMDhtmlPopupWindow.HINT_ALIGN]=TMDhtmlPopupWindow.ALIGN_AFTER_START;
}else{
var pos=TMAgent.AGENT.getMousePosition(_65);
_6a[TMDhtmlPopupWindow.HINT_MOUSEPOSITION]=pos;
}
_69.show(_6a);
}else{
}
}
};
TMUIPeer.prototype.showPopup=function(_6c,_6d,_6e,_6f){
var _70=_6c[TMUIPeer._POPUP_LIST];
if(_70==null){
_6c[TMUIPeer._POPUP_LIST]=_70={};
}
var _71={};
_71[TMDhtmlPopupWindow.HINT_AUTODISMISS]=true;
if(_6c._childHints){
TMCollections.copyInto(_71,_6c._childHints);
}
TMCollections.copyInto(_71,_6e);
if(_6f==null){
_6f=TMUIPeer._POPUP_ID_DEFAULT;
}
var _72=_70[_6f];
if(!_72){
_72=TMDhtmlPopupWindowFactory.createPopup(_71);
_70[_6f]=_72;
var _73=_6d?_6d.id:null;
var _74=false;
if(_73&&!TMPage.PAGE.findComponent(_73)){
TMPage.PAGE.mapComponent(_73,_6c);
_74=true;
}
}
_71[TMDhtmlPopupWindow.HINT_CONTENT]=_6d;
_71[TMDhtmlPopupWindow.HINT_CLOSE_HANDLER]=this.createCallback(this._popupClosedHandler);
_71[TMDhtmlPopupWindow.HINT_COMPONENT_CLIENT_ID]=_6c.getClientId();
var _75={"component":_6c,"contentDom":_6d,"unmap":_74,"popupId":_6f};
var _76=_6e?_6e[TMDhtmlPopupWindow.HINT_CLOSE_HANDLER]:null;
if(_76){
_75["otherClosedHandler"]=_76;
_75["otherClosedHandlerParams"]=_6e[TMDhtmlPopupWindow.HINT_CLOSE_HANDLER_PARAM];
}
_71[TMDhtmlPopupWindow.HINT_CLOSE_HANDLER_PARAM]=_75;
var _77=_6e?_6e[TMDhtmlPopupWindow.HINT_ALIGN_ID]:null;
if(_77){
var _78=TMAgent.AGENT.getElementById(_77);
if(_78){
_71[TMDhtmlPopupWindow.HINT_ALIGN_ELEMENT]=_78;
}
_71[TMDhtmlPopupWindow.HINT_ALIGN_ID]=null;
}
_72.show(_71);
};
TMUIPeer.prototype.isPopupVisible=function(_79,_7a){
var _7b=this.getPopupWindow(_79,_7a);
if(_7b){
return true;
}
return false;
};
TMUIPeer.prototype.hidePopup=function(_7c,_7d){
var _7e=this.getPopupWindow(_7c,_7d);
if(_7e){
_7e.hide();
}
};
TMUIPeer.prototype.hideAllPopups=function(_7f){
var _80=_7f[TMUIPeer._POPUP_LIST];
if(_80!=null){
for(var _81 in _80){
var _82=_80[_81];
if(_82){
_82.hide();
}
}
}
};
TMUIPeer.prototype.getPopupWindow=function(_83,_84){
var _85=null;
var _86=_83[TMUIPeer._POPUP_LIST];
if(_86!=null){
if(_84==null){
_84=TMUIPeer._POPUP_ID_DEFAULT;
}
_85=_86[_84];
}
return _85;
};
TMUIPeer.prototype.getAllPopups=function(_87){
return _87[TMUIPeer._POPUP_LIST];
};
TMUIPeer.prototype._popupClosedHandler=function(_88){
var _89=_88.component;
var _8a=_89[TMUIPeer._POPUP_LIST];
if(_8a==null){
return;
}
var _8b=_8a[_88.popupId];
if(!_8b){
return;
}
var _8c=_88.contentDom;
var _8d=_88.popupId;
delete _8a[_8d];
if(_88.unmap){
TMPage.PAGE.unmapComponent(_8c.id);
}
this.bind(_89);
this.PopupClosed(_89,_8c,_8d);
var _8e=_88.otherClosedHandler;
if(_8e){
var _8f=_88.otherClosedHandlerParams;
_8e(_8f);
}
};
TMUIPeer.prototype.PopupClosed=function(_90,_91,_92){
};
TMUIPeer.CreateSubId=function(_93,_94){
var _95=TMUIPeer._CREATE_SUB_ID_ARRAY;
_95[0]=_93;
_95[2]=_94;
return _95.join("");
};
TMUIPeer.addDomEventHandlers=function(_96,_97){
TMUIPeer._initializeCallbacks(_96,"_domEventHandlers",TMUIPeer._HANDLE_DOM_EVENT_FORMAT,TMPage.EVENT_TYPE_TO_CAMEL_CASE_MAP,TMUIPeer._sliceArgumentsArray(arguments,1));
};
TMUIPeer.addComponentEventHandlers=function(_98,_99){
TMUIPeer._initializeCallbacks(_98,"_componentEventHandlers",TMUIPeer._HANDLE_COMPONENT_EVENT_FORMAT,null,TMUIPeer._sliceArgumentsArray(arguments,1));
};
TMUIPeer.addEventHandlerToDomInstance=function(_9a,_9b,_9c){
var _9d=TMPage.EVENT_TYPE_TO_ATTRIBUTE_MAP[_9c];
TMUIPeer.addDomEventHandlers(_9a,_9c);
_9b[_9d]=TMUIPeer._defaultInstanceEventHandler;
};
TMUIPeer._defaultInstanceEventHandler=function(_9e){
if(_9e==null){
_9e=TMPage.PAGE.getDomWindow().event;
}
var _9f=TMUIPeer.getFirstAncestorComponent(this);
if(_9f){
_9f.getPeer()._dispatchDomEvent(TMAgent.AGENT,_9f,_9e);
}
return !_9e.preventDefault;
};
TMUIPeer.prototype.isActive=function(){
return this.getComponent().getClientId()==TMPage.PAGE.getActiveComponentId();
};
TMUIPeer.prototype.isInActiveHeirarchy=function(){
var _a0=TMPage.PAGE.getActiveComponentId();
if(_a0!=null){
var _a1=TMPage.PAGE.findComponent(_a0);
var _a2=this.getComponent();
do{
if(_a2==_a1){
return true;
}
_a1=_a1.getParent();
}while(_a1!=null);
}
return false;
};
TMUIPeer.addComponentPropertyChanges=function(_a3,_a4){
TMUIPeer._initializeCallbacks(_a3,"_componentPropertyChanges",TMUIPeer._PROPETY_CHANGED_FORMAT,null,TMUIPeer._sliceArgumentsArray(arguments,1));
};
TMUIPeer._initializeCallbacks=function(_a5,_a6,_a7,_a8,_a9){
var _aa=_a5.prototype;
var _ab=_a5[_a6];
if(_ab==null){
_ab=new Object();
_a5[_a6]=_ab;
if(_a5!=TMUIPeer){
var _ac=_a5.superclass.constructor[_a6];
for(var _ad in _ac){
var _ae=(_a8!=null)?_a8[_ad]:_ad;
_a7[1]=TMStrings.initUpperCase(_ae);
var _af=_a7.join("");
_ab[_ad]=_aa[_af];
}
}
}
if(_a9!=null){
var _b0=_a9.length;
for(var _b1=0;_b1<_b0;_b1++){
var _ad=_a9[_b1];
var _ae=(_a8!=null)?_a8[_ad]:_ad;
_a7[1]=TMStrings.initUpperCase(_ae);
var _af=_a7.join("");
var _b2=_aa[_af];
if(TMAssert.DEBUG){
}
_ab[_ad]=_b2;
}
}
};
TMUIPeer._sliceArgumentsArray=function(_b3,_b4){
var _b5=_b3.length;
var _b6=_b5-_b4;
if(_b6>0){
var _b7=new Array(_b6);
var _b8=_b4;
for(var _b9=0;_b9<_b6;_b8++,_b9++){
_b7[_b9]=_b3[_b8];
}
return _b7;
}else{
return null;
}
};
TMUIPeer.DISABLED_STYLECLASS="p_TMDisabled";
TMUIPeer.READONLY_STYLECLASS="p_AFReadOnly";
TMUIPeer.DROP_TARGET_STYLECLASS="p_TMDropTarget";
TMUIPeer._POPUP_LIST="__tmPeerPPList";
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlFormPeer");
TMDhtmlFormPeer.InitSubclass=function(){
TMUIPeer.addComponentEventHandlers(this,TMUIInputEvent.KEY_PRESS_EVENT_TYPE);
};
TMDhtmlFormPeer.prototype.InitDomElement=function(_ba,_bb){
TMDhtmlFormPeer.superclass.InitDomElement.call(this,_ba,_bb);
var _bc=TMPage.PAGE;
var _bd=_bc.getDomWindow();
var _be=new Function("return true;");
_bd["_"+_ba.getClientId()+"Validator"]=_be;
};
TMDhtmlFormPeer.prototype.HandleComponentKeyPress=function(_bf){
if(_bf.getKeyCode()==13){
var _c0=_bf.getNativeEventTarget();
if(_c0){
var _c1=_c0.tagName;
if((_c1=="A")||(_c1=="BUTTON")||(_c1=="TEXTAREA")||((_c1=="INPUT")&&((_c0.type=="submit")||(_c0.type=="reset")))){
return;
}
}
var _c2=_c0;
var id=_c2.id;
while(!id){
_c2=_c2.parentNode;
id=_c2.id;
}
var _c4=id.lastIndexOf(":");
var _c5;
var _c6;
while(_c4>0&&!_c5){
id=id.substring(0,_c4);
var _c7=AdfPage.PAGE.findComponent(id);
if(_c7!=null&&_c7 instanceof AdfRichSubform){
_c5=_c7.getDefaultCommand();
_c6=_c7;
}
_c4=id.lastIndexOf(":");
}
if(!_c5){
_c6=this.getComponent();
_c5=_c6.getDefaultCommand();
}
if(_c5){
var _c8=_c6.findComponent(_c5);
if(_c8){
TMActionEvent.queue(_c8,_c8.getPartialSubmit());
}else{
}
}
_bf.cancel();
}
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlSubformPeer");
TMDhtmlSubformPeer.InitSubclass=function(){
TMUIPeer.addSuppressedPPRAttributes(this,"defaultCommand");
};
TMDhtmlSubformPeer.prototype.initialize=function(_c9){
var id=_c9.getClientId();
TMPage.PAGE.mapComponent(id,_c9);
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlValuePeer");
TMDhtmlValuePeer.InitSubclass=function(){
};
TMDhtmlValuePeer.prototype.getConvertedValue=function(_cb,_cc){
var _cd=_cc;
if(_cb==null){
_cb=this.getComponent();
}
if(_cb.getConverter){
var _ce=_cb.getConverter();
if(_ce!=null){
_cd=_ce.getAsObject(_cc,_cb.getProperty("label"));
}
}
return _cd;
};
TMDhtmlValuePeer.prototype.GetDisplayValue=function(_cf,_d0){
};
TMDhtmlValuePeer.prototype.SetDisplayValue=function(_d1,_d2,_d3){
};
TMDhtmlValuePeer.prototype.GetComponentValue=function(_d4,_d5){
var _d6=this.GetDisplayValue(_d4,_d5);
if(!this.isEmpty(_d6)){
try{
var _d7=this.getConvertedValue(_d4,_d6);
return _d7;
}
catch(e){
return null;
}
}
return null;
};
TMDhtmlValuePeer.prototype.GetNullDefault=function(){
return "";
};
TMUIPeer.createPeerClass(TMDhtmlValuePeer,"TMDhtmlEditableValuePeer");
TMDhtmlEditableValuePeer.InitSubclass=function(){
this._CONTENT_ID_ATTR_NAME="__afrEditableValueContentId";
this._CONTENT_ID="content";
this._INITIALIZED="_adfInitialized";
};
TMDhtmlEditableValuePeer.prototype.InitDomElement=function(_d8,_d9){
TMDhtmlEditableValuePeer.superclass.InitDomElement.call(this,_d8,_d9);
};
TMDhtmlEditableValuePeer.prototype.BindToComponent=function(_da,_db){
TMDhtmlEditableValuePeer.superclass.BindToComponent.call(this,_da,_db);
};
TMDhtmlEditableValuePeer.SetContentNode=function(_dc,_dd,_de){
if(!_de){
_de=TMUIPeer.getDomElementForComponent(_dc);
}
if(_de.id==_dd.id){
TMAgent.AGENT.setExpandoProperty(_de,TMDhtmlEditableValuePeer._CONTENT_ID_ATTR_NAME,null);
}
if(!_dd.id){
_dd.id=TMUIPeer.CreateSubId(_dc.getClientId(),TMDhtmlEditableValuePeer._CONTENT_ID);
}
TMAgent.AGENT.setExpandoProperty(_de,TMDhtmlEditableValuePeer._CONTENT_ID_ATTR_NAME,_dd.id);
};
TMDhtmlEditableValuePeer.GetContentNode=function(_df,_e0){
var _e1=_e0;
if(!_e1){
_e1=TMUIPeer.getDomElementForComponent(_df);
}
var id=TMAgent.AGENT.getExpandoProperty(_e1,TMDhtmlEditableValuePeer._CONTENT_ID_ATTR_NAME);
if(id){
var _e3=TMAgent.AGENT.getElementById(id);
if(_e3){
return _e3;
}
}
return _e1;
};
TMUIPeer.createPeerClass(TMDhtmlEditableValuePeer,"TMDhtmlInputTextPeer");
TMDhtmlInputTextPeer.InitSubclass=function(){
this._CONTENT_ID="content";
};
TMDhtmlInputTextPeer.prototype.InitDomElement=function(_e4,_e5){
TMDhtmlInputTextPeer.superclass.InitDomElement.call(this,_e4,_e5);
var _e6=TMUIPeer.CreateSubId(_e4.getClientId(),TMDhtmlInputTextPeer._CONTENT_ID);
var _e7=TMAgent.AGENT.getElementById(_e6);
TMDhtmlEditableValuePeer.SetContentNode(_e4,_e7);
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlPopupPeer");
TMDhtmlPopupPeer.InitSubclass=function(){
this._SHOWN="_shown";
TMObject.ensureClassInitialization(TMUIPopupComponent);
};
TMDhtmlPopupPeer.prototype.show=function(_e8,_e9){
if(this.isVisible(_e8)){
return;
}
var _ea=_e8.getContentDelivery();
var _eb=(_ea==TMUIPopupComponent.CONTENT_DELIVERY_LAZY),_ec=(_ea==TMUIPopupComponent.CONTENT_DELIVERY_LAZY_UNCACHED);
if(_eb||_ec){
if(!_e8._hasContent){
var _ed=TMUIPeer.getDomElementForComponent(_e8);
TMAgent.AGENT.setExpandoProperty(_ed,"hints",_e9);
var a=new TMContentFetchEvent(_e8,TMContentFetchEvent.CLIENT_FETCH_EVENT_TYPE);
a.queue();
return;
}
}
if(_ec){
delete _e8._hasContent;
}
var _ef=new TMPopupOpeningEvent(_e8);
_e8.broadcast(_ef);
if(!_ef.isCanceled()){
this._showPopup(_e8,_e9);
TMDhtmlPopupPeer._setShown(_e8,true);
new TMPopupOpenedEvent(_e8).queue();
}
};
TMDhtmlPopupPeer._setShown=function(_f0,_f1){
};
TMDhtmlPopupPeer.prototype.hide=function(_f2){
if(!this.isVisible(_f2)){
return;
}
delete _f2._hasContent;
this.hidePopup(_f2,_f2.getClientId());
};
TMDhtmlPopupPeer.prototype.isVisible=function(_f3){
return this.isPopupVisible(_f3,_f3.getClientId());
};
TMDhtmlPopupPeer.prototype.ComponentRemoved=function(_f4){
var _f5=TMDhtmlPopupPeer._getContentDom(_f4);
if(_f5){
TMPage.PAGE.removeComponentsInSubtree(_f5);
}
};
TMDhtmlPopupPeer.prototype.CreateContentDomElement=function(_f6,_f7){
var _f8=TMPage.PAGE.getDomDocument();
var _f9=_f8.createElement("div");
var _fa=_f6.getClientId();
var id=TMUIPeer.CreateSubId(_fa,"content");
_f9.id=id;
return _f9;
};
TMDhtmlPopupPeer._getContentDom=function(_fc){
var _fd=TMUIPeer.CreateSubId(_fc.getClientId(),"content");
return TMAgent.AGENT.getElementById(_fd);
};
TMDhtmlPopupPeer.prototype._showPopup=function(_fe,_ff){
var _100=TMDhtmlPopupPeer._getContentDom(_fe);
var _101={};
if(_fe._childHints){
TMCollections.copyInto(_101,_fe._childHints);
}
if(_ff){
TMCollections.copyInto(_101,_ff);
}
var _102=this._getFirstMenuPeer(_fe,_101);
if(_102!=null){
_102.show(_101);
}else{
this.showPopup(_fe,_100,_101,_fe.getClientId());
}
};
TMDhtmlPopupPeer.prototype._getFirstMenuPeer=function(_103,_104){
var _105=null;
if(_104[TMDhtmlPopupWindow.HINT_TYPE]!=null){
_103.visitChildren(this._visitChildrenForMenu,this,true);
if(this._firstMenuChild){
_105=this._firstMenuChild.getPeer();
delete this._firstMenuChild;
}
}
return _105;
};
TMDhtmlPopupPeer.prototype._visitChildrenForMenu=function(_106){
if(_106 instanceof TMUIMenuComponent){
this._firstMenuChild=_106;
}
return 2;
};
TMDhtmlPopupPeer.prototype.PopupClosed=function(_107,_108){
var _109=TMAgent.AGENT;
var _10a=_109.getElementById(_107.getClientId());
if(_108){
_10a.appendChild(_108);
}
TMDhtmlPopupPeer._setShown(_107,false);
new TMPopupClosedEvent(_107).queue();
};
TMDhtmlPopupPeer.prototype.DispatchComponentEvent=function(_10b){
if(_10b.getType()==TMContentFetchEvent.LOADED_EVENT_TYPE){
var _10c=this.getComponent();
_10c._hasContent=true;
var _10d=TMUIPeer.getDomElementForComponent(_10c);
var _10e=this.getAllPopups(_10c);
for(popupName in _10e){
_10e[popupName].contentReplaced();
}
var _10f=TMAgent.AGENT.getExpandoProperty(_10d,"hints",null);
this.show(_10c,_10f);
_10b.cancel();
}else{
TMDhtmlPopupPeer.superclass.DispatchComponentEvent.call(this,_10b);
}
};
TMDhtmlPopupPeer.prototype.DomReplaceNotify=function(_110){
new TMContentFetchEvent(this.getComponent(),TMContentFetchEvent.LOADED_EVENT_TYPE).queue();
return _110;
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlCommandMenuItemPeer");
TMDhtmlCommandMenuItemPeer.InitSubclass=function(){
TMObject.ensureClassInitialization(TMUICommandMenuItemComponent);
TMUIPeer.addComponentEventHandlers(this,TMUIInputEvent.MOUSE_IN_EVENT_TYPE,TMUIInputEvent.MOUSE_OUT_EVENT_TYPE,TMUIInputEvent.CLICK_EVENT_TYPE,TMUIInputEvent.FOCUS_EVENT_TYPE,TMUIInputEvent.BLUR_EVENT_TYPE,TMUIInputEvent.KEY_DOWN_EVENT_TYPE);
TMUIPeer.addComponentPropertyChanges(this,TMUICommandMenuItemComponent.DISABLED,TMUICommandMenuItemComponent.SELECTED);
this._SELECTED_STYLE_CLASS="p_TMSelected";
this.AFR_TARGETROWCURRENCY="_afrTargetRowCurrency";
this.AFR_TARGETCELLCURRENCY="_afrTargetCellCurrency";
this.AFR_TARGETCOMPONENTID="_afrTargetComponentId";
this.AFR_GROUPID="_afrgroupid";
};
TMDhtmlCommandMenuItemPeer.prototype.Init=function(_111){
_111.getParent();
TMDhtmlCommandMenuItemPeer.superclass.Init.call(this,_111);
};
TMDhtmlCommandMenuItemPeer.prototype.InitDomElement=function(_112,_113){
TMDhtmlCommandMenuItemPeer.superclass.InitDomElement.call(this,_112,_113);
var _114=_112.getAccelerator();
if(_114!=null){
TMUIPeer.registerKeyStroke(_112,_114,this._execute);
}
};
TMDhtmlCommandMenuItemPeer.CreateDomElement=function(_115){
var _116=TMPage.PAGE.getDomDocument();
var _117=_116.createDocumentFragment();
var trEl=_116.createElement("tr");
trEl.onclick="return false";
trEl.tabIndex="0";
trEl.className="tm_commandMenuItem tm_commandMenuItem_menu-item";
trEl.id=_115.id;
var tdEl=_116.createElement("td");
tdEl.className="tm_commandMenuItem_menu-item-icon-style";
var _11a=_116.createElement("div");
_11a.className="tm_commandMenuItem_menu-item-empty-cell";
tdEl.appendChild(_11a);
trEl.appendChild(tdEl);
tdEl=_116.createElement("td");
tdEl.className="tm_commandMenuItem_menu-item-text";
tdEl.innerHTML=_115.text;
trEl.appendChild(tdEl);
tdEl=_116.createElement("td");
tdEl.className="tm_commandMenuItem_menu-item-accelerator";
_11a=_116.createElement("div");
_11a.className="tm_commandMenuItem_menu-item-empty-cell";
tdEl.appendChild(_11a);
trEl.appendChild(tdEl);
tdEl=_116.createElement("td");
tdEl.className="tm_commandMenuItem_menu-item-open-indicator";
_11a=_116.createElement("div");
_11a.className="tm_commandMenuItem_menu-item-empty-cell";
tdEl.appendChild(_11a);
trEl.appendChild(tdEl);
trEl.appendChild(tdEl);
_117.appendChild(trEl);
return _117;
};
TMDhtmlCommandMenuItemPeer.prototype.ComponentRemoved=function(_11b){
var _11c=_11b.getAccelerator();
if(_11c!=null){
TMUIPeer.unregisterKeyStroke(_11b,_11c);
}
TMDhtmlCommandMenuItemPeer.superclass.ComponentRemoved.call(this,_11b);
};
TMDhtmlCommandMenuItemPeer.prototype.deselectElement=function(){
var _11d=this.getDomElement();
TMDomUtils.removeCSSClassName(_11d,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentKeyDown=function(_11e){
var _11f=this.getComponent();
var _120=this.getDomElement();
var _121=TMAgent.AGENT;
var evt=_11e.getNativeEvent();
var _123=_121.getKeyCode(evt);
var _124;
if(evt.ctrlKey){
return;
}
switch(_123){
case TMKeyStroke.ARROWUP_KEY:
this._moveHighlightUp();
_11e.cancel();
break;
case TMKeyStroke.ARROWDOWN_KEY:
this._moveHighlightDown();
_11e.cancel();
break;
case TMKeyStroke.ARROWRIGHT_KEY:
var _125=_11f.getParent();
while(_125&&_125 instanceof TMUIMenuComponent){
var _126=_125.getPeer();
if(_126.isDetached()){
break;
}
if(!_126.isSubMenu()){
_126.HandleComponentKeyDown(_11e);
break;
}
_125=_125.getParent();
}
break;
case TMKeyStroke.SPACE_KEY:
case TMKeyStroke.ENTER_KEY:
this._execute();
_11e.cancel();
break;
case TMKeyStroke.HOME_KEY:
TMFocusUtils.focusFirstTabStop(_120.parentNode);
_124=true;
break;
case TMKeyStroke.END_KEY:
TMFocusUtils.focusLastTabStop(_120.parentNode);
_124=true;
break;
}
if(_124){
_11e.cancel();
TMDhtmlMenuPeer.InvokedByKey=true;
}
var _125=_11f.getParent();
if(_125&&_125 instanceof TMUIMenuComponent){
_125.getPeer().updateScrollIconsState();
}
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentFocus=function(_127){
var _128=this.getComponent();
if(!TMDhtmlCommandMenuItemPeer._isDisabled(_128)){
var _129=this.getDomElement();
this.deselectElement();
TMPage.PAGE.setLastFocusedElement(_129);
TMDhtmlMenuPeer.cancelShowing();
var _12a=parseInt(_129.getAttribute("_afrmenudepth"));
var _12b=TMDhtmlMenuPeer.InvokedByKey||TMDhtmlMenuPeer.IsImmediate(_12a);
TMDhtmlMenuPeer.dismiss(_129,_12b);
TMDomUtils.addCSSClassName(_129,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
_127.cancel();
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentMouseOver=function(_12c){
if(TMDhtmlMenuPeer.InvokedByKey){
return;
}
var _12d=_12c.getNativeEvent();
TMDhtmlMenuPeer.CurrentMousePosition=TMAgent.AGENT.getMousePosition(_12d);
var _12e=this.getComponent();
if(!TMDhtmlCommandMenuItemPeer._isDisabled(_12e)){
var _12f=this.getDomElement();
_12c.cancel();
TMFocusUtils.focusElement(_12f);
}
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentMouseOut=function(_130){
TMDhtmlMenuPeer.OldMousePosition=TMDhtmlMenuPeer.CurrentMousePosition;
this.getDomElement().blur();
this.deselectElement();
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentBlur=function(_131){
this.deselectElement();
};
TMDhtmlCommandMenuItemPeer.prototype.HandleComponentClick=function(_132){
var _133=this.getComponent();
if(!TMDhtmlCommandMenuItemPeer._isDisabled(_133)&&_132.isLeftButtonPressed()){
this._execute();
var _134=_133.getParent();
if(_134 instanceof TMUIMenuComponent){
var _135=_134.getPeer();
_135.close(true);
}
}else{
_132.cancel();
}
};
TMDhtmlCommandMenuItemPeer.prototype.ComponentDisabledChanged=function(_136,_137,_138,_139){
if(_138==true){
TMDomUtils.addCSSClassName(_137,TMUIPeer.DISABLED_STYLECLASS);
_137.setAttribute("_afrdisabled","true");
}else{
TMDomUtils.removeCSSClassName(_137,TMUIPeer.DISABLED_STYLECLASS);
_137.removeAttribute("_afrdisabled");
}
};
TMDhtmlCommandMenuItemPeer.prototype.ComponentSelectedChanged=function(_13a,_13b,_13c,_13d){
if(_13c==true){
TMDomUtils.addCSSClassName(_13b,TMDhtmlCommandMenuItemPeer._SELECTED_STYLE_CLASS);
}else{
TMDomUtils.removeCSSClassName(_13b,TMDhtmlCommandMenuItemPeer._SELECTED_STYLE_CLASS);
}
};
TMDhtmlCommandMenuItemPeer.prototype._execute=function(){
var _13e=this.getComponent();
if(!TMDhtmlCommandMenuItemPeer._isDisabled(_13e)){
var type=_13e.getType();
if(type=="check"||type=="antonym"){
_13e.setSelected(!_13e.getSelected());
}else{
if(type=="radio"){
var _140=this.getDomElement();
var _141=_140.parentNode.childNodes;
var _142=this._groupIdFor(_140);
for(var i=0;i<_141.length;i++){
var _144=_141[i];
var id=_144.id||null;
if(id){
var comp=TMPage.PAGE.findComponent(id);
if(comp.getType()=="radio"&&comp!=_13e){
var _147=this._groupIdFor(_144);
if(_147==_142){
comp.setSelected(false);
}
}
}
}
_13e.setSelected(true);
}
}
TMDhtmlMenuPeer.closeAllMenus(true);
var _148=_13e.getParent();
while(_148 instanceof TMUIMenuComponent){
_148=_148.getParent();
}
if(_148 instanceof TMUIPopupComponent){
_148.getPeer().hide(_148);
}
var _149=TMDhtmlCommandMenuItemPeer._getContextMenuItemTargetAttrs(_13e);
if(_149!=null){
TMDhtmlCommandMenuItemPeer._setContextMenuItemTargetAttrs(_13e,_149);
}
TMActionEvent.queue(_13e,_13e.getPartialSubmit());
}
};
TMDhtmlCommandMenuItemPeer.prototype._groupIdFor=function(_14a){
return _14a.getAttribute(TMDhtmlCommandMenuItemPeer.AFR_GROUPID);
};
TMDhtmlCommandMenuItemPeer._getContextMenuItemTargetAttrs=function(_14b){
var _14c=null;
var _14d=_14b.getParent();
while(_14d!=null&&((_14d instanceof TMUIMenuComponent)||_14d instanceof TMUIPopupComponent)){
var _14e;
if((_14e=_14d[this.AFR_TARGETROWCURRENCY])!=null){
_14c={targetRowCurrency:_14e,targetCellCurrency:_14d[this.AFR_TARGETCELLCURRENCY],targetComponentId:_14d[this.AFR_TARGETCOMPONENTID]};
break;
}
var _14d=_14d.getParent();
}
return _14c;
};
TMDhtmlCommandMenuItemPeer._setContextMenuItemTargetAttrs=function(_14f,_150){
var _151=this.AFR_TARGETROWCURRENCY,_152=this.AFR_TARGETCOMPONENTID,_153=this.AFR_TARGETCELLCURRENCY;
_14f.setProperty(_152,null);
_14f.setProperty(_151,null);
_14f.setProperty(_153,null);
_14f.setProperty(_152,_150.targetComponentId);
_14f.setProperty(_151,_150.targetRowCurrency);
_14f.setProperty(_153,_150.targetCellCurrency);
};
TMDhtmlCommandMenuItemPeer._isDisabled=function(_154){
if(_154 instanceof TMUICommandMenuItemComponent){
var _155=TMUIPeer.getDomElementForComponent(_154);
return (""+_155.getAttribute("_afrdisabled")=="true");
}
};
TMDhtmlCommandMenuItemPeer.prototype._moveHighlightUp=function(){
this._moveHighlight(true);
};
TMDhtmlCommandMenuItemPeer.prototype._moveHighlightDown=function(){
this._moveHighlight(false);
};
TMDhtmlCommandMenuItemPeer.prototype._moveHighlight=function(up){
var _157=this.getDomElement();
if(up){
TMFocusUtils.focusPreviousTabStop(_157,_157.parentNode);
}else{
TMFocusUtils.focusNextTabStop(_157,_157.parentNode);
}
var _158=this.getComponent().getParent();
if(_158&&_158 instanceof TMUIMenuComponent){
_158.getPeer().updateScrollIconsState();
}
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlDocumentPeer",false);
TMDhtmlDocumentPeer.prototype.InitDomElement=function(_159,_15a){
var page=TMPage.PAGE;
TMDhtmlDocumentPeer.superclass.InitDomElement.call(this,_159,_15a);
var _15c=_159.getProperty("clientListeners");
if(_15c&&_15c["load"]){
page.setOnLoadCallback(_15c["load"]);
}
if(page.isScreenReaderMode){
var _15d=_159.getInitialFocusId();
if(_15d){
this._activateFocusCallback=this.createCallback(this._activateFocus);
this._focusTimerId=window.setTimeout(this._activateFocusCallback,50);
}
}
};
TMDhtmlDocumentPeer.prototype._activateFocus=function(){
var _15e=this.getComponent().getInitialFocusId();
if(_15e){
var _15f=TMPage.PAGE.findComponent(_15e);
if(_15f){
_15f.focus();
}else{
TMFocusUtils.focusElementById(_15e);
}
}
window.clearTimeout(this._focusTimerId);
this._activateFocusCallback=null;
this._focusTimerId=null;
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlMenuPeer",false);
TMDhtmlMenuPeer.InitSubclass=function(){
TMUIPeer.addComponentEventHandlers(this,TMUIInputEvent.MOUSE_DOWN_EVENT_TYPE,TMUIInputEvent.MOUSE_UP_EVENT_TYPE,TMUIInputEvent.MOUSE_IN_EVENT_TYPE,TMUIInputEvent.MOUSE_OUT_EVENT_TYPE,TMUIInputEvent.FOCUS_EVENT_TYPE,TMUIInputEvent.BLUR_EVENT_TYPE,TMUIInputEvent.KEY_PRESS_EVENT_TYPE,TMUIInputEvent.KEY_DOWN_EVENT_TYPE,TMUIInputEvent.CLICK_EVENT_TYPE);
this._HIGHLIGHTED_STYLE="p_TMHighlighted";
this._DEPRESSED_STYLE="p_AFDepressed";
this._DETACHED_STYLE="p_AFDetached";
this._DISABLED_STYLE="p_TMDisabled";
this._DEPTH_KEY="_afrmenudepth";
this._sDetachedMenus=[];
this._sOpenedMenus=[];
this._sBarMenus=[];
this._SCROLL_DELTA=3;
this._OPEN_CLOSE_DELAY=300;
var _160=TMKeyStroke.M_KEY;
var _161=TMKeyStroke.SHIFT_MASK|TMKeyStroke.CTRL_MASK;
this._menuBarKeyStroke=TMKeyStroke.getKeyStroke(_160,_161);
};
TMDhtmlMenuPeer.prototype.Init=function(_162){
_162.getParent();
TMDhtmlMenuPeer.superclass.Init.call(this,_162);
this._visibleItems=10;
};
TMDhtmlMenuPeer.prototype.InitDomElement=function(_163,_164){
if(_164.getAttribute(TMDhtmlMenuPeer._DEPTH_KEY)=="1"){
var _165=_163.getClientId();
TMDhtmlMenuPeer._addBarMenu(_165);
}
};
TMDhtmlMenuPeer.CreateDomElement=function(_166){
TMObject.ensureClassInitialization(TMDhtmlMenuPeer);
var _167=TMPage.PAGE.getDomDocument();
var _168=_167.createElement("div");
_168.id=_166.id;
var _169=_166.depthKey;
if(!_169){
_169=1;
}
_168.setAttribute(TMDhtmlMenuPeer._DEPTH_KEY,_169);
var _16a=_167.createElement("table");
_16a.cellSpacing="0";
_16a.cellPadding="0";
_16a.border="0";
_16a.summary="";
_16a.className="tm_menu_child-container";
var _16b=TMUIPeer.CreateSubId(_166.id,"menu");
_16a.id=_16b;
var _16c=document.createElement("tbody");
_16a.appendChild(_16c);
_168.appendChild(_16a);
return _168;
};
TMDhtmlMenuPeer.closeAllMenus=function(_16d){
var _16e=TMDhtmlMenuPeer._sOpenedMenus;
var peer;
for(var i=_16e.length-1;i>=0;i--){
var _171=_16e[i];
var _172=TMPage.PAGE.findComponent(_171);
if(_172){
peer=_172.getPeer();
peer.hidePopup();
}else{
delete _16e[i];
}
}
if(peer&&_16d){
var _173=_172.getParent();
peer.Focus();
}
};
TMDhtmlMenuPeer.isMenuOpened=function(){
return TMDhtmlMenuPeer._sOpenedMenus&&TMDhtmlMenuPeer._sOpenedMenus.length>0;
};
TMDhtmlMenuPeer.prototype._initElements=function(_174,_175,_176){
var _177=TMAgent.AGENT,_178;
if(_174.getDetachable()){
_178=TMUIPeer.CreateSubId(_175,"close");
this._closeElement=_177.getElementById(_178);
this._undetachCallback=this.createCallback(this._undetach);
_177.addBubbleEventListener(this._closeElement,"mousedown",this._undetachCallback);
_178=TMUIPeer.CreateSubId(_175,"handle");
this._handleElement=_177.getElementById(_178);
this._stopCallback=this.createCallback(this._onHandleClick);
_177.addBubbleEventListener(this._handleElement,"mousedown",this._stopCallback);
}
_178=TMUIPeer.CreateSubId(_175,"ScrollUp");
this._scrollUpElement=_177.getElementById(_178);
if(this._scrollUpElement){
_178=TMUIPeer.CreateSubId(_175,"ScrollDown");
this._scrollDownElement=_177.getElementById(_178);
_178=TMUIPeer.CreateSubId(_175,"ScrollBox");
this._scrollBoxElement=_177.getElementById(_178);
_178=TMUIPeer.CreateSubId(_175,"ScrollContent");
this._scrollContentElement=_177.getElementById(_178);
var _179=this._scrollContentElement.rows;
var _17a=_179[0].offsetTop;
var _17b=_179[this._visibleItems].offsetTop;
var _17c=_17b-_17a;
this._scrollBoxElement.style.height=_17c+"px";
}
};
TMDhtmlMenuPeer.prototype.show=function(_17d){
var _17e=this.getDomElement();
var _17f=TMAgent.AGENT;
var _180=this.getComponent();
var _181=_180.getClientId();
TMDomUtils.addCSSClassName(_17e,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
if(this._isDetached){
this._wasDetached=true;
TMDomUtils.removeCSSClassName(this._getMenuElement(),TMDhtmlMenuPeer._DETACHED_STYLE);
var _182=this.getPopupWindow(_180,_181);
_182.autoSize();
TMDhtmlMenuPeer._sOpenedMenus.push(_181);
this._snapDetachedMenu();
this._isDetached=false;
}
var _183=this._getMenuElement();
if(_183.style.display!="block"){
var _184=new Object();
_184[TMDhtmlPopupWindow.HINT_TYPE]=TMDhtmlPopupWindow.HINT_TYPE_MENU;
_184[TMDhtmlPopupWindow.HINT_AUTODISMISS]=TMDhtmlPopupWindow.HINT_AUTODISMISS_MENU;
_184[TMDhtmlPopupWindow.HINT_ALIGN_ELEMENT]=_17e;
_184[TMDhtmlPopupWindow.HINT_FOCUS]=false;
_184[TMDhtmlPopupWindow.HINT_CLOSE_ON_ESCAPE]=false;
_184[TMDhtmlPopupWindow.HINT_CLOSE_HANDLER]=this.createCallback(this._clearHighlight);
if(_17d==null||_17d[TMDhtmlPopupWindow.HINT_MOUSEPOSITION]==null){
if(this.isSubMenu()){
_184[TMDhtmlPopupWindow.HINT_ALIGN]=TMDhtmlPopupWindow.ALIGN_END_BEFORE;
}else{
_184[TMDhtmlPopupWindow.HINT_ALIGN]=TMDhtmlPopupWindow.ALIGN_AFTER_START;
}
}
TMCollections.copyInto(_184,_17d);
_183.style.display="block";
var _185=this._elemsInitialized;
if(!_185){
_183.style.visibility="hidden";
}
this.showPopup(_180,_183,_184,_181);
if(!_185){
this._initElements(_180,_181,_183);
_183.style.visibility="";
this._elemsInitialized=true;
}
if(this.getDepth()==1){
TMDhtmlMenuPeer._activeOwnerId=this.getOwnerId();
}
if(_180.getDetachable()){
this._createDetachableWindow();
}
}
};
TMDhtmlMenuPeer.prototype.showPopup=function(_186,_187,_188,_189){
if(!this._isMenuOpen(_186)){
TMDhtmlMenuPeer._sOpenedMenus.push(_189);
}
TMDhtmlMenuPeer.superclass.showPopup.call(this,_186,_187,_188,_189);
};
TMDhtmlMenuPeer.prototype.PopupClosed=function(_18a,_18b,_18c){
TMDhtmlMenuPeer.superclass.PopupClosed.call(this,_18a,_18b);
_18b.style.display="none";
var _18d=this.getDomElement();
_18d.appendChild(_18b);
};
TMDhtmlMenuPeer.dismiss=function(_18e,_18f,_190){
var _191=TMDhtmlMenuPeer._sOpenedMenus;
if(!_191){
return;
}
for(var i=_191.length-1;i>=0;i--){
var _193=_191[i];
var _194=TMPage.PAGE.findComponent(_193);
if(!_194){
delete _191[i];
continue;
}
var _195=_194.getPeer();
if(_195.contains(_18e)){
break;
}
if(_190){
_191.pop();
}else{
_195._deselectElement();
if(_18f){
_195.hidePopup();
}else{
_195._delayPopupHiding(i);
}
}
}
};
TMDhtmlMenuPeer.prototype.contains=function(_196){
var _197=this.getDomElement();
var _198=TMDomUtils.isAncestorOrSelf(_197,_196);
var _199=TMDomUtils.isAncestor(this._getMenuElement(),_196);
return _198||_199;
};
TMDhtmlMenuPeer.prototype.hidePopup=function(){
var _19a=this.getDepth();
if(_19a==1){
TMDomUtils.removeCSSClassName(this.getDomElement(),TMDhtmlMenuPeer._DEPRESSED_STYLE);
}
if(this._wasDetached){
delete this._wasDetached;
var _19b=this._detachableWindow.getElement();
_19b.style.left=this._menuLeft;
_19b.style.top=this._menuTop;
this._makeDetached();
}else{
var _19c=this.getComponent();
var _19d=_19c.getClientId();
var _19e=TMDhtmlMenuPeer._sOpenedMenus[TMDhtmlMenuPeer._sOpenedMenus.length-1];
if(_19e!=_19d){
return;
}
TMDhtmlMenuPeer._sOpenedMenus.pop();
if(TMDhtmlMenuPeer._popupPeerWaitingForShow){
var peer=TMDhtmlMenuPeer._popupPeerWaitingForShow;
if(this.contains(peer.getDomElement())){
TMDhtmlMenuPeer.cancelShowing();
}
}
TMDhtmlMenuPeer.superclass.hidePopup.call(this,_19c,_19d);
}
};
TMDhtmlMenuPeer.prototype.close=function(_1a0,_1a1){
if(this._isDetached){
TMDomUtils.addCSSClassName(this._getMenuElement(),TMDhtmlMenuPeer._DETACHED_STYLE);
if(this._menuLeft&&this._menuTop){
var _1a2=this._detachableWindow.getElement();
_1a2.style.left=this._menuLeft;
_1a2.style.top=this._menuTop;
}
if(!_1a1){
this._deselectElement();
}
this.hidePopup();
return;
}
var _1a3=this.getComponent();
var _1a4=_1a3.getParent();
if(_1a4 instanceof TMUIPopupComponent){
_1a4.hide();
}else{
if(_1a0){
this.hidePopup();
}else{
this._delayPopupHiding();
}
if(!_1a1){
this._deselectElement();
}
}
};
TMDhtmlMenuPeer.cancelShowing=function(){
if(TMDhtmlMenuPeer._popupShowingHandle){
window.clearTimeout(TMDhtmlMenuPeer._popupShowingHandle);
delete TMDhtmlMenuPeer._popupShowingHandle;
delete TMDhtmlMenuPeer._popupPeerWaitingForShow;
}
};
TMDhtmlMenuPeer.prototype.getOwnerId=function(){
if(!this._ownerId){
var el=this.getDomElement().parentNode;
do{
var id=el.getAttribute("id");
el=el.parentNode;
}while(!id&&el);
if(id){
this._ownerId=id;
}
}
return this._ownerId;
};
TMDhtmlMenuPeer.prototype.getDepth=function(){
if(!this._depth){
var _1a7=this.getDomElement();
this._depth=parseInt(_1a7.getAttribute(TMDhtmlMenuPeer._DEPTH_KEY));
}
return this._depth;
};
TMDhtmlMenuPeer.prototype.isDetached=function(){
if(this._isDetached){
return true;
}
var _1a8=this.getComponent().getParent();
if(_1a8 instanceof TMUIMenuComponent){
var peer=_1a8.getPeer();
return peer.isDetached();
}
return false;
};
TMDhtmlMenuPeer.focusNextDetachedMenu=function(_1aa){
if(!TMDhtmlMenuPeer._sDetachedMenus||TMDhtmlMenuPeer._sDetachedMenus.length==0){
return false;
}
var _1ab;
if(_1aa){
var _1ac=TMCollections.indexOf(TMDhtmlMenuPeer._sDetachedMenus,_1aa);
_1ab=TMDhtmlMenuPeer._sDetachedMenus[_1ac+1];
}
_1ab=_1ab||TMDhtmlMenuPeer._sDetachedMenus[0];
if(_1ab&&(_1ab!=_1aa)){
var _1ad=TMPage.PAGE.findComponent(_1ab).getPeer();
var _1ae=_1ad._getMenuElement().getElementsByTagName("tbody")[0];
TMFocusUtils.focusFirstTabStop(_1ae);
}
return true;
};
TMDhtmlMenuPeer.prototype.isSubMenu=function(){
return this.getDepth()>1;
};
TMDhtmlMenuPeer.prototype.isDisabled=function(){
var _1af=this.getDomElement();
return (_1af.disabled||_1af.getAttribute("disabled")=="true")||TMDomUtils.containsCSSClassName(_1af,TMUIPeer.DISABLED_STYLECLASS);
};
TMDhtmlMenuPeer.prototype.HandleComponentMouseOut=function(_1b0){
TMDhtmlMenuPeer.OldMousePosition=TMDhtmlMenuPeer.CurrentMousePosition;
var el=document.getElementById(TMDhtmlMenuPeer._highlightedMenuBarItemId);
if(el){
TMDomUtils.removeCSSClassName(el,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
var _1b2=this.getDepth();
if(_1b2>1){
if(TMDhtmlMenuPeer._popupPeerWaitingForShow==this){
TMDhtmlMenuPeer.cancelShowing();
}
var _1b3=this.getComponent();
if(!this.getPopupWindow(_1b3,_1b3.getClientId())){
this.getDomElement().blur();
}
}
};
TMDhtmlMenuPeer.prototype.HandleComponentKeyPress=function(_1b4){
if(_1b4.isCanceled()||this.isDisabled()){
return;
}
var evt=_1b4.getNativeEvent();
var _1b6=_1b4.getKeyCode();
var isIE=TMAgent.AGENT.isIE();
var _1b8=isIE?(_1b6==23):(_1b6==87);
if(this._detachableWindow&&evt.ctrlKey&&evt.shiftKey&&_1b8){
TMDhtmlMenuPeer.focusNextDetachedMenu(this.getComponent().getClientId());
_1b4.cancel();
}
};
TMDhtmlMenuPeer.prototype.HandleComponentKeyDown=function(_1b9){
if(_1b9.isCanceled()||this.isDisabled()){
return;
}
var evt=_1b9.getNativeEvent();
var _1bb=this.getDomElement();
var _1bc=_1b9.getKeyCode();
var _1bd=this.isSubMenu();
var _1be=this.getComponent();
if(evt.ctrlKey){
if(this._detachableWindow){
var isIE=TMAgent.AGENT.isIE();
var _1c0=isIE?(_1bc==187):(_1bc==61);
if(evt.altKey&&_1c0){
this._moveDetachable(0,0);
_1b9.cancel();
}else{
var _1c1=true;
switch(_1bc){
case TMKeyStroke.ARROWUP_KEY:
this._moveDetachable(0,-20);
break;
case TMKeyStroke.ARROWDOWN_KEY:
this._moveDetachable(0,20);
break;
case TMKeyStroke.ARROWLEFT_KEY:
this._moveDetachable(-20,0);
break;
case TMKeyStroke.ARROWRIGHT_KEY:
this._moveDetachable(20,0);
break;
default:
_1c1=false;
}
if(_1c1){
_1b9.cancel();
}
}
}
return;
}
TMDhtmlMenuPeer.InvokedByKey=true;
switch(_1bc){
case TMKeyStroke.ARROWUP_KEY:
this._moveHighlightUp();
_1b9.cancel();
break;
case TMKeyStroke.ARROWDOWN_KEY:
if(_1bd){
this._moveHighlightDown();
}else{
TMDomUtils.addCSSClassName(_1bb,TMDhtmlMenuPeer._DEPRESSED_STYLE);
this.show();
TMFocusUtils.focusFirstTabStop(this._getMenuElement());
}
_1b9.cancel();
break;
case TMKeyStroke.ARROWRIGHT_KEY:
if(_1bd){
if(!this.isPopupVisible(_1be,_1be.getClientId())){
this.show();
}
if(!this.isDetached()){
TMFocusUtils.focusFirstTabStop(this._getMenuElement());
}
_1b9.cancel();
}else{
if(!this.isDetached()){
var _1c2=this.getComponent().getParent();
if(!(_1c2 instanceof TMUIMenuComponent)){
var _1c3=this.getOwnerId();
var _1c4=TMAgent.AGENT.getElementById(_1c3);
TMFocusUtils.focusNextTabStop(_1bb,_1c4,true);
_1b9.cancel();
}
}else{
_1b9.cancel();
}
}
break;
case TMKeyStroke.ARROWLEFT_KEY:
if(_1bd&&_1bb!=TMPage.PAGE.getLastFocusedElement()&&this.contains(TMPage.PAGE.getLastFocusedElement())){
if(!this.isDetached()){
this.Focus();
this.close(true,true);
}
_1b9.cancel();
}else{
if(!_1bd){
var _1c2=_1be.getParent();
if(!(_1c2 instanceof TMUIMenuComponent)){
var _1c3=this.getOwnerId();
var _1c4=TMAgent.AGENT.getElementById(_1c3);
TMFocusUtils.focusPreviousTabStop(_1bb,_1c4,true);
}
_1b9.cancel();
}
}
break;
case TMKeyStroke.HOME_KEY:
TMFocusUtils.focusFirstTabStop(_1bb.parentNode);
_1b9.cancel();
break;
case TMKeyStroke.END_KEY:
TMFocusUtils.focusLastTabStop(_1bb.parentNode);
_1b9.cancel();
break;
case TMKeyStroke.SPACE_KEY:
case TMKeyStroke.ENTER_KEY:
TMDomUtils.addCSSClassName(_1bb,TMDhtmlMenuPeer._DEPRESSED_STYLE);
this.show();
TMFocusUtils.focusFirstTabStop(this._getMenuElement());
_1b9.cancel();
break;
case TMKeyStroke.ESC_KEY:
if(this._isDetached){
this._undetach();
}
if(_1bd){
if(TMPage.PAGE.getLastFocusedElement()!=_1bb){
this.Focus();
this.close(true,true);
_1b9.cancel();
}
}else{
var _1c5=TMDhtmlMenuPeer.isMenuOpened();
if(!_1c5){
_1bb.blur();
var _1c2=_1be.getParent();
}else{
TMDhtmlMenuPeer.closeAllMenus();
_1bb.blur();
this.Focus();
if(_1be&&_1be.getParent() instanceof TMUIPopupComponent){
var _1c2=_1be.getParent();
_1c2.getPeer().hide(_1c2);
}
}
}
break;
}
};
TMDhtmlMenuPeer.prototype.HandleComponentFocus=function(_1c6){
if(_1c6.isCanceled()||this.isDisabled()){
return;
}
_1c6.cancel();
var _1c7=this.getDomElement();
var _1c8=this.isSubMenu();
var _1c9=TMDhtmlMenuPeer.InvokedByKey;
var _1ca=TMDhtmlMenuPeer.isMenuOpened();
if((_1ca||this.isDetached())||_1c8){
var _1cb=this.getDepth();
if(_1cb==1&&this.getOwnerId()!=TMDhtmlMenuPeer._activeOwnerId){
return;
}
TMDomUtils.addCSSClassName(_1c7,TMDhtmlMenuPeer._DEPRESSED_STYLE);
var _1cc=_1c9||!_1c8;
var _1cd=_1ca;
TMDhtmlMenuPeer.dismiss(_1c7,_1cc);
if(!_1c9){
if(_1cc){
this.show();
}else{
TMDomUtils.addCSSClassName(_1c7,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
this._delayShow();
}
}else{
if(_1cd&&!_1c8){
this.show();
}else{
TMDomUtils.addCSSClassName(_1c7,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
}
if(_1cb==1&&_1c9){
TMFocusUtils.focusFirstTabStop(this._getMenuElement());
_1c6.cancel();
}
}else{
TMDomUtils.addCSSClassName(_1c7,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
TMPage.PAGE.setLastFocusedElement(_1c7);
};
TMDhtmlMenuPeer.prototype.HandleComponentMouseOver=function(_1ce){
this._cancelHiding();
var _1cf=_1ce.getNativeEvent();
TMDhtmlMenuPeer.CurrentMousePosition=TMAgent.AGENT.getMousePosition(_1cf);
TMDhtmlMenuPeer.InvokedByKey=false;
if(_1ce.isCanceled()||this.isDisabled()){
return;
}
var _1d0=TMAgent.AGENT;
var _1d1=this.getDomElement();
if(!_1d0.isEventInElement(_1cf,_1d1)){
return;
}
var _1d2=this.getComponent();
if(!TMDhtmlCommandMenuItemPeer._isDisabled(_1d2)){
_1ce.cancel();
if(!(_1d2.getParent() instanceof TMUIPopupComponent)){
var _1d3=this.isSubMenu();
var _1d4=TMDhtmlMenuPeer.isMenuOpened();
var _1d5=TMPage.PAGE.getActiveDomElement();
var _1d6=_1d5?TMDomUtils.isAncestor(_1d1.parentNode,_1d5):false;
if(!_1d3&&!_1d4&&!_1d6){
var el=document.getElementById(TMDhtmlMenuPeer._highlightedMenuBarItemId);
if(el){
TMDomUtils.removeCSSClassName(el,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
TMDomUtils.addCSSClassName(_1d1,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
TMDhtmlMenuPeer._highlightedMenuBarItemId=_1d1.getAttribute("id");
}else{
this.Focus();
}
}
}
};
TMDhtmlMenuPeer.prototype.HandleComponentClick=function(_1d8){
if(!TMPage.PAGE.isScreenReaderMode()||_1d8.isCanceled()||this.isDisabled()){
return;
}
var _1d9=this.getComponent();
if(!this._isMenuOpen(_1d9)){
var _1da=this.getDomElement();
TMDomUtils.addCSSClassName(_1da,TMDhtmlMenuPeer._DEPRESSED_STYLE);
this.show();
TMFocusUtils.focusFirstTabStop(this._getMenuElement());
_1d8.cancel();
}
};
TMDhtmlMenuPeer.prototype.HandleComponentMouseDown=function(_1db){
if(this.isDisabled()){
return;
}
var _1dc=TMAgent.AGENT,_1dd=_1db.getNativeEvent();
var _1de=this.getDomElement();
if(this._scrollUpElement&&_1dc.isEventInElement(_1dd,this._scrollUpElement)){
this._startScroll();
}else{
if(this._scrollDownElement&&_1dc.isEventInElement(_1dd,this._scrollDownElement)){
this._startScroll(true);
}else{
if(_1dc.isEventInElement(_1dd,_1de)){
_1dc.eatEvent(_1dd);
TMDomUtils.addCSSClassName(_1de,TMDhtmlMenuPeer._DEPRESSED_STYLE);
if(!(this.getComponent().getParent() instanceof TMUIPopupComponent)){
if(TMDhtmlMenuPeer.isMenuOpened()&&this.getDepth()==1){
this.close(true,true);
}else{
this.show();
}
}
}
}
}
};
TMDhtmlMenuPeer.prototype.HandleComponentMouseUp=function(_1df){
if(this.isDisabled()){
return;
}
var _1e0=TMAgent.AGENT,_1e1=_1df.getNativeEvent();
if(this._handleElement){
TMDomUtils.removeCSSClassName(this._handleElement,TMDhtmlMenuPeer._DEPRESSED_STYLE);
}
var _1e2=(this._scrollUpElement&&_1e0.isEventInElement(_1e1,this._scrollUpElement));
var _1e3=(this._scrollDownElement&&_1e0.isEventInElement(_1e1,this._scrollDownElement));
if(_1e3||_1e2){
this._endScroll();
}
};
TMDhtmlMenuPeer.prototype.HandleComponentBlur=function(_1e4){
var _1e5=this.getComponent();
if(!this.getPopupWindow(_1e5,_1e5.getClientId())){
this._deselectElement();
}
};
TMDhtmlMenuPeer.prototype.ComponentRemoved=function(_1e6){
if(this._isMenuOpen(_1e6)){
this.hidePopup();
}else{
if(this._isDetached){
this._undetach();
}
}
if(_1e6.getDetachable()){
agent.removeBubbleEventListener(this._closeElement,"mousedown",this._undetachCallback);
delete this._closeElement;
delete this._undetachCallback;
agent.removeBubbleEventListener(this._handleElement,"mousedown",this._stopCallback);
delete this._handleElement;
delete this._stopCallback;
}
if(!this.isSubMenu()){
var _1e7=_1e6.getClientId();
TMDhtmlMenuPeer._removeBarMenu(_1e7);
}
delete this._menuElement;
delete this._scrollUpElement;
delete this._scrollDownElement;
delete this._scrollBoxElement;
delete this._scrollContentElement;
TMDhtmlMenuPeer.superclass.ComponentRemoved.call(this,_1e6);
};
TMDhtmlMenuPeer.IsImmediate=function(_1e8){
var _1e9=_1e8==1;
var old=TMDhtmlMenuPeer.OldMousePosition;
var _1eb=TMDhtmlMenuPeer.CurrentMousePosition;
if(!_1e9&&_1eb&&old){
var _1ec=_1eb.y-old.y;
var _1ed=_1eb.x-old.x;
var _1ee=false;
if(_1ee){
_1ed=-_1ed;
}
_1e9=_1ec<0||_1ed<0;
if(!_1e9){
previousComponent=TMPage.PAGE.findComponent(TMPage.PAGE.getLastFocusedElement().id);
if(previousComponent){
previousPeer=previousComponent.getPeer();
if(previousPeer instanceof TMUIMenuComponent){
_1e9=!previousPeer.isSubMenu();
_1e9=_1e9||previousPeer.getDepth()<_1e8;
}
}
_1e9=_1e9||TMDhtmlMenuPeer._sOpenedMenus.length<_1e8;
}
}
return _1e9;
};
TMDhtmlMenuPeer.prototype._createDetachableWindow=function(){
var _1ef=this.getComponent();
var _1f0=this.getPopupWindow(_1ef,_1ef.getClientId());
if(_1f0){
this._detachableWindow=new TMRepositionable(_1f0,this._handleElement);
this._detachableWindow.setDragStartHandler(this.createCallback(this._dragStart));
this._detachableWindow.setDragEndHandler(this.createCallback(this._dragEnd));
}
};
TMDhtmlMenuPeer.prototype._dragStart=function(){
var _1f1=this.getComponent();
var _1f2=TMPage.PAGE.getAutoDismissalManager();
if(_1f2.hasComponent(_1f1)){
var _1f3=new Object();
_1f3[TMDhtmlPopupWindow.HINT_AUTODISMISS]=TMDhtmlPopupWindow.HINT_AUTODISMISS_NEVER;
_1f2.changeBehavior(_1f1,_1f3);
}
this._deselectElement();
var _1f4=this._detachableWindow.getElement();
this._menuLeft=_1f4.style.left;
this._menuTop=_1f4.style.top;
if(!this._isDetached){
TMDhtmlMenuPeer._addToDetachedMenus(_1f1.getClientId());
}
};
TMDhtmlMenuPeer.prototype._dragEnd=function(){
this._makeDetached();
TMDhtmlMenuPeer.closeAllMenus();
};
TMDhtmlMenuPeer.prototype._delayPopupHiding=function(_1f5){
if(this._popupHidingHandle){
this._cancelHiding();
}
this._popupHidingHandle=TMPage.PAGE.getDomWindow().setTimeout(this.createCallback(this._delayPopupHidingCallback),TMDhtmlMenuPeer._OPEN_CLOSE_DELAY-_1f5);
};
TMDhtmlMenuPeer.prototype._delayPopupHidingCallback=function(){
var _1f6=this.getComponent();
if(this.isPopupVisible(_1f6,_1f6.getClientId())){
TMDomUtils.removeCSSClassName(this.getDomElement(),TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
this.hidePopup();
}
};
TMDhtmlMenuPeer.prototype._delayShow=function(){
if(TMDhtmlMenuPeer._popupShowingHandle){
TMDhtmlMenuPeer.cancelShowing();
}
TMDhtmlMenuPeer._popupShowingHandle=TMPage.PAGE.getDomWindow().setTimeout(this.createCallback(this._delayShowCallback),TMDhtmlMenuPeer._OPEN_CLOSE_DELAY);
TMDhtmlMenuPeer._popupPeerWaitingForShow=this;
};
TMDhtmlMenuPeer.prototype._delayShowCallback=function(){
var _1f7=this.getComponent();
if(!this.isPopupVisible(_1f7,_1f7.getClientId())){
delete TMDhtmlMenuPeer._popupPeerWaitingForShow;
delete TMDhtmlMenuPeer._popupShowingHandle;
this.show();
}
};
TMDhtmlMenuPeer.prototype._cancelHiding=function(){
if(this._popupHidingHandle){
var _1f8=this.getDomElement();
TMDomUtils.addCSSClassName(_1f8,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
window.clearTimeout(this._popupHidingHandle);
delete this._popupHidingHandle;
var _1f9=TMDhtmlMenuPeer._popupPeerWaitingForShow;
if(_1f9){
if(_1f9.getDepth()<=this.getDepth()){
TMDhtmlMenuPeer.cancelShowing();
}
}
}
};
TMDhtmlMenuPeer.prototype._makeDetached=function(){
TMDomUtils.removeCSSClassName(this._handleElement,TMDhtmlMenuPeer._DEPRESSED_STYLE);
var _1fa=this._detachableWindow.getElement();
this._isDetached=true;
this._menuLeft=_1fa.style.left;
this._menuTop=_1fa.style.top;
TMDomUtils.addCSSClassName(this._getMenuElement(),TMDhtmlMenuPeer._DETACHED_STYLE);
var _1fb=this.getComponent();
var _1fc=this.getPopupWindow(_1fb,_1fb.getClientId());
_1fc.autoSize();
TMDhtmlMenuPeer.dismiss(this.getDomElement().parentNode,true,true);
};
TMDhtmlMenuPeer.prototype._deselectElement=function(){
var _1fd=this.getDomElement();
TMDomUtils.removeCSSClassName(_1fd,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
TMDomUtils.removeCSSClassName(_1fd,TMDhtmlMenuPeer._DEPRESSED_STYLE);
};
TMDhtmlMenuPeer.prototype._undetach=function(_1fe){
var _1ff=this.getComponent().getClientId();
this._isDetached=false;
this._wasDetached=false;
TMDomUtils.removeCSSClassName(this._getMenuElement(),TMDhtmlMenuPeer._DETACHED_STYLE);
TMDhtmlMenuPeer._sOpenedMenus.push(_1ff);
TMDhtmlMenuPeer.closeAllMenus();
TMDhtmlMenuPeer._removeFromDetachedMenus(_1ff);
};
TMDhtmlMenuPeer.prototype._moveDetachable=function(x,y){
this._dragStart();
var _202=this._detachableWindow.getElement();
_202.style.left=_202.offsetLeft+x+"px";
_202.style.top=_202.offsetTop+y+"px";
this._dragEnd();
};
TMDhtmlMenuPeer.prototype._snapDetachedMenu=function(_203){
var _204=this.getDomElement();
var _205=TMAgent.AGENT;
var _206=this._detachableWindow.getElement();
var top=_203?this._menuTop:_205.getElementTop(_204);
var left=_203?this._menuLeft:_205.getElementLeft(_204)+_204.offsetWidth;
};
TMDhtmlMenuPeer.prototype._startScroll=function(_209){
this._scrollDelta=TMDhtmlMenuPeer._SCROLL_DELTA;
if(!_209){
this._scrollDelta*=-1;
}
var _20a=this.createCallback(this._scroll);
this._scrollTimer=setInterval(_20a,1);
};
TMDhtmlMenuPeer.prototype.updateScrollIconsState=function(){
if(!!this._scrollUpElement){
var _20b=this._scrollBoxElement.scrollTop;
var _20c=this._scrollContentElement.offsetHeight-this._scrollBoxElement.offsetHeight;
if(_20b<=0){
TMDomUtils.addCSSClassName(this._scrollUpElement,TMDhtmlMenuPeer._DISABLED_STYLE);
}else{
TMDomUtils.removeCSSClassName(this._scrollUpElement,TMDhtmlMenuPeer._DISABLED_STYLE);
}
if(_20b>=_20c){
TMDomUtils.addCSSClassName(this._scrollDownElement,TMDhtmlMenuPeer._DISABLED_STYLE);
}else{
TMDomUtils.removeCSSClassName(this._scrollDownElement,TMDhtmlMenuPeer._DISABLED_STYLE);
}
}
};
TMDhtmlMenuPeer.prototype._endScroll=function(){
if(this._scrollTimer){
clearInterval(this._scrollTimer);
}
this._scrollTimer=null;
};
TMDhtmlMenuPeer.prototype._scroll=function(){
this._scrollBoxElement.scrollTop+=this._scrollDelta;
var _20d=this._scrollBoxElement.scrollTop;
var _20e=this._scrollContentElement.offsetHeight-this._scrollBoxElement.offsetHeight;
if(_20d<=0||_20d>=_20e){
this._endScroll();
}
this.updateScrollIconsState();
};
TMDhtmlMenuPeer._addToDetachedMenus=function(_20f){
TMDhtmlMenuPeer._removeFromDetachedMenus(_20f);
var _210=(TMAgent.AGENT.getPlatform()==TMAgent.GECKO_PLATFORM);
if(_210&&(TMDhtmlMenuPeer._sDetachedMenus.length==0)){
var doc=TMPage.PAGE.getDomDocument();
TMAgent.AGENT.addBubbleEventListener(doc,"keypress",TMDhtmlMenuPeer._cancelKeyPress);
}
TMDhtmlMenuPeer._sDetachedMenus.push(_20f);
};
TMDhtmlMenuPeer._removeFromDetachedMenus=function(_212){
TMCollections.removeArrayValue(TMDhtmlMenuPeer._sDetachedMenus,_212);
var _213=(TMAgent.AGENT.getPlatform()==TMAgent.GECKO_PLATFORM);
if(_213&&(TMDhtmlMenuPeer._sDetachedMenus.length==0)){
var doc=TMPage.PAGE.getDomDocument();
TMAgent.AGENT.removeBubbleEventListener(doc,"keypress",TMDhtmlMenuPeer._cancelKeyPress);
}
};
TMDhtmlMenuPeer._cancelKeyPress=function(_215){
var _216=TMAgent.AGENT.getKeyCode(_215);
if(_215.ctrlKey&&_215.shiftKey&&(_216==87)){
TMAgent.AGENT.eatEvent(_215);
}
};
TMDhtmlMenuPeer.prototype._getMenuElement=function(){
if(this._menuElement===undefined){
var _217=this.getDomElement();
var id=_217.getAttribute("id");
var _219=TMUIPeer.CreateSubId(id,"menu");
this._menuElement=TMAgent.AGENT.getElementById(_219);
}
return this._menuElement;
};
TMDhtmlMenuPeer.prototype._isMenuOpen=function(_21a){
var _21b=_21a.getClientId();
return TMCollections.indexOf(TMDhtmlMenuPeer._sOpenedMenus,_21b)>=0;
};
TMDhtmlMenuPeer._menuBarKeyHandler=function(_21c){
TMDhtmlMenuPeer._focusFirstElementInMenuBar();
};
TMDhtmlMenuPeer._addBarMenu=function(_21d){
var _21e=TMDhtmlMenuPeer._sBarMenus;
if(_21e.length==0){
TMPage.PAGE.registerKeyStroke(TMDhtmlMenuPeer._menuBarKeyStroke,TMDhtmlMenuPeer._menuBarKeyHandler);
}
_21e.push(_21d);
};
TMDhtmlMenuPeer._removeBarMenu=function(_21f){
var _220=TMDhtmlMenuPeer._sBarMenus;
TMCollections.removeArrayValue(_220,_21f);
if(_220.length==0){
TMPage.PAGE.unregisterKeyStroke(TMDhtmlMenuPeer._menuBarKeyStroke);
}
};
TMDhtmlMenuPeer._focusFirstElementInMenuBar=function(){
var _221=TMDhtmlMenuPeer._sBarMenus;
var _222=_221[0];
var _223=TMPage.PAGE.findComponent(_222);
var _224=_223.getParent();
var peer=_223.getPeer();
var _226=peer.getOwnerId();
var _227=TMAgent.AGENT.getElementById(_226);
TMFocusUtils.focusFirstTabStop(_227);
};
TMDhtmlMenuPeer.prototype._clearHighlight=function(){
var _228=this._scrollContentElement||this._getMenuElement();
var _229=_228.rows.length;
for(var i=0;i<_229;i++){
var item=_228.rows[i];
if(item){
TMDomUtils.removeCSSClassName(item,TMDhtmlMenuPeer._HIGHLIGHTED_STYLE);
}
}
};
TMDhtmlMenuPeer.prototype._moveHighlightUp=function(){
this._moveHighlight(true);
};
TMDhtmlMenuPeer.prototype._moveHighlightDown=function(){
this._moveHighlight(false);
};
TMDhtmlMenuPeer.prototype._moveHighlight=function(up){
var _22d=this.getDomElement();
if(up){
TMFocusUtils.focusPreviousTabStop(_22d,_22d.parentNode);
}else{
TMFocusUtils.focusNextTabStop(_22d,_22d.parentNode);
}
this.updateScrollIconsState();
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlCommandLinkPeer");
TMDhtmlCommandLinkPeer.InitSubclass=function(){
TMObject.ensureClassInitialization(TMUICommandLinkComponent);
TMUIPeer.addComponentEventHandlers(this,TMUIInputEvent.CLICK_EVENT_TYPE);
};
TMDhtmlCommandLinkPeer.prototype.HandleComponentClick=function(_22e){
var _22f=this.getComponent();
if(!_22f.getDisabled()&&_22e.isLeftButtonPressed()){
var _230=new TMActionEvent(_22f);
var _231=_22f.getProperty("_F_PARAMS");
if(_231){
TMPage.__addServerParamsToEvent(_230,_231);
}
_230.queue(_22f.getPartialSubmit());
}
};
TMUIPeer.createPeerClass(TMUIPeer,"TMDhtmlFormPeer");
TMDhtmlFormPeer.InitSubclass=function(){
TMUIPeer.addComponentEventHandlers(this,TMUIInputEvent.KEY_PRESS_EVENT_TYPE);
};
TMDhtmlFormPeer.prototype.HandleComponentKeyPress=function(_232){
if(_232.getKeyCode()==13){
var _233=_232.getNativeEventTarget();
if(_233){
var _234=_233.tagName;
if((_234=="A")||(_234=="BUTTON")||(_234=="TEXTAREA")||((_234=="INPUT")&&((_233.type=="submit")||(_233.type=="reset")))){
return;
}
}
var _235=_233;
var id=_235.id;
while(!id){
_235=_235.parentNode;
id=_235.id;
}
var _237=id.lastIndexOf(":");
var _238;
var _239;
while(_237>0&&!_238){
id=id.substring(0,_237);
var _23a=TMPage.PAGE.findComponent(id);
_237=id.lastIndexOf(":");
}
if(!_238){
_239=this.getComponent();
_238=_239.getDefaultCommand();
}
if(_238){
var _23b=_239.findComponent(_238);
if(_23b){
TMActionEvent.queue(_23b,_23b.getPartialSubmit());
}
}
_232.cancel();
}
};

