
typeof defaultRegistry!='undefined'?defaultRegistry.addEntry({fileName:'jquery.idms.chartBenchmarkList.js',url:'/ccf/plugins/js/jquery.idms.chartBenchmarkList.js',plugins:[]}):true;(function(){var benchmarkList=[];var start=0;var end=0;var count=0;var selectorPrefix="benchmarkNo_";jQuery.fn.chartBenchmarkList=function(options){if(benchmarkList.length==0){if((options.benchmarks!=undefined)&&(options.benchmarks.length>0)){benchmarkList=jQuery.extend(benchmarkList,options.benchmarks);start=0;end=options.benchmarks.length;count=end;if(options.benchmarksSelectorPrefix!=undefined){selectorPrefix=options.benchmarksSelectorPrefix;}}if(options.defaultBenchmarkSelectorId!=undefined){selectorPrefix=options.defaultBenchmarkSelectorId;}}return{add:function(benchmark){if(benchmark!=undefined){benchmarkList[end++]=benchmark;count++;}},generateSelectorId:function(){return generateSelectorId();},get:function(selectorId){var result=getBenchmark(selectorId);return(result!=undefined)?result.benchmark:undefined;},getLastSelectedWithColor:function(){for(var i=(end-1);i>=start;i--){if((benchmarkList[i].selected)&&(benchmarkList[i].color!=undefined)){return benchmarkList[i];}}},getSelectedCount:function(){var selCount=0;for(var i=start;i<end;i++){if((benchmarkList[i]!=undefined)&&(benchmarkList[i].selected)){selCount++;}}return selCount;},iterator:function(){return getIterator();},isEmpty:function(){return(count==0);},remove:function(selectorId){if(count>0){var result=getBenchmark(selectorId);if((result!=undefined)&&(result.benchmark!=undefined)){benchmarkList[result.index]=undefined;count--;if((count!=0)&&(result.index==start)){start++;}if(result.index==(end-1)){end--;}return result.benchmark;}}return undefined;},size:function(){return count;}};};function generateSelectorId(){return selectorPrefix+end;};function getBenchmark(selectorId){for(var i=start;i<end;i++){if((benchmarkList[i]!=undefined)&&(benchmarkList[i].selectorId==selectorId)){return{index:i,benchmark:benchmarkList[i]};}}return undefined;};function getIterator(){var indexPointer=start;return{hasNext:function(){return(indexPointer<end);},next:function(){var benchmark=benchmarkList[indexPointer++];if(benchmark==undefined){while((benchmarkList[indexPointer]==undefined)&&(indexPointer<end)){indexPointer++;}benchmark=benchmarkList[indexPointer++];}while((benchmarkList[indexPointer]==undefined)&&(indexPointer<end)){indexPointer++;}return benchmark;}};};})();
