
$(function() {
  var $registrationDialog = $('#registration_form');
  var $registrationSuccessDialog = $('#registration_success');
  
  $('#registration_link').click(function() {
    $('#registration_form_wrap').load('/user/registrationForm');
    $registrationDialog.dialog({
      modal: true,
      show: 'blind',
      hide: 'blind',
      resizable: false,
      title: 'Регистрация',
      width: 500,
      close: function() {
        $registrationDialog.dialog('destroy');
        $registrationDialog.hide();
      },
      buttons: {
        'Регистрация': function() {
          $('#registration_form').trigger('submit');
          return false;
        }
      }
    }).show();
    $('.ui-widget-overlay').click(function() {
      $registrationDialog.dialog('close');
    });
    
    return false;
  });
  
  $('#registration_form').submit(function() {
    $.ajax({
      url: $(this).attr('action'),
      type: 'POST',
      dataType: 'html',
      ifModified: true,
      data: $(this).serialize(),
      success: function(data, textStatus, XMLHttpRequest) {
        $registrationDialog.dialog('close');
        $registrationSuccessDialog.dialog({
          modal: true,
          show: 'blind',
          hide: 'blind',
          resizable: false,
          title: 'Регистрация',
          close: function() {
            $registrationSuccessDialog.dialog('destroy');
            $registrationSuccessDialog.hide();
          },
          buttons: {
            'Ok': function() {
              $registrationSuccessDialog.dialog('close');
            }
          }
        }).show();
        $('.ui-widget-overlay').click(function() {
          $registrationSuccessDialog.dialog('close');
        });
        $('#registration_form_wrap').html(data);
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        $('#registration_form_wrap').html(XMLHttpRequest.responseText);
      }
    });
    
    return false;
  });
});

