selected = '';
selectedHtml = '';
posted = false;

jQuery(document).ready(function(){  
  defineForum();
  defineWatchEntry();
});

function defineWatchEntry() {
  jQuery('#watchForumEntry').click(watchEntry);
}

function defineForum() {
  
  jQuery("a.editLink").click(editLink);

  jQuery("a.deleteLink").click(deleteLink);

  jQuery("a.rewardLink").click(rewardLink);

  jQuery('.formtoggle').click(displayForm);
  
  jQuery("a.forum-button-close").click(hideForm);
  
  jQuery("#forumPostForm").submit(formProcess);
  
}

function formProcess(event){
  event.preventDefault();
  
  
  if (!posted) {
   
    if (jQuery('#inputForumTitle').length > 0 && jQuery('#inputForumTitle').val() == '') {
      jQuery('<span></span>').text('De titel is verplicht').appendTo('#validationError');
      return;
    }
    /*
    if (jQuery('#inputForumText').val() == '') {
      jQuery('#validationError').html('Please add a text')
      return;
    }
    */
    posted = true;

    jQuery('#forumPostForm').ajaxSubmit(function(data) { 
      posted = false;
      jQuery('#forum').html(data);
      defineForum();     
    });
    
    /* hide forum-main topic form after submit */
    jQuery('body.forum-main .formtoggle').show();
	jQuery('body.forum-main #forumPost').hide();
    
    /* remove field values */ 
    if (jQuery('#forumPostForm #inputForumTitle').length > 0) {
    	jQuery('#forumPostForm #inputForumTitle').attr('value','');
    }
    if (jQuery('#forumPostForm #inputForumText').length > 0) {
    	jQuery('#forumPostForm #inputForumText').attr('value','');
  	}
  }
}

function watchEntry(){
  jQuery('#ForumWatchForm').ajaxSubmit(function(data) { 
    jQuery('#ajax_watch').html(data);
    defineWatchEntry();     
  });    
  return false;
}

function editLink(){
  if (selected != '') {
    jQuery('#messageContent' + selected).html(selectedHtml);  
  }
  messageId = jQuery(this).attr("id");
  messageId = messageId.replace('m','');
  selected = messageId;
  url = jQuery(this).attr("href");

  selectedHtml = jQuery('#messageContent' + messageId).html();

  jQuery('#messageContent' + messageId).load(url, defineEdit);  

  return false;
}

function deleteLink(){
  if (confirm('Weet u zeker dat u het bericht wilt verwijderen?')) {
    url = jQuery(this).attr("href");
    messageId = jQuery(this).attr("id");
    messageId = messageId.replace('m','');

    jQuery('#messageContent' + messageId).load(url, submitDeleteForm);  
  }
  return false;
}


function submitDeleteForm(){

  jQuery('#deleteMessageForm').ajaxSubmit(function(data) { 
    jQuery('#forum').html(data);
    defineForum(); 
  });

  return false;
};
  


function displayForm(){  
  jQuery('#forumPost').css("visibility","visible");
  jQuery('#forumPost').show();  
  if (jQuery('#inputForumTitle').length > 0) {
    jQuery('#inputForumTitle')[0].focus();
  } else {
    jQuery('#inputForumText')[0].focus();  
  }
  jQuery('.formtoggle').hide();

  return false;
};


function hideForm () {
	jQuery('.formtoggle').show();
	jQuery('#forumPost').hide();
	
	return false;
}

function defineEdit() {
  jQuery("#editMessage").submit(submitEditForm);
};

function submitEditForm(event) {
  event.preventDefault();  
  messageId = jQuery("input[name='messageid']").val();

  jQuery(this).ajaxSubmit(function(data) { 
    jQuery('#messageContent' + selected).html(data);
  });     


  return false;
}

function goToPage(url) {
  jQuery('#forum').load(url);
};

function rewardLink(){
  if (confirm('Are you sure?')) {
    url = jQuery(this).attr("href");
    jQuery('#forum').load(url, submitRewardForm);  
  }
  return false;
}


function submitRewardForm(){

  jQuery('#rewardMessageForm').ajaxSubmit(function(data) { 
    jQuery('#forum').html(data);
    defineForum(); 
  });

  return false;
};
