//START AjaxControlToolkit.Common.Common.js
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.BoxSide = function() {
}
AjaxControlToolkit.BoxSide.prototype = {
Top : 0,
Right : 1,
Bottom : 2,
Left : 3
}
AjaxControlToolkit.BoxSide.registerEnum("AjaxControlToolkit.BoxSide", false);AjaxControlToolkit._CommonToolkitScripts = function() {
}
AjaxControlToolkit._CommonToolkitScripts.prototype = {
_borderStyleNames : ["borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],
_borderWidthNames : ["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"],
_paddingWidthNames : ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
_marginWidthNames : ["marginTop", "marginRight", "marginBottom", "marginLeft"],
getCurrentStyle : function(element, attribute, defaultValue) {
var currentValue = null;if (element) {
if (element.currentStyle) {
currentValue = element.currentStyle[attribute];} else if (document.defaultView && document.defaultView.getComputedStyle) {
var style = document.defaultView.getComputedStyle(element, null);if (style) {
currentValue = style[attribute];}
}
if (!currentValue && element.style.getPropertyValue) {
currentValue = element.style.getPropertyValue(attribute);}
else if (!currentValue && element.style.getAttribute) {
currentValue = element.style.getAttribute(attribute);} 
}
if ((!currentValue || currentValue == "" || typeof(currentValue) === 'undefined')) {
if (typeof(defaultValue) != 'undefined') {
currentValue = defaultValue;}
else {
currentValue = null;}
} 
return currentValue;},
getInheritedBackgroundColor : function(element) {
if (!element) return '#FFFFFF';var background = this.getCurrentStyle(element, 'backgroundColor');try {
while (!background || background == '' || background == 'transparent' || background == 'rgba(0, 0, 0, 0)') {
element = element.parentNode;if (!element) {
background = '#FFFFFF';} else {
background = this.getCurrentStyle(element, 'backgroundColor');}
}
} catch(ex) {
background = '#FFFFFF';}
return background;},
getLocation : function(element) {
if (element === document.documentElement) {
return new Sys.UI.Point(0,0);}
if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) {
if (element.window === element || element.nodeType === 9 || !element.getClientRects || !element.getBoundingClientRect) return new Sys.UI.Point(0,0);var screenRects = element.getClientRects();if (!screenRects || !screenRects.length) {
return new Sys.UI.Point(0,0);}
var first = screenRects[0];var dLeft = 0;var dTop = 0;var inFrame = false;try {
inFrame = element.ownerDocument.parentWindow.frameElement;} catch(ex) {
inFrame = true;}
if (inFrame) {
var clientRect = element.getBoundingClientRect();if (!clientRect) {
return new Sys.UI.Point(0,0);}
var minLeft = first.left;var minTop = first.top;for (var i = 1;i < screenRects.length;i++) {
var r = screenRects[i];if (r.left < minLeft) {
minLeft = r.left;}
if (r.top < minTop) {
minTop = r.top;}
}
dLeft = minLeft - clientRect.left;dTop = minTop - clientRect.top;}
var ownerDocument = element.document.documentElement;return new Sys.UI.Point(first.left - 2 - dLeft + ownerDocument.scrollLeft, first.top - 2 - dTop + ownerDocument.scrollTop);}
return Sys.UI.DomElement.getLocation(element);},
setLocation : function(element, point) {
Sys.UI.DomElement.setLocation(element, point.x, point.y);},
getContentSize : function(element) {
if (!element) {
throw Error.argumentNull('element');}
var size = this.getSize(element);var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);return {
width : size.width - borderBox.horizontal - paddingBox.horizontal,
height : size.height - borderBox.vertical - paddingBox.vertical
}
},
getSize : function(element) {
if (!element) {
throw Error.argumentNull('element');}
return {
width: element.offsetWidth,
height: element.offsetHeight
};},
setContentSize : function(element, size) {
if (!element) {
throw Error.argumentNull('element');}
if (!size) {
throw Error.argumentNull('size');}
if(this.getCurrentStyle(element, 'MozBoxSizing') == 'border-box' || this.getCurrentStyle(element, 'BoxSizing') == 'border-box') {
var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);size = {
width: size.width + borderBox.horizontal + paddingBox.horizontal,
height: size.height + borderBox.vertical + paddingBox.vertical
};}
element.style.width = size.width.toString() + 'px';element.style.height = size.height.toString() + 'px';},
setSize : function(element, size) {
if (!element) {
throw Error.argumentNull('element');}
if (!size) {
throw Error.argumentNull('size');}
var borderBox = this.getBorderBox(element);var paddingBox = this.getPaddingBox(element);var contentSize = {
width: size.width - borderBox.horizontal - paddingBox.horizontal,
height: size.height - borderBox.vertical - paddingBox.vertical
};this.setContentSize(element, contentSize);},
getBounds : function(element) {
var offset = $common.getLocation(element);return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);}, 
setBounds : function(element, bounds) {
if (!element) {
throw Error.argumentNull('element');}
if (!bounds) {
throw Error.argumentNull('bounds');}
this.setSize(element, bounds);$common.setLocation(element, bounds);},
getClientBounds : function() {
var clientWidth;var clientHeight;switch(Sys.Browser.agent) {
case Sys.Browser.InternetExplorer:
clientWidth = document.documentElement.clientWidth;clientHeight = document.documentElement.clientHeight;break;case Sys.Browser.Safari:
clientWidth = window.innerWidth;clientHeight = window.innerHeight;break;case Sys.Browser.Opera:
clientWidth = Math.min(window.innerWidth, document.body.clientWidth);clientHeight = Math.min(window.innerHeight, document.body.clientHeight);break;default: 
clientWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);clientHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);break;}
return new Sys.UI.Bounds(0, 0, clientWidth, clientHeight);},
getMarginBox : function(element) {
if (!element) {
throw Error.argumentNull('element');}
var box = {
top: this.getMargin(element, AjaxControlToolkit.BoxSide.Top),
right: this.getMargin(element, AjaxControlToolkit.BoxSide.Right),
bottom: this.getMargin(element, AjaxControlToolkit.BoxSide.Bottom),
left: this.getMargin(element, AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},
getBorderBox : function(element) {
if (!element) {
throw Error.argumentNull('element');}
var box = {
top: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Top),
right: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Right),
bottom: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Bottom),
left: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},
getPaddingBox : function(element) {
if (!element) {
throw Error.argumentNull('element');}
var box = {
top: this.getPadding(element, AjaxControlToolkit.BoxSide.Top),
right: this.getPadding(element, AjaxControlToolkit.BoxSide.Right),
bottom: this.getPadding(element, AjaxControlToolkit.BoxSide.Bottom),
left: this.getPadding(element, AjaxControlToolkit.BoxSide.Left)
};box.horizontal = box.left + box.right;box.vertical = box.top + box.bottom;return box;},
isBorderVisible : function(element, boxSide) {
if (!element) {
throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));}
var styleName = this._borderStyleNames[boxSide];var styleValue = this.getCurrentStyle(element, styleName);return styleValue != "none";},
getMargin : function(element, boxSide) {
if (!element) {
throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));}
var styleName = this._marginWidthNames[boxSide];var styleValue = this.getCurrentStyle(element, styleName);try { return this.parsePadding(styleValue);} catch(ex) { return 0;}
},
getBorderWidth : function(element, boxSide) {
if (!element) {
throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));}
if(!this.isBorderVisible(element, boxSide)) {
return 0;} 
var styleName = this._borderWidthNames[boxSide];var styleValue = this.getCurrentStyle(element, styleName);return this.parseBorderWidth(styleValue);},
getPadding : function(element, boxSide) {
if (!element) {
throw Error.argumentNull('element');}
if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));}
var styleName = this._paddingWidthNames[boxSide];var styleValue = this.getCurrentStyle(element, styleName);return this.parsePadding(styleValue);},
parseBorderWidth : function(borderWidth) {
if (!this._borderThicknesses) {
var borderThicknesses = { };var div0 = document.createElement('div');div0.style.visibility = 'hidden';div0.style.position = 'absolute';div0.style.fontSize = '1px';document.body.appendChild(div0)
var div1 = document.createElement('div');div1.style.height = '0px';div1.style.overflow = 'hidden';div0.appendChild(div1);var base = div0.offsetHeight;div1.style.borderTop = 'solid black';div1.style.borderTopWidth = 'thin';borderThicknesses['thin'] = div0.offsetHeight - base;div1.style.borderTopWidth = 'medium';borderThicknesses['medium'] = div0.offsetHeight - base;div1.style.borderTopWidth = 'thick';borderThicknesses['thick'] = div0.offsetHeight - base;div0.removeChild(div1);document.body.removeChild(div0);this._borderThicknesses = borderThicknesses;}
if (borderWidth) {
switch(borderWidth) {
case 'thin':
case 'medium':
case 'thick':
return this._borderThicknesses[borderWidth];case 'inherit':
return 0;}
var unit = this.parseUnit(borderWidth);Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidBorderWidthUnit, unit.type));return unit.size;}
return 0;},
parsePadding : function(padding) {
if(padding) {
if(padding == 'inherit') {
return 0;}
var unit = this.parseUnit(padding);Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidPaddingUnit, unit.type));return unit.size;}
return 0;},
parseUnit : function(value) {
if (!value) {
throw Error.argumentNull('value');}
value = value.trim().toLowerCase();var l = value.length;var s = -1;for(var i = 0;i < l;i++) {
var ch = value.substr(i, 1);if((ch < '0' || ch > '9') && ch != '-' && ch != '.' && ch != ',') {
break;}
s = i;}
if(s == -1) {
throw Error.create(AjaxControlToolkit.Resources.Common_UnitHasNoDigits);}
var type;var size;if(s < (l - 1)) {
type = value.substring(s + 1).trim();} else {
type = 'px';}
size = parseFloat(value.substr(0, s + 1));if(type == 'px') {
size = Math.floor(size);}
return { 
size: size,
type: type
};},
getElementOpacity : function(element) {
if (!element) {
throw Error.argumentNull('element');}
var hasOpacity = false;var opacity;if (element.filters) {
var filters = element.filters;if (filters.length !== 0) {
var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];if (alphaFilter) {
opacity = alphaFilter.opacity / 100.0;hasOpacity = true;}
}
}
else {
opacity = this.getCurrentStyle(element, 'opacity', 1);hasOpacity = true;}
if (hasOpacity === false) {
return 1.0;}
return parseFloat(opacity);},
setElementOpacity : function(element, value) {
if (!element) {
throw Error.argumentNull('element');}
if (element.filters) {
var filters = element.filters;var createFilter = true;if (filters.length !== 0) {
var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];if (alphaFilter) {
createFilter = false;alphaFilter.opacity = value * 100;}
}
if (createFilter) {
element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';}
}
else {
element.style.opacity = value;}
},
getVisible : function(element) {
return (element &&
("none" != $common.getCurrentStyle(element, "display")) &&
("hidden" != $common.getCurrentStyle(element, "visibility")));},
setVisible : function(element, value) {
if (element && value != $common.getVisible(element)) {
if (value) {
if (element.style.removeAttribute) {
element.style.removeAttribute("display");} else {
element.style.removeProperty("display");}
} else {
element.style.display = 'none';}
element.style.visibility = value ? 'visible' : 'hidden';}
},
resolveFunction : function(value) {
if (value) {
if (value instanceof Function) {
return value;} else if (String.isInstanceOfType(value) && value.length > 0) {
var func;if ((func = window[value]) instanceof Function) {
return func;} else if ((func = eval(value)) instanceof Function) {
return func;}
}
}
return null;},
addCssClasses : function(element, classNames) {
for(var i = 0;i < classNames.length;i++) {
Sys.UI.DomElement.addCssClass(element, classNames[i]);}
},
removeCssClasses : function(element, classNames) {
for(var i = 0;i < classNames.length;i++) {
Sys.UI.DomElement.removeCssClass(element, classNames[i]);}
},
setStyle : function(element, style) {
$common.applyProperties(element.style, style);},
removeHandlers : function(element, events) {
for (var name in events) {
$removeHandler(element, name, events[name]);}
},
overlaps : function(r1, r2) {
return r1.x < (r2.x + r2.width)
&& r2.x < (r1.x + r1.width)
&& r1.y < (r2.y + r2.height)
&& r2.y < (r1.y + r1.height);},
containsPoint : function(rect, x, y) {
return x >= rect.x && x < (rect.x + rect.width) && y >= rect.y && y < (rect.y + rect.height);},
isKeyDigit : function(keyCode) { 
return (0x30 <= keyCode && keyCode <= 0x39);},
isKeyNavigation : function(keyCode) { 
return (Sys.UI.Key.left <= keyCode && keyCode <= Sys.UI.Key.down);},
padLeft : function(text, size, ch, truncate) { 
return $common._pad(text, size || 2, ch || ' ', 'l', truncate || false);},
padRight : function(text, size, ch, truncate) { 
return $common._pad(text, size || 2, ch || ' ', 'r', truncate || false);},
_pad : function(text, size, ch, side, truncate) {
text = text.toString();var length = text.length;var builder = new Sys.StringBuilder();if (side == 'r') {
builder.append(text);} 
while (length < size) {
builder.append(ch);length++;}
if (side == 'l') {
builder.append(text);}
var result = builder.toString();if (truncate && result.length > size) {
if (side == 'l') {
result = result.substr(result.length - size, size);} else {
result = result.substr(0, size);}
}
return result;},
__DOMEvents : {
focusin : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focusin", true, false, window, 1);} },
focusout : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focusout", true, false, window, 1);} },
activate : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("activate", true, true, window, 1);} },
focus : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("focus", false, false, window, 1);} },
blur : { eventGroup : "UIEvents", init : function(e, p) { e.initUIEvent("blur", false, false, window, 1);} },
click : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("click", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
dblclick : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("click", true, true, window, 2, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
mousedown : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousedown", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
mouseup : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mouseup", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
mouseover : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mouseover", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
mousemove : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
mouseout : { eventGroup : "MouseEvents", init : function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null);} },
load : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("load", false, false);} },
unload : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("unload", false, false);} },
select : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("select", true, false);} },
change : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("change", true, false);} },
submit : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("submit", true, true);} },
reset : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("reset", true, false);} },
resize : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("resize", true, false);} },
scroll : { eventGroup : "HTMLEvents", init : function(e, p) { e.initEvent("scroll", true, false);} }
},
tryFireRawEvent : function(element, rawEvent) {
try {
if (element.fireEvent) {
element.fireEvent("on" + rawEvent.type, rawEvent);return true;} else if (element.dispatchEvent) {
element.dispatchEvent(rawEvent);return true;}
} catch (e) {
}
return false;}, 
tryFireEvent : function(element, eventName, properties) {
try {
if (document.createEventObject) {
var e = document.createEventObject();$common.applyProperties(e, properties || {});element.fireEvent("on" + eventName, e);return true;} else if (document.createEvent) {
var def = $common.__DOMEvents[eventName];if (def) {
var e = document.createEvent(def.eventGroup);def.init(e, properties || {});element.dispatchEvent(e);return true;}
}
} catch (e) {
}
return false;},
wrapElement : function(innerElement, newOuterElement, newInnerParentElement) {
var parent = innerElement.parentNode;parent.replaceChild(newOuterElement, innerElement);(newInnerParentElement || newOuterElement).appendChild(innerElement);},
unwrapElement : function(innerElement, oldOuterElement) {
var parent = oldOuterElement.parentNode;if (parent != null) {
$common.removeElement(innerElement);parent.replaceChild(innerElement, oldOuterElement);}
},
removeElement : function(element) {
var parent = element.parentNode;if (parent != null) {
parent.removeChild(element);}
},
applyProperties : function(target, properties) {
for (var p in properties) {
var pv = properties[p];if (pv != null && Object.getType(pv)===Object) {
var tv = target[p];$common.applyProperties(tv, pv);} else {
target[p] = pv;}
}
},
createElementFromTemplate : function(template, appendToParent, nameTable) {
if (typeof(template.nameTable)!='undefined') {
var newNameTable = template.nameTable;if (String.isInstanceOfType(newNameTable)) {
newNameTable = nameTable[newNameTable];}
if (newNameTable != null) {
nameTable = newNameTable;}
}
var elementName = null;if (typeof(template.name)!=='undefined') {
elementName = template.name;}
var elt = document.createElement(template.nodeName);if (typeof(template.name)!=='undefined' && nameTable) {
nameTable[template.name] = elt;}
if (typeof(template.parent)!=='undefined' && appendToParent == null) {
var newParent = template.parent;if (String.isInstanceOfType(newParent)) {
newParent = nameTable[newParent];}
if (newParent != null) {
appendToParent = newParent;}
}
if (typeof(template.properties)!=='undefined' && template.properties != null) {
$common.applyProperties(elt, template.properties);}
if (typeof(template.cssClasses)!=='undefined' && template.cssClasses != null) {
$common.addCssClasses(elt, template.cssClasses);}
if (typeof(template.events)!=='undefined' && template.events != null) {
$addHandlers(elt, template.events);}
if (typeof(template.visible)!=='undefined' && template.visible != null) {
this.setVisible(elt, template.visible);}
if (appendToParent) {
appendToParent.appendChild(elt);}
if (typeof(template.opacity)!=='undefined' && template.opacity != null) {
$common.setElementOpacity(elt, template.opacity);}
if (typeof(template.children)!=='undefined' && template.children != null) {
for (var i = 0;i < template.children.length;i++) {
var subtemplate = template.children[i];$common.createElementFromTemplate(subtemplate, elt, nameTable);}
}
var contentPresenter = elt;if (typeof(template.contentPresenter)!=='undefined' && template.contentPresenter != null) {
contentPresenter = nameTable[contentPresenter];}
if (typeof(template.content)!=='undefined' && template.content != null) {
var content = template.content;if (String.isInstanceOfType(content)) {
content = nameTable[content];}
if (content.parentNode) {
$common.wrapElement(content, elt, contentPresenter);} else {
contentPresenter.appendChild(content);}
}
return elt;},
prepareHiddenElementForATDeviceUpdate : function () {
var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');if (!objHidden) {
var objHidden = document.createElement('input');objHidden.setAttribute('type', 'hidden');objHidden.setAttribute('value', '1');objHidden.setAttribute('id', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts');objHidden.setAttribute('name', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts');if ( document.forms[0] ) {
document.forms[0].appendChild(objHidden);}
}
},
updateFormToRefreshATDeviceBuffer : function () {
var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts');if (objHidden) {
if (objHidden.getAttribute('value') == '1') {
objHidden.setAttribute('value', '0');} else {
objHidden.setAttribute('value', '1');}
}
}
}
var CommonToolkitScripts = AjaxControlToolkit.CommonToolkitScripts = new AjaxControlToolkit._CommonToolkitScripts();var $common = CommonToolkitScripts;Sys.UI.DomElement.getVisible = $common.getVisible;Sys.UI.DomElement.setVisible = $common.setVisible;Sys.UI.Control.overlaps = $common.overlaps;AjaxControlToolkit._DomUtility = function() {
}
AjaxControlToolkit._DomUtility.prototype = {
isDescendant : function(ancestor, descendant) {
for (var n = descendant.parentNode;n != null;n = n.parentNode) {
if (n == ancestor) return true;}
return false;},
isDescendantOrSelf : function(ancestor, descendant) {
if (ancestor === descendant) 
return true;return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);},
isAncestor : function(descendant, ancestor) {
return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);},
isAncestorOrSelf : function(descendant, ancestor) {
if (descendant === ancestor)
return true;return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);},
isSibling : function(self, sibling) {
var parent = self.parentNode;for (var i = 0;i < parent.childNodes.length;i++) {
if (parent.childNodes[i] == sibling) return true;}
return false;}
}
AjaxControlToolkit._DomUtility.registerClass("AjaxControlToolkit._DomUtility");AjaxControlToolkit.DomUtility = new AjaxControlToolkit._DomUtility();AjaxControlToolkit.TextBoxWrapper = function(element) {
AjaxControlToolkit.TextBoxWrapper.initializeBase(this, [element]);this._current = element.value;this._watermark = null;this._isWatermarked = false;}
AjaxControlToolkit.TextBoxWrapper.prototype = {
dispose : function() {
this.get_element().AjaxControlToolkitTextBoxWrapper = null;AjaxControlToolkit.TextBoxWrapper.callBaseMethod(this, 'dispose');},
get_Current : function() {
this._current = this.get_element().value;return this._current;},
set_Current : function(value) {
this._current = value;this._updateElement();},
get_Value : function() {
if (this.get_IsWatermarked()) {
return "";} else {
return this.get_Current();}
},
set_Value : function(text) {
this.set_Current(text);if (!text || (0 == text.length)) {
if (null != this._watermark) {
this.set_IsWatermarked(true);}
} else {
this.set_IsWatermarked(false);}
},
get_Watermark : function() {
return this._watermark;},
set_Watermark : function(value) {
this._watermark = value;this._updateElement();},
get_IsWatermarked : function() {
return this._isWatermarked;},
set_IsWatermarked : function(isWatermarked) {
if (this._isWatermarked != isWatermarked) {
this._isWatermarked = isWatermarked;this._updateElement();this._raiseWatermarkChanged();}
},
_updateElement : function() {
var element = this.get_element();if (this._isWatermarked) {
if (element.value != this._watermark) {
element.value = this._watermark;}
} else {
if (element.value != this._current) {
element.value = this._current;}
}
},
add_WatermarkChanged : function(handler) {
this.get_events().addHandler("WatermarkChanged", handler);},
remove_WatermarkChanged : function(handler) {
this.get_events().removeHandler("WatermarkChanged", handler);},
_raiseWatermarkChanged : function() {
var onWatermarkChangedHandler = this.get_events().getHandler("WatermarkChanged");if (onWatermarkChangedHandler) {
onWatermarkChangedHandler(this, Sys.EventArgs.Empty);}
}
}
AjaxControlToolkit.TextBoxWrapper.get_Wrapper = function(element) {
if (null == element.AjaxControlToolkitTextBoxWrapper) {
element.AjaxControlToolkitTextBoxWrapper = new AjaxControlToolkit.TextBoxWrapper(element);}
return element.AjaxControlToolkitTextBoxWrapper;}
AjaxControlToolkit.TextBoxWrapper.registerClass('AjaxControlToolkit.TextBoxWrapper', Sys.UI.Behavior);AjaxControlToolkit.TextBoxWrapper.validatorGetValue = function(id) {
var control = $get(id);if (control && control.AjaxControlToolkitTextBoxWrapper) {
return control.AjaxControlToolkitTextBoxWrapper.get_Value();}
return AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue(id);}
if (typeof(ValidatorGetValue) == 'function') {
AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue = ValidatorGetValue;ValidatorGetValue = AjaxControlToolkit.TextBoxWrapper.validatorGetValue;}
if (Sys.CultureInfo.prototype._getAbbrMonthIndex) {
try {
Sys.CultureInfo.prototype._getAbbrMonthIndex('');} catch(ex) {
Sys.CultureInfo.prototype._getAbbrMonthIndex = function(value) {
if (!this._upperAbbrMonths) {
this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperAbbrMonths, this._toUpper(value));}
Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;}
}

//END AjaxControlToolkit.Common.Common.js
//START AjaxControlToolkit.ExtenderBase.BaseScripts.js
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.BehaviorBase = function(element) {
AjaxControlToolkit.BehaviorBase.initializeBase(this,[element]);this._clientStateFieldID = null;this._pageRequestManager = null;this._partialUpdateBeginRequestHandler = null;this._partialUpdateEndRequestHandler = null;}
AjaxControlToolkit.BehaviorBase.prototype = {
initialize : function() {
AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'initialize');},
dispose : function() {
AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'dispose');if (this._pageRequestManager) {
if (this._partialUpdateBeginRequestHandler) {
this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateBeginRequestHandler = null;}
if (this._partialUpdateEndRequestHandler) {
this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler);this._partialUpdateEndRequestHandler = null;}
this._pageRequestManager = null;}
},
get_ClientStateFieldID : function() {
return this._clientStateFieldID;},
set_ClientStateFieldID : function(value) {
if (this._clientStateFieldID != value) {
this._clientStateFieldID = value;this.raisePropertyChanged('ClientStateFieldID');}
},
get_ClientState : function() {
if (this._clientStateFieldID) {
var input = document.getElementById(this._clientStateFieldID);if (input) {
return input.value;}
}
return null;},
set_ClientState : function(value) {
if (this._clientStateFieldID) {
var input = document.getElementById(this._clientStateFieldID);if (input) {
input.value = value;}
}
},
registerPartialUpdateEvents : function() {
if (Sys && Sys.WebForms && Sys.WebForms.PageRequestManager){
this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();if (this._pageRequestManager) {
this._partialUpdateBeginRequestHandler = Function.createDelegate(this, this._partialUpdateBeginRequest);this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler);this._partialUpdateEndRequestHandler = Function.createDelegate(this, this._partialUpdateEndRequest);this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);}
}
},
_partialUpdateBeginRequest : function(sender, beginRequestEventArgs) {
},
_partialUpdateEndRequest : function(sender, endRequestEventArgs) {
}
}
AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.BehaviorBase', Sys.UI.Behavior);AjaxControlToolkit.DynamicPopulateBehaviorBase = function(element) {
AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this, [element]);this._DynamicControlID = null;this._DynamicContextKey = null;this._DynamicServicePath = null;this._DynamicServiceMethod = null;this._cacheDynamicResults = false;this._dynamicPopulateBehavior = null;this._populatingHandler = null;this._populatedHandler = null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype = {
initialize : function() {
AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'initialize');this._populatingHandler = Function.createDelegate(this, this._onPopulating);this._populatedHandler = Function.createDelegate(this, this._onPopulated);},
dispose : function() {
if (this._populatedHandler) {
if (this._dynamicPopulateBehavior) {
this._dynamicPopulateBehavior.remove_populated(this._populatedHandler);}
this._populatedHandler = null;}
if (this._populatingHandler) {
if (this._dynamicPopulateBehavior) {
this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);}
this._populatingHandler = null;}
if (this._dynamicPopulateBehavior) {
this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior = null;}
AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'dispose');},
populate : function(contextKeyOverride) {
if (this._dynamicPopulateBehavior && (this._dynamicPopulateBehavior.get_element() != $get(this._DynamicControlID))) {
this._dynamicPopulateBehavior.dispose();this._dynamicPopulateBehavior = null;}
if (!this._dynamicPopulateBehavior && this._DynamicControlID && this._DynamicServiceMethod) {
this._dynamicPopulateBehavior = $create(AjaxControlToolkit.DynamicPopulateBehavior,
{
"id" : this.get_id() + "_DynamicPopulateBehavior",
"ContextKey" : this._DynamicContextKey,
"ServicePath" : this._DynamicServicePath,
"ServiceMethod" : this._DynamicServiceMethod,
"cacheDynamicResults" : this._cacheDynamicResults
}, null, null, $get(this._DynamicControlID));this._dynamicPopulateBehavior.add_populating(this._populatingHandler);this._dynamicPopulateBehavior.add_populated(this._populatedHandler);}
if (this._dynamicPopulateBehavior) {
this._dynamicPopulateBehavior.populate(contextKeyOverride ? contextKeyOverride : this._DynamicContextKey);}
},
_onPopulating : function(sender, eventArgs) {
this.raisePopulating(eventArgs);},
_onPopulated : function(sender, eventArgs) {
this.raisePopulated(eventArgs);},
get_dynamicControlID : function() {
return this._DynamicControlID;},
get_DynamicControlID : this.get_dynamicControlID,
set_dynamicControlID : function(value) {
if (this._DynamicControlID != value) {
this._DynamicControlID = value;this.raisePropertyChanged('dynamicControlID');this.raisePropertyChanged('DynamicControlID');}
},
set_DynamicControlID : this.set_dynamicControlID,
get_dynamicContextKey : function() {
return this._DynamicContextKey;},
get_DynamicContextKey : this.get_dynamicContextKey,
set_dynamicContextKey : function(value) {
if (this._DynamicContextKey != value) {
this._DynamicContextKey = value;this.raisePropertyChanged('dynamicContextKey');this.raisePropertyChanged('DynamicContextKey');}
},
set_DynamicContextKey : this.set_dynamicContextKey,
get_dynamicServicePath : function() {
return this._DynamicServicePath;},
get_DynamicServicePath : this.get_dynamicServicePath,
set_dynamicServicePath : function(value) {
if (this._DynamicServicePath != value) {
this._DynamicServicePath = value;this.raisePropertyChanged('dynamicServicePath');this.raisePropertyChanged('DynamicServicePath');}
},
set_DynamicServicePath : this.set_dynamicServicePath,
get_dynamicServiceMethod : function() {
return this._DynamicServiceMethod;},
get_DynamicServiceMethod : this.get_dynamicServiceMethod,
set_dynamicServiceMethod : function(value) {
if (this._DynamicServiceMethod != value) {
this._DynamicServiceMethod = value;this.raisePropertyChanged('dynamicServiceMethod');this.raisePropertyChanged('DynamicServiceMethod');}
},
set_DynamicServiceMethod : this.set_dynamicServiceMethod,
get_cacheDynamicResults : function() {
return this._cacheDynamicResults;},
set_cacheDynamicResults : function(value) {
if (this._cacheDynamicResults != value) {
this._cacheDynamicResults = value;this.raisePropertyChanged('cacheDynamicResults');}
},
add_populated : function(handler) {
this.get_events().addHandler("populated", handler);},
remove_populated : function(handler) {
this.get_events().removeHandler("populated", handler);},
raisePopulated : function(arg) {
var handler = this.get_events().getHandler("populated");if (handler) handler(this, arg);},
add_populating : function(handler) {
this.get_events().addHandler('populating', handler);},
remove_populating : function(handler) {
this.get_events().removeHandler('populating', handler);},
raisePopulating : function(eventArgs) {
var handler = this.get_events().getHandler('populating');if (handler) {
handler(this, eventArgs);}
}
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase', AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.ControlBase = function(element) {
AjaxControlToolkit.ControlBase.initializeBase(this, [element]);this._clientStateField = null;this._callbackTarget = null;this._onsubmit$delegate = Function.createDelegate(this, this._onsubmit);this._oncomplete$delegate = Function.createDelegate(this, this._oncomplete);this._onerror$delegate = Function.createDelegate(this, this._onerror);}
AjaxControlToolkit.ControlBase.prototype = {
initialize : function() {
AjaxControlToolkit.ControlBase.callBaseMethod(this, "initialize");if (this._clientStateField) {
this.loadClientState(this._clientStateField.value);}
if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);} else {
$addHandler(document.forms[0], "submit", this._onsubmit$delegate);}
},
dispose : function() {
if (typeof(Sys.WebForms)!=="undefined" && typeof(Sys.WebForms.PageRequestManager)!=="undefined") {
Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);} else {
$removeHandler(document.forms[0], "submit", this._onsubmit$delegate);}
AjaxControlToolkit.ControlBase.callBaseMethod(this, "dispose");},
findElement : function(id) {
return $get(this.get_id() + '_' + id.split(':').join('_'));},
get_clientStateField : function() {
return this._clientStateField;},
set_clientStateField : function(value) {
if (this.get_isInitialized()) throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField);if (this._clientStateField != value) {
this._clientStateField = value;this.raisePropertyChanged('clientStateField');}
},
loadClientState : function(value) {
},
saveClientState : function() {
return null;},
_invoke : function(name, args, cb) {
if (!this._callbackTarget) {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);}
if (typeof(WebForm_DoCallback)==="undefined") {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);}
var ar = [];for (var i = 0;i < args.length;i++) 
ar[i] = args[i];var clientState = this.saveClientState();if (clientState != null && !String.isInstanceOfType(clientState)) {
throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);}
var payload = Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state:this.saveClientState()});WebForm_DoCallback(this._callbackTarget, payload, this._oncomplete$delegate, cb, this._onerror$delegate, true);},
_oncomplete : function(result, context) {
result = Sys.Serialization.JavaScriptSerializer.deserialize(result);if (result.error) {
throw Error.create(result.error);}
this.loadClientState(result.state);context(result.result);},
_onerror : function(message, context) {
throw Error.create(message);},
_onsubmit : function() {
if (this._clientStateField) {
this._clientStateField.value = this.saveClientState();}
return true;} 
}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase", Sys.UI.Control);
AjaxControlToolkit.Resources={
"PasswordStrength_InvalidWeightingRatios":"Strength Weighting ratios must have 4 elements","Animation_ChildrenNotAllowed":"AjaxControlToolkit.Animation.createAnimation cannot add child animations to type \"{0}\" that does not derive from AjaxControlToolkit.Animation.ParentAnimation","PasswordStrength_RemainingSymbols":"{0} symbol characters","ExtenderBase_CannotSetClientStateField":"clientStateField can only be set before initialization","RTE_PreviewHTML":"Preview HTML","RTE_JustifyCenter":"Justify Center","PasswordStrength_RemainingUpperCase":"{0} more upper case characters","Animation_TargetNotFound":"AjaxControlToolkit.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"","RTE_FontColor":"Font Color","RTE_LabelColor":"Label Color","Common_InvalidBorderWidthUnit":"A unit type of \"{0}\"\u0027 is invalid for parseBorderWidth","RTE_Heading":"Heading","Tabs_PropertySetBeforeInitialization":"{0} cannot be changed before initialization","RTE_OrderedList":"Ordered List","ReorderList_DropWatcherBehavior_NoChild":"Could not find child of list with id \"{0}\"","CascadingDropDown_MethodTimeout":"[Method timeout]","RTE_Columns":"Columns","RTE_InsertImage":"Insert Image","RTE_InsertTable":"Insert Table","RTE_Values":"Values","RTE_OK":"OK","ExtenderBase_PageNotRegisteredForCallbacks":"This Page has not been registered for callbacks","Animation_NoDynamicPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\" or \"{1}\"","Animation_InvalidBaseType":"AjaxControlToolkit.Animation.registerAnimation can only register types that inherit from AjaxControlToolkit.Animation.Animation","RTE_UnorderedList":"Unordered List","ResizableControlBehavior_InvalidHandler":"{0} handler not a function, function name, or function text","Animation_InvalidColor":"Color must be a 7-character hex representation (e.g. #246ACF), not \"{0}\"","RTE_CellColor":"Cell Color","PasswordStrength_RemainingMixedCase":"Mixed case characters","RTE_Italic":"Italic","CascadingDropDown_NoParentElement":"Failed to find parent element \"{0}\"","ValidatorCallout_DefaultErrorMessage":"This control is invalid","RTE_Indent":"Indent","ReorderList_DropWatcherBehavior_CallbackError":"Reorder failed, see details below.\\r\\n\\r\\n{0}","PopupControl_NoDefaultProperty":"No default property supported for control \"{0}\" of type \"{1}\"","RTE_Normal":"Normal","PopupExtender_NoParentElement":"Couldn\u0027t find parent element \"{0}\"","RTE_ViewValues":"View Values","RTE_Legend":"Legend","RTE_Labels":"Labels","RTE_CellSpacing":"Cell Spacing","PasswordStrength_RemainingNumbers":"{0} more numbers","RTE_Border":"Border","RTE_Create":"Create","RTE_BackgroundColor":"Background Color","RTE_Cancel":"Cancel","RTE_JustifyFull":"Justify Full","RTE_JustifyLeft":"Justify Left","RTE_Cut":"Cut","ResizableControlBehavior_CannotChangeProperty":"Changes to {0} not supported","RTE_ViewSource":"View Source","Common_InvalidPaddingUnit":"A unit type of \"{0}\" is invalid for parsePadding","RTE_Paste":"Paste","ExtenderBase_ControlNotRegisteredForCallbacks":"This Control has not been registered for callbacks","Calendar_Today":"Today: {0}","Common_DateTime_InvalidFormat":"Invalid format","ListSearch_DefaultPrompt":"Type to search","CollapsiblePanel_NoControlID":"Failed to find element \"{0}\"","RTE_ViewEditor":"View Editor","RTE_BarColor":"Bar Color","PasswordStrength_DefaultStrengthDescriptions":"NonExistent;Very Weak;Weak;Poor;Almost OK;Barely Acceptable;Average;Good;Strong;Excellent;Unbreakable!","RTE_Inserttexthere":"Insert text here","Animation_UknownAnimationName":"AjaxControlToolkit.Animation.createAnimation could not find an Animation corresponding to the name \"{0}\"","ExtenderBase_InvalidClientStateType":"saveClientState must return a value of type String","Rating_CallbackError":"An unhandled exception has occurred:\\r\\n{0}","Tabs_OwnerExpected":"owner must be set before initialize","DynamicPopulate_WebServiceTimeout":"Web service call timed out","PasswordStrength_RemainingLowerCase":"{0} more lower case characters","Animation_MissingAnimationName":"AjaxControlToolkit.Animation.createAnimation requires an object with an AnimationName property","RTE_JustifyRight":"Justify Right","Tabs_ActiveTabArgumentOutOfRange":"Argument is not a member of the tabs collection","RTE_CellPadding":"Cell Padding","RTE_ClearFormatting":"Clear Formatting","AlwaysVisible_ElementRequired":"AjaxControlToolkit.AlwaysVisibleControlBehavior must have an element","Slider_NoSizeProvided":"Please set valid values for the height and width attributes in the slider\u0027s CSS classes","DynamicPopulate_WebServiceError":"Web Service call failed: {0}","PasswordStrength_StrengthPrompt":"Strength: ","PasswordStrength_RemainingCharacters":"{0} more characters","PasswordStrength_Satisfied":"Nothing more required","RTE_Hyperlink":"Hyperlink","Animation_NoPropertyFound":"AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\"","PasswordStrength_InvalidStrengthDescriptionStyles":"Text Strength description style classes must match the number of text descriptions.","PasswordStrength_GetHelpRequirements":"Get help on password requirements","PasswordStrength_InvalidStrengthDescriptions":"Invalid number of text strength descriptions specified","RTE_Underline":"Underline","Tabs_PropertySetAfterInitialization":"{0} cannot be changed after initialization","RTE_Rows":"Rows","RTE_Redo":"Redo","RTE_Size":"Size","RTE_Undo":"Undo","RTE_Bold":"Bold","RTE_Copy":"Copy","RTE_Font":"Font","CascadingDropDown_MethodError":"[Method error {0}]","RTE_BorderColor":"Border Color","RTE_Paragraph":"Paragraph","RTE_InsertHorizontalRule":"Insert Horizontal Rule","Common_UnitHasNoDigits":"No digits","RTE_Outdent":"Outdent","Common_DateTime_InvalidTimeSpan":"\"{0}\" is not a valid TimeSpan format","Animation_CannotNestSequence":"AjaxControlToolkit.Animation.SequenceAnimation cannot be nested inside AjaxControlToolkit.Animation.ParallelAnimation","Shared_BrowserSecurityPreventsPaste":"Your browser security settings don\u0027t permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead."};
//END AjaxControlToolkit.ExtenderBase.BaseScripts.js
//START AjaxControlToolkit.PasswordStrength.PasswordStrengthExtenderBehavior.js
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.PasswordStrengthExtenderBehavior = function(element) {
AjaxControlToolkit.PasswordStrengthExtenderBehavior.initializeBase(this, [element]);this._levelArray = new Array();this._styleArray = new Array();this._txtPwdStrengthCssClass = null;this._barBorderCssClass = null;this._barIndicatorCssClass = null;this._displayPosition = AjaxControlToolkit.DisplayPosition.RightSide;this._strengthIndicator = AjaxControlToolkit.StrengthIndicatorTypes.Text;this._preferredPasswordLength = 0;this._minimumNumericCharacters = 0;this._minimumSymbolCharacters = 0;this._requiresUpperAndLowerCaseCharacters = false;this._helpHandleCssClass = '';this._helpHandlePosition = AjaxControlToolkit.DisplayPosition.AboveRight;this._helpText = '';this._helpStatusLabelID = null;this._displayDiv = null;this._helpDiv = null;this._barOuterDiv = null;this._barInnerDiv = null;this._keyPressHandler = null;this._blurHandler = null;this._helpClickHandler = null;this._prefixText = AjaxControlToolkit.Resources.PasswordStrength_StrengthPrompt;this._txtStrengthDescriptions = AjaxControlToolkit.Resources.PasswordStrength_DefaultStrengthDescriptions;this._strengthStyles = '';this._barIndicatorStyles = '';this._txtseparator = ';';this._MIN_TXT_LEVEL_COUNT = 2;this._MAX_TXT_LEVEL_COUNT = 10;this._calcWeightings = "50;15;15;20";this._minLowerCaseChars = 0;this._minUpperCaseChars = 0;}
AjaxControlToolkit.PasswordStrengthExtenderBehavior.prototype = {
initialize : function() {
AjaxControlToolkit.PasswordStrengthExtenderBehavior.callBaseMethod(this, 'initialize');this._createIndicatorDisplayElement();var e = this.get_element();this._keyPressHandler = Function.createDelegate(this, this._onKeyPress);this._blurHandler = Function.createDelegate(this, this._onBlur);$addHandler(e,'keyup', this._keyPressHandler);$addHandler(e,'blur', this._blurHandler);if (this._preferredPasswordLength == null || this._preferredPasswordLength == '' || this._preferredPasswordLength <= 0) {
this._preferredPasswordLength = 10;this.raisePropertyChanged('PreferredPasswordLength');}
if (this._calcWeightings == null || this._calcWeightings == "") {
this._calcWeightings = "50;15;15;20";this.raisePropertyChanged('CalculationWeightings');}
this._getPasswordStrength();},
_createIndicatorDisplayElement : function() {
if (this._strengthIndicator == AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator)
this._createBarIndicatorDisplayElement();else
this._createTextDisplayElement();if (this._createHelpDisplayElement() == true)
{
$common.setVisible(this._helpDiv,true);var bounds = $common.getBounds(this.get_element());var helpBounds = $common.getBounds(this._helpDiv);var posY;var posX;var offset = 3;if (this._helpHandlePosition == "LeftSide")
{
posY = bounds.y + ((bounds.height / 2) - (helpBounds.height / 2));posX = bounds.x - helpBounds.width;} else if (this._helpHandlePosition == "BelowRight")
{
posY = bounds.y + bounds.height - offset;posX = bounds.x + bounds.width - offset;} else if (this._helpHandlePosition == "BelowLeft")
{
posY = bounds.y + bounds.height - offset;posX = bounds.x - helpBounds.width + offset;} else if (this._helpHandlePosition == "RightSide")
{
posY = bounds.y + ((bounds.height / 2) - (helpBounds.height / 2));posX = bounds.x + bounds.width;} else if (this._helpHandlePosition == "AboveLeft")
{
posY = bounds.y - helpBounds.height + offset;posX = bounds.x - helpBounds.width + offset;} else 
{
posY = bounds.y - helpBounds.height + offset;posX = bounds.x + bounds.width - offset;}
this._helpDiv.style.top = posY + 'px';this._helpDiv.style.left = posX + 'px';}
},
_createTextDisplayElement : function() {
var p = document.createElement("label");p.style.position= "absolute";p.style.visibility="hidden";p.style.display = "none";if (this.get_element().id) {
p.id = this.get_element().id + "_PasswordStrength";}
this._displayDiv = p;this._setTextDisplayLocation(p);document.body.appendChild(p);this._setTextDisplayStyle(0);},
_setTextDisplayStyle : function(index) {
if (this._styleArray.length == 0)
{
if (this._txtPwdStrengthCssClass != null && this._txtPwdStrengthCssClass != '')
this._displayDiv.className = this._txtPwdStrengthCssClass;else
this._displayDiv.style.backgroundColor = "yellow";} else
{
this._displayDiv.style.backgroundColor = "";if ( (this._txtPwdStrengthCssClass != null && this._txtPwdStrengthCssClass != '') &&
Sys.UI.DomElement.containsCssClass(this._displayDiv,this._txtPwdStrengthCssClass))
{
Sys.UI.DomElement.removeCssClass(this._displayDiv,this._txtPwdStrengthCssClass)
}
this._displayDiv.className = this._styleArray[index];}
},
_setBarDisplayStyle : function(index) {
if (this._barBorderCssClass != '')
this._barOuterDiv.className = this._barBorderCssClass;else
{
d1.style.width="200px";d1.style.borderStyle="solid";d1.style.borderWidth="1px";}
if (this._styleArray.length == 0)
{
if (this._barIndicatorCssClass != '')
this._barInnerDiv.className = this._barIndicatorCssClass;else
this._barInnerDiv.style.backgroundColor = "red";} else
{
if ( (this._barIndicatorCssClass != null && this._barIndicatorCssClass != '') &&
Sys.UI.DomElement.containsCssClass(this._barInnerDiv,this._barIndicatorCssClass))
{
Sys.UI.DomElement.removeCssClass(this._barInnerDiv,this._barIndicatorCssClass)
}
this._barInnerDiv.className = this._styleArray[index];}
},
_createBarIndicatorDisplayElement : function() {
var d1 = document.createElement("div");d1.style.position= "absolute";d1.style.visibility="hidden";d1.style.display = "none";var d2 = document.createElement("div");d2.style.position= "absolute";d2.style.visibility="hidden";d2.style.display = "none";d1.style.height = this.get_element().offsetHeight+4 + "px";if (this.get_element().id) {
d1.id = this.get_element().id + "_PasswordStrengthBar1";d2.id = this.get_element().id + "_PasswordStrengthBar2";}
this._barOuterDiv = d1;this._barInnerDiv = d2;this._extractStyles();this._setBarDisplayStyle(0);document.body.appendChild(d1);document.body.appendChild(d2);this._setBarDisplayLocation(d1,d2);},
_createHelpDisplayElement : function() {
if (this._helpHandleCssClass != '')
{
var req = document.createElement("a");req.style.position= "absolute";req.style.visibility="hidden";req.style.display = "none";req.href = "#";req.title = AjaxControlToolkit.Resources.PasswordStrength_GetHelpRequirements;if (this.get_element().id) {
req.id = this.get_element().id + "_PasswordStrengthReqDisplay";}
this._helpClickHandler = Function.createDelegate(this,this._onHelpClick);$addHandler(req,'click',this._helpClickHandler);this._helpDiv = req;this._helpDiv.className = this._helpHandleCssClass;if (this.get_element().parentElement != null && this.get_element().parentElement.canHaveChildren)
this.get_element().parentElement.appendChild(req);else
document.body.appendChild(req);return true;} else
return false;},
_setTextDisplayLocation : function(htmlElement) {
var location = $common.getLocation(this.get_element());var bounds = $common.getBounds(this.get_element());var offsetAmount = 15;if (this._displayPosition == AjaxControlToolkit.DisplayPosition.LeftSide)
{
htmlElement.style.top = location.y + "px";htmlElement.style.left = location.x - bounds.width - offsetAmount + "px";} else if (this._displayPosition == "BelowRight")
{
htmlElement.style.top = location.y + this.get_element().offsetHeight + "px";htmlElement.style.left = location.x + this.get_element().offsetWidth - (this.get_element().offsetWidth/4) + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.BelowLeft)
{
htmlElement.style.top = location.y + this.get_element().offsetHeight + "px";htmlElement.style.left = location.x - offsetAmount + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.AboveRight)
{
htmlElement.style.top = location.y - this.get_element().offsetHeight + "px";htmlElement.style.left = location.x + this.get_element().offsetWidth - (this.get_element().offsetWidth/4) + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.AboveLeft)
{
htmlElement.style.top = location.y - this.get_element().offsetHeight + "px";htmlElement.style.left = location.x - offsetAmount + "px";} else 
{
htmlElement.style.top = location.y + "px";htmlElement.style.left = location.x + this.get_element().offsetWidth + offsetAmount + "px";}
},
_setBarDisplayLocation : function(outerElement, innerElement) {
if (this.get_element().offsetHeight > 0) {
var outerBorder = $common.getBorderBox(outerElement);var outerPadding = $common.getPaddingBox(outerElement);var leftIndent = outerBorder.left + outerPadding.left;var topIndent = outerBorder.top + outerPadding.top;innerElement.style.height = this.get_element().offsetHeight + "px";outerElement.style.height = this.get_element().offsetHeight + "px";var location = $common.getLocation(this.get_element());var offsetAmount = 15;if (this._displayPosition == AjaxControlToolkit.DisplayPosition.LeftSide)
{
var initialVisibleState = $common.getVisible(this._barOuterDiv);$common.setVisible(this._barOuterDiv,true);var barBounds = $common.getContentSize(outerElement);$common.setVisible(this._barOuterDiv, initialVisibleState);var _barIndicatorWidth = barBounds.width;outerElement.style.top = location.y + "px";outerElement.style.left = location.x - parseInt(_barIndicatorWidth) - offsetAmount + "px";innerElement.style.top = location.y + topIndent + "px";innerElement.style.left = location.x - parseInt(_barIndicatorWidth) - offsetAmount + leftIndent + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.BelowRight)
{
outerElement.style.top = location.y + this.get_element().offsetHeight + "px";outerElement.style.left = location.x + this.get_element().offsetWidth + "px";innerElement.style.top = location.y + this.get_element().offsetHeight + topIndent + "px";innerElement.style.left = location.x + this.get_element().offsetWidth + leftIndent + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.BelowLeft)
{
outerElement.style.top = location.y + this.get_element().offsetHeight + "px";outerElement.style.left = location.x + "px";innerElement.style.top = location.y + this.get_element().offsetHeight + topIndent + "px";innerElement.style.left = location.x + leftIndent + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.AboveRight)
{
outerElement.style.top = location.y-this.get_element().offsetHeight + "px";outerElement.style.left = location.x + this.get_element().offsetWidth + "px";innerElement.style.top = location.y-this.get_element().offsetHeight + topIndent + "px";innerElement.style.left = location.x + this.get_element().offsetWidth + leftIndent + "px";} else if (this._displayPosition == AjaxControlToolkit.DisplayPosition.AboveLeft)
{
outerElement.style.top = location.y-this.get_element().offsetHeight + "px";outerElement.style.left = location.x + "px";innerElement.style.top = location.y-this.get_element().offsetHeight + topIndent + "px";innerElement.style.left = location.x + leftIndent + "px";} else 
{
outerElement.style.top = location.y + "px";outerElement.style.left = location.x + this.get_element().offsetWidth + offsetAmount + "px";innerElement.style.top = location.y + topIndent + "px";innerElement.style.left = location.x + this.get_element().offsetWidth + offsetAmount + leftIndent + "px";}
}
},
_showStrength : function() {
var e = this.get_element();if (e.readOnly == true)
return;var pwdStrength = this._getPasswordStrength();if (this._strengthIndicator == AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator)
{
$common.setVisible(this._barOuterDiv , true);$common.setVisible(this._barInnerDiv, true);var index = 0;if (this._styleArray != null && this._styleArray.length > 0)
{
index = parseInt(pwdStrength/100 * (this._styleArray.length-1));}
this._setBarDisplayStyle(index);this._setBarDisplayLocation(this._barOuterDiv,this._barInnerDiv);this._showStrengthAsBarValue(pwdStrength);} else
{
this._createTextDescriptions(this._txtStrengthDescriptions);$common.setVisible(this._displayDiv, true);var index = parseInt(pwdStrength/100 * (this._levelArray.length-1));var pwdStrengthText = this._levelArray[index];this._setTextDisplayStyle(index);this._setTextDisplayLocation(this._displayDiv);this._showStrengthAsText(pwdStrengthText);}
},
_showStrengthAsText : function(pwdStrengthVal) {
this._displayDiv.innerHTML = this._prefixText + pwdStrengthVal;},
_showStrengthAsBarValue : function(strengthValue) {
var bounds = $common.getContentSize(this._barOuterDiv);var outerPadding = $common.getPaddingBox(this._barOuterDiv);var barLength = parseInt( bounds.width * (strengthValue / 100));this._barInnerDiv.style.width = barLength + "px";},
_getPasswordStrength : function() {
var pwd = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value();var pwdRequirements = '';var percentTotal = 0;var weights = this._calcWeightings.split(';');if (weights.length != 4)
Sys.Debug.assert(null, AjaxControlToolkit.Resources.PasswordStrength_InvalidWeightingRatios);var _ratioLen = parseInt(weights[0]);var _ratioNum = parseInt(weights[1]);var _ratioCas = parseInt(weights[2]);var _ratioSym = parseInt(weights[3]);var ratio = pwd.length / this._preferredPasswordLength;if (ratio > 1)
ratio = 1;var lengthStrength = (ratio * _ratioLen);percentTotal += lengthStrength;if (ratio < 1)
pwdRequirements = String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingCharacters, this._preferredPasswordLength - pwd.length);if (this._minimumNumericCharacters > 0)
{
var numbersRegex = new RegExp("[0-9]", "g");var numCount = this._getRegexCount(numbersRegex,pwd);if ( numCount >= this._minimumNumericCharacters)
percentTotal += _ratioNum;if (numCount < this._minimumNumericCharacters)
{
if (pwdRequirements != '')
pwdRequirements += ', ';pwdRequirements += String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingNumbers, this._minimumNumericCharacters - numCount);}
} else
{
percentTotal += (ratio * _ratioNum);}
if (this._requiresUpperAndLowerCaseCharacters == true ||
(typeof(this._requiresUpperAndLowerCaseCharacters) == 'String' && Boolean.parse(this._requiresUpperAndLowerCaseCharacters) == true) )
{
var lowercaseRegex = new RegExp("[a-z]", "g");var uppercaseRegex = new RegExp("[A-Z]", "g");var numLower = this._getRegexCount(lowercaseRegex,pwd);var numUpper = this._getRegexCount(uppercaseRegex,pwd);if (numLower > 0 || numUpper > 0)
{
if (numLower >= this._minLowerCaseChars && numUpper >= this._minUpperCaseChars)
percentTotal += _ratioCas;else
{
if (this._minLowerCaseChars > 0 && (this._minLowerCaseChars - numLower) > 0)
{
if (pwdRequirements != '')
pwdRequirements += ', ';pwdRequirements += String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingLowerCase, this._minLowerCaseChars - numLower);}
if (this._minUpperCaseChars > 0 && (this._minUpperCaseChars - numUpper) > 0)
{
if (pwdRequirements != '')
pwdRequirements += ', ';pwdRequirements += String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingUpperCase, this._minUpperCaseChars - numUpper);}
}
}
else
{
if (pwdRequirements != '')
pwdRequirements += ', ';pwdRequirements += AjaxControlToolkit.Resources.PasswordStrength_RemainingMixedCase;}
} else
{
percentTotal += (ratio * _ratioCas);}
if (this._minimumSymbolCharacters > 0)
{
var symbolRegex = new RegExp("[^a-z,A-Z,0-9,\x20]", "g");var numCount = this._getRegexCount(symbolRegex,pwd);if (numCount >= this._minimumSymbolCharacters)
percentTotal += _ratioSym;if (numCount < this._minimumSymbolCharacters)
{
if (pwdRequirements != '')
pwdRequirements += ', ';pwdRequirements += String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingSymbols, this._minimumSymbolCharacters - numCount);}
} else
{
percentTotal += (ratio * _ratioSym);}
this.set_HelpText(pwdRequirements);return percentTotal;},
_getRegexCount : function(regex,testString) {
var cnt = 0;if (testString != null && testString != "")
{
var results = testString.match(regex);if (results != null)
cnt = results.length;}
return cnt;},
_extractStyles : function() {
if (this._strengthStyles != null && this._strengthStyles != "" )
this._styleArray = this._strengthStyles.split(this._txtseparator);},
_createTextDescriptions : function(descriptions) {
this._levelArray = this._txtStrengthDescriptions.split(this._txtseparator);this._extractStyles();if (this._styleArray.length > 0 && this._styleArray.length != this._levelArray.length)
{
Sys.Debug.assert(false, AjaxControlToolkit.Resources.PasswordStrength_InvalidStrengthDescriptionStyles);}
if (this._levelArray.length < this._MIN_TXT_LEVEL_COUNT || this._levelArray > this._MAX_TXT_LEVEL_COUNT)
{
Sys.Debug.assert(false, AjaxControlToolkit.Resources.PasswordStrength_InvalidStrengthDescriptions);}
},
_onKeyPress : function() {
this._showStrength();},
_onBlur : function() {
if (this._strengthIndicator == AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator)
{
$common.setVisible(this._barOuterDiv, false);$common.setVisible(this._barInnerDiv, false);} else
{
$common.setVisible(this._displayDiv, false);}
},
_onHelpClick : function() {
if (this._helpText == '')
alert(AjaxControlToolkit.Resources.PasswordStrength_Satisfied);else
alert(this._helpText);},
dispose : function() {
var e = this.get_element();if (this._keyPressHandler) {
$removeHandler(e,'keyup', this._keyPressHandler);this._keyPressHandler = null;}
if (this._blurHandler) {
$removeHandler(e,'blur', this._blurHandler);this._blurHandler = null;}
if (this._helpClickHandler) {
$removeHandler(this._helpDiv, 'click', this._helpClickHandler);this._helpClickHandler = null;}
if(this._displayDiv) 
$common.setVisible(this._displayDiv, false);if (this._barOuterDiv)
$common.setVisible(this._barOuterDiv,false);if (this._barInnerDiv)
$common.setVisible(this._barInnerDiv, false);if (this._helpHandleCssClass != '' && this._helpDiv)
$common.setVisible(this._helpDiv ,false);AjaxControlToolkit.PasswordStrengthExtenderBehavior.callBaseMethod(this, 'dispose');},
get_PreferredPasswordLength : function() {
return this._preferredPasswordLength;},
set_PreferredPasswordLength : function(value) {
if (this._preferredPasswordLength != value) {
this._preferredPasswordLength = value;this.raisePropertyChanged('PreferredPasswordLength');}
},
get_MinimumNumericCharacters : function() {
return this._minimumNumericCharacters;},
set_MinimumNumericCharacters : function(value) {
if (this._minimumNumericCharacters != value) {
this._minimumNumericCharacters = value;this.raisePropertyChanged('MinimumNumericCharacters');}
},
get_MinimumSymbolCharacters : function() {
return this._minimumSymbolCharacters;},
set_MinimumSymbolCharacters : function(value) {
if (this._minimumSymbolCharacters != value) {
this._minimumSymbolCharacters = value;this.raisePropertyChanged('MinimumSymbolCharacters');}
},
get_RequiresUpperAndLowerCaseCharacters : function() {
return this._requiresUpperAndLowerCaseCharacters;},
set_RequiresUpperAndLowerCaseCharacters : function(value) {
if (this._requiresUpperAndLowerCaseCharacters != value) {
this._requiresUpperAndLowerCaseCharacters = value;this.raisePropertyChanged('RequiresUpperAndLowerCaseCharacters');}
},
get_TextCssClass : function() {
return this._txtPwdStrengthCssClass;},
set_TextCssClass : function(value) {
if (this._txtPwdStrengthCssClass != value) {
this._txtPwdStrengthCssClass = value;this.raisePropertyChanged('TextCssClass');}
},
get_BarBorderCssClass : function() {
return this._barBorderCssClass;},
set_BarBorderCssClass : function(value) {
if (this._barBorderCssClass != value) {
this._barBorderCssClass = value;this.raisePropertyChanged('BarBorderCssClass');}
},
get_BarIndicatorCssClass : function() {
return this._barIndicatorCssClass;},
set_BarIndicatorCssClass : function(value) {
if (this._barIndicatorCssClass != value) {
this._barIndicatorCssClass = value;this.raisePropertyChanged('BarIndicatorCssClass');}
},
get_DisplayPosition : function() {
return this._displayPosition;},
set_DisplayPosition : function(value) {
if (this._displayPosition != value) {
this._displayPosition = value;this.raisePropertyChanged('DisplayPosition');}
},
get_PrefixText : function() {
return this._prefixText;},
set_PrefixText : function(value) {
if (this._prefixText != value) {
this._prefixText = value;this.raisePropertyChanged('PrefixText');}
},
get_StrengthIndicatorType : function() {
return this._strengthIndicator;},
set_StrengthIndicatorType : function(value) {
if (this._strengthIndicator != value) {
this._strengthIndicator = value;this.raisePropertyChanged('StrengthIndicatorType');}
},
get_TextStrengthDescriptions : function() {
return this._txtStrengthDescriptions;},
set_TextStrengthDescriptions : function(value) {
if (value != null && value != '' && value != this._txtStrengthDescriptions) {
this._txtStrengthDescriptions = value;this.raisePropertyChanged('TextStrengthDescriptions');}
},
get_StrengthStyles : function() {
return this._strengthStyles;},
set_StrengthStyles : function(value) {
if (value != null && value != '' && value != this._strengthStyles) {
this._strengthStyles = value;this.raisePropertyChanged('StrengthStyles');}
},
get_TextStrengthDescriptionStyles : function() {
return this.get_StrengthStyles();},
set_TextStrengthDescriptionStyles : function(value) {
this.set_StrengthStyles(value);},
get_HelpHandleCssClass : function() {
return this._helpHandleCssClass;},
set_HelpHandleCssClass : function(value) {
if (this._helpHandleCssClass != value) {
this._helpHandleCssClass = value;this.raisePropertyChanged('HelpHandleCssClass');}
},
get_HelpHandlePosition : function() {
return this._helpHandlePosition;},
set_HelpHandlePosition : function(value) {
if (this._helpHandlePosition != value) {
this._helpHandlePosition = value;this.raisePropertyChanged('HelpHandlePosition');}
},
get_HelpText : function() {
return this._helpText;},
get_CalculationWeightings : function() {
return this._calcWeightings;},
set_CalculationWeightings : function(value) {
if (this._calcWeightings != value) {
this._calcWeightings = value;this.raisePropertyChanged('CalculationWeightings');}
},
set_HelpText : function(value) {
if (this._helpStatusLabelID) {
var label = $get(this._helpStatusLabelID);if (label) {
if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value().length > 0) { 
label.innerHTML = value;}
else {
label.innerHTML = "";}
}
}
if (this._helpText != value) {
this._helpText = value;this.raisePropertyChanged('HelpText');}
},
get_MinimumLowerCaseCharacters : function() {
return this._minLowerCaseChars;},
set_MinimumLowerCaseCharacters : function(value) {
this._minLowerCaseChars = value;},
get_MinimumUpperCaseCharacters : function() {
return this._minUpperCaseChars;},
set_MinimumUpperCaseCharacters : function(value) {
this._minUpperCaseChars = value;},
get_HelpStatusLabelID : function() {
return this._helpStatusLabelID;},
set_HelpStatusLabelID : function(value) {
if (this._helpStatusLabelID != value) {
this._helpStatusLabelID = value;this.raisePropertyChanged('HelpStatusLabelID');}
}
}
AjaxControlToolkit.PasswordStrengthExtenderBehavior.registerClass('AjaxControlToolkit.PasswordStrengthExtenderBehavior', AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.StrengthIndicatorTypes = function() {
throw Error.invalidOperation();}
AjaxControlToolkit.DisplayPosition = function() {
throw Error.invalidOperation();}
AjaxControlToolkit.StrengthIndicatorTypes.prototype = {
Text: 0,
BarIndicator: 1
}
AjaxControlToolkit.DisplayPosition.prototype = {
RightSide: 0,
AboveRight: 1,
AboveLeft: 2,
LeftSide: 3,
BelowRight: 4,
BelowLeft: 5
}
AjaxControlToolkit.DisplayPosition.registerEnum('AjaxControlToolkit.DisplayPosition');AjaxControlToolkit.StrengthIndicatorTypes.registerEnum('AjaxControlToolkit.StrengthIndicatorTypes');
//END AjaxControlToolkit.PasswordStrength.PasswordStrengthExtenderBehavior.js
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
(function() {var fn = function() {$get('ctl00_ContentPlaceHolder1_ToolkitScriptManager1_HiddenField').value += ';;AjaxControlToolkit, Version=1.0.20229.20821, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-US:c5c982cc-4942-4683-9b48-c2c58277700f:e2e86ef9:1df13a87:7e79e346';Sys.Application.remove_load(fn);};Sys.Application.add_load(fn);})();
