﻿var scrollposts_divname = ".scrollposts";
var scrollposts_id = -1;

String.prototype.trim = function () { return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1"); };

String.prototype.encode = function () { return this.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); };

function receivePosts(data) {
	try {
		var maxIndex = data[0]["0"];
		var posts = [];
		posts[0] = data[0]["1"];
		posts[1] = data[0]["2"];
		posts[2] = data[0]["3"];
		posts[3] = data[0]["4"];
		posts[4] = data[0]["5"];

		var rv = "<h2 class='recent_posts_header' title='Approval has been given to republish these messages.'>Recent messages</h2>";
		maxIndex += 4;
		var i;
		rv += "<ul class='recent_post'>";
		for (i = 0; i < 5; i++) {
			var pi = (maxIndex--) % 5;
			if (posts[pi] !== undefined) {
				var p = posts[pi];
				p = p.split(";", 2);
				if (p.length == 0) { p[0] = ""; }
				if (p.length == 1) { p[1] = ""; }
				var line1 = p[0].encode().trim();
				var line2 = p[1].encode().trim();
				rv += "<li><span class='recent_post_line1'>" + line1 + "</span><br />";
				rv += "<span class='recent_post_line2'>" + line2 + "</span></li>";
			}
		}
		rv += "</ul>";
		//rv += "<p>To get involved, <a href='/groups'>find your local Freegle group</a>.</p>";

		$(scrollposts_divname).html(rv);
		//var ts = data[0].ts;
		//$(scrollposts_divname).html(rv + "<hr>" + ts);
		$("#scrollposts").css("border", "1px solid #5ECA24");
	} catch (e) {
		$(scrollposts_divname).text("receivePosts error: " + e);
	}
}

function askForPosts() {

//	$.post("/scripts/getposts.php",
	$.post("/recentposts.txt",
			{},
			receivePosts, "json");
}

$(document).ready(function () {

	$("#showRecentMessagesLine").css('display', 'inline');
});

function showRecentMessages() {

	var iswide = $("#col_float_right_inner").css('display') === 'block';

	if( scrollposts_id !== -1) {
		self.clearInterval(scrollposts_id);
		scrollposts_id = -1;
		$("#col_float_right_inner").css('width', '0px');
		$(scrollposts_divname).css('border', '0');
		$(scrollposts_divname).text('');
		return false;
	}
	$("#col_float_right_inner").css('width', '250px');
	$(scrollposts_divname).css('border', '1px solid #555');

	try {
		askForPosts();
		scrollposts_id = self.setInterval("askForPosts()", 15000);

		if (!iswide) {
			location.href = "#recent_posts";
		}

	} catch (e) {
		$(scrollposts_divname).text("ready error: " + e);
	}

	return false;
}

