$(function(){$.periodic=function(callback,options){callback=callback||(function(){return false;});options=jQuery.extend({},{frequency:10,allowParallelExecution:false},options);var timer=window.setInterval(function(){if(options.allowParallelExecution||!(controller.currentlyExecuting||controller.currentlyExecutingAsync)){try{controller.currentlyExecuting=true;if(!(callback(controller))){controller.stop();}}finally{controller.currentlyExecuting=false;}}},options.frequency*1000);var controller={stop:function(){if(timer){window.clearInterval(timer);timer=null;}},currentlyExecuting:false,currentlyExecutingAsync:false};return controller;};});
