// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// messo per fare il check user availability
$(document).ready(function() {
  $("#user_login").blur(function() {
    //remove all the class add the messagebox classes and start fading
    $("#msgbox").removeClass().addClass('messagebox').text('Controllo...').fadeIn("slow");
    //check the username exists or not from ajax
    $.post("/checkuser",{ user_login:$(this).val() } ,function(data) {
      if(data=='true') { //if username not avaiable
        $("#msgbox").fadeTo(200,0.1,function() { //start fading the messagebox
          //add message and change the class of the box and start fading
          $(this).html('Utente presente').addClass('messageboxerror').fadeTo(900,1);
        });
        } else {
          $("#msgbox").fadeTo(200,0.1,function() {  //start fading the messagebox
          //add message and change the class of the box and start fading
          $(this).html('Login disponibile').addClass('messageboxok').fadeTo(900,1);
        });
      }
    });
  });
});

var TopicForm = {
  editNewTitle: function(txtField) {
    $('new_topic').innerHTML = (txtField.value.length > 5) ? txtField.value : 'New Topic';
  }
}

var LoginForm = {
  setToPassword: function() {
    $('openid_fields').hide();
    $('password_fields').show();
  },
  
  setToOpenID: function() {
    $('password_fields').hide();
    $('openid_fields').show();
  }
}

var EditForm = {
  // show the form
  init: function(postId) {
    $('edit-post-' + postId + '_spinner').show();
    this.clearReplyId();
  },

  // sets the current post id we're editing
  setReplyId: function(postId) {
    $('edit').setAttribute('post_id', postId.toString());
    $('post_' + postId + '-row').addClassName('editing');
    if($('reply')) $('reply').hide();
  },
  
  // clears the current post id
  clearReplyId: function() {
    var currentId = this.currentReplyId()
    if(!currentId || currentId == '') return;

    var row = $('post_' + currentId + '-row');
    if(row) row.removeClassName('editing');
    $('edit').setAttribute('post_id', '');
  },
  
  // gets the current post id we're editing
  currentReplyId: function() {
    return $('edit').getAttribute('post_id');
  },
  
  // checks whether we're editing this post already
  isEditing: function(postId) {
    if (this.currentReplyId() == postId.toString())
    {
      $('edit').show();
      $('edit_post_body').focus();
      return true;
    }
    return false;
  },

  // close reply, clear current reply id
  cancel: function() {
    this.clearReplyId();
    $('edit').hide()
  }
}

var ReplyForm = {
  // yes, i use setTimeout for a reason
  init: function() {
    EditForm.cancel();
    $('reply').toggle();
    $('post_body').focus();
    // for Safari which is sometime weird
//    setTimeout('$(\"post_body\").focus();',50);
  }
}

Event.addBehavior({
  '#search,#monitor_submit': function() { this.hide(); }
})