

$(document).ready(function() {

  /**
   * User routines
   */

  /**
   * Login to site
   *
   * Logs user into site
   */
  $('#login').validate({
    rules: {
      email: {
        required: true,
        email: true
      },
      password: {
        required: true
      }
    },
    errorPlacement: function(error, element) {
    },
    invalidHandler: function(form, validator) {
      $('#message_bar').html('<p><em class="error">Error</em>Invalid email/password.</p>');
      $('#message_bar').animate({top: '+=60'}, 500).wait(2500).animate({top: "-=60"}, 1000);
    },
    submitHandler: function(form) {
      var button = $('#frm_login');
      $(button).attr('disabled', 'disabled');
      $.ajax({
        type: 'POST',
        url: base_url()+'ajax/connect/acl/login',
        dataType: 'json',
        data: $('#login').serialize(),
        success: function(msg) {
          if(msg.error == true) {
            $(button).removeAttr('disabled');
            $('#message_bar').html('<p><em class="error">Error</em>'+msg.detail+'</p>');
            $('#message_bar').animate({top: '+=60'}, 500).wait(2500).animate({top: "-=60"}, 1000);
          }
          else {
            $('#message_bar').html('<p><em class="success">Success</em>Logged in!</p>');
            $('#message_bar').animate({top: '+=60'}, 500).wait(2500).animate({top: "-=60"}, 1000);
            setTimeout(window.location.reload(true), 3000);
          }
        },
        error: function(msg) {
          $(button).removeAttr('disabled');
          $('#message_bar').html('<p><em class="error">Error</em>Critical error occured, please try again.</p>');
          $('#message_bar').animate({top: '+=60'}, 500).wait(2500).animate({top: "-=60"}, 1000);
        }
      });
    },
    debug: true
  });

  /**
   * Post user message to wall
   *
   *
   */
  $('#frm_post_tool').validate({
    rules: {
      userid: "required",
      message: "required"
    },
    errorPlacement: function() {},
    invalidHandler: function() {},
    submitHandler: function(form) {
      var button = $('#frm_post_tool_post');
      $(button).attr('disabled', 'disabled');
      $.ajax({
        type: 'POST',
        url: base_url()+'ajax/connect/user/post',
        dataType: 'json',
        data: $('#frm_post_tool').serialize(),
        success: function(msg) {
          $(button).removeAttr('disabled');
          $('#frm_post_tool_message').val('');

          // Update feed
          msg.feed.feed.reverse();
          for(i=0;i<msg.feed.feed.length;i++) {
            $(msg.feed.feed[i]).prependTo('#feed_canvas').fadeIn('slow');
          }
          
          // Update last query
          $('#frm_post_tool_last_query').val(msg.feed.last_query);

          // Update status
          $('#profile-status').html(msg.status.status+'<em class="time">'+msg.status.time+'</em>');
        },
        error: function(msg) {
          $(button).removeAttr('disabled');
          $('#frm_post_tool_message').val('');
        }
      });
    }
  });
});
