if(!JsNamespace.exist("Eco.array")){var array=JsNamespace.declare("Eco.array",{Each:function(_a,_b,_c,_d){var _e,_f=_a.length;if(_d!==true){for(_e=0;_e<_f;_e++ ){if(_b.call(_c||_a[_e],_a[_e],_e,_a)===false){return _e;}}}else{for(_e=_f-1;_e> -1;_e-- ){if(_b.call(_c||_a[_e],_a[_e],_e,_a)===false){return _e;}}}return true;},forEach:function(_a,_b,_c){var _d,_e=_a.length;for(_d=0;_d<_e;_d++ ){_b.call(_c,_a[_d],_d,_a);}},indexOf:function(_a,_b,_c,_d){var _e=_a.length;if(_c==null){_c=0;};_d==!!_d;_c=(_c<0)?Math.ceil(_c):Math.floor(_c);if(_c<0){_c+=_e;}if(_d){for(;_c<_e;_c++ ){if(_a[_c]===_b){return _c;}}}else{for(;_c<_e;_c++ ){if(_a[_c]==_b){return _c;}}}return -1;},lastIndexOf:function(_a,_b,_c,_d){var _e;if(_c==null){_c=_a.length-1;}else if(_c<0){_c=Math.max(0,_a.length+_c);}var _d=_d||false;if(_d){for(_e=_c;_e>=0;_e-- ){if(_a[_e]===_b){return _e;}}}else{for(_e=_c;_e>=0;_e-- ){if(_a[_e]==_b){return _e;}}}return -1;},contains:function(_a,_b,_c){if(Eco.array.indexOf(_a,_b,null,_c)=== -1){return false;}else{return true;}},toArray:function(_a,_b,_c){if(!_a||!_a.length){return [];}if(Eco.isArray(_a)){if(arguments.length==1){return _a;}else if(arguments.length==2){return _a.slice(_b);}else{return _a.slice(_b,_c);}}if(typeof _a==="string"){_a=_a.split("");}var _d,_e=[],_b=_b||0;_c=_c?((_c<0)?_a.length+_c:_c):_a.length;for(_d=_b;_d<_c;_d++ ){_e.push(_a[_d]);}return _e;},map:function(_a,_b,_c){if(!_b||!(typeof _b==="function")){return;}var _d=[],_e=0,_f=_a.length;for(;_e<_f;_e++ ){_d[_e]=_b.call(_c,_a[_e],_e,_a);}return _d;},every:function(_a,_b,_c){if(!_b||!(typeof _b==="function")){return;}var _d=0,_e=_a.length;for(;_d<_e; ++_d){if(!_b.call(_c,_a[_d],_d,_a)){return false;}}return true;},some:function(_a,_b,_c){if(!_b||!(typeof _b==="function")){return;}var _d=0,_e=_a.length;for(;_d<_e; ++_d){if(_b.call(_c,_a[_d],_d,_a)){return true;}}return false;},equals:function(_a,_b){var _c,_d=_a.length,_e=_b.length;if(_a===_b){return true;}if(_d!==_e){return false;}for(_c=0;_c<_d; ++_c){if(_a[_c]!==_b[_c]){return false;}}return true;},clean:function(_a){var _b=[],_c=0,_d=_a.length,_e;for(;_c<_d;_c++ ){_e=_a[_c];if(!Eco.isEmpty(_e)){_b.push(_e);}}return _b;},unique:function(_a){var _b=0,_c=[],_d=_a.length,_e,_f={},_g=Eco.array;for(;_b<_d;_b++ ){_e=_a[_b];_f[_e]=_e;}for(_b in _f){_c.push(_f[_b]);}return _c;},filter:function(_a,_b,_c){if(!_b||!(typeof _b==="function")){return;}var _d=[],_e=0,_f=_a.length;for(;_e<_f;_e++ ){if(_b.call(_c,_a[_e],_e,_a)){_d.push(_a[_e]);}}return _d;},insertAt:function(_a,_b,_c){_a.splice(_b,0,_c);},insertBefore:function(_a,_b,_c){var _d=Eco.array.indexOf(_a,_c);if(_d== -1){_a.push(_b);}else{_a.splice(_d,0,_b);}},removeAt:function(_a,_b){_a.splice(_b,1);},remove:function(_a,_b){var _c=Eco.array.indexOf(_a,_b);if(_c!== -1){_a.splice(_c,1);}},clone:function(_a){return _a.slice(0);},reduce:Array.prototype.reduce?function(_a,_b,_c){return _a.reduce(_b,_c);}:function(_a,_b,_c){if(_a==null){Eco.Logger.info("arr is null or undefined !!");return;}if(typeof _b!=='function'){Eco.Logger.info("Type of fn is not function!!");return;}var _d=_a.length>>>0,_e=0,_f;if(arguments.length==3){_f=arguments[2];}else{while(_e<_d&&(_a[_e]==null)){_e++ ;}if(_e>=_d){Eco.Logger.info("Reduce of empty array with no initial value.");return;}_f=_a[_e++ ];}for(;_e<_d;_e++ ){if(_a[_e]!=null){_f=_b(_f,_a[_e],_e,_a);}}return _f;},_rtnFlatten:[],flatten:function(_a){_rtnFlatten=[];return Eco.array._flatten(_a);},_flatten:function(_a){var _b,_c,_d,_e=Eco.array;for(_b=0,_c=_a.length;_b<_c;_b++ ){_d=_a[_b];if(Eco.isArray(_d)){_e._flatten(_d);}else{_rtnFlatten.push(_d);}}return _rtnFlatten;},max:function(_a){return Math.max.apply(Math,_a);},min:function(_a){return Math.min.apply(Math,_a);},sum:function(_a,_b,_c){if(_b==null){_b=0;}if(_c==null){_c=_a.length;}var _d=0;for(var _e=_b;_e<_c;_d+=_a[_e++ ]){}return _d;},exchange:function(_a,_b,_c){if(_a[_b]&&_a[_c]){var _d=_a.splice(_b,1,"");var _e=_a.splice(_c,1,"");_a.splice(_b,1,_e.pop());_a.splice(_c,1,_d.pop());return true;}else{return false;}},move:function(_a,_b,_c){var _d,_e;_b=parseInt(_b,10);_c=parseInt(_c,10);if(_b!==_c&&0<=_b&&_b<=_a.length&&0<=_c&&_c<=_a.length){_e=_a[_b];if(_b<_c){for(_d=_b;_d<_c;_d++ ){_a[_d]=_a[_d+1];}}else{for(_d=_b;_d>_c;_d-- ){_a[_d]=_a[_d-1];}}_a[_c]=_e;return true;}return false;},sortOn:function(_a){var _b,_c,_d=[];_b=_a.slice(0);if(!arguments.length){return _b.sort();}for(_c=0;_c_j?1: -1;});},sortTwoDimensional:function(_a,_b){return _a.sort(function(_c,_d){var _e=_b.length;for(var _f=0;_f<_e;_f++ ){if(_b[_f]=="ASC"){if(_c[_f]<_d[_f]){return -1;}if(_c[_f]>_d[_f]){return 1;}}else if(_b[_f]=="DESC"){if(_c[_f]<_d[_f]){return 1;}if(_c[_f]>_d[_f]){return -1;}}}return 0;});},indexOfProp:function(_a,_b,_c,_d,_e){var _f=_a.length,_d=Number(_d)||0,_e=_e||false,_g,_h;_d=(_d<0)?Math.ceil(_d):Math.floor(_d);if(_d<0){_d+=_f;}if(_e){for(;_d<_f;_d++ ){if(_d in _a&&_a[_d]){_g=_a[_d],_h=_g[_b];if(_h===_c){return _d;}}}}else{for(;_d<_f;_d++ ){if(_d in _a&&_a[_d]){_g=_a[_d],_h=_g[_b];if(_h==_c){return _d;}}}}return -1;},lastIndexOfProp:function(_a,_b,_c,_d,_e){var _f,_g,_h;if(_d==null){_d=_a.length-1;}else if(_d<0){_d=Math.max(0,_a.length+_d);}var _e=_e||false;if(_e){for(_f=_d;_f>=0;_f-- ){if(_f in _a&&_a[_f]){_g=_a[_f],_h=_g[_b];if(_h===_c){return _f;}}}}else{for(_f=_d;_f>=0;_f-- ){if(_f in _a&&_a[_f]){_g=_a[_f],_h=_g[_b];if(_h==_c){return _f;}}}}return -1;},difference:function(_a,_b){var _c=Eco.array.clone(_a),_d=_c.length,_e,_f,_g;for(_e=0,_g=_b.length;_e<_g;_e++ ){for(_f=0;_f<_d;_f++ ){if(_c[_f]===_b[_e]){Eco.array.removeAt(_c,_f);_f-- ;_d-- ;}}}return _c;},arrayCopy:function(_a,_b,_c,_d,_e){if(!_e){return;}var _f=_e+_b;if(_a==_c){_a=_a.slice(_b,_f);_f=_a.length;for(var _g=0,_h=_d;_g<_f;_g++ ,_h++ ){_c[_h]=_a[_g];}}else{for(var _g=_b,_h=_d;_g<_f;_g++ ,_h++ ){_c[_h]=_a[_g];}}},_defaultCompare:function(_a,_b){if(_a!=null){if(_b!=null){if(_a==_b){return 0;}if(_a>_b){return 1;}}return -1;}if(_b!=null){return 1;}return 0;},binarySearch:function(_a,_b,_c,_d,_e){if(!_e){_e=Eco.array._defaultCompare;}var _f=_b+_c-1,_g=_b;while(_g<=_f){var _h=_g+((_f-_g)>>1);var _i=_e(_a[_h],_d);if(_i==0){return _h;}if(_i<0){_g=_h+1;}else{_f=_h-1;}}return ~_g;}});}