var Progress = (function() { var timer; init = function() { NProgress.configure({ minimum: 0.01, showSpinner: false, easing: 'linear' }); } resetTimer = function() { if (timer != false) { clearInterval(timer); timer = false; } } complete = function() { Progress.ResetTimer(); NProgress.done(); } pause = function() { Progress.ResetTimer(); NProgress.set(0.0); } start = function() { var step_ms = 250; // animation step in ms var steps = (Unsee.GetRefreshRate() * 1000) / step_ms; // how many steps we have NProgress.set(0.0); Progress.ResetTimer(); timer = setInterval(function() { NProgress.inc(1.0 / steps); }, step_ms); } return { Init: init, Pause: pause, Complete: complete, Reset: start, ResetTimer: resetTimer } }());