// Author: Jacek Becela
// Website: http://github.com/ncr/at_intervals
// License: cc-by-sa
(function(a){a.fn.at_intervals=function(b,c){var d=a.extend({},a.fn.at_intervals.defaults,c);return this.each(function(){var c=a(this);var e=d.name;var f=d.delay;var g={should_stop:function(){return!this.element_in_dom()||this.user_wants_to_stop()},should_work:function(){return this.element_visible()&&!this.user_wants_to_pause()},user_wants_to_stop:function(){return c.data(e).should_stop==true},user_wants_to_pause:function(){return c.data(e).should_pause==true},element_in_dom:function(){return c.parents("html").length>0},element_visible:function(){return c.parents("*").andSelf().not(":visible").length==0},stop:function(a){clearInterval(a);c.removeData(e)}};if(c.data(e)){g.stop(c.data(e).interval_id)}c.data(e,{delay:f});if(g.should_work()){b()}var h=setInterval(function(){if(g.should_stop()){g.stop(h)}else{if(g.should_work()){b()}}},f);c.data(e).interval_id=h})};a.fn.at_intervals.defaults={name:"at_intervals",delay:1e3}})(jQuery)
