﻿Type.registerNamespace("AjaxControlToolkit");AjaxControlToolkit.PasswordStrengthExtenderBehavior=function(c){var b=null,a=this;AjaxControlToolkit.PasswordStrengthExtenderBehavior.initializeBase(a,[c]);a._levelArray=[];a._styleArray=[];a._txtPwdStrengthCssClass=b;a._barBorderCssClass=b;a._barIndicatorCssClass=b;a._displayPosition=AjaxControlToolkit.DisplayPosition.RightSide;a._strengthIndicator=AjaxControlToolkit.StrengthIndicatorTypes.Text;a._preferredPasswordLength=0;a._minimumNumericCharacters=0;a._minimumSymbolCharacters=0;a._requiresUpperAndLowerCaseCharacters=false;a._helpHandleCssClass="";a._helpHandlePosition=AjaxControlToolkit.DisplayPosition.AboveRight;a._helpText="";a._helpStatusLabelID=b;a._displayDiv=b;a._helpDiv=b;a._barOuterDiv=b;a._barInnerDiv=b;a._keyPressHandler=b;a._blurHandler=b;a._helpClickHandler=b;a._prefixText=AjaxControlToolkit.Resources.PasswordStrength_StrengthPrompt;a._txtStrengthDescriptions=AjaxControlToolkit.Resources.PasswordStrength_DefaultStrengthDescriptions;a._strengthStyles="";a._barIndicatorStyles="";a._txtseparator=";";a._MIN_TXT_LEVEL_COUNT=2;a._MAX_TXT_LEVEL_COUNT=10;a._calcWeightings="50;15;15;20";a._minLowerCaseChars=0;a._minUpperCaseChars=0};AjaxControlToolkit.PasswordStrengthExtenderBehavior.prototype={initialize:function(){var a=this;AjaxControlToolkit.PasswordStrengthExtenderBehavior.callBaseMethod(a,"initialize");a._createIndicatorDisplayElement();var b=a.get_element();a._keyPressHandler=Function.createDelegate(a,a._onKeyPress);a._blurHandler=Function.createDelegate(a,a._onBlur);$addHandler(b,"keyup",a._keyPressHandler);$addHandler(b,"blur",a._blurHandler);if(a._preferredPasswordLength==null||a._preferredPasswordLength==""||a._preferredPasswordLength<=0){a._preferredPasswordLength=10;a.raisePropertyChanged("PreferredPasswordLength")}if(a._calcWeightings==null||a._calcWeightings==""){a._calcWeightings="50;15;15;20";a.raisePropertyChanged("CalculationWeightings")}a._getPasswordStrength()},_createIndicatorDisplayElement:function(){var b=this;if(b._strengthIndicator==AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator)b._createBarIndicatorDisplayElement();else b._createTextDisplayElement();if(b._createHelpDisplayElement()==true){$common.setVisible(b._helpDiv,true);var a=$common.getBounds(b.get_element()),d=$common.getBounds(b._helpDiv),f,e,c=3;if(b._helpHandlePosition=="LeftSide"){f=a.y+(a.height/2-d.height/2);e=a.x-d.width}else if(b._helpHandlePosition=="BelowRight"){f=a.y+a.height-c;e=a.x+a.width-c}else if(b._helpHandlePosition=="BelowLeft"){f=a.y+a.height-c;e=a.x-d.width+c}else if(b._helpHandlePosition=="RightSide"){f=a.y+(a.height/2-d.height/2);e=a.x+a.width}else if(b._helpHandlePosition=="AboveLeft"){f=a.y-d.height+c;e=a.x-d.width+c}else{f=a.y-d.height+c;e=a.x+a.width-c}b._helpDiv.style.top=f+"px";b._helpDiv.style.left=e+"px"}},_createTextDisplayElement:function(){var b=this,a=document.createElement("label");a.style.position="absolute";a.style.visibility="hidden";a.style.display="none";if(b.get_element().id)a.id=b.get_element().id+"_PasswordStrength";b._displayDiv=a;b._setTextDisplayLocation(a);document.body.appendChild(a);b._setTextDisplayStyle(0)},_setTextDisplayStyle:function(b){var a=this;if(a._styleArray.length==0)if(a._txtPwdStrengthCssClass!=null&&a._txtPwdStrengthCssClass!="")a._displayDiv.className=a._txtPwdStrengthCssClass;else a._displayDiv.style.backgroundColor="yellow";else{a._displayDiv.style.backgroundColor="";if(a._txtPwdStrengthCssClass!=null&&a._txtPwdStrengthCssClass!=""&&Sys.UI.DomElement.containsCssClass(a._displayDiv,a._txtPwdStrengthCssClass))Sys.UI.DomElement.removeCssClass(a._displayDiv,a._txtPwdStrengthCssClass);a._displayDiv.className=a._styleArray[b]}},_setBarDisplayStyle:function(b){var a=this;if(a._barBorderCssClass!="")a._barOuterDiv.className=a._barBorderCssClass;else{d1.style.width="200px";d1.style.borderStyle="solid";d1.style.borderWidth="1px"}if(a._styleArray.length==0)if(a._barIndicatorCssClass!="")a._barInnerDiv.className=a._barIndicatorCssClass;else a._barInnerDiv.style.backgroundColor="red";else{if(a._barIndicatorCssClass!=null&&a._barIndicatorCssClass!=""&&Sys.UI.DomElement.containsCssClass(a._barInnerDiv,a._barIndicatorCssClass))Sys.UI.DomElement.removeCssClass(a._barInnerDiv,a._barIndicatorCssClass);a._barInnerDiv.className=a._styleArray[b]}},_createBarIndicatorDisplayElement:function(){var d="absolute",a=this,b=document.createElement("div");b.style.position=d;b.style.visibility="hidden";b.style.display="none";var c=document.createElement("div");c.style.position=d;c.style.visibility="hidden";c.style.display="none";b.style.height=a.get_element().offsetHeight+4+"px";if(a.get_element().id){b.id=a.get_element().id+"_PasswordStrengthBar1";c.id=a.get_element().id+"_PasswordStrengthBar2"}a._barOuterDiv=b;a._barInnerDiv=c;a._extractStyles();a._setBarDisplayStyle(0);document.body.appendChild(b);document.body.appendChild(c);a._setBarDisplayLocation(b,c)},_createHelpDisplayElement:function(){var a=this;if(a._helpHandleCssClass!=""){var b=document.createElement("a");b.style.position="absolute";b.style.visibility="hidden";b.style.display="none";b.href="#";b.title=AjaxControlToolkit.Resources.PasswordStrength_GetHelpRequirements;if(a.get_element().id)b.id=a.get_element().id+"_PasswordStrengthReqDisplay";a._helpClickHandler=Function.createDelegate(a,a._onHelpClick);$addHandler(b,"click",a._helpClickHandler);a._helpDiv=b;a._helpDiv.className=a._helpHandleCssClass;if(a.get_element().parentElement!=null&&a.get_element().parentElement.canHaveChildren)a.get_element().parentElement.appendChild(b);else document.body.appendChild(b);return true}else return false},_setTextDisplayLocation:function(b){var c="px",a=this,d=$common.getLocation(a.get_element()),f=$common.getBounds(a.get_element()),e=15;if(a._displayPosition==AjaxControlToolkit.DisplayPosition.LeftSide){b.style.top=d.y+c;b.style.left=d.x-f.width-e+c}else if(a._displayPosition=="BelowRight"){b.style.top=d.y+a.get_element().offsetHeight+c;b.style.left=d.x+a.get_element().offsetWidth-a.get_element().offsetWidth/4+c}else if(a._displayPosition==AjaxControlToolkit.DisplayPosition.BelowLeft){b.style.top=d.y+a.get_element().offsetHeight+c;b.style.left=d.x-e+c}else if(a._displayPosition==AjaxControlToolkit.DisplayPosition.AboveRight){b.style.top=d.y-a.get_element().offsetHeight+c;b.style.left=d.x+a.get_element().offsetWidth-a.get_element().offsetWidth/4+c}else if(a._displayPosition==AjaxControlToolkit.DisplayPosition.AboveLeft){b.style.top=d.y-a.get_element().offsetHeight+c;b.style.left=d.x-e+c}else{b.style.top=d.y+c;b.style.left=d.x+a.get_element().offsetWidth+e+c}},_setBarDisplayLocation:function(d,e){var a="px",b=this;if(b.get_element().offsetHeight>0){var k=$common.getBorderBox(d),j=$common.getPaddingBox(d),f=k.left+j.left,g=k.top+j.top;e.style.height=b.get_element().offsetHeight+a;d.style.height=b.get_element().offsetHeight+a;var c=$common.getLocation(b.get_element()),h=15;if(b._displayPosition==AjaxControlToolkit.DisplayPosition.LeftSide){var l=$common.getVisible(b._barOuterDiv);$common.setVisible(b._barOuterDiv,true);var m=$common.getContentSize(d);$common.setVisible(b._barOuterDiv,l);var i=m.width;d.style.top=c.y+a;d.style.left=c.x-parseInt(i)-h+a;e.style.top=c.y+g+a;e.style.left=c.x-parseInt(i)-h+f+a}else if(b._displayPosition==AjaxControlToolkit.DisplayPosition.BelowRight){d.style.top=c.y+b.get_element().offsetHeight+a;d.style.left=c.x+b.get_element().offsetWidth+a;e.style.top=c.y+b.get_element().offsetHeight+g+a;e.style.left=c.x+b.get_element().offsetWidth+f+a}else if(b._displayPosition==AjaxControlToolkit.DisplayPosition.BelowLeft){d.style.top=c.y+b.get_element().offsetHeight+a;d.style.left=c.x+a;e.style.top=c.y+b.get_element().offsetHeight+g+a;e.style.left=c.x+f+a}else if(b._displayPosition==AjaxControlToolkit.DisplayPosition.AboveRight){d.style.top=c.y-b.get_element().offsetHeight+a;d.style.left=c.x+b.get_element().offsetWidth+a;e.style.top=c.y-b.get_element().offsetHeight+g+a;e.style.left=c.x+b.get_element().offsetWidth+f+a}else if(b._displayPosition==AjaxControlToolkit.DisplayPosition.AboveLeft){d.style.top=c.y-b.get_element().offsetHeight+a;d.style.left=c.x+a;e.style.top=c.y-b.get_element().offsetHeight+g+a;e.style.left=c.x+f+a}else{d.style.top=c.y+a;d.style.left=c.x+b.get_element().offsetWidth+h+a;e.style.top=c.y+g+a;e.style.left=c.x+b.get_element().offsetWidth+h+f+a}}},_showStrength:function(){var b=true,a=this,f=a.get_element();if(f.readOnly==b)return;var d=a._getPasswordStrength();if(a._strengthIndicator==AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator){$common.setVisible(a._barOuterDiv,b);$common.setVisible(a._barInnerDiv,b);var c=0;if(a._styleArray!=null&&a._styleArray.length>0)c=parseInt(d/100*(a._styleArray.length-1));a._setBarDisplayStyle(c);a._setBarDisplayLocation(a._barOuterDiv,a._barInnerDiv);a._showStrengthAsBarValue(d)}else{a._createTextDescriptions(a._txtStrengthDescriptions);$common.setVisible(a._displayDiv,b);var c=parseInt(d/100*(a._levelArray.length-1)),e=a._levelArray[c];a._setTextDisplayStyle(c);a._setTextDisplayLocation(a._displayDiv);a._showStrengthAsText(e)}},_showStrengthAsText:function(a){this._displayDiv.innerHTML=this._prefixText+a},_showStrengthAsBarValue:function(a){var c=$common.getContentSize(this._barOuterDiv),d=$common.getPaddingBox(this._barOuterDiv),b=parseInt(c.width*(a/100));this._barInnerDiv.style.width=b+"px"},_getPasswordStrength:function(){var g=", ",a=this,f=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(a.get_element()).get_Value(),b="",c=0,h=a._calcWeightings.split(";");if(h.length!=4)Sys.Debug.assert(null,AjaxControlToolkit.Resources.PasswordStrength_InvalidWeightingRatios);var s=parseInt(h[0]),l=parseInt(h[1]),k=parseInt(h[2]),m=parseInt(h[3]),d=f.length/a._preferredPasswordLength;if(d>1)d=1;var n=d*s;c+=n;if(d<1)b=String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingCharacters,a._preferredPasswordLength-f.length);if(a._minimumNumericCharacters>0){var q=new RegExp("[0-9]","g"),e=a._getRegexCount(q,f);if(e>=a._minimumNumericCharacters)c+=l;if(e<a._minimumNumericCharacters){if(b!="")b+=g;b+=String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingNumbers,a._minimumNumericCharacters-e)}}else c+=d*l;if(a._requiresUpperAndLowerCaseCharacters==true||typeof a._requiresUpperAndLowerCaseCharacters=="String"&&Boolean.parse(a._requiresUpperAndLowerCaseCharacters)==true){var o=new RegExp("[a-z]","g"),p=new RegExp("[A-Z]","g"),i=a._getRegexCount(o,f),j=a._getRegexCount(p,f);if(i>0||j>0)if(i>=a._minLowerCaseChars&&j>=a._minUpperCaseChars)c+=k;else{if(a._minLowerCaseChars>0&&a._minLowerCaseChars-i>0){if(b!="")b+=g;b+=String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingLowerCase,a._minLowerCaseChars-i)}if(a._minUpperCaseChars>0&&a._minUpperCaseChars-j>0){if(b!="")b+=g;b+=String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingUpperCase,a._minUpperCaseChars-j)}}else{if(b!="")b+=g;b+=AjaxControlToolkit.Resources.PasswordStrength_RemainingMixedCase}}else c+=d*k;if(a._minimumSymbolCharacters>0){var r=new RegExp("[^a-z,A-Z,0-9, ]","g"),e=a._getRegexCount(r,f);if(e>=a._minimumSymbolCharacters)c+=m;if(e<a._minimumSymbolCharacters){if(b!="")b+=g;b+=String.format(AjaxControlToolkit.Resources.PasswordStrength_RemainingSymbols,a._minimumSymbolCharacters-e)}}else c+=d*m;a.set_HelpText(b);return c},_getRegexCount:function(d,a){var c=0;if(a!=null&&a!=""){var b=a.match(d);if(b!=null)c=b.length}return c},_extractStyles:function(){var a=this;if(a._strengthStyles!=null&&a._strengthStyles!="")a._styleArray=a._strengthStyles.split(a._txtseparator)},_createTextDescriptions:function(){var a=this;a._levelArray=a._txtStrengthDescriptions.split(a._txtseparator);a._extractStyles();if(a._styleArray.length>0&&a._styleArray.length!=a._levelArray.length)Sys.Debug.assert(false,AjaxControlToolkit.Resources.PasswordStrength_InvalidStrengthDescriptionStyles);if(a._levelArray.length<a._MIN_TXT_LEVEL_COUNT||a._levelArray>a._MAX_TXT_LEVEL_COUNT)Sys.Debug.assert(false,AjaxControlToolkit.Resources.PasswordStrength_InvalidStrengthDescriptions)},_onKeyPress:function(){this._showStrength()},_onBlur:function(){var a=this;if(a._strengthIndicator==AjaxControlToolkit.StrengthIndicatorTypes.BarIndicator){$common.setVisible(a._barOuterDiv,false);$common.setVisible(a._barInnerDiv,false)}else $common.setVisible(a._displayDiv,false)},_onHelpClick:function(){if(this._helpText=="")alert(AjaxControlToolkit.Resources.PasswordStrength_Satisfied);else alert(this._helpText)},dispose:function(){var b=false,a=this,c=a.get_element();if(a._keyPressHandler){$removeHandler(c,"keyup",a._keyPressHandler);a._keyPressHandler=null}if(a._blurHandler){$removeHandler(c,"blur",a._blurHandler);a._blurHandler=null}if(a._helpClickHandler){$removeHandler(a._helpDiv,"click",a._helpClickHandler);a._helpClickHandler=null}if(a._displayDiv)$common.setVisible(a._displayDiv,b);if(a._barOuterDiv)$common.setVisible(a._barOuterDiv,b);if(a._barInnerDiv)$common.setVisible(a._barInnerDiv,b);if(a._helpHandleCssClass!=""&&a._helpDiv)$common.setVisible(a._helpDiv,b);AjaxControlToolkit.PasswordStrengthExtenderBehavior.callBaseMethod(a,"dispose")},get_PreferredPasswordLength:function(){return this._preferredPasswordLength},set_PreferredPasswordLength:function(a){if(this._preferredPasswordLength!=a){this._preferredPasswordLength=a;this.raisePropertyChanged("PreferredPasswordLength")}},get_MinimumNumericCharacters:function(){return this._minimumNumericCharacters},set_MinimumNumericCharacters:function(a){if(this._minimumNumericCharacters!=a){this._minimumNumericCharacters=a;this.raisePropertyChanged("MinimumNumericCharacters")}},get_MinimumSymbolCharacters:function(){return this._minimumSymbolCharacters},set_MinimumSymbolCharacters:function(a){if(this._minimumSymbolCharacters!=a){this._minimumSymbolCharacters=a;this.raisePropertyChanged("MinimumSymbolCharacters")}},get_RequiresUpperAndLowerCaseCharacters:function(){return this._requiresUpperAndLowerCaseCharacters},set_RequiresUpperAndLowerCaseCharacters:function(a){if(this._requiresUpperAndLowerCaseCharacters!=a){this._requiresUpperAndLowerCaseCharacters=a;this.raisePropertyChanged("RequiresUpperAndLowerCaseCharacters")}},get_TextCssClass:function(){return this._txtPwdStrengthCssClass},set_TextCssClass:function(a){if(this._txtPwdStrengthCssClass!=a){this._txtPwdStrengthCssClass=a;this.raisePropertyChanged("TextCssClass")}},get_BarBorderCssClass:function(){return this._barBorderCssClass},set_BarBorderCssClass:function(a){if(this._barBorderCssClass!=a){this._barBorderCssClass=a;this.raisePropertyChanged("BarBorderCssClass")}},get_BarIndicatorCssClass:function(){return this._barIndicatorCssClass},set_BarIndicatorCssClass:function(a){if(this._barIndicatorCssClass!=a){this._barIndicatorCssClass=a;this.raisePropertyChanged("BarIndicatorCssClass")}},get_DisplayPosition:function(){return this._displayPosition},set_DisplayPosition:function(a){if(this._displayPosition!=a){this._displayPosition=a;this.raisePropertyChanged("DisplayPosition")}},get_PrefixText:function(){return this._prefixText},set_PrefixText:function(a){if(this._prefixText!=a){this._prefixText=a;this.raisePropertyChanged("PrefixText")}},get_StrengthIndicatorType:function(){return this._strengthIndicator},set_StrengthIndicatorType:function(a){if(this._strengthIndicator!=a){this._strengthIndicator=a;this.raisePropertyChanged("StrengthIndicatorType")}},get_TextStrengthDescriptions:function(){return this._txtStrengthDescriptions},set_TextStrengthDescriptions:function(a){if(a!=null&&a!=""&&a!=this._txtStrengthDescriptions){this._txtStrengthDescriptions=a;this.raisePropertyChanged("TextStrengthDescriptions")}},get_StrengthStyles:function(){return this._strengthStyles},set_StrengthStyles:function(a){if(a!=null&&a!=""&&a!=this._strengthStyles){this._strengthStyles=a;this.raisePropertyChanged("StrengthStyles")}},get_TextStrengthDescriptionStyles:function(){return this.get_StrengthStyles()},set_TextStrengthDescriptionStyles:function(a){this.set_StrengthStyles(a)},get_HelpHandleCssClass:function(){return this._helpHandleCssClass},set_HelpHandleCssClass:function(a){if(this._helpHandleCssClass!=a){this._helpHandleCssClass=a;this.raisePropertyChanged("HelpHandleCssClass")}},get_HelpHandlePosition:function(){return this._helpHandlePosition},set_HelpHandlePosition:function(a){if(this._helpHandlePosition!=a){this._helpHandlePosition=a;this.raisePropertyChanged("HelpHandlePosition")}},get_HelpText:function(){return this._helpText},get_CalculationWeightings:function(){return this._calcWeightings},set_CalculationWeightings:function(a){if(this._calcWeightings!=a){this._calcWeightings=a;this.raisePropertyChanged("CalculationWeightings")}},set_HelpText:function(c){var a=this;if(a._helpStatusLabelID){var b=$get(a._helpStatusLabelID);if(b)if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(a.get_element()).get_Value().length>0)b.innerHTML=c;else b.innerHTML=""}if(a._helpText!=c){a._helpText=c;a.raisePropertyChanged("HelpText")}},get_MinimumLowerCaseCharacters:function(){return this._minLowerCaseChars},set_MinimumLowerCaseCharacters:function(a){this._minLowerCaseChars=a},get_MinimumUpperCaseCharacters:function(){return this._minUpperCaseChars},set_MinimumUpperCaseCharacters:function(a){this._minUpperCaseChars=a},get_HelpStatusLabelID:function(){return this._helpStatusLabelID},set_HelpStatusLabelID:function(a){if(this._helpStatusLabelID!=a){this._helpStatusLabelID=a;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");
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();