include('API_Client');
include('FormHelper');
include('Template');
include('BaseInterface');
include('form-builder');
include('Builder');

var SUCCESS = "<h1>Thank you, {%name}.<\/h1>"
 + "<p>Your registration has been successfully finished."
 + "<br \/> You may <a href=\"\/en\/login\/\">sign in<\/a> using your new account.<\/p>";

var RegistrationInterface = function () {
    var self = this;

    self.Interface = new BaseInterface(URL['home'] + 'api/registration/');

    self.perform = function (form) {
        self.Interface.add(FormHelper(form).get_data(form), function (response) {self.handle(response, form)});
    }

    self.handle = function (response, form) {
        if (response && response.status == 'ok') {
            var message = document.createElement('DIV');
            Template.assign('name', response.item.name);
            message.innerHTML = Template.transform(SUCCESS);
            Nodes(form).replace(message);
        } else {
            self.error('Error');
        }
    }

    self.error = function (message) {
        alert(message);
    }

    return self;
};

window.onload = function () {
    Registration = new RegistrationInterface;
    startCalendars();
}