/*
	Copyright (c) 2004-2009, 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.ItemFileReadStore"]){dojo._hasResource["dojo.data.ItemFileReadStore"]=true;dojo.provide("dojo.data.ItemFileReadStore");dojo.declare("dojo.data.ItemFileReadStore",null,{constructor:function(_1){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._jsonFileUrl=_1.url;this._jsonData=_1.data;this._datatypeMap=_1.typeMap||{};if(!this._datatypeMap["Date"]){this._datatypeMap["Date"]={type:Date,deserialize:function(_2){return dojo.date.stamp.fromISOString(_2);}};}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(_1.urlPreventCache!==undefined){this.urlPreventCache=_1.urlPreventCache?true:false;}if(_1.clearOnClose){this.clearOnClose=true;}},url:"",data:null,typeMap:null,clearOnClose:false,urlPreventCache:false,_assertIsItem:function(_3){if(!this.isItem(_3)){throw new Error("dojo.data.ItemFileReadStore: Invalid item argument.");}},_assertIsAttribute:function(_4){if(typeof _4!=="string"){throw new Error("dojo.data.ItemFileReadStore: Invalid attribute argument.");}},getValue:function(_5,_6,_7){var _8=this.getValues(_5,_6);return (_8.length>0)?_8[0]:_7;},getValues:function(_9,_a){this._assertIsItem(_9);this._assertIsAttribute(_a);return _9[_a]||[];},getAttributes:function(_b){this._assertIsItem(_b);var _c=[];for(var _d in _b){if((_d!==this._storeRefPropName)&&(_d!==this._itemNumPropName)&&(_d!==this._rootItemPropName)&&(_d!==this._reverseRefMap)){_c.push(_d);}}return _c;},hasAttribute:function(_e,_f){return this.getValues(_e,_f).length>0;},containsValue:function(_10,_11,_12){var _13=undefined;if(typeof _12==="string"){_13=dojo.data.util.filter.patternToRegExp(_12,false);}return this._containsValue(_10,_11,_12,_13);},_containsValue:function(_14,_15,_16,_17){return dojo.some(this.getValues(_14,_15),function(_18){if(_18!==null&&!dojo.isObject(_18)&&_17){if(_18.toString().match(_17)){return true;}}else{if(_16===_18){return true;}}});},isItem:function(_19){if(_19&&_19[this._storeRefPropName]===this){if(this._arrayOfAllItems[_19[this._itemNumPropName]]===_19){return true;}}return false;},isItemLoaded:function(_1a){return this.isItem(_1a);},loadItem:function(_1b){this._assertIsItem(_1b.item);},getFeatures:function(){return this._features;},getLabel:function(_1c){if(this._labelAttr&&this.isItem(_1c)){return this.getValue(_1c,this._labelAttr);}return undefined;},getLabelAttributes:function(_1d){if(this._labelAttr){return [this._labelAttr];}return null;},_fetchItems:function(_1e,_1f,_20){var _21=this;var _22=function(_23,_24){var _25=[];var i,key;if(_23.query){var _28;var _29=_23.queryOptions?_23.queryOptions.ignoreCase:false;var _2a={};for(key in _23.query){_28=_23.query[key];if(typeof _28==="string"){_2a[key]=dojo.data.util.filter.patternToRegExp(_28,_29);}}for(i=0;i<_24.length;++i){var _2b=true;var _2c=_24[i];if(_2c===null){_2b=false;}else{for(key in _23.query){_28=_23.query[key];if(!_21._containsValue(_2c,key,_28,_2a[key])){_2b=false;}}}if(_2b){_25.push(_2c);}}_1f(_25,_23);}else{for(i=0;i<_24.length;++i){var _2d=_24[i];if(_2d!==null){_25.push(_2d);}}_1f(_25,_23);}};if(this._loadFinished){_22(_1e,this._getItemsArray(_1e.queryOptions));}else{if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:_1e,filter:_22});}else{this._loadInProgress=true;var _2e={url:_21._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache};var _2f=dojo.xhrGet(_2e);_2f.addCallback(function(_30){try{_21._getItemsFromLoadedData(_30);_21._loadFinished=true;_21._loadInProgress=false;_22(_1e,_21._getItemsArray(_1e.queryOptions));_21._handleQueuedFetches();}catch(e){_21._loadFinished=true;_21._loadInProgress=false;_20(e,_1e);}});_2f.addErrback(function(_31){_21._loadInProgress=false;_20(_31,_1e);});var _32=null;if(_1e.abort){_32=_1e.abort;}_1e.abort=function(){var df=_2f;if(df&&df.fired===-1){df.cancel();df=null;}if(_32){_32.call(_1e);}};}}else{if(this._jsonData){try{this._loadFinished=true;this._getItemsFromLoadedData(this._jsonData);this._jsonData=null;_22(_1e,this._getItemsArray(_1e.queryOptions));}catch(e){_20(e,_1e);}}else{_20(new Error("dojo.data.ItemFileReadStore: No JSON source data was provided as either URL or a nested Javascript object."),_1e);}}}},_handleQueuedFetches:function(){if(this._queuedFetches.length>0){for(var i=0;i<this._queuedFetches.length;i++){var _35=this._queuedFetches[i];var _36=_35.args;var _37=_35.filter;if(_37){_37(_36,this._getItemsArray(_36.queryOptions));}else{this.fetchItemByIdentity(_36);}}this._queuedFetches=[];}},_getItemsArray:function(_38){if(_38&&_38.deep){return this._arrayOfAllItems;}return this._arrayOfTopLevelItems;},close:function(_39){if(this.clearOnClose&&(this._jsonFileUrl!=="")){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._itemsByIdentity=null;this._loadInProgress=false;this._queuedFetches=[];}},_getItemsFromLoadedData:function(_3a){var _3b=false;function _3c(_3d){var _3e=((_3d!==null)&&(typeof _3d==="object")&&(!dojo.isArray(_3d)||_3b)&&(!dojo.isFunction(_3d))&&(_3d.constructor==Object||dojo.isArray(_3d))&&(typeof _3d._reference==="undefined")&&(typeof _3d._type==="undefined")&&(typeof _3d._value==="undefined"));return _3e;};var _3f=this;function _40(_41){_3f._arrayOfAllItems.push(_41);for(var _42 in _41){var _43=_41[_42];if(_43){if(dojo.isArray(_43)){var _44=_43;for(var k=0;k<_44.length;++k){var _46=_44[k];if(_3c(_46)){_40(_46);}}}else{if(_3c(_43)){_40(_43);}}}}};this._labelAttr=_3a.label;var i;var _48;this._arrayOfAllItems=[];this._arrayOfTopLevelItems=_3a.items;for(i=0;i<this._arrayOfTopLevelItems.length;++i){_48=this._arrayOfTopLevelItems[i];if(dojo.isArray(_48)){_3b=true;}_40(_48);_48[this._rootItemPropName]=true;}var _49={};var key;for(i=0;i<this._arrayOfAllItems.length;++i){_48=this._arrayOfAllItems[i];for(key in _48){if(key!==this._rootItemPropName){var _4b=_48[key];if(_4b!==null){if(!dojo.isArray(_4b)){_48[key]=[_4b];}}else{_48[key]=[null];}}_49[key]=key;}}while(_49[this._storeRefPropName]){this._storeRefPropName+="_";}while(_49[this._itemNumPropName]){this._itemNumPropName+="_";}while(_49[this._reverseRefMap]){this._reverseRefMap+="_";}var _4c;var _4d=_3a.identifier;if(_4d){this._itemsByIdentity={};this._features["dojo.data.api.Identity"]=_4d;for(i=0;i<this._arrayOfAllItems.length;++i){_48=this._arrayOfAllItems[i];_4c=_48[_4d];var _4e=_4c[0];if(!this._itemsByIdentity[_4e]){this._itemsByIdentity[_4e]=_48;}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: ["+_4d+"].  Value collided: ["+_4e+"]");}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: ["+_4d+"].  Value collided: ["+_4e+"]");}}}}}else{this._features["dojo.data.api.Identity"]=Number;}for(i=0;i<this._arrayOfAllItems.length;++i){_48=this._arrayOfAllItems[i];_48[this._storeRefPropName]=this;_48[this._itemNumPropName]=i;}for(i=0;i<this._arrayOfAllItems.length;++i){_48=this._arrayOfAllItems[i];for(key in _48){_4c=_48[key];for(var j=0;j<_4c.length;++j){_4b=_4c[j];if(_4b!==null&&typeof _4b=="object"){if(_4b._type&&_4b._value){var _50=_4b._type;var _51=this._datatypeMap[_50];if(!_51){throw new Error("dojo.data.ItemFileReadStore: in the typeMap constructor arg, no object class was specified for the datatype '"+_50+"'");}else{if(dojo.isFunction(_51)){_4c[j]=new _51(_4b._value);}else{if(dojo.isFunction(_51.deserialize)){_4c[j]=_51.deserialize(_4b._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(_4b._reference){var _52=_4b._reference;if(!dojo.isObject(_52)){_4c[j]=this._itemsByIdentity[_52];}else{for(var k=0;k<this._arrayOfAllItems.length;++k){var _54=this._arrayOfAllItems[k];var _55=true;for(var _56 in _52){if(_54[_56]!=_52[_56]){_55=false;}}if(_55){_4c[j]=_54;}}}if(this.referenceIntegrity){var _57=_4c[j];if(this.isItem(_57)){this._addReferenceToMap(_57,_48,key);}}}else{if(this.isItem(_4b)){if(this.referenceIntegrity){this._addReferenceToMap(_4b,_48,key);}}}}}}}},_addReferenceToMap:function(_58,_59,_5a){},getIdentity:function(_5b){var _5c=this._features["dojo.data.api.Identity"];if(_5c===Number){return _5b[this._itemNumPropName];}else{var _5d=_5b[_5c];if(_5d){return _5d[0];}}return null;},fetchItemByIdentity:function(_5e){var _5f;var _60;if(!this._loadFinished){var _61=this;if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:_5e});}else{this._loadInProgress=true;var _62={url:_61._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache};var _63=dojo.xhrGet(_62);_63.addCallback(function(_64){var _65=_5e.scope?_5e.scope:dojo.global;try{_61._getItemsFromLoadedData(_64);_61._loadFinished=true;_61._loadInProgress=false;_5f=_61._getItemByIdentity(_5e.identity);if(_5e.onItem){_5e.onItem.call(_65,_5f);}_61._handleQueuedFetches();}catch(error){_61._loadInProgress=false;if(_5e.onError){_5e.onError.call(_65,error);}}});_63.addErrback(function(_66){_61._loadInProgress=false;if(_5e.onError){var _67=_5e.scope?_5e.scope:dojo.global;_5e.onError.call(_67,_66);}});}}else{if(this._jsonData){_61._getItemsFromLoadedData(_61._jsonData);_61._jsonData=null;_61._loadFinished=true;_5f=_61._getItemByIdentity(_5e.identity);if(_5e.onItem){_60=_5e.scope?_5e.scope:dojo.global;_5e.onItem.call(_60,_5f);}}}}else{_5f=this._getItemByIdentity(_5e.identity);if(_5e.onItem){_60=_5e.scope?_5e.scope:dojo.global;_5e.onItem.call(_60,_5f);}}},_getItemByIdentity:function(_68){var _69=null;if(this._itemsByIdentity){_69=this._itemsByIdentity[_68];}else{_69=this._arrayOfAllItems[_68];}if(_69===undefined){_69=null;}return _69;},getIdentityAttributes:function(_6a){var _6b=this._features["dojo.data.api.Identity"];if(_6b===Number){return null;}else{return [_6b];}},_forceLoad:function(){var _6c=this;if(this._jsonFileUrl){var _6d={url:_6c._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,sync:true};var _6e=dojo.xhrGet(_6d);_6e.addCallback(function(_6f){try{if(_6c._loadInProgress!==true&&!_6c._loadFinished){_6c._getItemsFromLoadedData(_6f);_6c._loadFinished=true;}else{if(_6c._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;}});_6e.addErrback(function(_70){throw _70;});}else{if(this._jsonData){_6c._getItemsFromLoadedData(_6c._jsonData);_6c._jsonData=null;_6c._loadFinished=true;}}}});dojo.extend(dojo.data.ItemFileReadStore,dojo.data.util.simpleFetch);}if(!dojo._hasResource["dojo.fx.Toggler"]){dojo._hasResource["dojo.fx.Toggler"]=true;dojo.provide("dojo.fx.Toggler");dojo.declare("dojo.fx.Toggler",null,{constructor:function(_71){var _t=this;dojo.mixin(_t,_71);_t.node=_71.node;_t._showArgs=dojo.mixin({},_71);_t._showArgs.node=_t.node;_t._showArgs.duration=_t.showDuration;_t.showAnim=_t.showFunc(_t._showArgs);_t._hideArgs=dojo.mixin({},_71);_t._hideArgs.node=_t.node;_t._hideArgs.duration=_t.hideDuration;_t.hideAnim=_t.hideFunc(_t._hideArgs);dojo.connect(_t.showAnim,"beforeBegin",dojo.hitch(_t.hideAnim,"stop",true));dojo.connect(_t.hideAnim,"beforeBegin",dojo.hitch(_t.showAnim,"stop",true));},node:null,showFunc:dojo.fadeIn,hideFunc:dojo.fadeOut,showDuration:200,hideDuration:200,show:function(_73){return this.showAnim.play(_73||0);},hide:function(_74){return this.hideAnim.play(_74||0);}});}if(!dojo._hasResource["dojo.fx"]){dojo._hasResource["dojo.fx"]=true;dojo.provide("dojo.fx");(function(){var d=dojo,_76={_fire:function(evt,_78){if(this[evt]){this[evt].apply(this,_78||[]);}return this;}};var _79=function(_7a){this._index=-1;this._animations=_7a||[];this._current=this._onAnimateCtx=this._onEndCtx=null;this.duration=0;d.forEach(this._animations,function(a){this.duration+=a.duration;if(a.delay){this.duration+=a.delay;}},this);};d.extend(_79,{_onAnimate:function(){this._fire("onAnimate",arguments);},_onEnd:function(){d.disconnect(this._onAnimateCtx);d.disconnect(this._onEndCtx);this._onAnimateCtx=this._onEndCtx=null;if(this._index+1==this._animations.length){this._fire("onEnd");}else{this._current=this._animations[++this._index];this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate");this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd");this._current.play(0,true);}},play:function(_7c,_7d){if(!this._current){this._current=this._animations[this._index=0];}if(!_7d&&this._current.status()=="playing"){return this;}var _7e=d.connect(this._current,"beforeBegin",this,function(){this._fire("beforeBegin");}),_7f=d.connect(this._current,"onBegin",this,function(arg){this._fire("onBegin",arguments);}),_81=d.connect(this._current,"onPlay",this,function(arg){this._fire("onPlay",arguments);d.disconnect(_7e);d.disconnect(_7f);d.disconnect(_81);});if(this._onAnimateCtx){d.disconnect(this._onAnimateCtx);}this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate");if(this._onEndCtx){d.disconnect(this._onEndCtx);}this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd");this._current.play.apply(this._current,arguments);return this;},pause:function(){if(this._current){var e=d.connect(this._current,"onPause",this,function(arg){this._fire("onPause",arguments);d.disconnect(e);});this._current.pause();}return this;},gotoPercent:function(_85,_86){this.pause();var _87=this.duration*_85;this._current=null;d.some(this._animations,function(a){if(a.duration<=_87){this._current=a;return true;}_87-=a.duration;return false;});if(this._current){this._current.gotoPercent(_87/this._current.duration,_86);}return this;},stop:function(_89){if(this._current){if(_89){for(;this._index+1<this._animations.length;++this._index){this._animations[this._index].stop(true);}this._current=this._animations[this._index];}var e=d.connect(this._current,"onStop",this,function(arg){this._fire("onStop",arguments);d.disconnect(e);});this._current.stop();}return this;},status:function(){return this._current?this._current.status():"stopped";},destroy:function(){if(this._onAnimateCtx){d.disconnect(this._onAnimateCtx);}if(this._onEndCtx){d.disconnect(this._onEndCtx);}}});d.extend(_79,_76);dojo.fx.chain=function(_8c){return new _79(_8c);};var _8d=function(_8e){this._animations=_8e||[];this._connects=[];this._finished=0;this.duration=0;d.forEach(_8e,function(a){var _90=a.duration;if(a.delay){_90+=a.delay;}if(this.duration<_90){this.duration=_90;}this._connects.push(d.connect(a,"onEnd",this,"_onEnd"));},this);this._pseudoAnimation=new d._Animation({curve:[0,1],duration:this.duration});var _91=this;d.forEach(["beforeBegin","onBegin","onPlay","onAnimate","onPause","onStop"],function(evt){_91._connects.push(d.connect(_91._pseudoAnimation,evt,function(){_91._fire(evt,arguments);}));});};d.extend(_8d,{_doAction:function(_93,_94){d.forEach(this._animations,function(a){a[_93].apply(a,_94);});return this;},_onEnd:function(){if(++this._finished==this._animations.length){this._fire("onEnd");}},_call:function(_96,_97){var t=this._pseudoAnimation;t[_96].apply(t,_97);},play:function(_99,_9a){this._finished=0;this._doAction("play",arguments);this._call("play",arguments);return this;},pause:function(){this._doAction("pause",arguments);this._call("pause",arguments);return this;},gotoPercent:function(_9b,_9c){var ms=this.duration*_9b;d.forEach(this._animations,function(a){a.gotoPercent(a.duration<ms?1:(ms/a.duration),_9c);});this._call("gotoPercent",arguments);return this;},stop:function(_9f){this._doAction("stop",arguments);this._call("stop",arguments);return this;},status:function(){return this._pseudoAnimation.status();},destroy:function(){d.forEach(this._connects,dojo.disconnect);}});d.extend(_8d,_76);dojo.fx.combine=function(_a0){return new _8d(_a0);};dojo.fx.wipeIn=function(_a1){_a1.node=d.byId(_a1.node);var _a2=_a1.node,s=_a2.style,o;var _a5=d.animateProperty(d.mixin({properties:{height:{start:function(){o=s.overflow;s.overflow="hidden";if(s.visibility=="hidden"||s.display=="none"){s.height="1px";s.display="";s.visibility="";return 1;}else{var _a6=d.style(_a2,"height");return Math.max(_a6,1);}},end:function(){return _a2.scrollHeight;}}}},_a1));d.connect(_a5,"onEnd",function(){s.height="auto";s.overflow=o;});return _a5;};dojo.fx.wipeOut=function(_a7){var _a8=_a7.node=d.byId(_a7.node),s=_a8.style,o;var _ab=d.animateProperty(d.mixin({properties:{height:{end:1}}},_a7));d.connect(_ab,"beforeBegin",function(){o=s.overflow;s.overflow="hidden";s.display="";});d.connect(_ab,"onEnd",function(){s.overflow=o;s.height="auto";s.display="none";});return _ab;};dojo.fx.slideTo=function(_ac){var _ad=_ac.node=d.byId(_ac.node),top=null,_af=null;var _b0=(function(n){return function(){var cs=d.getComputedStyle(n);var pos=cs.position;top=(pos=="absolute"?n.offsetTop:parseInt(cs.top)||0);_af=(pos=="absolute"?n.offsetLeft:parseInt(cs.left)||0);if(pos!="absolute"&&pos!="relative"){var ret=d.coords(n,true);top=ret.y;_af=ret.x;n.style.position="absolute";n.style.top=top+"px";n.style.left=_af+"px";}};})(_ad);_b0();var _b5=d.animateProperty(d.mixin({properties:{top:_ac.top||0,left:_ac.left||0}},_ac));d.connect(_b5,"beforeBegin",_b5,_b0);return _b5;};})();}

