﻿Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.DropDownBehavior = function(element) {
AjaxControlToolkit.DropDownBehavior.initializeBase(this, [element]);this._dropDownControl = null;this._highlightBorderColor = "#2353B2";this._highlightBackgroundColor = "#FFF3DB";this._dropArrowBackgroundColor = "#C6E1FF";this._dropArrowImageUrl = null;this._dropArrowWidth = "20";this._oldBackgroundColor = null;this._dropFrame = null;this._dropArrow = null;this._dropArrowImage = null;this._dropWrapper = null;this._isOpen = false;this._isOver = false;this._wasClicked = null;this._dropWrapperHoverBehavior = null;this._dropPopupPopupBehavior = null;this._onShowJson = null;this._onHideJson = null;this._dropDownControl$delegates = {
click : Function.createDelegate(this, this._dropDownControl_onclick),
contextmenu : Function.createDelegate(this, this._dropDownControl_oncontextmenu)
}
this._dropFrame$delegates = {
click : Function.createDelegate(this, this._dropFrame_onclick),
contextmenu : Function.createDelegate(this, this._dropFrame_oncontextmenu)
}
this._dropWrapper$delegates = {
click : Function.createDelegate(this, this._dropWrapper_onclick),
contextmenu : Function.createDelegate(this, this._dropWrapper_oncontextmenu)
}
this._document$delegates = {
click : Function.createDelegate(this, this._document_onclick),
contextmenu : Function.createDelegate(this, this._document_oncontextmenu)
}
this._dropWrapperHoverBehavior$delegates = {
hover : Function.createDelegate(this, this._dropWrapperHoverBehavior_onhover),
unhover : Function.createDelegate(this, this._dropWrapperHoverBehavior_onunhover)
}
}
AjaxControlToolkit.DropDownBehavior.prototype = {
initialize: function() {
AjaxControlToolkit.DropDownBehavior.callBaseMethod(this, 'initialize');var elt = this.get_element();var parent = elt.parentNode;if (this._dropDownControl == null) {
$common.createElementFromTemplate({
parent: parent,
nameTable: this,
name: "_dropDownControl",
nodeName: "div",
visible: false,
cssClasses: this._dropDownControl ? null : ["ajax__dropdown_panel"],
properties: {
__GENERATED: true
}
});}
$addHandlers(this._dropDownControl, this._dropDownControl$delegates);var dropArrowImageProperties = {};if (this._dropArrowImageUrl) {
dropArrowImageProperties["src"] = this._dropArrowImageUrl;}
$common.createElementFromTemplate({
parent: parent,
nameTable: this,
name: "_dropFrame",
nodeName: "span",
visible: false,
children: [{
name: "_dropFrameTop",
nodeName: "div",
cssClasses: ["ajax__dropdown_frame_line"]
}, {
name: "_dropFrameRight",
nodeName: "div",
cssClasses: ["ajax__dropdown_frame_line"]
}, {
name: "_dropFrameBottom",
nodeName: "div",
cssClasses: ["ajax__dropdown_frame_line"]
}, {
name: "_dropFrameLeft",
nodeName: "div",
cssClasses: ["ajax__dropdown_frame_line"]
}, {
name: "_dropArrow",
nodeName: "div",
cssClasses: (!this._dropArrowImageUrl) ? ["ajax__dropdown_arrow", "ajax__dropdown_arrow_image"] : ["ajax__dropdown_arrow"],
properties: {
style: {
width: this._dropArrowWidth,
backgroundColor: this._dropArrowBackgroundColor
}
},
events: this._dropFrame$delegates,
children: [{
name: "_dropArrowWrapper",
nodeName: "div",
visible: !!this._dropArrowImageUrl,
cssClasses: ["ajax__dropdown_arrow_wrapper"],
children: [{
name: "_dropArrowImage",
nodeName: "img",
properties: dropArrowImageProperties
}]
}]
}]
});$common.createElementFromTemplate({
parent: null,
nameTable: this,
name: "_dropWrapper",
nodeName: "span",
properties: {
id: elt.id + "_dropWrapper",
style: {
cursor: "default"
}
},
events: this._dropWrapper$delegates,
content: elt
});this._dropPopupPopupBehavior = $create(AjaxControlToolkit.PopupBehavior, {
positioningMode: AjaxControlToolkit.PositioningMode.BottomRight,
parentElement: elt,
y: -1
}, null, null, this._dropDownControl);if (this._onShowJson) {
this._dropPopupPopupBehavior.set_onShow(this._onShowJson);}
if (this._onHideJson) {
this._dropPopupPopupBehavior.set_onHide(this._onHideJson);}
this._dropWrapperHoverBehavior = $create(AjaxControlToolkit.HoverBehavior, {
hoverElement: this._dropFrame
}, this._dropWrapperHoverBehavior$delegates, null, this._dropWrapper);$addHandlers(document, this._document$delegates);},
dispose: function() {
var elt = this.get_element();if (this._isOpen) {
this.hide();this.unhover();this._isOpen = false;}
$common.removeHandlers(document, this._document$delegates);this._onShowJson = null;this._onHideJson = null;if (this._dropPopupPopupBehavior) {
this._dropPopupPopupBehavior.dispose();this._dropPopupPopupBehavior = null;}
if (this._dropWrapperHoverBehavior) {
this._dropWrapperHoverBehavior.dispose();this._dropWrapperHoverBehavior = null;}
if (this._dropFrame) {
$common.removeElement(this._dropFrame);this._dropFrame = null;this._dropFrameTop = null;this._dropFrameRight = null;this._dropFrameBottom = null;this._dropFrameLeft = null;this._dropArrow = null;this._dropArrowWrapper = null;this._dropArrowImage = null;}
if (this._dropWrapper) {
$common.removeHandlers(this._dropWrapper, this._dropWrapper$delegates);$common.unwrapElement(elt, this._dropWrapper);this._dropWrapper = null;}
if (this._dropDownControl) {
$common.removeHandlers(this._dropDownControl, this._dropDownControl$delegates);if (this._dropDownControl.__GENERATED) {
$common.removeElement(this._dropDownControl);}
this._dropDownControl = null;}
AjaxControlToolkit.DropDownBehavior.callBaseMethod(this, 'dispose');},
hover: function() {
var elt = this.get_element();if (!this._isOver) {
this._isOver = true;this.raiseHoverOver(Sys.EventArgs.Empty);var bounds = $common.getBounds(elt);$common.setLocation(this._dropFrame, { x: 0, y: 0 });$common.setVisible(this._dropFrame, true);var offset = $common.getLocation(this._dropFrame);$common.setVisible(this._dropFrame, false);bounds.x -= offset.x;bounds.y -= offset.y;$common.setBounds(this._dropFrameTop, {
x: bounds.x,
y: bounds.y,
width: bounds.width,
height: 1
});$common.setBounds(this._dropFrameRight, {
x: bounds.x + bounds.width - 1,
y: bounds.y,
width: 1,
height: bounds.height
});$common.setBounds(this._dropFrameBottom, {
x: bounds.x,
y: bounds.y + bounds.height - 1,
width: bounds.width,
height: 1
});$common.setBounds(this._dropFrameLeft, {
x: bounds.x,
y: bounds.y,
width: 1,
height: bounds.height
});$common.setBounds(this._dropArrow, {
x: bounds.x + bounds.width - 1 - 17, 
y: bounds.y + 1,
width: 17, 
height: bounds.height - 2
});this._dropFrameTop.style.backgroundColor = this._highlightBorderColor;this._dropFrameRight.style.backgroundColor = this._highlightBorderColor;this._dropFrameBottom.style.backgroundColor = this._highlightBorderColor;this._dropFrameLeft.style.backgroundColor = this._highlightBorderColor;$common.setVisible(this._dropFrame, true);if (!this._oldBackgroundColor) {
this._oldBackgroundColor = $common.getCurrentStyle(elt, 'backgroundColor');}
elt.style.backgroundColor = this._highlightBackgroundColor;}
},
unhover: function() {
var elt = this.get_element();if (this._isOver || !this._isOpen) {
this._isOver = false;if (!this._isOpen) {
$common.setVisible(this._dropFrame, false);if (this._oldBackgroundColor) {
elt.style.backgroundColor = this._oldBackgroundColor;this._oldBackgroundColor = null;} else {
elt.style.backgroundColor = "transparent";}
}
this.raiseHoverOut(Sys.EventArgs.Empty);}
},
show: function() {
if (!this._isOpen) {
this.hover();var eventArgs = new Sys.CancelEventArgs();this.raiseShowing(eventArgs);this.raisePopup(eventArgs);if (eventArgs.get_cancel()) {
return;}
this._isOpen = true;this.populate();if (!this._dynamicPopulateBehavior || (this._dynamicPopulateBehavior._populated && this._cacheDynamicResults)) {
this._showPopup();}
}
},
_showPopup: function() {
this._dropPopupPopupBehavior.show();this.raiseShown(Sys.EventArgs.Empty);},
hide: function() {
if (this._isOpen) {
var eventArgs = new Sys.CancelEventArgs();this.raiseHiding(eventArgs);if (eventArgs.get_cancel()) {
return;}
this._isOpen = false;this._dropPopupPopupBehavior.hide();this.raiseHidden(Sys.EventArgs.Empty);}
},
_dropWrapperHoverBehavior_onhover: function(sender, e) {
this.hover();},
_dropWrapperHoverBehavior_onunhover: function(sender, e) {
this.unhover();},
_dropWrapper_onclick: function(e) {
if (e.target.tagName != "A") {
if (!this._isOpen) {
this.show();} else {
this.hide();}
this._wasClicked = true;}
},
_dropWrapper_oncontextmenu: function(e) {
if (e.target.tagName != "A") {
this._wasClicked = true;e.preventDefault();this.show();}
},
_dropFrame_onclick: function(e) {
if (!this._isOpen) {
this.show();} else {
this.hide();}
this._wasClicked = true;},
_dropFrame_oncontextmenu: function(e) {
this._wasClicked = true;e.preventDefault();this.show();},
_dropDownControl_onclick: function(e) {
},
_dropDownControl_oncontextmenu: function(e) {
this._wasClicked = true;e.preventDefault();},
_document_onclick: function(e) {
if (this._wasClicked) {
this._wasClicked = false;} else if (this._isOpen) {
this.hide();this.unhover();}
},
_document_oncontextmenu: function(e) {
if (this._wasClicked) {
this._wasClicked = false;} else if (this._isOpen) {
this.hide();this.unhover();}
},
_onPopulated: function(sender, eventArgs) {
AjaxControlToolkit.DropDownBehavior.callBaseMethod(this, '_onPopulated', [sender, eventArgs]);if (this._isOpen) {
this._showPopup();}
},
get_onShow: function() {
return this._dropPopupPopupBehavior ? this._dropPopupPopupBehavior.get_onShow() : this._onShowJson;},
set_onShow: function(value) {
if (this._dropPopupPopupBehavior) {
this._dropPopupPopupBehavior.set_onShow(value)
} else {
this._onShowJson = value;}
this.raisePropertyChanged('onShow');},
get_onShowBehavior: function() {
return this._dropPopupPopupBehavior ? this._dropPopupPopupBehavior.get_onShowBehavior() : null;},
onShow: function() {
if (this._dropPopupPopupBehavior) {
this._dropPopupPopupBehavior.onShow();}
},
get_onHide: function() {
return this._dropPopupPopupBehavior ? this._dropPopupPopupBehavior.get_onHide() : this._onHideJson;},
set_onHide: function(value) {
if (this._dropPopupPopupBehavior) {
this._dropPopupPopupBehavior.set_onHide(value)
} else {
this._onHideJson = value;}
this.raisePropertyChanged('onHide');},
get_onHideBehavior: function() {
return this._dropPopupPopupBehavior ? this._dropPopupPopupBehavior.get_onHideBehavior() : null;},
onHide: function() {
if (this._dropPopupPopupBehavior) {
this._dropPopupPopupBehavior.onHide();}
},
get_dropDownControl: function() {
return this._dropDownControl;},
set_dropDownControl: function(value) {
if (this._dropDownControl != value) {
this._dropDownControl = value;this.raisePropertyChanged("dropDownControl");}
},
get_highlightBorderColor: function() {
return this._highlightBorderColor;},
set_highlightBorderColor: function(value) {
if (this._highlightBorderColor != value) {
this._highlightBorderColor = value;this.raisePropertyChanged("highlightBorderColor");}
},
get_highlightBackgroundColor: function() {
return this._highlightBackgroundColor;},
set_highlightBackgroundColor: function(value) {
if (this._highlightBackgroundColor != value) {
this._highlightBackgroundColor = value;if (this.get_isInitialized() && this._isOpen) {
this._dropWrapper.style.backgroundColor = value;}
this.raisePropertyChanged("highlightBackgroundColor");}
},
get_dropArrowBackgroundColor: function() {
return this._dropArrowBackgroundColor;},
set_dropArrowBackgroundColor: function(value) {
if (this._dropArrowBackgroundColor != value) {
this._dropArrowBackgroundColor = value;if (this.get_isInitialized()) {
this._dropArrow.style.backgroundColor = value;}
this.raisePropertyChanged("dropArrowBackgroundColor");}
},
get_dropArrowImageUrl: function() {
return this._dropArrowImageUrl;},
set_dropArrowImageUrl: function(value) {
if (this._dropArrowImageUrl != value) {
this._dropArrowImageUrl = value;if (this.get_isInitialized()) {
if (this._dropArrow.className) {
this._dropArrow.className = "";this._dropArrowWrapper.style.display = 'block';}
this._dropArrowImage.src = value;}
this.raisePropertyChanged("dropArrowImageUrl");}
},
get_dropArrowWidth: function() {
return this._dropArrowWidth;},
set_dropArrowWidth: function(value) {
if (this._dropArrowWidth != value) {
this._dropArrowWidth = value;if (this.get_isInitialized()) {
this._dropArrow.style.width = value;}
this.raisePropertyChanged("dropArrowWidth");}
},
get_isOver: function() {
return this._isOver;},
get_isOpen: function() {
return this._isOpen;},
add_showing: function(handler) {
this.get_events().addHandler('showing', handler);},
remove_showing: function(handler) {
this.get_events().removeHandler('showing', handler);},
raiseShowing: function(eventArgs) {
var handler = this.get_events().getHandler('showing');if (handler) {
handler(this, eventArgs);}
},
add_shown: function(handler) {
this.get_events().addHandler('shown', handler);},
remove_shown: function(handler) {
this.get_events().removeHandler('shown', handler);},
raiseShown: function(eventArgs) {
var handler = this.get_events().getHandler('shown');if (handler) {
handler(this, eventArgs);}
},
add_popup: function(handler) {
this.get_events().addHandler('popup', handler);},
remove_popup: function(handler) {
this.get_events().removeHandler('popup', handler);},
raisePopup: function(eventArgs) {
var handler = this.get_events().getHandler('popup');if (handler) {
handler(this, eventArgs);}
},
add_hiding: function(handler) {
this.get_events().addHandler('hiding', handler);},
remove_hiding: function(handler) {
this.get_events().removeHandler('hiding', handler);},
raiseHiding: function(eventArgs) {
var handler = this.get_events().getHandler('hiding');if (handler) {
handler(this, eventArgs);}
},
add_hidden: function(handler) {
this.get_events().addHandler('hidden', handler);},
remove_hidden: function(handler) {
this.get_events().removeHandler('hidden', handler);},
raiseHidden: function(eventArgs) {
var handler = this.get_events().getHandler('hidden');if (handler) {
handler(this, eventArgs);}
},
add_hoverOver: function(handler) {
this.get_events().addHandler('hoverOver', handler);},
remove_hoverOver: function(handler) {
this.get_events().removeHandler('hoverOver', handler);},
raiseHoverOver: function(eventArgs) {
var handler = this.get_events().getHandler('hoverOver');if (handler) {
handler(this, eventArgs);}
},
add_hoverOut: function(handler) {
this.get_events().addHandler('hoverOut', handler);},
remove_hoverOut: function(handler) {
this.get_events().removeHandler('hoverOut', handler);},
raiseHoverOut: function(eventArgs) {
var handler = this.get_events().getHandler('hoverOut');if (handler) {
handler(this, eventArgs);}
}
}
AjaxControlToolkit.DropDownBehavior.registerClass('AjaxControlToolkit.DropDownBehavior', AjaxControlToolkit.DynamicPopulateBehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();