$.extend(Api.prototype, {
  initialize: function(options){
    options = $.extend({
      method: '',
      callback: function(){},
      success:  function(){},
      doPayment:  function(){
        return 1;
      },
      error:    function(code, message){
        if(code == 2000){
          $(message).each(function(idx, item){
            if(typeof messages.errors[item.code] != 'undefined')
            {
              $(messages.errors[item.code].field).showErrorTip(messages.errors[item.code].message);
            }
          });
          return ;
        }
        else if(code == 5555){
          if (this.doPayment() == 1)
          {
            window.location.href = 'https://www.alem.com/odeme';
            return ;
          }
        }
        if(typeof messages.errors[code] != 'undefined')
          $(messages.errors[code].field).showErrorTip(messages.errors[code].message);
      },
      parameters: {},
      type: 'post',
      errorOptions: {}
    }, options || {});
/*
Message: Object doesn't support this property or method
Line: 8
Char: 9
Code: 0
URI: http://www.alem.com/js/utils/mvas.api.js
*/
    $.extend(options.parameters, {
      method: options.method,
      api_key: this.apiKey,
      auth_tokken: this.authTokken
    });


    this.send(options);
  },


  send: function(options){
    options.data = $.sign(options.parameters, this.apiSecret);

    this.ajax($.extend({
      url: '/api/',
      dataType: 'json',
      complete: function(xhr){
        var rsp =  jQuery.httpData( xhr, 'json', options);
        switch(rsp.status)
        {
          case "error":
            options.error.apply(this, [rsp.code, rsp.messages]);
          break;
          case "ok":
            options.success.apply(this, [rsp]);
          break;
        }
        options.callback.apply(this, [rsp]);
      }
    }, options));
  }

}, jQuery);

$(document).ready(function(){
  if($.browser.msie){
    if($.browser.version.split('.')[0] < 7){
      $('#nav-user li').css('width','10px');
      $('.w').css('width','1024px');
    }
  }
});
