/*
	Copyright (c) 2004-2007, 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
*/


dojo._xdResourceLoaded({depends:[["provide","dijit.form.FilteringSelect"],["require","dijit.form.ComboBox"]],defineResource:function(_1){if(!_1._hasResource["dijit.form.FilteringSelect"]){_1._hasResource["dijit.form.FilteringSelect"]=true;_1.provide("dijit.form.FilteringSelect");_1.require("dijit.form.ComboBox");_1.declare("dijit.form.FilteringSelect",[dijit.form.MappedTextBox,dijit.form.ComboBoxMixin],{labelAttr:"",labelType:"text",_isvalid:true,isValid:function(){return this._isvalid;},_callbackSetLabel:function(_2,_3){if(_3&&_3.query[this.searchAttr]!=this._lastQuery){return;}if(!_2.length){if(!this._hasFocus){this.valueNode.value="";}dijit.form.TextBox.superclass.setValue.call(this,undefined,!this._hasFocus);this._isvalid=false;this.validate(this._hasFocus);}else{this._setValueFromItem(_2[0]);}},_openResultList:function(_4,_5){if(_5.query[this.searchAttr]!=this._lastQuery){return;}this._isvalid=_4.length!=0;this.validate(true);dijit.form.ComboBoxMixin.prototype._openResultList.apply(this,arguments);},getValue:function(){return this.valueNode.value;},_getValueField:function(){return "value";},_setValue:function(_6,_7){this.valueNode.value=_6;dijit.form.FilteringSelect.superclass.setValue.call(this,_6,true,_7);this._lastDisplayedValue=_7;},setValue:function(_8){var _9=this;var _a=function(_b){if(_b){if(_9.store.isItemLoaded(_b)){_9._callbackSetLabel([_b]);}else{_9.store.loadItem({item:_b,onItem:_9._callbackSetLabel});}}else{_9._isvalid=false;_9.validate(false);}};this.store.fetchItemByIdentity({identity:_8,onItem:_a});},_setValueFromItem:function(_c){this._isvalid=true;this._setValue(this.store.getIdentity(_c),this.labelFunc(_c,this.store));},labelFunc:function(_d,_e){return _e.getValue(_d,this.searchAttr);},onkeyup:function(_f){},_doSelect:function(tgt){this.item=tgt.item;this._setValueFromItem(tgt.item);},setDisplayedValue:function(_11){if(this.store){var _12={};this._lastQuery=_12[this.searchAttr]=_11;this.textbox.value=_11;this._lastDisplayedValue=_11;this.store.fetch({query:_12,queryOptions:{ignoreCase:this.ignoreCase,deep:true},onComplete:_1.hitch(this,this._callbackSetLabel)});}},_getMenuLabelFromItem:function(_13){if(this.labelAttr){return {html:this.labelType=="html",label:this.store.getValue(_13,this.labelAttr)};}else{return dijit.form.ComboBoxMixin.prototype._getMenuLabelFromItem.apply(this,arguments);}},postMixInProperties:function(){dijit.form.ComboBoxMixin.prototype.postMixInProperties.apply(this,arguments);dijit.form.MappedTextBox.prototype.postMixInProperties.apply(this,arguments);}});}}});