var _si_nativeSetInterval=window.setInterval;var _si_nativeClearInterval=window.clearInterval;var _si_intervalTime=10;var _si_counter=1;var _si_length=0;var _si_functions={};var _si_counters={};var _si_numbers={};var _si_intervalId=undefined;var _si_loop=function(){var b=_si_functions,e=_si_counters,d=_si_numbers;for(var a in b){if(!--e[a]){b[a]();e[a]=d[a]}}};window.setInterval=function(a,b){if(typeof a=="string"){a=new Function(a)}_si_functions[_si_counter]=a;_si_counters[_si_counter]=_si_numbers[_si_counter]=Math.ceil(b/_si_intervalTime);if(++_si_length&&!_si_intervalId){_si_intervalId=_si_nativeSetInterval(_si_loop,_si_intervalTime)}return _si_counter++};window.clearInterval=function(a){if(_si_functions[a]){delete _si_functions[a];delete _si_numbers[a];delete _si_counters[a];if(!--_si_length&&_si_intervalId){_si_nativeClearInterval(_si_intervalId);_si_intervalId=undefined}}};
