Type.registerNamespace("Sys.Extended.UI.HtmlEditor.Popups"); Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton = function(element) { Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton.initializeBase(this, [element]); this._loaded = false; this._activated = null; this._app_onload$delegate = Function.createDelegate(this, this._app_onload); this._cssClass = ""; this._name = ""; this._onmouseover$delegate = Function.createDelegate(this, this._onmouseover); this._onmouseout$delegate = Function.createDelegate(this, this._onmouseout); this._onmousedown$delegate = Function.createDelegate(this, this._onmousedown); this._onmouseup$delegate = Function.createDelegate(this, this._onmouseup); this._onclick$delegate = Function.createDelegate(this, this._onclick); } Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton.prototype = { isImage: function() { return true; }, set_toolTip: function(value) { this.get_element().title = value; }, get_toolTip: function() { return this.get_element().title; }, set_name: function(value) { this._name = value; }, get_name: function() { return this._name; }, initialize: function() { var element = this.get_element(); Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton.callBaseMethod(this, "initialize"); Sys.Application.add_load(this._app_onload$delegate); this._cssClass = element.className.split(" ")[0]; if(this.isImage()) { $addHandlers(element, { mouseover: this._onmouseover$delegate, mouseout: this._onmouseout$delegate, mousedown: this._onmousedown$delegate, mouseup: this._onmouseup$delegate, click: this._onclick$delegate }); } if(Sys.Extended.UI.HtmlEditor.isIE) { function diveSelectable(el) { if(el.nodeType == 1 && el.tagName) { var tag = el.tagName.toUpperCase(); if(tag != "INPUT" && tag != "TEXTAREA" && tag != "IFRAME") el.unselectable = "on"; for(var k = 0; k < el.childNodes.length; k++) diveSelectable(el.childNodes.item(k)); } } diveSelectable(element); } else { try { element.style.MozUserSelect = "none"; element.parentNode.style.MozUserSelect = "none"; } catch(ex) { } } }, activate: function(element) { this._activated = element; if(this.isImage()) { Sys.Extended.UI.HtmlEditor._addEvent(this._activated, "mouseover", this._onmouseover$delegate); Sys.Extended.UI.HtmlEditor._addEvent(this._activated, "mouseout", this._onmouseout$delegate); Sys.Extended.UI.HtmlEditor._addEvent(this._activated, "mousedown", this._onmousedown$delegate); Sys.Extended.UI.HtmlEditor._addEvent(this._activated, "mouseup", this._onmouseup$delegate); Sys.Extended.UI.HtmlEditor._addEvent(this._activated, "click", this._onclick$delegate); } }, dispose: function() { if(this.isImage() && this._activated != null) { Sys.Extended.UI.HtmlEditor._removeEvent(this._activated, "mouseover", this._onmouseover$delegate); Sys.Extended.UI.HtmlEditor._removeEvent(this._activated, "mouseout", this._onmouseout$delegate); Sys.Extended.UI.HtmlEditor._removeEvent(this._activated, "mousedown", this._onmousedown$delegate); Sys.Extended.UI.HtmlEditor._removeEvent(this._activated, "mouseup", this._onmouseup$delegate); Sys.Extended.UI.HtmlEditor._removeEvent(this._activated, "click", this._onclick$delegate); } this._activated = null; this._loaded = false; Sys.Application.remove_load(this._app_onload$delegate); Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton.callBaseMethod(this, "dispose"); }, _app_onload: function(sender, e) { if(this._loaded) return; this.onButtonLoaded(); this._loaded = true; }, onButtonLoaded: function() { }, _onmouseover: function(e) { if(!this.isEnable()) return false; Sys.UI.DomElement.addCssClass(this._activated, this._cssClass + "_hover"); return true; }, _onmouseout: function(e) { if(!this.isEnable()) return false; var _target1 = e.toElement || e.relatedTarget; try { while(_target1 && typeof _target1 != "undefined") if(_target1 == this._activated) break; else _target1 = _target1.parentNode; } catch(e) { _target1 = null; } if(_target1 != null) return true; Sys.UI.DomElement.removeCssClass(this._activated, this._cssClass + "_hover"); Sys.UI.DomElement.removeCssClass(this._activated, this._cssClass + "_mousedown"); return true; }, _onmousedown: function(e) { if(!this.isEnable()) return null; Sys.UI.DomElement.addCssClass(this._activated, this._cssClass + "_mousedown"); return false; }, _onmouseup: function(e) { if(!this.isEnable()) return false; Sys.UI.DomElement.removeCssClass(this._activated, this._cssClass + "_mousedown"); return true; }, _onclick: function(e) { if(!this.isEnable()) return false; this.callMethod(e); return true; }, callMethod: function(e) { var doc = this._activated.ownerDocument || this._activated.document || target, contWin = doc.defaultView || doc.parentWindow, method = contWin.popupMediator.get_callMethodByName(this._name); Function.createDelegate(this, method)(contWin); }, isEnable: function() { if(!this._loaded) return false; return true; } } Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton.registerClass("Sys.Extended.UI.HtmlEditor.Popups.PopupCommonButton", Sys.UI.Control);