/* JsObservable: http://github.com/BorisMoore/jsviews */ (function(a,f){a.observable=function(b){return a.isArray(b)?new d(b):new c(b)};var g=[].splice;function c(a){if(!this.data)return new c(a);this._data=a;return this}a.observable.Object=c;c.prototype={_data:null,data:function(){return this._data},setProperty:function(b,e){if(a.isArray(b))for(var g=0,l=b.length;g1){c=a.isArray(c)?c:[c];if(c.length>0){g.apply(this._data,[d,0].concat(c));b(this._data,{change:"insert",index:d,items:c})}}return this},remove:function(c,a){e(c);a=a===f||a===null?1:a;if(a&&c>-1){var d=this._data.slice(c,c+a);a=d.length;if(a){this._data.splice(c,a);b(this._data,{change:"remove",index:c,items:d})}}return this},move:function(c,d,a){e(c);e(d);a=a===f||a===null?1:a;if(a){var g=this._data.slice(c,c+a);this._data.splice(c,a);this._data.splice.apply(this._data,[d,0].concat(g));b(this._data,{change:"move",oldIndex:c,index:d,items:g})}return this},refresh:function(a){var c=this._data.slice(0);g.apply(this._data,[0,this._data.length].concat(a));b(this._data,{change:"refresh",oldItems:c});return this}}})(jQuery);