// JQuery Ajax Queue Plugin for Zimetrix.com

if( typeof jQuery !== "undefined" ) {
  (function($) {

    var _queue = [];
    var _isRunning = false;

    function removeCurrent() {
      if (_queue.length) {
        _queue.splice(0, 1);
      }
    }

    function runNext() {
      if (_queue.length) {
        _queue[0]();
      } else {
        _isRunning = false;
        if ( $.isFunction($.ajaxq.onFinish) ) {
          $.ajaxq.onFinish();
          $.ajaxq.onFinish = null;
        }
      }
    }

    $.ajaxq = function( ajaxOptions ) {
      var _complete = ajaxOptions.complete || null;
      ajaxOptions.complete = function() {
        if ( $.isFunction(_complete) ) {
          _complete();
        }
        removeCurrent();
        runNext();
      };
      var qLen = _queue.push( function() {
        $.ajax( ajaxOptions );
      });
      if (qLen == 1 && !$.ajaxq.dontStart) {
        runNext();
        _isRunning = true;
      }
    };

    $.ajaxq.start = function() {
      if (!_isRunning) {
        runNext();
      }
    };
  })(jQuery);
}