﻿Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.PositioningMode = function() {
throw Error.invalidOperation();}
AjaxControlToolkit.PositioningMode.prototype = {
Absolute: 0,
Center: 1,
BottomLeft: 2,
BottomRight: 3,
TopLeft: 4,
TopRight: 5
}
AjaxControlToolkit.PositioningMode.registerEnum('AjaxControlToolkit.PositioningMode');AjaxControlToolkit.PopupBehavior = function(element) {
AjaxControlToolkit.PopupBehavior.initializeBase(this, [element]);this._x = 0;this._y = 0;this._positioningMode = AjaxControlToolkit.PositioningMode.Absolute;this._parentElement = null;this._parentElementID = null;this._moveHandler = null;this._firstPopup = true;this._originalParent = null;}
AjaxControlToolkit.PopupBehavior.prototype = {
get_parentElement : function() {
if (!this._parentElement && this._parentElementID) {
this.set_parentElement($get(this._parentElementID));Sys.Debug.assert(this._parentElement != null, String.format(AjaxControlToolkit.Resources.PopupExtender_NoParentElement, this._parentElementID));} 
return this._parentElement;}, 
set_parentElement : function(element) {
this._parentElement = element;this.raisePropertyChanged('parentElement');},
get_parentElementID : function() {
if (this._parentElement) return this._parentElement.id
return this._parentElementID;},
set_parentElementID : function(elementID) {
this._parentElementID = elementID;if (this.get_isInitialized()) {
this.set_parentElement($get(elementID));}
},
get_positioningMode : function() {
return this._positioningMode;},
set_positioningMode : function(mode) {
this._positioningMode = mode;this.raisePropertyChanged('positioningMode');},
get_x : function() {
return this._x;},
set_x : function(value) {
if (value != this._x) {
this._x = value;if (Sys.UI.DomElement.getVisible(this.get_element())) {
this.show();}
this.raisePropertyChanged('x');}
},
get_y : function() {
return this._y;},
set_y : function(value) {
if (value != this._y) {
this._y = value;if (Sys.UI.DomElement.getVisible(this.get_element())) {
this.show();}
this.raisePropertyChanged('y');}
}, 
hide : function() {
var elt = this.get_element();Sys.UI.DomElement.setVisible(elt, false);if (this._moveHandler) {
Sys.UI.DomEvent.removeHandler(elt, "move", this._moveHandler);this._moveHandler = null;}
if (elt.originalWidth) {
elt.style.width = elt.originalWidth + "px";elt.originalWidth = null;}
if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
var childFrame = elt._hideWindowedElementsIFrame;if (childFrame) {
childFrame.style.display = "none";}
}
}, 
show : function() {
var elt = this.get_element();Sys.UI.DomElement.setVisible(elt, true);var offsetParent = elt.offsetParent || document.documentElement;var diff;var parentBounds;if(this._parentElement) {
parentBounds = CommonToolkitScripts.getBounds(this._parentElement);var offsetParentLocation = CommonToolkitScripts.getLocation(offsetParent);diff = {x: parentBounds.x - offsetParentLocation.x, y:parentBounds.y - offsetParentLocation.y};}
else {
parentBounds = CommonToolkitScripts.getBounds(offsetParent);diff = {x:0, y:0};}
var width = elt.offsetWidth - (elt.clientLeft ? elt.clientLeft * 2 : 0);var height = elt.offsetHeight - (elt.clientTop ? elt.clientTop * 2 : 0);var position;switch (this._positioningMode) {
case AjaxControlToolkit.PositioningMode.Center:
position = {
x: Math.round(parentBounds.width / 2 - width / 2),
y: Math.round(parentBounds.height / 2 - height / 2)
};break;case AjaxControlToolkit.PositioningMode.BottomLeft:
position = {
x: 0,
y: parentBounds.height
};break;case AjaxControlToolkit.PositioningMode.BottomRight:
position = {
x: parentBounds.width - width,
y: parentBounds.height
};break;case AjaxControlToolkit.PositioningMode.TopLeft:
position = {
x: 0,
y: -elt.offsetHeight
};break;case AjaxControlToolkit.PositioningMode.TopRight:
position = {
x: parentBounds.width - width,
y: -elt.offsetHeight
};break;default:
position = {x: 0, y: 0};}
position.x += this._x + diff.x;position.y += this._y + diff.y;CommonToolkitScripts.setLocation(elt, position);if(this._firstPopup) {
elt.style.width = width + "px";}
this._firstPopup = false;var newPosition = CommonToolkitScripts.getBounds(elt);var updateNeeded = false;var documentWidth = self.innerWidth ? self.innerWidth : document.documentElement.clientWidth;if (!documentWidth) {
documentWidth = document.body.clientWidth;}
if (newPosition.x + newPosition.width > documentWidth - 5) {
position.x -= newPosition.x + newPosition.width - documentWidth + 5;updateNeeded = true;}
if (newPosition.x < 0) {
position.x -= newPosition.x;updateNeeded = true;}
if (newPosition.y < 0) {
position.y -= newPosition.y;updateNeeded = true;}
if (updateNeeded) { 
CommonToolkitScripts.setLocation(elt, position);}
elt.zIndex = 1000;if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.version < 7)) {
var childFrame = elt._hideWindowedElementsIFrame;if (!childFrame) {
childFrame = document.createElement("iframe");childFrame.src = "javascript:'<html></html>';";childFrame.style.position = "absolute";childFrame.style.display = "none";childFrame.scrolling = "no";childFrame.frameBorder = "0";childFrame.tabIndex = "-1";childFrame.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";elt.parentNode.insertBefore(childFrame, elt);elt._hideWindowedElementsIFrame = childFrame;this._moveHandler = Function.createDelegate(this, this._onMove);Sys.UI.DomEvent.addHandler(elt, "move", this._moveHandler);}
CommonToolkitScripts.setBounds(childFrame, newPosition);childFrame.style.display = elt.style.display;if (elt.currentStyle && elt.currentStyle.zIndex) {
childFrame.style.zIndex = elt.currentStyle.zIndex;}
else if (elt.style.zIndex) {
childFrame.style.zIndex = elt.style.zIndex;}
}
},
initialize : function() {
AjaxControlToolkit.PopupBehavior.callBaseMethod(this, 'initialize');this.hide();this.get_element().style.position = "absolute";},
dispose : function() {
var elt = this.get_element();if (elt) {
if (Sys.UI.DomElement.getVisible(elt)) {
this.hide();}
if (this._originalParent) {
elt.parentNode.removeChild(elt);this._originalParent.appendChild(elt);this._originalParent = null;}
}
this._parentElement = null;AjaxControlToolkit.PopupBehavior.callBaseMethod(this, 'dispose');},
_onMove : function() {
var elt = this.get_element();if (elt._hideWindowedElementsIFrame) {
elt.parentNode.insertBefore(elt._hideWindowedElementsIFrame, elt);elt._hideWindowedElementsIFrame.style.top = elt.style.top;elt._hideWindowedElementsIFrame.style.left = elt.style.left;}
}
}
AjaxControlToolkit.PopupBehavior.registerClass('AjaxControlToolkit.PopupBehavior', AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();