/* Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dojox.form.PasswordValidator"]){dojo._hasResource["dojox.form.PasswordValidator"]=true;dojo.provide("dojox.form.PasswordValidator");dojo.require("dijit.form._FormWidget");dojo.require("dijit.form.ValidationTextBox");dojo.requireLocalization("dojox.form","PasswordValidator",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ru,sk,sl,sv,th,tr,zh,zh-tw");dojo.declare("dojox.form._ChildTextBox",dijit.form.ValidationTextBox,{containerWidget:null,type:"password",reset:function(){dijit.form.ValidationTextBox.prototype._setValueAttr.call(this,"",true);this._hasBeenBlurred=false;},postCreate:function(){this.inherited(arguments);if(!this.name){dojo.removeAttr(this.focusNode,"name");}this.connect(this.focusNode,"onkeypress","_onChildKeyPress");},_onChildKeyPress:function(e){if(e&&e.keyCode==dojo.keys.ENTER){this._setBlurValue();}}});dojo.declare("dojox.form._OldPWBox",dojox.form._ChildTextBox,{_isPWValid:false,_setValueAttr:function(_1,_2){if(_1===""){_1=dojox.form._OldPWBox.superclass.attr.call(this,"value");}if(_2!==null){this._isPWValid=this.containerWidget.pwCheck(_1);}this.inherited(arguments);this.containerWidget._childValueAttr(this.containerWidget._inputWidgets[1].attr("value"));},isValid:function(_3){return this.inherited("isValid",arguments)&&this._isPWValid;},_update:function(e){if(this._hasBeenBlurred){this.validate(true);}this._onMouse(e);},_getValueAttr:function(){if(this.containerWidget._started&&this.containerWidget.isValid()){return this.inherited(arguments);}return "";},_setBlurValue:function(){var _4=dijit.form.ValidationTextBox.prototype._getValueAttr.call(this);this._setValueAttr(_4,(this.isValid?this.isValid():true));}});dojo.declare("dojox.form._NewPWBox",dojox.form._ChildTextBox,{required:true,onChange:function(){this.containerWidget._inputWidgets[2].validate(false);this.inherited(arguments);}});dojo.declare("dojox.form._VerifyPWBox",dojox.form._ChildTextBox,{isValid:function(_5){return this.inherited("isValid",arguments)&&(this.attr("value")==this.containerWidget._inputWidgets[1].attr("value"));}});dojo.declare("dojox.form.PasswordValidator",dijit.form._FormValueWidget,{required:true,_inputWidgets:null,oldName:"",templateString:dojo.cache("dojox.form","resources/PasswordValidator.html","
\n\t\n
\n"),_hasBeenBlurred:false,isValid:function(_6){return dojo.every(this._inputWidgets,function(i){if(i&&i._setStateClass){i._setStateClass();}return (!i||i.isValid());});},validate:function(_7){return dojo.every(dojo.map(this._inputWidgets,function(i){if(i&&i.validate){i._hasBeenBlurred=(i._hasBeenBlurred||this._hasBeenBlurred);return i.validate();}return true;},this),"return item;");},reset:function(){this._hasBeenBlurred=false;dojo.forEach(this._inputWidgets,function(i){if(i&&i.reset){i.reset();}},this);},_createSubWidgets:function(){var _8=this._inputWidgets,_9=dojo.i18n.getLocalization("dojox.form","PasswordValidator",this.lang);dojo.forEach(_8,function(i,_a){if(i){var p={containerWidget:this},c;if(_a===0){p.name=this.oldName;p.invalidMessage=_9.badPasswordMessage;c=dojox.form._OldPWBox;}else{if(_a===1){p.required=this.required;c=dojox.form._NewPWBox;}else{if(_a===2){p.invalidMessage=_9.nomatchMessage;c=dojox.form._VerifyPWBox;}}}_8[_a]=new c(p,i);}},this);},pwCheck:function(_b){return false;},postCreate:function(){this.inherited(arguments);var _c=this._inputWidgets=[];dojo.forEach(["old","new","verify"],function(i){_c.push(dojo.query("input[pwType="+i+"]",this.containerNode)[0]);},this);if(!_c[1]||!_c[2]){throw new Error("Need at least pwType=\"new\" and pwType=\"verify\"");}if(this.oldName&&!_c[0]){throw new Error("Need to specify pwType=\"old\" if using oldName");}this.containerNode=this.domNode;this._createSubWidgets();this.connect(this._inputWidgets[1],"_setValueAttr","_childValueAttr");this.connect(this._inputWidgets[2],"_setValueAttr","_childValueAttr");},_childValueAttr:function(v){this.attr("value",this.isValid()?v:"");},_setDisabledAttr:function(_d){this.inherited(arguments);dojo.forEach(this._inputWidgets,function(i){if(i&&i.attr){i.attr("disabled",_d);}});},_setRequiredAttribute:function(_e){this.required=_e;dojo.attr(this.focusNode,"required",_e);dijit.setWaiState(this.focusNode,"required",_e);this._refreshState();dojo.forEach(this._inputWidgets,function(i){if(i&&i.attr){i.attr("required",_e);}});},_setValueAttr:function(v){this.inherited(arguments);dojo.attr(this.focusNode,"value",v);},_getValueAttr:function(){return this.inherited(arguments)||"";},focus:function(){var f=false;dojo.forEach(this._inputWidgets,function(i){if(i&&!i.isValid()&&!f){i.focus();f=true;}});if(!f){this._inputWidgets[1].focus();}}});}