/*
	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.FilteringSelect"],["require","dijit.form.ComboBox"]],defineResource:function(_1,_2,_3){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",[_2.form.MappedTextBox,_2.form.ComboBoxMixin],{labelAttr:"",labelType:"text",_isvalid:true,_lastDisplayedValue:"",isValid:function(){return this._isvalid;},_callbackSetLabel:function(_4,_5,_6){if(_5&&_5.query[this.searchAttr]!=this._lastQuery){return;}if(!_4.length){if(!this._focused){this.valueNode.value="";}_2.form.TextBox.superclass.setValue.call(this,undefined,!this._focused);this._isvalid=false;this.validate(this._focused);}else{this._setValueFromItem(_4[0],_6);}},_openResultList:function(_7,_8){if(_8.query[this.searchAttr]!=this._lastQuery){return;}this._isvalid=_7.length!=0;this.validate(true);_2.form.ComboBoxMixin.prototype._openResultList.apply(this,arguments);},getValue:function(){return this.valueNode.value;},_getValueField:function(){return "value";},_setValue:function(_9,_a,_b){this.valueNode.value=_9;_2.form.FilteringSelect.superclass.setValue.call(this,_9,_b,_a);this._lastDisplayedValue=_a;},setValue:function(_c,_d){var _e=this;var _f=function(_10,_11){if(_10){if(_e.store.isItemLoaded(_10)){_e._callbackSetLabel([_10],undefined,_11);}else{_e.store.loadItem({item:_10,onItem:function(_12,_13){_e._callbackSetLabel(_12,_13,_11);}});}}else{_e._isvalid=false;_e.validate(false);}};this.store.fetchItemByIdentity({identity:_c,onItem:function(_14){_f(_14,_d);}});},_setValueFromItem:function(_15,_16){this._isvalid=true;this._setValue(this.store.getIdentity(_15),this.labelFunc(_15,this.store),_16);},labelFunc:function(_17,_18){return _18.getValue(_17,this.searchAttr);},_doSelect:function(tgt){this.item=tgt.item;this._setValueFromItem(tgt.item,true);},setDisplayedValue:function(_1a,_1b){if(this.store){var _1c=_1.clone(this.query);this._lastQuery=_1c[this.searchAttr]=_1a;this.textbox.value=_1a;this._lastDisplayedValue=_1a;var _1d=this;this.store.fetch({query:_1c,queryOptions:{ignoreCase:this.ignoreCase,deep:true},onComplete:function(_1e,_1f){_1.hitch(_1d,"_callbackSetLabel")(_1e,_1f,_1b);},onError:function(_20){console.error("dijit.form.FilteringSelect: "+_20);_1.hitch(_1d,"_setValue")(undefined,_1a,false);}});}},_getMenuLabelFromItem:function(_21){if(this.labelAttr){return {html:this.labelType=="html",label:this.store.getValue(_21,this.labelAttr)};}else{return _2.form.ComboBoxMixin.prototype._getMenuLabelFromItem.apply(this,arguments);}},postMixInProperties:function(){_2.form.ComboBoxMixin.prototype.postMixInProperties.apply(this,arguments);_2.form.MappedTextBox.prototype.postMixInProperties.apply(this,arguments);},postCreate:function(){_2.form.ComboBoxMixin.prototype._postCreate.apply(this,arguments);_2.form.MappedTextBox.prototype.postCreate.apply(this,arguments);},setAttribute:function(_22,_23){_2.form.MappedTextBox.prototype.setAttribute.apply(this,arguments);_2.form.ComboBoxMixin.prototype._setAttribute.apply(this,arguments);},undo:function(){this.setDisplayedValue(this._lastDisplayedValue);},_valueChanged:function(){return this.getDisplayedValue()!=this._lastDisplayedValue;}});}}});
