Frontend_Callback_Component_Render = function(options) {
  var self = this;

  self.execute = function() {
    var form = $('.callback_form');
    var url = form.attr('action');
    $('.callback_form_ajax').show();
    $.post(
      url,
      form.serialize(),
      function (data) {
        $('.callback_content').html(data);
        $('.callback_form_ajax').hide();
        self.initForm();
      }
    );
    return false;
  }

  self.toggleForm = function() {
    var init = $(this);
    var url = init.attr('url');
    $.get(
      url,
      function (data) {
        $('.callback_content').html(data);
        $('.callback_container').show();
        self.initForm();
      }
    );
  }

  self.initForm = function() {
    $('.callback_form').submit(self.execute);
  }

  self.__init__ = function() {
    $('.callback_init').click(self.toggleForm);
  }

  self.__init__();
}
