Tomassie91's Usenet4All experience

Enhances the experience on the usenet4all forum.

// ==UserScript==
// @name			Tomassie91's Usenet4All experience
// @namespace		http://www.usenet4all.eu
// @description		Enhances the experience on the usenet4all forum.
// @version			v2.2 full
// @include			http://www.usenet4all.eu/unet/viewtopic.php*
// @include			http://usenet4all.eu/unet/viewtopic.php*
// @include			https://www.usenet4all.eu/unet/viewtopic.php*
// @include			https://usenet4all.eu/unet/viewtopic.php*
// @require 		https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
// @grant			none
// ==/UserScript==


//--------------------------------------
// hide all the comments in a topic
//--------------------------------------


//check if the first post has been skipped
var skippedstartpost;

//add the posthider
$(".unreadpost").first().after("<div id=\"posthidercontainer\" class=\"bg1 unreadpost\"><p id=\"posthider\" style=\"text-align:center; padding: 10px; cursor:pointer; \">show/hide posts</p></div>");

//add the posthider trigger
$("#posthider").bind("click", function() {
	//reset the skip value
	skippedstartpost = false;
	
	//loop through the posts to hide the proper posts
	$(".unreadpost").each(function() {
		//check if the post isn't the posthider or startpost
		if(skippedstartpost == true && $(this).attr('id') !== "posthidercontainer") {
			//hide or show them
			if($(this).css("display") != "none") {
				$(this).css("display", "none");
			} else {
				$(this).css("display", "inline");
			}
		} else {
			//skip the start post
			skippedstartpost = true;
		}
	});
});

//auto-hide the posts
$("#posthider").trigger("click");

//--------------------------------------
// add the quickreply button and message
//--------------------------------------

//create the quickreply button
$(".pull-left .btn").each(function() {
	if($(this).attr("data-original-title") == "Post a reply") {
		$(this).after('<a class="btn btn-default quick-reply-button" role="button" data-original-title="Quickreply"><i class="fa fa-plus"> </i> Quickreply</a>');
	}
});

//add the quickreply button trigger
$(".quick-reply-button").bind("click", function() {
	$('form[role="form"] .btn[name="post"]').trigger("click");
});

//insert the message
$("#message").val("Thanks for this vid!");

//give reputation points to first post
$('form[role="form"]').on("submit", function() {
		var id = $('.unreadpost').first().attr('id').substring(1);
		$.ajax({
			url: './reputation.php?p=' + id,
			async: false
		});
		
		return true;
});

//--------------------------------------
// duplicate the hidden box at the top of the post
//--------------------------------------

var hiddenhtml = $(".content .alert-success")[0].outerHTML; //contents of the hidden section

//fill the contents of the hidden section variable
$(".content .alert-success").nextAll().each(function() { 
	hiddenhtml += $(this)[0].outerHTML;
});

//add the hidden part as the first part of the post
$(".content").each(function() {
	hiddenhtml += "<br/><br/>"; //add some spacing

	var firstchild = $(this).children().first();
	if(firstchild.is("center")) //add it in the center if possible
		firstchild.prepend(hiddenhtml);
	else
		$(this).prepend(hiddenhtml);
});