/*
	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
*/

/*
	This is a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.
*/

if(!dojo._hasResource["dojo.data.util.filter"]){dojo._hasResource["dojo.data.util.filter"]=true;dojo.provide("dojo.data.util.filter");dojo.data.util.filter.patternToRegExp=function(_1,_2){var _3="^";var c=null;for(var i=0;i<_1.length;i++){c=_1.charAt(i);switch(c){case "\\":_3+=c;i++;_3+=_1.charAt(i);break;case "*":_3+=".*";break;case "?":_3+=".";break;case "$":case "^":case "/":case "+":case ".":case "|":case "(":case ")":case "{":case "}":case "[":case "]":_3+="\\";default:_3+=c;}}_3+="$";if(_2){return new RegExp(_3,"mi");}else{return new RegExp(_3,"m");}};}if(!dojo._hasResource["dojo.data.util.sorter"]){dojo._hasResource["dojo.data.util.sorter"]=true;dojo.provide("dojo.data.util.sorter");dojo.data.util.sorter.basicComparator=function(a,b){var _8=0;if(a>b||typeof a==="undefined"||a===null){_8=1;}else{if(a<b||typeof b==="undefined"||b===null){_8=-1;}}return _8;};dojo.data.util.sorter.createSortFunction=function(_9,_a){var _b=[];function createSortFunction(_c,_d){return function(_e,_f){var a=_a.getValue(_e,_c);var b=_a.getValue(_f,_c);var _12=null;if(_a.comparatorMap){if(typeof _c!=="string"){_c=_a.getIdentity(_c);}_12=_a.comparatorMap[_c]||dojo.data.util.sorter.basicComparator;}_12=_12||dojo.data.util.sorter.basicComparator;return _d*_12(a,b);};};var _13;for(var i=0;i<_9.length;i++){_13=_9[i];if(_13.attribute){var _15=(_13.descending)?-1:1;_b.push(createSortFunction(_13.attribute,_15));}}return function(_16,_17){var i=0;while(i<_b.length){var ret=_b[i++](_16,_17);if(ret!==0){return ret;}}return 0;};};}if(!dojo._hasResource["dojo.data.util.simpleFetch"]){dojo._hasResource["dojo.data.util.simpleFetch"]=true;dojo.provide("dojo.data.util.simpleFetch");dojo.data.util.simpleFetch.fetch=function(_1a){_1a=_1a||{};if(!_1a.store){_1a.store=this;}var _1b=this;var _1c=function(_1d,_1e){if(_1e.onError){var _1f=_1e.scope||dojo.global;_1e.onError.call(_1f,_1d,_1e);}};var _20=function(_21,_22){var _23=_22.abort||null;var _24=false;var _25=_22.start?_22.start:0;var _26=(_22.count&&(_22.count!==Infinity))?(_25+_22.count):_21.length;_22.abort=function(){_24=true;if(_23){_23.call(_22);}};var _27=_22.scope||dojo.global;if(!_22.store){_22.store=_1b;}if(_22.onBegin){_22.onBegin.call(_27,_21.length,_22);}if(_22.sort){_21.sort(dojo.data.util.sorter.createSortFunction(_22.sort,_1b));}if(_22.onItem){for(var i=_25;(i<_21.length)&&(i<_26);++i){var _29=_21[i];if(!_24){_22.onItem.call(_27,_29,_22);}}}if(_22.onComplete&&!_24){var _2a=null;if(!_22.onItem){_2a=_21.slice(_25,_26);}_22.onComplete.call(_27,_2a,_22);}};this._fetchItems(_1a,_20,_1c);return _1a;};}if(!dojo._hasResource["dojo.data.ItemFileReadStore"]){dojo._hasResource["dojo.data.ItemFileReadStore"]=true;dojo.provide("dojo.data.ItemFileReadStore");dojo.declare("dojo.data.ItemFileReadStore",null,{constructor:function(_2b){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._jsonFileUrl=_2b.url;this._jsonData=_2b.data;this._datatypeMap=_2b.typeMap||{};if(!this._datatypeMap["Date"]){this._datatypeMap["Date"]={type:Date,deserialize:function(_2c){return dojo.date.stamp.fromISOString(_2c);}};}this._features={"dojo.data.api.Read":true,"dojo.data.api.Identity":true};this._itemsByIdentity=null;this._storeRefPropName="_S";this._itemNumPropName="_0";this._rootItemPropName="_RI";this._reverseRefMap="_RRM";this._loadInProgress=false;this._queuedFetches=[];if(_2b.urlPreventCache!==undefined){this.urlPreventCache=_2b.urlPreventCache?true:false;}if(_2b.clearOnClose){this.clearOnClose=true;}},url:"",data:null,typeMap:null,clearOnClose:false,urlPreventCache:false,_assertIsItem:function(_2d){if(!this.isItem(_2d)){throw new Error("dojo.data.ItemFileReadStore: Invalid item argument.");}},_assertIsAttribute:function(_2e){if(typeof _2e!=="string"){throw new Error("dojo.data.ItemFileReadStore: Invalid attribute argument.");}},getValue:function(_2f,_30,_31){var _32=this.getValues(_2f,_30);return (_32.length>0)?_32[0]:_31;},getValues:function(_33,_34){this._assertIsItem(_33);this._assertIsAttribute(_34);return _33[_34]||[];},getAttributes:function(_35){this._assertIsItem(_35);var _36=[];for(var key in _35){if((key!==this._storeRefPropName)&&(key!==this._itemNumPropName)&&(key!==this._rootItemPropName)&&(key!==this._reverseRefMap)){_36.push(key);}}return _36;},hasAttribute:function(_38,_39){return this.getValues(_38,_39).length>0;},containsValue:function(_3a,_3b,_3c){var _3d=undefined;if(typeof _3c==="string"){_3d=dojo.data.util.filter.patternToRegExp(_3c,false);}return this._containsValue(_3a,_3b,_3c,_3d);},_containsValue:function(_3e,_3f,_40,_41){return dojo.some(this.getValues(_3e,_3f),function(_42){if(_42!==null&&!dojo.isObject(_42)&&_41){if(_42.toString().match(_41)){return true;}}else{if(_40===_42){return true;}}});},isItem:function(_43){if(_43&&_43[this._storeRefPropName]===this){if(this._arrayOfAllItems[_43[this._itemNumPropName]]===_43){return true;}}return false;},isItemLoaded:function(_44){return this.isItem(_44);},loadItem:function(_45){this._assertIsItem(_45.item);},getFeatures:function(){return this._features;},getLabel:function(_46){if(this._labelAttr&&this.isItem(_46)){return this.getValue(_46,this._labelAttr);}return undefined;},getLabelAttributes:function(_47){if(this._labelAttr){return [this._labelAttr];}return null;},_fetchItems:function(_48,_49,_4a){var _4b=this;var _4c=function(_4d,_4e){var _4f=[];if(_4d.query){var _50=_4d.queryOptions?_4d.queryOptions.ignoreCase:false;var _51={};for(var key in _4d.query){var _53=_4d.query[key];if(typeof _53==="string"){_51[key]=dojo.data.util.filter.patternToRegExp(_53,_50);}}for(var i=0;i<_4e.length;++i){var _55=true;var _56=_4e[i];if(_56===null){_55=false;}else{for(var key in _4d.query){var _53=_4d.query[key];if(!_4b._containsValue(_56,key,_53,_51[key])){_55=false;}}}if(_55){_4f.push(_56);}}_49(_4f,_4d);}else{for(var i=0;i<_4e.length;++i){var _57=_4e[i];if(_57!==null){_4f.push(_57);}}_49(_4f,_4d);}};if(this._loadFinished){_4c(_48,this._getItemsArray(_48.queryOptions));}else{if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:_48,filter:_4c});}else{this._loadInProgress=true;var _58={url:_4b._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache};var _59=dojo.xhrGet(_58);_59.addCallback(function(_5a){try{_4b._getItemsFromLoadedData(_5a);_4b._loadFinished=true;_4b._loadInProgress=false;_4c(_48,_4b._getItemsArray(_48.queryOptions));_4b._handleQueuedFetches();}catch(e){_4b._loadFinished=true;_4b._loadInProgress=false;_4a(e,_48);}});_59.addErrback(function(_5b){_4b._loadInProgress=false;_4a(_5b,_48);});}}else{if(this._jsonData){try{this._loadFinished=true;this._getItemsFromLoadedData(this._jsonData);this._jsonData=null;_4c(_48,this._getItemsArray(_48.queryOptions));}catch(e){_4a(e,_48);}}else{_4a(new Error("dojo.data.ItemFileReadStore: No JSON source data was provided as either URL or a nested Javascript object."),_48);}}}},_handleQueuedFetches:function(){if(this._queuedFetches.length>0){for(var i=0;i<this._queuedFetches.length;i++){var _5d=this._queuedFetches[i];var _5e=_5d.args;var _5f=_5d.filter;if(_5f){_5f(_5e,this._getItemsArray(_5e.queryOptions));}else{this.fetchItemByIdentity(_5e);}}this._queuedFetches=[];}},_getItemsArray:function(_60){if(_60&&_60.deep){return this._arrayOfAllItems;}return this._arrayOfTopLevelItems;},close:function(_61){if(this.clearOnClose&&(this._jsonFileUrl!=="")){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._itemsByIdentity=null;this._loadInProgress=false;this._queuedFetches=[];}},_getItemsFromLoadedData:function(_62){var _63=false;function valueIsAnItem(_64){var _65=((_64!=null)&&(typeof _64=="object")&&(!dojo.isArray(_64)||_63)&&(!dojo.isFunction(_64))&&(_64.constructor==Object||dojo.isArray(_64))&&(typeof _64._reference=="undefined")&&(typeof _64._type=="undefined")&&(typeof _64._value=="undefined"));return _65;};var _66=this;function addItemAndSubItemsToArrayOfAllItems(_67){_66._arrayOfAllItems.push(_67);for(var _68 in _67){var _69=_67[_68];if(_69){if(dojo.isArray(_69)){var _6a=_69;for(var k=0;k<_6a.length;++k){var _6c=_6a[k];if(valueIsAnItem(_6c)){addItemAndSubItemsToArrayOfAllItems(_6c);}}}else{if(valueIsAnItem(_69)){addItemAndSubItemsToArrayOfAllItems(_69);}}}}};this._labelAttr=_62.label;var i;var _6e;this._arrayOfAllItems=[];this._arrayOfTopLevelItems=_62.items;for(i=0;i<this._arrayOfTopLevelItems.length;++i){_6e=this._arrayOfTopLevelItems[i];if(dojo.isArray(_6e)){_63=true;}addItemAndSubItemsToArrayOfAllItems(_6e);_6e[this._rootItemPropName]=true;}var _6f={};var key;for(i=0;i<this._arrayOfAllItems.length;++i){_6e=this._arrayOfAllItems[i];for(key in _6e){if(key!==this._rootItemPropName){var _71=_6e[key];if(_71!==null){if(!dojo.isArray(_71)){_6e[key]=[_71];}}else{_6e[key]=[null];}}_6f[key]=key;}}while(_6f[this._storeRefPropName]){this._storeRefPropName+="_";}while(_6f[this._itemNumPropName]){this._itemNumPropName+="_";}while(_6f[this._reverseRefMap]){this._reverseRefMap+="_";}var _72;var _73=_62.identifier;if(_73){this._itemsByIdentity={};this._features["dojo.data.api.Identity"]=_73;for(i=0;i<this._arrayOfAllItems.length;++i){_6e=this._arrayOfAllItems[i];_72=_6e[_73];var _74=_72[0];if(!this._itemsByIdentity[_74]){this._itemsByIdentity[_74]=_6e;}else{if(this._jsonFileUrl){throw new Error("dojo.data.ItemFileReadStore:  The json data as specified by: ["+this._jsonFileUrl+"] is malformed.  Items within the list have identifier: ["+_73+"].  Value collided: ["+_74+"]");}else{if(this._jsonData){throw new Error("dojo.data.ItemFileReadStore:  The json data provided by the creation arguments is malformed.  Items within the list have identifier: ["+_73+"].  Value collided: ["+_74+"]");}}}}}else{this._features["dojo.data.api.Identity"]=Number;}for(i=0;i<this._arrayOfAllItems.length;++i){_6e=this._arrayOfAllItems[i];_6e[this._storeRefPropName]=this;_6e[this._itemNumPropName]=i;}for(i=0;i<this._arrayOfAllItems.length;++i){_6e=this._arrayOfAllItems[i];for(key in _6e){_72=_6e[key];for(var j=0;j<_72.length;++j){_71=_72[j];if(_71!==null&&typeof _71=="object"){if(_71._type&&_71._value){var _76=_71._type;var _77=this._datatypeMap[_76];if(!_77){throw new Error("dojo.data.ItemFileReadStore: in the typeMap constructor arg, no object class was specified for the datatype '"+_76+"'");}else{if(dojo.isFunction(_77)){_72[j]=new _77(_71._value);}else{if(dojo.isFunction(_77.deserialize)){_72[j]=_77.deserialize(_71._value);}else{throw new Error("dojo.data.ItemFileReadStore: Value provided in typeMap was neither a constructor, nor a an object with a deserialize function");}}}}if(_71._reference){var _78=_71._reference;if(!dojo.isObject(_78)){_72[j]=this._itemsByIdentity[_78];}else{for(var k=0;k<this._arrayOfAllItems.length;++k){var _7a=this._arrayOfAllItems[k];var _7b=true;for(var _7c in _78){if(_7a[_7c]!=_78[_7c]){_7b=false;}}if(_7b){_72[j]=_7a;}}}if(this.referenceIntegrity){var _7d=_72[j];if(this.isItem(_7d)){this._addReferenceToMap(_7d,_6e,key);}}}else{if(this.isItem(_71)){if(this.referenceIntegrity){this._addReferenceToMap(_71,_6e,key);}}}}}}}},_addReferenceToMap:function(_7e,_7f,_80){},getIdentity:function(_81){var _82=this._features["dojo.data.api.Identity"];if(_82===Number){return _81[this._itemNumPropName];}else{var _83=_81[_82];if(_83){return _83[0];}}return null;},fetchItemByIdentity:function(_84){if(!this._loadFinished){var _85=this;if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:_84});}else{this._loadInProgress=true;var _86={url:_85._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache};var _87=dojo.xhrGet(_86);_87.addCallback(function(_88){var _89=_84.scope?_84.scope:dojo.global;try{_85._getItemsFromLoadedData(_88);_85._loadFinished=true;_85._loadInProgress=false;var _8a=_85._getItemByIdentity(_84.identity);if(_84.onItem){_84.onItem.call(_89,_8a);}_85._handleQueuedFetches();}catch(error){_85._loadInProgress=false;if(_84.onError){_84.onError.call(_89,error);}}});_87.addErrback(function(_8b){_85._loadInProgress=false;if(_84.onError){var _8c=_84.scope?_84.scope:dojo.global;_84.onError.call(_8c,_8b);}});}}else{if(this._jsonData){_85._getItemsFromLoadedData(_85._jsonData);_85._jsonData=null;_85._loadFinished=true;var _8d=_85._getItemByIdentity(_84.identity);if(_84.onItem){var _8e=_84.scope?_84.scope:dojo.global;_84.onItem.call(_8e,_8d);}}}}else{var _8d=this._getItemByIdentity(_84.identity);if(_84.onItem){var _8e=_84.scope?_84.scope:dojo.global;_84.onItem.call(_8e,_8d);}}},_getItemByIdentity:function(_8f){var _90=null;if(this._itemsByIdentity){_90=this._itemsByIdentity[_8f];}else{_90=this._arrayOfAllItems[_8f];}if(_90===undefined){_90=null;}return _90;},getIdentityAttributes:function(_91){var _92=this._features["dojo.data.api.Identity"];if(_92===Number){return null;}else{return [_92];}},_forceLoad:function(){var _93=this;if(this._jsonFileUrl){var _94={url:_93._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,sync:true};var _95=dojo.xhrGet(_94);_95.addCallback(function(_96){try{if(_93._loadInProgress!==true&&!_93._loadFinished){_93._getItemsFromLoadedData(_96);_93._loadFinished=true;}else{if(_93._loadInProgress){throw new Error("dojo.data.ItemFileReadStore:  Unable to perform a synchronous load, an async load is in progress.");}}}catch(e){console.log(e);throw e;}});_95.addErrback(function(_97){throw _97;});}else{if(this._jsonData){_93._getItemsFromLoadedData(_93._jsonData);_93._jsonData=null;_93._loadFinished=true;}}}});dojo.extend(dojo.data.ItemFileReadStore,dojo.data.util.simpleFetch);}if(!dojo._hasResource["dojo.data.ItemFileWriteStore"]){dojo._hasResource["dojo.data.ItemFileWriteStore"]=true;dojo.provide("dojo.data.ItemFileWriteStore");dojo.declare("dojo.data.ItemFileWriteStore",dojo.data.ItemFileReadStore,{constructor:function(_98){this._features["dojo.data.api.Write"]=true;this._features["dojo.data.api.Notification"]=true;this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};if(!this._datatypeMap["Date"].serialize){this._datatypeMap["Date"].serialize=function(obj){return dojo.date.stamp.toISOString(obj,{zulu:true});};}if(_98&&(_98.referenceIntegrity===false)){this.referenceIntegrity=false;}this._saveInProgress=false;},referenceIntegrity:true,_assert:function(_9a){if(!_9a){throw new Error("assertion failed in ItemFileWriteStore");}},_getIdentifierAttribute:function(){var _9b=this.getFeatures()["dojo.data.api.Identity"];return _9b;},newItem:function(_9c,_9d){this._assert(!this._saveInProgress);if(!this._loadFinished){this._forceLoad();}if(typeof _9c!="object"&&typeof _9c!="undefined"){throw new Error("newItem() was passed something other than an object");}var _9e=null;var _9f=this._getIdentifierAttribute();if(_9f===Number){_9e=this._arrayOfAllItems.length;}else{_9e=_9c[_9f];if(typeof _9e==="undefined"){throw new Error("newItem() was not passed an identity for the new item");}if(dojo.isArray(_9e)){throw new Error("newItem() was not passed an single-valued identity");}}if(this._itemsByIdentity){this._assert(typeof this._itemsByIdentity[_9e]==="undefined");}this._assert(typeof this._pending._newItems[_9e]==="undefined");this._assert(typeof this._pending._deletedItems[_9e]==="undefined");var _a0={};_a0[this._storeRefPropName]=this;_a0[this._itemNumPropName]=this._arrayOfAllItems.length;if(this._itemsByIdentity){this._itemsByIdentity[_9e]=_a0;_a0[_9f]=[_9e];}this._arrayOfAllItems.push(_a0);var _a1=null;if(_9d&&_9d.parent&&_9d.attribute){_a1={item:_9d.parent,attribute:_9d.attribute,oldValue:undefined};var _a2=this.getValues(_9d.parent,_9d.attribute);if(_a2&&_a2.length>0){var _a3=_a2.slice(0,_a2.length);if(_a2.length===1){_a1.oldValue=_a2[0];}else{_a1.oldValue=_a2.slice(0,_a2.length);}_a3.push(_a0);this._setValueOrValues(_9d.parent,_9d.attribute,_a3,false);_a1.newValue=this.getValues(_9d.parent,_9d.attribute);}else{this._setValueOrValues(_9d.parent,_9d.attribute,_a0,false);_a1.newValue=_a0;}}else{_a0[this._rootItemPropName]=true;this._arrayOfTopLevelItems.push(_a0);}this._pending._newItems[_9e]=_a0;for(var key in _9c){if(key===this._storeRefPropName||key===this._itemNumPropName){throw new Error("encountered bug in ItemFileWriteStore.newItem");}var _a5=_9c[key];if(!dojo.isArray(_a5)){_a5=[_a5];}_a0[key]=_a5;if(this.referenceIntegrity){for(var i=0;i<_a5.length;i++){var val=_a5[i];if(this.isItem(val)){this._addReferenceToMap(val,_a0,key);}}}}this.onNew(_a0,_a1);return _a0;},_removeArrayElement:function(_a8,_a9){var _aa=dojo.indexOf(_a8,_a9);if(_aa!=-1){_a8.splice(_aa,1);return true;}return false;},deleteItem:function(_ab){this._assert(!this._saveInProgress);this._assertIsItem(_ab);var _ac=_ab[this._itemNumPropName];var _ad=this.getIdentity(_ab);if(this.referenceIntegrity){var _ae=this.getAttributes(_ab);if(_ab[this._reverseRefMap]){_ab["backup_"+this._reverseRefMap]=dojo.clone(_ab[this._reverseRefMap]);}dojo.forEach(_ae,function(_af){dojo.forEach(this.getValues(_ab,_af),function(_b0){if(this.isItem(_b0)){if(!_ab["backupRefs_"+this._reverseRefMap]){_ab["backupRefs_"+this._reverseRefMap]=[];}_ab["backupRefs_"+this._reverseRefMap].push({id:this.getIdentity(_b0),attr:_af});this._removeReferenceFromMap(_b0,_ab,_af);}},this);},this);var _b1=_ab[this._reverseRefMap];if(_b1){for(var _b2 in _b1){var _b3=null;if(this._itemsByIdentity){_b3=this._itemsByIdentity[_b2];}else{_b3=this._arrayOfAllItems[_b2];}if(_b3){for(var _b4 in _b1[_b2]){var _b5=this.getValues(_b3,_b4)||[];var _b6=dojo.filter(_b5,function(_b7){return !(this.isItem(_b7)&&this.getIdentity(_b7)==_ad);},this);this._removeReferenceFromMap(_ab,_b3,_b4);if(_b6.length<_b5.length){this._setValueOrValues(_b3,_b4,_b6,true);}}}}}}this._arrayOfAllItems[_ac]=null;_ab[this._storeRefPropName]=null;if(this._itemsByIdentity){delete this._itemsByIdentity[_ad];}this._pending._deletedItems[_ad]=_ab;if(_ab[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,_ab);}this.onDelete(_ab);return true;},setValue:function(_b8,_b9,_ba){return this._setValueOrValues(_b8,_b9,_ba,true);},setValues:function(_bb,_bc,_bd){return this._setValueOrValues(_bb,_bc,_bd,true);},unsetAttribute:function(_be,_bf){return this._setValueOrValues(_be,_bf,[],true);},_setValueOrValues:function(_c0,_c1,_c2,_c3){this._assert(!this._saveInProgress);this._assertIsItem(_c0);this._assert(dojo.isString(_c1));this._assert(typeof _c2!=="undefined");var _c4=this._getIdentifierAttribute();if(_c1==_c4){throw new Error("ItemFileWriteStore does not have support for changing the value of an item's identifier.");}var _c5=this._getValueOrValues(_c0,_c1);var _c6=this.getIdentity(_c0);if(!this._pending._modifiedItems[_c6]){var _c7={};for(var key in _c0){if((key===this._storeRefPropName)||(key===this._itemNumPropName)||(key===this._rootItemPropName)){_c7[key]=_c0[key];}else{if(key===this._reverseRefMap){_c7[key]=dojo.clone(_c0[key]);}else{_c7[key]=_c0[key].slice(0,_c0[key].length);}}}this._pending._modifiedItems[_c6]=_c7;}var _c9=false;if(dojo.isArray(_c2)&&_c2.length===0){_c9=delete _c0[_c1];_c2=undefined;if(this.referenceIntegrity&&_c5){var _ca=_c5;if(!dojo.isArray(_ca)){_ca=[_ca];}for(var i=0;i<_ca.length;i++){var _cc=_ca[i];if(this.isItem(_cc)){this._removeReferenceFromMap(_cc,_c0,_c1);}}}}else{var _cd;if(dojo.isArray(_c2)){var _ce=_c2;_cd=_c2.slice(0,_c2.length);}else{_cd=[_c2];}if(this.referenceIntegrity){if(_c5){var _ca=_c5;if(!dojo.isArray(_ca)){_ca=[_ca];}var map={};dojo.forEach(_ca,function(_d0){if(this.isItem(_d0)){var id=this.getIdentity(_d0);map[id.toString()]=true;}},this);dojo.forEach(_cd,function(_d2){if(this.isItem(_d2)){var id=this.getIdentity(_d2);if(map[id.toString()]){delete map[id.toString()];}else{this._addReferenceToMap(_d2,_c0,_c1);}}},this);for(var rId in map){var _d5;if(this._itemsByIdentity){_d5=this._itemsByIdentity[rId];}else{_d5=this._arrayOfAllItems[rId];}this._removeReferenceFromMap(_d5,_c0,_c1);}}else{for(var i=0;i<_cd.length;i++){var _cc=_cd[i];if(this.isItem(_cc)){this._addReferenceToMap(_cc,_c0,_c1);}}}}_c0[_c1]=_cd;_c9=true;}if(_c3){this.onSet(_c0,_c1,_c5,_c2);}return _c9;},_addReferenceToMap:function(_d6,_d7,_d8){var _d9=this.getIdentity(_d7);var _da=_d6[this._reverseRefMap];if(!_da){_da=_d6[this._reverseRefMap]={};}var _db=_da[_d9];if(!_db){_db=_da[_d9]={};}_db[_d8]=true;},_removeReferenceFromMap:function(_dc,_dd,_de){var _df=this.getIdentity(_dd);var _e0=_dc[this._reverseRefMap];var _e1;if(_e0){for(_e1 in _e0){if(_e1==_df){delete _e0[_e1][_de];if(this._isEmpty(_e0[_e1])){delete _e0[_e1];}}}if(this._isEmpty(_e0)){delete _dc[this._reverseRefMap];}}},_dumpReferenceMap:function(){var i;for(i=0;i<this._arrayOfAllItems.length;i++){var _e3=this._arrayOfAllItems[i];if(_e3&&_e3[this._reverseRefMap]){console.log("Item: ["+this.getIdentity(_e3)+"] is referenced by: "+dojo.toJson(_e3[this._reverseRefMap]));}}},_getValueOrValues:function(_e4,_e5){var _e6=undefined;if(this.hasAttribute(_e4,_e5)){var _e7=this.getValues(_e4,_e5);if(_e7.length==1){_e6=_e7[0];}else{_e6=_e7;}}return _e6;},_flatten:function(_e8){if(this.isItem(_e8)){var _e9=_e8;var _ea=this.getIdentity(_e9);var _eb={_reference:_ea};return _eb;}else{if(typeof _e8==="object"){for(var _ec in this._datatypeMap){var _ed=this._datatypeMap[_ec];if(dojo.isObject(_ed)&&!dojo.isFunction(_ed)){if(_e8 instanceof _ed.type){if(!_ed.serialize){throw new Error("ItemFileWriteStore:  No serializer defined for type mapping: ["+_ec+"]");}return {_type:_ec,_value:_ed.serialize(_e8)};}}else{if(_e8 instanceof _ed){return {_type:_ec,_value:_e8.toString()};}}}}return _e8;}},_getNewFileContentString:function(){var _ee={};var _ef=this._getIdentifierAttribute();if(_ef!==Number){_ee.identifier=_ef;}if(this._labelAttr){_ee.label=this._labelAttr;}_ee.items=[];for(var i=0;i<this._arrayOfAllItems.length;++i){var _f1=this._arrayOfAllItems[i];if(_f1!==null){var _f2={};for(var key in _f1){if(key!==this._storeRefPropName&&key!==this._itemNumPropName){var _f4=key;var _f5=this.getValues(_f1,_f4);if(_f5.length==1){_f2[_f4]=this._flatten(_f5[0]);}else{var _f6=[];for(var j=0;j<_f5.length;++j){_f6.push(this._flatten(_f5[j]));_f2[_f4]=_f6;}}}}_ee.items.push(_f2);}}var _f8=true;return dojo.toJson(_ee,_f8);},_isEmpty:function(_f9){var _fa=true;if(dojo.isObject(_f9)){var i;for(i in _f9){_fa=false;break;}}else{if(dojo.isArray(_f9)){if(_f9.length>0){_fa=false;}}}return _fa;},save:function(_fc){this._assert(!this._saveInProgress);this._saveInProgress=true;var _fd=this;var _fe=function(){_fd._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};_fd._saveInProgress=false;if(_fc&&_fc.onComplete){var _ff=_fc.scope||dojo.global;_fc.onComplete.call(_ff);}};var _100=function(err){_fd._saveInProgress=false;if(_fc&&_fc.onError){var _102=_fc.scope||dojo.global;_fc.onError.call(_102,err);}};if(this._saveEverything){var _103=this._getNewFileContentString();this._saveEverything(_fe,_100,_103);}if(this._saveCustom){this._saveCustom(_fe,_100);}if(!this._saveEverything&&!this._saveCustom){_fe();}},revert:function(){this._assert(!this._saveInProgress);var _104;for(_104 in this._pending._modifiedItems){var _105=this._pending._modifiedItems[_104];var _106=null;if(this._itemsByIdentity){_106=this._itemsByIdentity[_104];}else{_106=this._arrayOfAllItems[_104];}_105[this._storeRefPropName]=this;_106[this._storeRefPropName]=null;var _107=_106[this._itemNumPropName];this._arrayOfAllItems[_107]=_105;if(_106[this._rootItemPropName]){var i;for(i=0;i<this._arrayOfTopLevelItems.length;i++){var _109=this._arrayOfTopLevelItems[i];if(this.getIdentity(_109)==_104){this._arrayOfTopLevelItems[i]=_105;break;}}}if(this._itemsByIdentity){this._itemsByIdentity[_104]=_105;}}var _10a;for(_104 in this._pending._deletedItems){_10a=this._pending._deletedItems[_104];_10a[this._storeRefPropName]=this;var _10b=_10a[this._itemNumPropName];if(_10a["backup_"+this._reverseRefMap]){_10a[this._reverseRefMap]=_10a["backup_"+this._reverseRefMap];delete _10a["backup_"+this._reverseRefMap];}this._arrayOfAllItems[_10b]=_10a;if(this._itemsByIdentity){this._itemsByIdentity[_104]=_10a;}if(_10a[this._rootItemPropName]){this._arrayOfTopLevelItems.push(_10a);}}for(_104 in this._pending._deletedItems){_10a=this._pending._deletedItems[_104];if(_10a["backupRefs_"+this._reverseRefMap]){dojo.forEach(_10a["backupRefs_"+this._reverseRefMap],function(_10c){var _10d;if(this._itemsByIdentity){_10d=this._itemsByIdentity[_10c.id];}else{_10d=this._arrayOfAllItems[_10c.id];}this._addReferenceToMap(_10d,_10a,_10c.attr);},this);delete _10a["backupRefs_"+this._reverseRefMap];}}for(_104 in this._pending._newItems){var _10e=this._pending._newItems[_104];_10e[this._storeRefPropName]=null;this._arrayOfAllItems[_10e[this._itemNumPropName]]=null;if(_10e[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,_10e);}if(this._itemsByIdentity){delete this._itemsByIdentity[_104];}}this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};return true;},isDirty:function(item){if(item){var _110=this.getIdentity(item);return new Boolean(this._pending._newItems[_110]||this._pending._modifiedItems[_110]||this._pending._deletedItems[_110]).valueOf();}else{if(!this._isEmpty(this._pending._newItems)||!this._isEmpty(this._pending._modifiedItems)||!this._isEmpty(this._pending._deletedItems)){return true;}return false;}},onSet:function(item,_112,_113,_114){},onNew:function(_115,_116){},onDelete:function(_117){},close:function(_118){if(this.clearOnClose){if(!this.isDirty()){this.inherited(arguments);}else{if(this._jsonFileUrl!==""){throw new Error("dojo.data.ItemFileWriteStore: There are unsaved changes present in the store.  Please save or revert the changes before invoking close.");}}}}});}if(!dojo._hasResource["tgc.data.QueryReadStore"]){dojo._hasResource["tgc.data.QueryReadStore"]=true;dojo.provide("tgc.data.QueryReadStore");dojo.declare("tgc.data.QueryReadStore",null,{url:"",requestMethod:"GET",_items:[],_lastServerQuery:null,_numRows:null,doClientPaging:false,doClientSorting:false,_itemsByIdentity:null,_identifier:null,_features:{"dojo.data.api.Read":true,"dojo.data.api.Identity":true},_labelAttr:"label",constructor:function(_119){dojo.mixin(this,_119);this.requestMethod=this.requestMethod.toUpperCase();this._S="_S";this._0="_0";this._N="_N";},getValue:function(item,_11b,_11c){var _11d=this.getValues(item,_11b);return (_11d.length>0)?_11d[0]:_11c;},getValues:function(item,_11f){this._assertIsItem(item);this._assertIsAttribute(_11f);return item[_11f]==undefined?[]:dojo.isArray(item[_11f])?item[_11f]:[item[_11f]];},getAttributes:function(item){this._assertIsItem(item);var _121=[];for(var key in item){if((key!==this._S)&&(key!==this._N)){_121.push(key);}}return _121;},hasAttribute:function(item,_124){return this.getValues(item,_124).length>0;},containsValue:function(item,_126,_127){var _128=undefined;if(typeof _127==="string"){_128=dojo.data.util.filter.patternToRegExp(_127,false);}return this._containsValue(item,_126,_127,_128);},_containsValue:function(item,_12a,_12b,_12c){return dojo.some(this.getValues(item,_12a),function(_12d){if(_12d!==null&&!dojo.isObject(_12d)&&_12c){if(_12d.toString().match(_12c)){return true;}}else{if(_12b===_12d){return true;}}return false;});},isItem:function(_12e){if(_12e&&_12e[this._S]===this&&this._itemsByIdentity[_12e[this._identifier]]===_12e){return true;}return false;},isItemLoaded:function(_12f){return this.isItem(_12f);},loadItem:function(args){if(this.isItemLoaded(args.item)){return;}args.identity=args.item[this._identifier];this.fetchItemByIdentity(args);},getFeatures:function(){return this._features;},close:function(_131){this._items=[];this._itemsByIdentity=null;this._numRows=null;this._lastServerQuery=null;},getLabel:function(item){if(this._labelAttr&&this.isItem(item)){return this.getValue(item,this._labelAttr);}return undefined;},getLabelAttributes:function(item){if(this._labelAttr){return [this._labelAttr];}return null;},_xhrFetchHandler:function(data,_135,_136,_137){data=this._filterResponse(data);if(data.label){this._labelAttr=data.label;}var R=this._S;var N=this._0;var ID=this._N;this._items=[];var _13b=data.identifier;this._itemsByIdentity={};var _13c=dojo.mixin({},_135);var _13d=_135.scope||dojo.global;var _13e=_135.onItem||null;_13c.onItem=function(item,req){var _141=req.store;if(item){item[R]=_141;item[N]=_141._items.length;_141._items.push(item);}if(_13e){_13e.call(_13d,item,req);}};var _142=_135.onComplete||null;var _143="${classname}: The json specified by [${url}] "+"is malformed. Items within the list have identifier "+"[${identifier}]. Value collided: [${identity}].";_13c.onComplete=function(_144,req){var _146=req.store;_146._identifier=_13b||Number;dojo.forEach(_146._items,function(item,_148){var _149=item[_13b]||_148;if(!_146._itemsByIdentity[_149]){if(!_13b){item[ID]=_149;}_146._itemsByIdentity[_149]=item;}else{throw new Error(dojo.string.substitute(_143,{classname:_146.declaredClass,url:_146.url,identifier:_13b,identity:_149}));}});if(_142){_142.call(_13d,_146._items,req);}};if(!this.doClientPaging){_13c.start=0;}else{if(_13c.start){_13c.start=Number(_13c.start);}}if(this.doClientPaging){_13c.count=data.items.length;}else{if(_13c.count){_13c.count=Number(_135.count);}}if(!this.doClientSorting){_13c.sort=null;}_136(data.items,_13c);this._numRows=this._items.length;},_fetchItems:function(_14a,_14b,_14c){var _14d=dojo.clone(_14a.serverQuery||_14a.query||{});if(!this.doClientPaging){_14d.start=_14a.start||0;if(_14a.count){_14d.count=Number(_14a.count);}}if(!this.doClientSorting){if(_14a.sort){var sort=_14a.sort[0];if(sort&&sort.attribute){_14d.sort=(sort.descending?"-":"")+sort.attribute;}}}var _14f=dojo.toJson(_14d);if(this.doClientPaging&&this._lastServerQuery!==null&&_14f==this._lastServerQuery){var _150=[];dojo.forEach(this._items,function(item){if(item){item[this._0]=_150.length;_150.push(item);}});if(_150.length!=this._items.length){this._numRows=null;this._items=_150;}this._numRows=this._numRows||this._items.length;_14b(this._items,_14a,this._numRows);}else{var _152=dojo.xhr(this.requestMethod,{url:this.url,handleAs:"json-comment-optional",content:_14d},true);_152.addCallback(dojo.hitch(this,function(data){this._xhrFetchHandler(data,_14a,_14b,_14c);}));_152.addErrback(function(_154){_14c(_154,_14a);});this._lastServerQuery=_14f;}},_filterResponse:function(data){return data;},_assertIsItem:function(item){if(!this.isItem(item)){console.log("***Failed assert:",item);throw new Error(this.declaredClass+": Invalid item argument.");}},_assertIsAttribute:function(_157){if(typeof _157!=="string"){throw new Error(this.declaredClass+": Invalid attribute argument ('"+_157+"').");}},fetchItemByIdentity:function(_158){var _159=_158.scope||dojo.global;var self=this;var R=this._S;var N=this._0;if(this._itemsByIdentity){var item=this._itemsByIdentity[_158.identity];if(!(item===undefined)){if(_158.onItem){_158.onItem.call(_159,item);}return;}}if(this._identifier&&this._identifier===Number){if(_158.onItem){_158.onItem.call(_159,null);}return;}var _15e=function(_15f,_160){if(_158.onError){_158.onError.call(_159,_15f);}};var _161=function(data,_163){try{var item=null;if(data.label&&!this._labelAttr){this._labelAttr=data.label;}var _165=data.identifier;if((!self._identifier)&&_165){self._identifier=_165;}if(data.items&&data.items.length==1){item=data.items[0];item[R]=self;item[N]=self._items.length;self._items.push(item);self._itemsByIdentity[item[_165]]=item;}if(_158.onItem){_158.onItem.call(_159,item);}}catch(error){if(_158.onError){_158.onError.call(_159,error);}}};var _166={start:0,count:1};_166[this._identifier||"id"]=_158.identity;var _167=dojo.xhr(this.requestMethod,{url:this.url,handleAs:"json-comment-optional",content:_166},true);_167.addCallback(dojo.hitch(this,function(data){_161(data,_166);}));_167.addErrback(function(_169){_15e(_169,_166);});},getIdentity:function(item){return this._identifier===Number?item[this._N]:item[this._identifier];},getIdentityAttributes:function(item){return [this._identifier];}});dojo.extend(tgc.data.QueryReadStore,dojo.data.util.simpleFetch);}if(!dojo._hasResource["tgc.data.QueryWriteStore"]){dojo._hasResource["tgc.data.QueryWriteStore"]=true;dojo.provide("tgc.data.QueryWriteStore");dojo.declare("tgc.data.QueryWriteStore",tgc.data.QueryReadStore,{constructor:function(_16c){this._features["dojo.data.api.Write"]=true;this._features["dojo.data.api.Notification"]=true;this._saveInProgress=false;this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};},referenceIntegrity:false,close:function(_16d){this.inherited(arguments);this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};},_copyObject:function(o){if(!o){return o;}if(o===this){return o;}if(dojo.isArray(o)||o instanceof [].constructor){var r=[];for(var i=0;i<o.length;++i){r.push(this._copyObject(o[i]));}return r;}if(!dojo.isObject(o)){return o;}if(o.nodeType&&o.cloneNode){return o.cloneNode(true);}if(o instanceof Date){return new Date(o.getTime());}var r=new o.constructor();for(var i in o){if(!(i in r)||r[i]!=o[i]){r[i]=dojo.clone(o[i]);}}return r;},newItem:function(_171,_172){var _173=_171[this._identifier];var item=this._copyObject(_171);item[this._S]=this;item[this._0]=this._items.length;if(this._identifier===Number){item[this._N]=this._items.length;}this._items.push(item);this._numRows=this._items.length;this._itemsByIdentity[_173]=item;this._pending._newItems[_173]=item;this.onNew(item);return true;},deleteItem:function(item){var _176=this.getIdentity(item);if(this._itemsByIdentity){delete this._itemsByIdentity[_176];}item[item[this._0]]=null;this._pending._deletedItems[_176]=item;this.onDelete(item);return true;},setValue:function(item,_178,_179){var _17a=this.getIdentity(item);var _17b=item[_178];if(_17b==_179){return true;}var _17c=this._pending._modifiedItems[_17a];if(!_17c){item[this._S]=null;_17c=this._copyObject(item);this._pending._modifiedItems[_17a]=_17c;item[this._S]=this;_17c._A={};}else{if(_179==_17c[_178]){if(_17c._A[_178]){delete _17c._A[_178];}var _17d=true;for(k in _17c._A){_17d=false;break;}if(_17d){delete this._pending._modifiedItems[_17a];}}}_17c._A[_178]=true;item[_178]=_179;this.onSet(item,_178,_17b,_179);return true;},setValues:function(item,_17f,_180){},unsetAttribute:function(item,_182){},save:function(_183){if(this._saveInProgress){return;}this._saveInProgress=true;var self=this;var _185=function(){self._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};self._saveInProgress=false;if(_183&&_183.onComplete){var _186=_183.scope||dojo.global;_183.onComplete.call(_186);}};var _187=function(){self._saveInProgress=false;if(_183&&_183.onError){var _188=_183.scope||dojo.global;_183.onError.call(_188);}};if(this._saveCustom){this._saveCustom(_185,_187);}else{_185();}},revert:function(){if(this._saveInProgress){return false;}var R=this._S;var N=this._0;for(identity in this._pending._deletedItems){var item=this._pending._deletedItems[identity];item[R]=this;this._items[item[N]]=item;this._itemsByIdentity[identity]=item;this.onNew(item);}for(identity in this._pending._modifiedItems){var _18c=this._pending._modifiedItems[identity];var _18d=this._items[_18c[N]];var _18e=_18c._A;delete _18c._A;for(attr in _18e){_18d[attr]=_18c[attr];this.onSet(_18d,attr,_18d[attr],_18c[attr]);}}for(identity in this._pending._newItems){var item=this._pending._newItems[identity];delete this._itemsByIdentity[identity];this._items[item[N]]=null;this.onDelete(item);item[R]=null;}this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};return true;},_isEmpty:function(_18f){var _190=true;if(dojo.isObject(_18f)){var i;for(i in _18f){_190=false;break;}}else{if(dojo.isArray(_18f)){if(_18f.length>0){_190=false;}}}return _190;},isDirty:function(item){if(item){var _193=this.getIdentity(item);return new Boolean(this._pending._newItems[_193]||this._pending._modifiedItems[_193]||this._pending._deletedItems[_193]).valueOf();}else{if(!this._isEmpty(this._pending._newItems)||!this._isEmpty(this._pending._modifiedItems)||!this._isEmpty(this._pending._deletedItems)){return true;}return false;}},isItemNew:function(item){if(item){var _195=this.getIdentity(item);return new Boolean(this._pending._newItems[_195]).valueOf();}return false;},isItemModified:function(item){if(item){var _197=this.getIdentity(item);return new Boolean(this._pending._modifiedItems[_197]).valueOf();}return false;},isItemDeleted:function(item){if(item){var _199=this.getIdentity(item);return new Boolean(this._pending._deletedItems[_199]).valueOf();}return false;},onSet:function(item,_19b,_19c,_19d){},onNew:function(_19e,_19f){},onDelete:function(_1a0){}});}if(!dojo._hasResource["dojox.data.dom"]){dojo._hasResource["dojox.data.dom"]=true;dojo.provide("dojox.data.dom");dojo.experimental("dojox.data.dom");dojox.data.dom.createDocument=function(str,_1a2){var _1a3=dojo.doc;if(!_1a2){_1a2="text/xml";}if(str&&dojo.trim(str)!==""&&(typeof dojo.global["DOMParser"])!=="undefined"){var _1a4=new DOMParser();return _1a4.parseFromString(str,_1a2);}else{if((typeof dojo.global["ActiveXObject"])!=="undefined"){var _1a5=["MSXML2","Microsoft","MSXML","MSXML3"];for(var i=0;i<_1a5.length;i++){try{var doc=new ActiveXObject(_1a5[i]+".XMLDOM");if(str){if(doc){doc.async=false;doc.loadXML(str);return doc;}else{console.log("loadXML didn't work?");}}else{if(doc){return doc;}}}catch(e){}}}else{if((_1a3.implementation)&&(_1a3.implementation.createDocument)){if(str&&dojo.trim(str)!==""){if(_1a3.createElement){var tmp=_1a3.createElement("xml");tmp.innerHTML=str;var _1a9=_1a3.implementation.createDocument("foo","",null);for(var i=0;i<tmp.childNodes.length;i++){_1a9.importNode(tmp.childNodes.item(i),true);}return _1a9;}}else{return _1a3.implementation.createDocument("","",null);}}}}return null;};dojox.data.dom.textContent=function(node,text){if(arguments.length>1){var _1ac=node.ownerDocument||dojo.doc;dojox.data.dom.replaceChildren(node,_1ac.createTextNode(text));return text;}else{if(node.textContent!==undefined){return node.textContent;}var _1ad="";if(node==null){return _1ad;}for(var i=0;i<node.childNodes.length;i++){switch(node.childNodes[i].nodeType){case 1:case 5:_1ad+=dojox.data.dom.textContent(node.childNodes[i]);break;case 3:case 2:case 4:_1ad+=node.childNodes[i].nodeValue;break;default:break;}}return _1ad;}};dojox.data.dom.replaceChildren=function(node,_1b0){var _1b1=[];if(dojo.isIE){for(var i=0;i<node.childNodes.length;i++){_1b1.push(node.childNodes[i]);}}dojox.data.dom.removeChildren(node);for(var i=0;i<_1b1.length;i++){dojo._destroyElement(_1b1[i]);}if(!dojo.isArray(_1b0)){node.appendChild(_1b0);}else{for(var i=0;i<_1b0.length;i++){node.appendChild(_1b0[i]);}}};dojox.data.dom.removeChildren=function(node){var _1b4=node.childNodes.length;while(node.hasChildNodes()){node.removeChild(node.firstChild);}return _1b4;};dojox.data.dom.innerXML=function(node){if(node.innerXML){return node.innerXML;}else{if(node.xml){return node.xml;}else{if(typeof XMLSerializer!="undefined"){return (new XMLSerializer()).serializeToString(node);}}}};}if(!dojo._hasResource["dojox.data.HtmlStore"]){dojo._hasResource["dojox.data.HtmlStore"]=true;dojo.provide("dojox.data.HtmlStore");dojo.declare("dojox.data.HtmlStore",null,{constructor:function(args){if(args.url){if(!args.dataId){throw new Error("dojo.data.HtmlStore: Cannot instantiate using url without an id!");}this.url=args.url;this.dataId=args.dataId;}else{if(args.dataId){this._rootNode=dojo.byId(args.dataId);this.dataId=this._rootNode.id;}else{this._rootNode=dojo.byId(this.dataId);}this._indexItems();}},url:"",dataId:"",_indexItems:function(){this._getHeadings();if(this._rootNode.rows){if(this._rootNode.tBodies&&this._rootNode.tBodies.length>0){this._rootNode=this._rootNode.tBodies[0];}var i;for(i=0;i<this._rootNode.rows.length;i++){this._rootNode.rows[i].store=this;this._rootNode.rows[i]._ident=i+1;}}else{var c=1;for(i=0;i<this._rootNode.childNodes.length;i++){if(this._rootNode.childNodes[i].nodeType===1){this._rootNode.childNodes[i].store=this;this._rootNode.childNodes[i]._ident=c;c++;}}}},_getHeadings:function(){this._headings=[];if(this._rootNode.tHead){dojo.forEach(this._rootNode.tHead.rows[0].cells,dojo.hitch(this,function(th){this._headings.push(dojox.data.dom.textContent(th));}));}else{this._headings=["name"];}},_getAllItems:function(){var _1ba=[];var i;if(this._rootNode.rows){for(i=0;i<this._rootNode.rows.length;i++){_1ba.push(this._rootNode.rows[i]);}}else{for(i=0;i<this._rootNode.childNodes.length;i++){if(this._rootNode.childNodes[i].nodeType===1){_1ba.push(this._rootNode.childNodes[i]);}}}return _1ba;},_assertIsItem:function(item){if(!this.isItem(item)){throw new Error("dojo.data.HtmlStore: a function was passed an item argument that was not an item");}},_assertIsAttribute:function(_1bd){if(typeof _1bd!=="string"){throw new Error("dojo.data.HtmlStore: a function was passed an attribute argument that was not an attribute name string");return -1;}return dojo.indexOf(this._headings,_1bd);},getValue:function(item,_1bf,_1c0){var _1c1=this.getValues(item,_1bf);return (_1c1.length>0)?_1c1[0]:_1c0;},getValues:function(item,_1c3){this._assertIsItem(item);var _1c4=this._assertIsAttribute(_1c3);if(_1c4>-1){if(item.cells){return [dojox.data.dom.textContent(item.cells[_1c4])];}else{return [dojox.data.dom.textContent(item)];}}return [];},getAttributes:function(item){this._assertIsItem(item);var _1c6=[];for(var i=0;i<this._headings.length;i++){if(this.hasAttribute(item,this._headings[i])){_1c6.push(this._headings[i]);}}return _1c6;},hasAttribute:function(item,_1c9){return this.getValues(item,_1c9).length>0;},containsValue:function(item,_1cb,_1cc){var _1cd=undefined;if(typeof _1cc==="string"){_1cd=dojo.data.util.filter.patternToRegExp(_1cc,false);}return this._containsValue(item,_1cb,_1cc,_1cd);},_containsValue:function(item,_1cf,_1d0,_1d1){var _1d2=this.getValues(item,_1cf);for(var i=0;i<_1d2.length;++i){var _1d4=_1d2[i];if(typeof _1d4==="string"&&_1d1){return (_1d4.match(_1d1)!==null);}else{if(_1d0===_1d4){return true;}}}return false;},isItem:function(_1d5){if(_1d5&&_1d5.store&&_1d5.store===this){return true;}return false;},isItemLoaded:function(_1d6){return this.isItem(_1d6);},loadItem:function(_1d7){this._assertIsItem(_1d7.item);},_fetchItems:function(_1d8,_1d9,_1da){if(this._rootNode){this._finishFetchItems(_1d8,_1d9,_1da);}else{if(!this.url){this._rootNode=dojo.byId(this.dataId);}else{var _1db={url:this.url,handleAs:"text"};var self=this;var _1dd=dojo.xhrGet(_1db);_1dd.addCallback(function(data){var _1df=function(node,id){if(node.id==id){return node;}if(node.childNodes){for(var i=0;i<node.childNodes.length;i++){var _1e3=_1df(node.childNodes[i],id);if(_1e3){return _1e3;}}}return null;};var d=document.createElement("div");d.innerHTML=data;self._rootNode=_1df(d,self.dataId);self._indexItems();self._finishFetchItems(_1d8,_1d9,_1da);});_1dd.addErrback(function(_1e5){_1da(_1e5,_1d8);});}}},_finishFetchItems:function(_1e6,_1e7,_1e8){var _1e9=null;var _1ea=this._getAllItems();if(_1e6.query){var _1eb=_1e6.queryOptions?_1e6.queryOptions.ignoreCase:false;_1e9=[];var _1ec={};var key;var _1ee;for(key in _1e6.query){_1ee=_1e6.query[key]+"";if(typeof _1ee==="string"){_1ec[key]=dojo.data.util.filter.patternToRegExp(_1ee,_1eb);}}for(var i=0;i<_1ea.length;++i){var _1f0=true;var _1f1=_1ea[i];for(key in _1e6.query){_1ee=_1e6.query[key]+"";if(!this._containsValue(_1f1,key,_1ee,_1ec[key])){_1f0=false;}}if(_1f0){_1e9.push(_1f1);}}_1e7(_1e9,_1e6);}else{if(_1ea.length>0){_1e9=_1ea.slice(0,_1ea.length);}_1e7(_1e9,_1e6);}},getFeatures:function(){return {"dojo.data.api.Read":true,"dojo.data.api.Identity":true};},close:function(_1f2){},getLabel:function(item){if(this.isItem(item)){if(item.cells){return "Item #"+this.getIdentity(item);}else{return this.getValue(item,"name");}}return undefined;},getLabelAttributes:function(item){if(item.cells){return null;}else{return ["name"];}},getIdentity:function(item){this._assertIsItem(item);if(this.hasAttribute(item,"name")){return this.getValue(item,"name");}else{return item._ident;}},getIdentityAttributes:function(item){return null;},fetchItemByIdentity:function(_1f7){var _1f8=_1f7.identity;var self=this;var item=null;var _1fb=null;if(!this._rootNode){if(!this.url){this._rootNode=dojo.byId(this.dataId);this._indexItems();if(self._rootNode.rows){item=this._rootNode.rows[_1f8+1];}else{for(var i=0;i<self._rootNode.childNodes.length;i++){if(self._rootNode.childNodes[i].nodeType===1&&_1f8===dojox.data.dom.textContent(self._rootNode.childNodes[i])){item=self._rootNode.childNodes[i];}}}if(_1f7.onItem){_1fb=_1f7.scope?_1f7.scope:dojo.global;_1f7.onItem.call(_1fb,item);}}else{var _1fd={url:this.url,handleAs:"text"};var _1fe=dojo.xhrGet(_1fd);_1fe.addCallback(function(data){var _200=function(node,id){if(node.id==id){return node;}if(node.childNodes){for(var i=0;i<node.childNodes.length;i++){var _204=_200(node.childNodes[i],id);if(_204){return _204;}}}return null;};var d=document.createElement("div");d.innerHTML=data;self._rootNode=_200(d,self.dataId);self._indexItems();if(self._rootNode.rows&&_1f8<=self._rootNode.rows.length){item=self._rootNode.rows[_1f8-1];}else{for(var i=0;i<self._rootNode.childNodes.length;i++){if(self._rootNode.childNodes[i].nodeType===1&&_1f8===dojox.data.dom.textContent(self._rootNode.childNodes[i])){item=self._rootNode.childNodes[i];break;}}}if(_1f7.onItem){_1fb=_1f7.scope?_1f7.scope:dojo.global;_1f7.onItem.call(_1fb,item);}});_1fe.addErrback(function(_207){if(_1f7.onError){_1fb=_1f7.scope?_1f7.scope:dojo.global;_1f7.onError.call(_1fb,_207);}});}}else{if(this._rootNode.rows[_1f8+1]){item=this._rootNode.rows[_1f8+1];if(_1f7.onItem){_1fb=_1f7.scope?_1f7.scope:dojo.global;_1f7.onItem.call(_1fb,item);}}}}});dojo.extend(dojox.data.HtmlStore,dojo.data.util.simpleFetch);}
