﻿Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.CollapsiblePanelExpandDirection = function() {
throw Error.invalidOperation();}
AjaxControlToolkit.CollapsiblePanelExpandDirection.prototype = {
Horizontal : 0,
Vertical: 1
}
AjaxControlToolkit.CollapsiblePanelExpandDirection.registerEnum("AjaxControlToolkit.CollapsiblePanelExpandDirection", false);AjaxControlToolkit.CollapsiblePanelBehavior = function(element) {
AjaxControlToolkit.CollapsiblePanelBehavior.initializeBase(this, [element]);this._collapsedSize = 0;this._expandedSize = 0;this._scrollContents = null;this._collapsed = false;this._expandControlID = null;this._collapseControlID = null;this._textLabelID = null;this._collapsedText = null;this._expandedText = null;this._imageControlID = null;this._expandedImage = null;this._collapsedImage = null;this._suppressPostBack = null;this._autoExpand = null;this._autoCollapse = null;this._expandDirection = AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical;this._collapseClickHandler = null;this._expandClickHandler = null;this._panelMouseEnterHandler = null;this._panelMouseLeaveHandler = null;this._childDiv = null;this._animation = null;}
AjaxControlToolkit.CollapsiblePanelBehavior.prototype = { 
initialize : function() {
AjaxControlToolkit.CollapsiblePanelBehavior.callBaseMethod(this, 'initialize');var element = this.get_element();this._animation = new AjaxControlToolkit.Animation.LengthAnimation(element, .25, 10, 'style', null, 0, 0, 'px');if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
this._animation.set_propertyKey('height');} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
this._animation.set_propertyKey('width');}
this._animation.add_ended(Function.createDelegate(this, this._onAnimateComplete));if (this._suppressPostBack == null) {
if (element.tagName == "INPUT" && element.type == "checkbox") {
this._suppressPostBack = false;this.raisePropertyChanged('SuppressPostBack');} 
else if (element.tagName == "A") {
this._suppressPostBack = true;this.raisePropertyChanged('SuppressPostBack');}
}
var lastState = AjaxControlToolkit.CollapsiblePanelBehavior.callBaseMethod(this, 'get_ClientState');if (lastState && lastState != "") {
var wasCollapsed = Boolean.parse(lastState);if (this._collapsed != wasCollapsed) {
this._collapsed = wasCollapsed;this.raisePropertyChanged('Collapsed');}
}
this._setupChildDiv();if (this._collapsed) {
this._setTargetSize(this._getCollapsedSize());} else { 
this._setTargetSize(this._getExpandedSize());} 
this._setupState(this._collapsed);if (this._collapseControlID == this._expandControlID) {
this._collapseClickHandler = Function.createDelegate(this, this.togglePanel);this._expandClickHandler = null;} else {
this._collapseClickHandler = Function.createDelegate(this, this.collapsePanel);this._expandClickHandler = Function.createDelegate(this, this.expandPanel);}
if (this._autoExpand) {
this._panelMouseEnterHandler = Function.createDelegate(this, this._onMouseEnter);$addHandler(element, 'mouseover', this._panelMouseEnterHandler);} 
if (this._autoCollapse) {
this._panelMouseLeaveHandler = Function.createDelegate(this, this._onMouseLeave);$addHandler(element, 'mouseout', this._panelMouseLeaveHandler);}
if (this._collapseControlID) {
var collapseElement = $get(this._collapseControlID);if (!collapseElement) {
throw Error.argument('CollapseControlID', String.format(AjaxControlToolkit.Resources.CollapsiblePanel_NoControlID, this._collapseControlID));} else {
$addHandler(collapseElement, 'click', this._collapseClickHandler);}
}
if (this._expandControlID) {
if (this._expandClickHandler) { 
var expandElement = $get(this._expandControlID);if (!expandElement) {
throw Error.argument('ExpandControlID', String.format(AjaxControlToolkit.Resources.CollapsiblePanel_NoControlID, this._expandControlID));} else {
$addHandler(expandElement, 'click', this._expandClickHandler);}
}
}
},
dispose : function() {
var element = this.get_element();if (this._collapseClickHandler) {
var collapseElement = (this._collapseControlID ? $get(this._collapseControlID) : null);if (collapseElement) {
$removeHandler(collapseElement, 'click', this._collapseClickHandler);}
this._collapseClickHandler = null;}
if (this._expandClickHandler) {
var expandElement = (this._expandControlID ? $get(this._expandControlID) : null);if (expandElement) {
$removeHandler(expandElement, 'click', this._expandClickHandler);}
this._expandClickHandler = null;}
if (this._panelMouseEnterHandler) {
$removeHandler(element, 'mouseover', this._panelMouseEnterHandler);}
if (this._panelMouseLeaveHandler) {
$removeHandler(element, 'mouseout', this._panelMouseLeaveHandler);}
if (this._animation) {
this._animation.dispose();this._animation = null;}
AjaxControlToolkit.CollapsiblePanelBehavior.callBaseMethod(this, 'dispose');},
togglePanel : function(eventObj) {
this._toggle(eventObj);}, 
expandPanel : function(eventObj) {
this._doOpen(eventObj);},
collapsePanel : function(eventObj) {
this._doClose(eventObj);},
_checkCollapseHide : function() {
if (this._collapsed && this._getTargetSize() == 0) {
var e = this.get_element();var display = $common.getCurrentStyle(e, 'display');if (!e.oldDisplay && display != "none") {
e.oldDisplay = display;e.style.display = "none";}
return true;}
return false;},
_doClose : function(eventObj) {
var eventArgs = new Sys.CancelEventArgs();this.raiseCollapsing(eventArgs);if (eventArgs.get_cancel()) {
return;}
if (this._animation) {
this._animation.stop();this._animation.set_startValue(this._getTargetSize());this._animation.set_endValue(this._getCollapsedSize());this._animation.play();}
this._setupState(true);if (this._suppressPostBack) {
if (eventObj && eventObj.preventDefault) {
eventObj.preventDefault();} else {
if (event) {
event.returnValue = false;}
return false;}
}
},
_doOpen : function(eventObj) {
var eventArgs = new Sys.CancelEventArgs();this.raiseExpanding(eventArgs);if (eventArgs.get_cancel()) {
return;}
if (this._animation) {
this._animation.stop();var e = this.get_element();if (this._checkCollapseHide() && $common.getCurrentStyle(e, 'display', e.style.display)) {
if (e.oldDisplay) {
e.style.display = e.oldDisplay;} else {
if (e.style.removeAttribute) {
e.style.removeAttribute("display");} else {
e.style.removeProperty("display");}
}
e.oldDisplay = null;}
this._animation.set_startValue(this._getTargetSize());this._animation.set_endValue(this._getExpandedSize());this._animation.play();}
this._setupState(false);if (this._suppressPostBack) {
if (eventObj && eventObj.preventDefault) {
eventObj.preventDefault();} else {
if (event) {
event.returnValue = false;}
return false;}
}
},
_onAnimateComplete : function() {
var e = this.get_element();if (!this._collapsed && !this._expandedSize)
{
if(this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
if(this._childDiv.offsetHeight <= e.offsetHeight) {
e.style.height = "auto";this.raisePropertyChanged('TargetHeight');} 
else {
this._checkCollapseHide();}
}
else 
{
if( this._childDiv.offsetWidth <= e.offsetWidth) {
e.style.width = "auto";this.raisePropertyChanged('TargetWidth');}
else {
this._checkCollapseHide();}
}
}
else {
this._checkCollapseHide();}
if (this._collapsed) {
this.raiseCollapseComplete();this.raiseCollapsed(Sys.EventArgs.Empty);} else {
this.raiseExpandComplete()
this.raiseExpanded(new Sys.EventArgs());}
},
_onMouseEnter : function(eventObj) {
if (this._autoExpand) {
this.expandPanel(eventObj);}
},
_onMouseLeave : function(eventObj) {
if (this._autoCollapse) {
this.collapsePanel(eventObj);}
},
_getExpandedSize : function() {
if (this._expandedSize) {
return this._expandedSize;} 
if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
return this._childDiv.offsetHeight;} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
return this._childDiv.offsetWidth;}
},
_getCollapsedSize : function() {
if (this._collapsedSize) {
return this._collapsedSize;}
return 0;},
_getTargetSize : function() {
var value;if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
value = this.get_TargetHeight();} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
value = this.get_TargetWidth();} 
if (value === undefined) {
value = 0;}
return value;},
_setTargetSize : function(value) {
var useSize = this._collapsed || this._expandedSize;var e = this.get_element();if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
if (useSize || value < e.offsetHeight) {
this.set_TargetHeight(value);} else {
e.style.height = "auto";this.raisePropertyChanged('TargetHeight');}
} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
if (useSize || value < e.offsetWidth) {
this.set_TargetWidth(value);}
else {
e.style.width = "auto";this.raisePropertyChanged('TargetWidth');} 
}
this._checkCollapseHide();},
_setupChildDiv : function() {
var startSize = this._getTargetSize();var e = this.get_element();this._childDiv = e.cloneNode(false);this._childDiv.id = '';while (e.hasChildNodes()) { 
var child = e.childNodes[0];child = e.removeChild(child);this._childDiv.appendChild(child);}
e.style.padding = "";e.style.border = "";if (this._scrollContents) {
if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
e.style.overflowY = "scroll";this._childDiv.style.overflowY = "";} else {
e.style.overflowX = "scroll";this._childDiv.style.overflowX = "";}
if (Sys.Browser.agent == Sys.Browser.Safari || Sys.Browser.agent == Sys.Browser.Opera) {
e.style.overflow = "scroll";this._childDiv.style.overflow = "";}
}
else {
if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
e.style.overflowY = "hidden";this._childDiv.style.overflowY = "";} else {
e.style.overflowX = "hidden";this._childDiv.style.overflowX = "";}
if (Sys.Browser.Agent == Sys.Browser.Safari || Sys.Browser.Agent == Sys.Browser.Opera) {
e.style.overflow = "hidden";this._childDiv.style.overflow = "";} 
}
this._childDiv.style.position = "";this._childDiv.style.margin = "";if (startSize == this._collapsedSize) {
if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
this._childDiv.style.height = "auto";} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
this._childDiv.style.width = "auto";}
}
e.appendChild(this._childDiv);if (this._collapsed) {
startSize = this._getCollapsedSize();}
else {
startSize = this._getExpandedSize();}
if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical) {
e.style.height = startSize + "px";if (!this._expandedSize) {
e.style.height = "auto";}
else {
e.style.height = this._expandedSize + "px";}
this._childDiv.style.height = "auto";} else if (this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Horizontal) {
e.style.width = startSize + "px";if (!this._expandedSize) {
e.style.width = "auto";}
else {
e.style.width = this._expandedSize + "px";}
this._childDiv.style.width = "auto";} 
},
_setupState : function(isCollapsed) {
if (isCollapsed) { 
if (this._textLabelID && this._collapsedText) {
var e = $get(this._textLabelID);if (e) {
e.innerHTML = this._collapsedText;}
}
if (this._imageControlID && this._collapsedImage) {
var i = $get(this._imageControlID);if (i && i.src) {
i.src = this._collapsedImage;if (this._expandedText || this._collapsedText) {
i.title = this._collapsedText;}
}
} 
}
else { 
if (this._textLabelID && this._expandedText) {
var e = $get(this._textLabelID);if (e) {
e.innerHTML = this._expandedText;}
}
if (this._imageControlID && this._expandedImage) {
var i = $get(this._imageControlID);if (i && i.src) {
i.src = this._expandedImage;if (this._expandedText || this._collapsedText) {
i.title = this._expandedText;}
}
} 
} 
if (this._collapsed != isCollapsed) {
this._collapsed = isCollapsed;this.raisePropertyChanged('Collapsed');}
AjaxControlToolkit.CollapsiblePanelBehavior.callBaseMethod(this, 'set_ClientState', [this._collapsed.toString()]);},
_toggle : function(eventObj) {
if (this.get_Collapsed()) {
return this.expandPanel(eventObj);} else {
return this.collapsePanel(eventObj);}
},
add_collapsing : function(handler) {
this.get_events().addHandler('collapsing', handler);},
remove_collapsing : function(handler) {
this.get_events().removeHandler('collapsing', handler);},
raiseCollapsing : function(eventArgs) {
var handler = this.get_events().getHandler('collapsing');if (handler) {
handler(this, eventArgs);}
},
add_collapsed : function(handler) {
this.get_events().addHandler('collapsed', handler);},
remove_collapsed : function(handler) {
this.get_events().removeHandler('collapsed', handler);},
raiseCollapsed : function(eventArgs) {
var handler = this.get_events().getHandler('collapsed');if (handler) {
handler(this, eventArgs);}
},
add_collapseComplete : function(handler) {
this.get_events().addHandler('collapseComplete', handler);},
remove_collapseComplete : function(handler) {
this.get_events().removeHandler('collapseComplete', handler);},
raiseCollapseComplete : function() {
var handlers = this.get_events().getHandler('collapseComplete');if (handlers) {
handlers(this, Sys.EventArgs.Empty);}
},
add_expanding : function(handler) {
this.get_events().addHandler('expanding', handler);},
remove_expanding : function(handler) {
this.get_events().removeHandler('expanding', handler);},
raiseExpanding : function(eventArgs) {
var handler = this.get_events().getHandler('expanding');if (handler) {
handler(this, eventArgs);}
},
add_expanded : function(handler) {
this.get_events().addHandler('expanded', handler);},
remove_expanded : function(handler) {
this.get_events().removeHandler('expanded', handler);},
raiseExpanded : function(eventArgs) {
var handler = this.get_events().getHandler('expanded');if (handler) {
handler(this, eventArgs);}
},
add_expandComplete : function(handler) {
this.get_events().addHandler('expandComplete', handler);},
remove_expandComplete : function(handler) {
this.get_events().removeHandler('expandComplete', handler);},
raiseExpandComplete : function() {
var handlers = this.get_events().getHandler('expandComplete');if (handlers) {
handlers(this, Sys.EventArgs.Empty);}
},
get_TargetHeight : function() {
return this.get_element().offsetHeight;},
set_TargetHeight : function(value) { 
this.get_element().style.height = value + "px";this.raisePropertyChanged('TargetHeight');},
get_TargetWidth : function() {
return this.get_element().offsetWidth;},
set_TargetWidth : function(value) {
this.get_element().style.width = value + "px" 
this.raisePropertyChanged('TargetWidth');},
get_Collapsed : function() {
return this._collapsed;}, 
set_Collapsed : function(value) {
if (this.get_isInitialized() && this.get_element() && value != this.get_Collapsed()) {
this.togglePanel();}
else {
this._collapsed = value;this.raisePropertyChanged('Collapsed');}
},
get_CollapsedSize : function() {
return this._collapsedSize;},
set_CollapsedSize : function(value) {
if (this._collapsedSize != value) {
this._collapsedSize = value;this.raisePropertyChanged('CollapsedSize');}
},
get_ExpandedSize : function() {
return this._expandedSize;},
set_ExpandedSize : function(value) {
if (this._expandedSize != value) {
this._expandedSize = value;this.raisePropertyChanged('ExpandedSize');}
},
get_CollapseControlID : function() {
return this._collapseControlID;},
set_CollapseControlID : function(value) {
if (this._collapseControlID != value) {
this._collapseControlID = value;this.raisePropertyChanged('CollapseControlID');}
},
get_ExpandControlID : function() {
return this._expandControlID;}, 
set_ExpandControlID : function(value) {
if (this._expandControlID != value) {
this._expandControlID = value;this.raisePropertyChanged('ExpandControlID');}
},
get_ScrollContents : function() {
return this._scrollContents;},
set_ScrollContents : function(value) {
if (this._scrollContents != value) {
this._scrollContents = value;this.raisePropertyChanged('ScrollContents');}
},
get_SuppressPostBack : function() {
return this._suppressPostBack;},
set_SuppressPostBack : function(value) {
if (this._suppressPostBack != value) {
this._suppressPostBack = value;this.raisePropertyChanged('SuppressPostBack');}
},
get_TextLabelID : function() {
return this._textLabelID;},
set_TextLabelID : function(value) {
if (this._textLabelID != value) {
this._textLabelID = value;this.raisePropertyChanged('TextLabelID');}
},
get_ExpandedText : function() {
return this._expandedText;},
set_ExpandedText : function(value) {
if (this._expandedText != value) {
this._expandedText = value;this.raisePropertyChanged('ExpandedText');}
},
get_CollapsedText : function() {
return this._collapsedText;},
set_CollapsedText : function(value) {
if (this._collapsedText != value) {
this._collapsedText = value;this.raisePropertyChanged('CollapsedText');}
},
get_ImageControlID : function() {
return this._imageControlID;},
set_ImageControlID : function(value) {
if (this._imageControlID != value) {
this._imageControlID = value;this.raisePropertyChanged('ImageControlID');}
},
get_ExpandedImage : function() {
return this._expandedImage;},
set_ExpandedImage : function(value) {
if (this._expandedImage != value) {
this._expandedImage = value;this.raisePropertyChanged('ExpandedImage');}
},
get_CollapsedImage : function() {
return this._collapsedImage;},
set_CollapsedImage : function(value) {
if (this._collapsedImage != value) {
this._collapsedImage = value;this.raisePropertyChanged('CollapsedImage');}
},
get_AutoExpand : function() {
return this._autoExpand;},
set_AutoExpand : function(value) {
if (this._autoExpand != value) {
this._autoExpand = value;this.raisePropertyChanged('AutoExpand');}
},
get_AutoCollapse : function() {
return this._autoCollapse;},
set_AutoCollapse : function(value) {
if (this._autoCollapse != value) {
this._autoCollapse = value;this.raisePropertyChanged('AutoCollapse');}
}, 
get_ExpandDirection : function() {
return this._expandDirection == AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical;}, 
set_ExpandDirection : function(value) {
if (this._expandDirection != value) {
this._expandDirection = value;this.raisePropertyChanged('ExpandDirection');}
}
}
AjaxControlToolkit.CollapsiblePanelBehavior.registerClass('AjaxControlToolkit.CollapsiblePanelBehavior', AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();