function boxPosition() {
  if (document.subscribeLi) {
    var pos = document.subscribeLi.getCoordinates();
    
    document.subscribeBox.setStyles({
      top: (pos.top + pos.height),
      left: (pos.left - 230)
    });
  }
}

function boxToggle() {
  if (document.subscribeLi) {
    boxPosition();
    document.subscribeBox.toggleClass('hidden');
  }

  return false;
}

function subscribeAjax(mode){
  var subscribeDiv = $('subscribe-loading').addClass('loading');
  var email = $('subscribe-email').get('value'); 
  
  $('subscribe-result').addClass('hidden');
  $('subscribe-add').set('disabled', true);
  $('subscribe-remove').set('disabled', true);
  
  new Request({
    'url': '/subscription/' + mode,
    'data': 'email=' + email,
    'onSuccess': function(responseText){
      $('subscribe-add').set('disabled', false);
      $('subscribe-remove').set('disabled', false);
      $('subscribe-result').set('html', responseText).removeClass('hidden');
      $('subscribe-loading').removeClass('loading');
    }
  }).send();
}

window.addEvent('load', function() {
  document.subscribeLi = $('link-mail');
  document.subscribeBox = $('subscribe');
  
  if (document.subscribeLi) {
    document.subscribeLi.getFirst().addEvent('click', boxToggle);
    $('subscribe-add').addEvent('click', subscribeAjax.pass('add'));
    $('subscribe-remove').addEvent('click', subscribeAjax.pass('remove'));
    $('subscribe-close').addEvent('click', boxToggle);
  }

  document.loginLogin = $('login-login');
  document.loginPass = $('login-password');

  if (document.loginLogin) {
    document.loginLogin.addEvent('focus', function(){
      if (document.loginLogin.hasClass('dimmed')) {
        document.loginLogin.removeClass('dimmed');
        document.loginLogin.set('value', '');
      }
    });
  }

  if (document.loginPass) {
    document.loginPass.addEvent('focus', function(){
      if (document.loginPass.hasClass('dimmed')) {
        document.loginPass.removeClass('dimmed');
        document.loginPass.set('value', '');
      }
    });
  }
});

window.addEvent('resize', boxPosition);
