/* Account
-------------------------------------------------------------------------- */
var ApiAccount = {
  passwordHintText: '6-20 characters (<em>A-Z a-z 0-9 .:,_-+*#!$%&</em>)',

  logout: function() {
    params = {
      'p': 'account',
      'm': 'logout'
    };
    
    new xh.send(params, ApiAccount.logout_onload);
  },

  logout_onload: function(xml, statusCode) {
    if (statusCode === 'FAIL') {
      Modlog.replaceContent(ViewBase.notifyInlay, {
        'title': 'Logout failed',
        'text' : 'Your couldn\'t be logged out. Maybe you were already logged out before: after 30 minutes of inactivity, you get automatically logged out.',
        'btn'  : 'Close'
      });
    }
    if (global.groupId) WR.windowReload();
  }
};


/* Subscription
-------------------------------------------------------------------------- */
var ApiSubscription = {
  subscribe: function() {
    var params = {
      'p': 'subscription',
      'm': 'subscribe',
      'uri': global.uri
    };
    new xh.send(params, ApiSubscription.subscribe_onload);
  },

  subscribe_onload: function(xml, statusCode) {
    $('#subunsub').html('Unsubscribe');
  },

  unsubscribe: function() {
    var params = {
      'p': 'subscription',
      'm': 'unsubscribe',
      'uri': global.uri
    };
    new xh.send(params, ApiSubscription.unsubscribe_onload);
  },

  unsubscribe_onload: function(xml, statusCode) {
    $('#subunsub').html('Subscribe');
  },

  refresh: function() {
    var params = {
      'p': 'subscription',
      'm': 'is_subscribed',
      'uri': global.uri
    };
    new xh.send(params, ApiSubscription.refresh_onload);
  },

  refresh_onload: function(xml, statusCode) {
    var subscriptionTag = $('data subscription',xml).get(0);
    var subscribed = parseInt(subscriptionTag.getAttribute('subscribed'),10);
    if (subscribed === 1) {
      $('#subunsub').html('Unsubscribe');
    }
    else {
      $('#subunsub').html('Subscribe');
    }
  }

};

$(document).ready(function() {
  $('#subunsub').click(function(){
    this.blur();
    if ($(this).html() === 'Subscribe') {
      ApiSubscription.subscribe();
    }
    else {
      ApiSubscription.unsubscribe();
    }
  });
});

