/* Copyright (c) 2004-2012, 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 */ //>>built define("dojo/store/Observable",["../_base/kernel","../_base/lang","../_base/Deferred","../_base/array"],function(_1,_2,_3,_4){var _5=function(_6){var _7,_8=[],_9=0;_6=_2.delegate(_6);_6.notify=function(_a,_b){_9++;var _c=_8.slice();for(var i=0,l=_c.length;i-1?_1d:_1a.length;_1a.splice(_20,0,_18);_1e=_4.indexOf(_12(_1a),_18);_1a.splice(_20,1);if((_f.start&&_1e==0)||(!_1b&&_1e==_1a.length)){_1e=-1;}else{_1a.splice(_1e,0,_18);}}}else{if(_18){if(_19!==_7){_1e=_1d;}else{if(!_f.start){_1e=_6.defaultIndex||0;_1a.splice(_1e,0,_18);}}}}if((_1d>-1||_1e>-1)&&(_17||!_12||(_1d!=_1e))){var _21=_14.slice();for(i=0;_16=_21[i];i++){_16(_18||_1c,_1d,_1e);}}});});}var _22={};_22.remove=_22.cancel=function(){var _23=_4.indexOf(_14,_16);if(_23>-1){_14.splice(_23,1);if(!_14.length){_8.splice(_4.indexOf(_8,_15),1);}}};return _22;};}return _10;};var _24;function _25(_26,_27){var _28=_6[_26];if(_28){_6[_26]=function(_29){if(_24){return _28.apply(this,arguments);}_24=true;try{var _2a=_28.apply(this,arguments);_3.when(_2a,function(_2b){_27((typeof _2b=="object"&&_2b)||_29);});return _2a;}finally{_24=false;}};}};_25("put",function(_2c){_6.notify(_2c,_6.getIdentity(_2c));});_25("add",function(_2d){_6.notify(_2d);});_25("remove",function(id){_6.notify(undefined,id);});return _6;};_2.setObject("dojo.store.Observable",_5);return _5;});