var Ajax = $.inherit({
  __constructor:function(data){
    this.data = data;
    if(!this.__self.loader){
      this.createLoader();
    }
  },

  makeRequest: function(){
    this.modifyData();
    return $.ajax(this.data);
  },

  modifyData: function(){
    ajaxObj = this;
    this.data['beforeSend'] = function(){
      ajaxObj.__self.reqestCount++;
      ajaxObj.showLoader();
    }
    this.data['complete'] = function(){
      ajaxObj.__self.reqestCount = ajaxObj.__self.reqestCount - 1;
      if(ajaxObj.__self.reqestCount == 0){
        ajaxObj.hideLoader();
      }
    }
  },

  createLoader: function(){
    var e = $('<div></div>');
    e.attr('class', 'ajax-loader');
   // e.text(Lang.acp.loader.loading);
    $('body').append(e);
    this.__self.loader = e;
    return true;
  },

  showLoader: function(){
    ajaxObj.__self.loader.show();
    return true;
  },

  hideLoader: function(){
    ajaxObj.__self.loader.hide();
    return true;
  }
},
{
  reqestCount: 0
}
);

function randomNumber (m,n){
  m = parseInt(m);
  n = parseInt(n);
  return Math.floor( Math.random() * (n - m + 1) ) + m;
}
