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


window[esri._dojoScopeName||"dojo"]._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","dojox.wire.ml.Data"],["provide","dojox.wire.ml.DataProperty"],["require","dijit._Widget"],["require","dijit._Container"],["require","dojox.wire.ml.util"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["dojox.wire.ml.Data"]){_4._hasResource["dojox.wire.ml.Data"]=true;_4.provide("dojox.wire.ml.Data");_4.provide("dojox.wire.ml.DataProperty");_4.require("dijit._Widget");_4.require("dijit._Container");_4.require("dojox.wire.ml.util");_4.declare("dojox.wire.ml.Data",[_5._Widget,_5._Container],{startup:function(){this._initializeProperties();},_initializeProperties:function(_7){if(!this._properties||_7){this._properties={};}var _8=this.getChildren();for(var i in _8){var _9=_8[i];if((_9 instanceof _6.wire.ml.DataProperty)&&_9.name){this.setPropertyValue(_9.name,_9.getValue());}}},getPropertyValue:function(_a){return this._properties[_a];},setPropertyValue:function(_b,_c){this._properties[_b]=_c;}});_4.declare("dojox.wire.ml.DataProperty",[_5._Widget,_5._Container],{name:"",type:"",value:"",_getValueAttr:function(){return this.getValue();},getValue:function(){var _d=this.value;if(this.type){if(this.type=="number"){_d=parseInt(_d);}else{if(this.type=="boolean"){_d=(_d=="true");}else{if(this.type=="array"){_d=[];var _e=this.getChildren();for(var i in _e){var _f=_e[i];if(_f instanceof _6.wire.ml.DataProperty){_d.push(_f.getValue());}}}else{if(this.type=="object"){_d={};var _e=this.getChildren();for(var i in _e){var _f=_e[i];if((_f instanceof _6.wire.ml.DataProperty)&&_f.name){_d[_f.name]=_f.getValue();}}}else{if(this.type=="element"){_d=new _6.wire.ml.XmlElement(_d);var _e=this.getChildren();for(var i in _e){var _f=_e[i];if((_f instanceof _6.wire.ml.DataProperty)&&_f.name){_d.setPropertyValue(_f.name,_f.getValue());}}}}}}}}return _d;}});}}};});