/*
	Copyright (c) 2004-2008, 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.wire.TreeAdapter"]){dojo._hasResource["dojox.wire.TreeAdapter"]=true;dojo.provide("dojox.wire.TreeAdapter");dojo.require("dojox.wire.CompositeWire");dojo.declare("dojox.wire.TreeAdapter",dojox.wire.CompositeWire,{_wireClass:"dojox.wire.TreeAdapter",constructor:function(_1){this._initializeChildren(this.nodes);},_getValue:function(_2){if(!_2||!this.nodes){return _2;}var _3=_2;if(!dojo.isArray(_3)){_3=[_3];}var _4=[];for(var i in _3){for(var i2 in this.nodes){_4=_4.concat(this._getNodes(_3[i],this.nodes[i2]));}}return _4;},_setValue:function(_7,_8){throw new Error("Unsupported API: "+this._wireClass+"._setValue");},_initializeChildren:function(_9){if(!_9){return;}for(var i in _9){var _b=_9[i];if(_b.node){_b.node.parent=this;if(!dojox.wire.isWire(_b.node)){_b.node=dojox.wire.create(_b.node);}}if(_b.title){_b.title.parent=this;if(!dojox.wire.isWire(_b.title)){_b.title=dojox.wire.create(_b.title);}}if(_b.children){this._initializeChildren(_b.children);}}},_getNodes:function(_c,_d){var _e=null;if(_d.node){_e=_d.node.getValue(_c);if(!_e){return [];}if(!dojo.isArray(_e)){_e=[_e];}}else{_e=[_c];}var _f=[];for(var i in _e){_c=_e[i];var _11={};if(_d.title){_11.title=_d.title.getValue(_c);}else{_11.title=_c;}if(_d.children){var _12=[];for(var i2 in _d.children){_12=_12.concat(this._getNodes(_c,_d.children[i2]));}if(_12.length>0){_11.children=_12;}}_f.push(_11);}return _f;}});}