/*
Copyright (c) 2004-2010, 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
*/
dojo._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","dojox.widget.FilePicker"],["require","dojox.widget.RollingList"],["require","dojo.i18n"],["requireLocalization","dojox.widget","FilePicker",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw","ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["dojox.widget.FilePicker"]){_4._hasResource["dojox.widget.FilePicker"]=true;_4.provide("dojox.widget.FilePicker");_4.require("dojox.widget.RollingList");_4.require("dojo.i18n");_4.declare("dojox.widget._FileInfoPane",[_6.widget._RollingListPane],{templateString:"",templateString:_4.cache("dojox.widget","FilePicker/_FileInfoPane.html","
\n\t
\n\t\t\n\t\t\t\n\t\t\t\t${_messages.name} | \n\t\t\t\t | \n\t\t\t
\n\t\t\t\n\t\t\t\t${_messages.path} | \n\t\t\t\t | \n\t\t\t
\n\t\t\t\n\t\t\t\t${_messages.size} | \n\t\t\t\t | \n\t\t\t
\n\t\t\n\t
\n\t
\n
\n"),postMixInProperties:function(){this._messages=_4.i18n.getLocalization("dojox.widget","FilePicker",this.lang);this.inherited(arguments);},onItems:function(){var _7=this.store,_8=this.items[0];if(!_8){this._onError("Load",new Error("No item defined"));}else{this.nameNode.innerHTML=_7.getLabel(_8);this.pathNode.innerHTML=_7.getIdentity(_8);this.sizeNode.innerHTML=_7.getValue(_8,"size");this.parentWidget.scrollIntoView(this);this.inherited(arguments);}}});_4.declare("dojox.widget.FilePicker",_6.widget.RollingList,{className:"dojoxFilePicker",pathSeparator:"",topDir:"",parentAttr:"parentDir",pathAttr:"path",preloadItems:50,selectDirectories:true,selectFiles:true,_itemsMatch:function(_9,_a){if(!_9&&!_a){return true;}else{if(!_9||!_a){return false;}else{if(_9==_a){return true;}else{if(this._isIdentity){var _b=[this.store.getIdentity(_9),this.store.getIdentity(_a)];_4.forEach(_b,function(i,_c){if(i.lastIndexOf(this.pathSeparator)==(i.length-1)){_b[_c]=i.substring(0,i.length-1);}else{}},this);return (_b[0]==_b[1]);}}}}return false;},startup:function(){if(this._started){return;}this.inherited(arguments);var _d,_e=this.getChildren()[0];var _f=_4.hitch(this,function(){if(_d){this.disconnect(_d);}delete _d;var _10=_e.items[0];if(_10){var _11=this.store;var _12=_11.getValue(_10,this.parentAttr);var _13=_11.getValue(_10,this.pathAttr);this.pathSeparator=this.pathSeparator||_11.pathSeparator;if(!this.pathSeparator){this.pathSeparator=_13.substring(_12.length,_12.length+1);}if(!this.topDir){this.topDir=_12;if(this.topDir.lastIndexOf(this.pathSeparator)!=(this.topDir.length-1)){this.topDir+=this.pathSeparator;}}}});if(!this.pathSeparator||!this.topDir){if(!_e.items){_d=this.connect(_e,"onItems",_f);}else{_f();}}},getChildItems:function(_14){var ret=this.inherited(arguments);if(!ret&&this.store.getValue(_14,"directory")){ret=[];}return ret;},getMenuItemForItem:function(_15,_16,_17){var _18={iconClass:"dojoxDirectoryItemIcon"};if(!this.store.getValue(_15,"directory")){_18.iconClass="dojoxFileItemIcon";var l=this.store.getLabel(_15),idx=l.lastIndexOf(".");if(idx>=0){_18.iconClass+=" dojoxFileItemIcon_"+l.substring(idx+1);}if(!this.selectFiles){_18.disabled=true;}}var ret=new _5.MenuItem(_18);return ret;},getPaneForItem:function(_19,_1a,_1b){var ret=null;if(!_19||(this.store.isItem(_19)&&this.store.getValue(_19,"directory"))){ret=new _6.widget._RollingListGroupPane({});}else{if(this.store.isItem(_19)&&!this.store.getValue(_19,"directory")){ret=new _6.widget._FileInfoPane({});}}return ret;},_setPathValueAttr:function(_1c,_1d,_1e){if(!_1c){this.set("value",null);return;}if(_1c.lastIndexOf(this.pathSeparator)==(_1c.length-1)){_1c=_1c.substring(0,_1c.length-1);}this.store.fetchItemByIdentity({identity:_1c,onItem:function(v){if(_1d){this._lastExecutedValue=v;}this.set("value",v);if(_1e){_1e();}},scope:this});},_getPathValueAttr:function(val){if(!val){val=this.value;}if(val&&this.store.isItem(val)){return this.store.getValue(val,this.pathAttr);}else{return "";}},_setValue:function(_1f){delete this._setInProgress;var _20=this.store;if(_1f&&_20.isItem(_1f)){var _21=this.store.getValue(_1f,"directory");if((_21&&!this.selectDirectories)||(!_21&&!this.selectFiles)){return;}}else{_1f=null;}if(!this._itemsMatch(this.value,_1f)){this.value=_1f;this._onChange(_1f);}}});}}};});