$(function(){
  
$.invitation = {
  container: null,
  init: function(){
    $('.fn-invitationForm .fn-submit').click($.invitation.submit);
    $(".fn-inviteMe").click(function (e) {
      e.preventDefault();
      $("#fn-invitationContent").modal({
        overlayId: 'fn-invitationModal-overlay',
        containerId: 'fn-invitationModal',
        closeHTML: '<div class="close"><a href="#" class="simplemodal-close">x</a></div>',
        minHeight:80,
        opacity:65, 
        position:['0',],
        overlayClose:true,
        onOpen:$.invitation.open,
        onClose:$.invitation.close
      });
    });
  },
  open: function (d) {
    var self = this;
    self.container = d.container[0];
    d.overlay.fadeIn('slow', function () {
      $("#fn-invitationContent", self.container).show();
      var title = $("#fn-invitationContent .fn-title", self.container);
      title.show();
      d.container.slideDown('slow', function () {
        setTimeout(
          function () {
            var h = $("#fn-invitationContent .fn-data", self.container).height() + title.height() + 20;
            d.container.animate(
              {height: h}, 
              200,
              function () {
                $("div.close", self.container).show();
                $("#fn-invitationContent .fn-data", self.container).show();
              }
            );
          }
          , 300
        );
      });
    })
  },
  close: function (d) {
    var self = this;
    d.container.animate(
      {top:"-" + (d.container.height() + 20)},
      500,
      function () { self.close(); }
    );
  },
  submit: function(){
    var email = $('.fn-invitationForm .fn-email').val();
    if(! /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(email)) return $('.fn-invitationForm .fn-error').show();
    $('.fn-invitationForm .fn-message').hide();
    $('.fn-invitationForm .fn-wait').show();
    $.send(
      '/users/invite_me/',
      { 'invitation[email]': email,'invitation[why]': $('.fn-invitationForm .fn-why').val() },
      function(data){
        $('.fn-invitationForm .fn-message').hide();
        $('.fn-invitationForm .fn-well').show();
      },
      function(){
        $('.fn-invitationForm .fn-message').hide();
        $('.fn-invitationForm .fn-cant').show();
      }
    );
  }
};
$.invitation.init();

});

