/* Script created by Andreas Brauchli
 *
 * please support open sourced software
 */

function createTagElement(tag_name, class_name, content) {
	var ndNewTag = document.createElement(tag_name);
	if (class_name)
		ndNewTag.className = class_name;
	if (content) {
		var ndNewContent = document.createTextNode(content);
		ndNewTag.appendChild(ndNewContent);
	}
	return ndNewTag;
}

pageHandler["news"] = newshandler;
pageHandler["shows"] = newshandler;
pageHandler["guestbook"] = newshandler;
pageHandler["guestbookentry"] = function() {};

function newshandler(cat, cont, doc) {
	entrycontainer = cat + "container";
	var minimized = 3; /* minimized entries */
	if (doc.entries) {
		var newscont = cont.getElementById(entrycontainer);
		while (newscont.childNodes.length > 0)
			newscont.removeChild (newscont.firstChild);
		var curcont = newscont;
		for(var e=0; e<doc.entries.length; e++) {
			if (cat == "guestbook") {
				var ndGbe = createTagElement("ul", "gb-entry");
				ndGbe.appendChild (createTagElement("lh", "gb-entry-name", doc.entries[e].name));
				var ndGbeContent = createTagElement("li", "gb-entry-content");
				ndGbeContent.innerHTML = doc.entries[e].content;
				ndGbe.appendChild (ndGbeContent);
				newscont.appendChild (ndGbe);
			} else {
				var ndNews = createTagElement("ul", "news");
				ndNews.appendChild (createTagElement("lh", "news-summary", doc.entries[e].summary));
				ndNews.appendChild (createTagElement("li", "news-datetime", doc.entries[e].datetime));
				var ndNewsContent = createTagElement("li", "news-content");
				ndNewsContent.innerHTML = doc.entries[e].content;
				ndNews.appendChild (ndNewsContent);

				if (e == minimized) {
					curcont = createTagElement("div", "minimized");
					newscont.appendChild (curcont);
				}
				curcont.appendChild (ndNews);
			}
		}
	}
	if (doc.pages) {
		var className = (cat == "guestbook" ? "pagelist" : "pagelist minimized");
		var ndPages = createTagElement("ul", className);
		if (doc.pages > 1) {
			for(var i=1; i<=doc.pages; i++)
				ndPages.appendChild (createTagElement("li", i==doc.current_page ? 'currentpage' : null, i));
		}
		cont.appendChild (ndPages);
	}
}


