function successHandler(data)
{
   if(!ac.s.debug)
        data = data.data;
   
//   var template = '<div class="error_block" style="width:100%; display: none;"><div class="error_content" style="margin-top:0;"><div class="items left"><div class="message" style="text-align: left;">' + data + '</div></div><div class="clear"></div></div></div>';
//   $('body').prepend(template);
//   $('.error_block').slideToggle(250);
   
}

function errorHandler(data)
{
//    if(data.error)
//        var msg = data.msg;
//    else msg = 'Ошибка при передаче параметров';
    
//    var template = '<div class="error_block" style="width:100%; display: none;"><div class="error_content" style="margin-top:0;"><div class="icon left"><img src="http://ajax.dev/tpl/admin/bff/icons/icon_error.gif" alt="" /></div><div class="items left"><div class="error"><b>Ошибка:</b> ' + msg + '</div></div><div class="clear"></div></div></div>';
//    $('body').prepend(template);
//    $('.error_block').slideToggle(250);
}

$.ajaxController = function (settings)
{    
    settings = $.extend({dataType: 'json'}, settings);    
    this.s = settings;

    if(this.s.dataType == 'json') this.s.debug = false; else this.s.debug = true;
    
};

$.extend($.ajaxController.prototype,
{
   request: function(uri, params, successCallBack)
   {
       $('.error_block').remove();

       $.ajax(
       {
           url: uri,
           type: "POST",  
           dataType: this.s.dataType,
           data: params,
           success: function(data)
           {
               if(data.error) errorHandler(data);
               else if(successCallBack) Object.call(eval(successCallBack + '(data)'));
           },
           error: function(data)
           {
               errorHandler(data);
           }
       });
   }
});
