
function registerUser(session){
    mailru.common.users.getInfo(function(f){
        if(f.error){
                alert("Mail.ru сообщил об ошибке:"+f.error.error_msg+"("+f.error.error_code+")");
                mailru.connect.logout()
            }else{
                var data=f[0]
                var url="/client_account/side_logins/mailru.json";
                var fields =  new Object;
                fields['client[email]'] = mir.email(data);
                fields['client[email_confirmation]'] = fields['client[email]'];
                fields['client[name]']  = data.first_name + ' ' +data.last_name;
                fields['client[mailru_uid]'] = data.uid;
                fields['client[registered]'] = '1';
                $.each(session.session, function(key, value) {
                  fields['mailru_session['+key+']'] = value;
                });
                $.ajax({
                    url:      url,
                    type:     'post',
                    data:     fields,
                    dataType: 'json',
                    success:  function(response) {
                        if (response.status == 'ok') {
                            if (typeof(window['side_login_next_url']) != 'undefined') {
                                window.location = side_login_next_url;
                            } else {
                                window.location.reload();
                            }
                        } else {
                            alert(response.errors[0])
                        }
                    }
                });
            }
    })
}

$(function(){
  
  mir.connector({
    selector:".mailru_login",
    callback:registerUser
  });

});

mir={
    init:function(a){
      mailru.loader.require("api",function(){
        mailru.connect.init(MAILRU_APP_ID,MAILRU_PRIVATE_KEY);
        a()
      })
    },
    connector:function(c){
      var selector=c.selector,callback=c.callback
      mir.init(function(){
        if(selector){
          mir.login(selector,callback)
        }
      });
    },
    login:function(selector,callback){
      mailru.events.listen(mailru.connect.events.login,function(session){
        callback({session:session})
      });
      $(selector).click(function(){
        mailru.connect.login();
        return false
      })
    },
    email:function(a){
      var d=a.link.split("/"),b=d.slice(-2,-1),c=d.slice(-3,-2);
      if(c=="corp"){
        c="corp.mail"
      }
      return b+"@"+c+".ru"
    }
};

