/*
	Copyright (c) 2004-2008, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/book/dojo-book-0-9/introduction/licensing
*/


window[(typeof (djConfig)!="undefined"&&djConfig.scopeMap&&djConfig.scopeMap[0][1])||"dojo"]._xdResourceLoaded({depends:[["provide","dijit.form.ValidationTextBox"],["require","dojo.i18n"],["require","dijit.form.TextBox"],["require","dijit.Tooltip"],["requireLocalization","dijit.form","validate",null,"ar,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ru,sv,tr,ROOT,zh,zh-tw","ar,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ru,sv,tr,ROOT,zh,zh-tw"]],defineResource:function(_1,_2,_3){if(!_1._hasResource["dijit.form.ValidationTextBox"]){_1._hasResource["dijit.form.ValidationTextBox"]=true;_1.provide("dijit.form.ValidationTextBox");_1.require("dojo.i18n");_1.require("dijit.form.TextBox");_1.require("dijit.Tooltip");_1.declare("dijit.form.ValidationTextBox",_2.form.TextBox,{templateString:"<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\" waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div class=\"dijitReset dijitValidationIconText\">&Chi;</div\n\t\t><div class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" dojoAttachPoint='textbox,focusNode' dojoAttachEvent='onfocus:_update,onkeyup:_onkeyup,onblur:_onMouse,onkeypress:_onKeyPress' autocomplete=\"off\"\n\t\t\ttype='${type}' name='${name}'\n\t\t/></div\n\t></div\n></div>\n",baseClass:"dijitTextBox",required:false,promptMessage:"",invalidMessage:"$_unset_$",constraints:{},regExp:".*",regExpGen:function(_4){return this.regExp;},state:"",tooltipPosition:[],setValue:function(){this.inherited(arguments);this.validate(this._focused);},validator:function(_5,_6){return (new RegExp("^("+this.regExpGen(_6)+")"+(this.required?"":"?")+"$")).test(_5)&&(!this.required||!this._isEmpty(_5))&&(this._isEmpty(_5)||this.parse(_5,_6)!==undefined);},isValid:function(_7){return this.validator(this.textbox.value,this.constraints);},_isEmpty:function(_8){return /^\s*$/.test(_8);},getErrorMessage:function(_9){return this.invalidMessage;},getPromptMessage:function(_a){return this.promptMessage;},validate:function(_b){var _c="";var _d=this.isValid(_b);var _e=this._isEmpty(this.textbox.value);this.state=(_d||(!this._hasBeenBlurred&&_e))?"":"Error";this._setStateClass();_2.setWaiState(this.focusNode,"invalid",_d?"false":"true");if(_b){if(_e){_c=this.getPromptMessage(true);}if(!_c&&this.state=="Error"){_c=this.getErrorMessage(true);}}this.displayMessage(_c);return _d;},_message:"",displayMessage:function(_f){if(this._message==_f){return;}this._message=_f;_2.hideTooltip(this.domNode);if(_f){_2.showTooltip(_f,this.domNode,this.tooltipPosition);}},_refreshState:function(){this.validate(this._focused);},_update:function(e){this._refreshState();this._onMouse(e);},_onkeyup:function(e){this._update(e);this.onkeyup(e);},constructor:function(){this.constraints={};},postMixInProperties:function(){this.inherited(arguments);this.constraints.locale=this.lang;this.messages=_1.i18n.getLocalization("dijit.form","validate",this.lang);if(this.invalidMessage=="$_unset_$"){this.invalidMessage=this.messages.invalidMessage;}var p=this.regExpGen(this.constraints);this.regExp=p;}});_1.declare("dijit.form.MappedTextBox",_2.form.ValidationTextBox,{serialize:function(val,_14){return val.toString?val.toString():"";},toString:function(){var val=this.filter(this.getValue());return val!=null?(typeof val=="string"?val:this.serialize(val,this.constraints)):"";},validate:function(){this.valueNode.value=this.toString();return this.inherited(arguments);},setAttribute:function(_16,_17){this.inherited(arguments);switch(_16){case "disabled":if(this.valueNode){this.valueNode.disabled=this.disabled;}}},postCreate:function(){var _18=this.textbox;var _19=(this.valueNode=_1.doc.createElement("input"));_19.setAttribute("type",_18.type);_19.setAttribute("value",this.toString());_1.style(_19,"display","none");_19.name=this.textbox.name;_19.disabled=this.textbox.disabled;this.textbox.name=this.textbox.name+"_displayed_";this.textbox.removeAttribute("name");_1.place(_19,_18,"after");this.inherited(arguments);}});_1.declare("dijit.form.RangeBoundTextBox",_2.form.MappedTextBox,{rangeMessage:"",compare:function(_1a,_1b){return _1a-_1b;},rangeCheck:function(_1c,_1d){var _1e="min" in _1d;var _1f="max" in _1d;if(_1e||_1f){return (!_1e||this.compare(_1c,_1d.min)>=0)&&(!_1f||this.compare(_1c,_1d.max)<=0);}return true;},isInRange:function(_20){return this.rangeCheck(this.getValue(),this.constraints);},isValid:function(_21){return this.inherited(arguments)&&((this._isEmpty(this.textbox.value)&&!this.required)||this.isInRange(_21));},getErrorMessage:function(_22){if(_2.form.RangeBoundTextBox.superclass.isValid.call(this,false)&&!this.isInRange(_22)){return this.rangeMessage;}return this.inherited(arguments);},postMixInProperties:function(){this.inherited(arguments);if(!this.rangeMessage){this.messages=_1.i18n.getLocalization("dijit.form","validate",this.lang);this.rangeMessage=this.messages.rangeMessage;}},postCreate:function(){this.inherited(arguments);if(this.constraints.min!==undefined){_2.setWaiState(this.focusNode,"valuemin",this.constraints.min);}if(this.constraints.max!==undefined){_2.setWaiState(this.focusNode,"valuemax",this.constraints.max);}},setValue:function(_23,_24){_2.setWaiState(this.focusNode,"valuenow",_23);this.inherited("setValue",arguments);}});}}});
