var umiRequest = new Class({
     Implements: [Events, Options],
     options: {
         url: '/content/get_ajax_content/',
         method: 'post',
         callback: function(text){return text},
         params: new Object({}),
         mode: 'update' //update or result
     },
     initialize: function (){
         var params = Array.link(arguments, {options: Object.type, elements: $defined});
         this.setOptions(params.options || null);
     },
     setValue: function(key, value){
         this.options.params[key] = value;
     },
     setValues: function(values){//must be an object
         this.options.params.append(values);
     },
     send: function (request){
         this.cook = document.cookie;//получаем все куки
         request.setHeader('Cookie', this.cook);
         request.send();
     },
     commit: function(){
         if(!this.options.url) alert('Не указан целевой адрес!');
         var _self = this;
         var data = Object.toQueryString(this.options.params);

         var request = new Request({
             method: this.options.method,
             url: this.options.url,
             data: data,
             evalScripts: true,
             onComplete: function(text){
                 if(_self.options.mode == 'result') return text;
                 else _self.options.callback(text);
             }
         });
         this.send(request);
     }
 });
 
