
function MagazineMenu(elementId) {
	this.elementId = elementId;
	var tableElement;
	var tableTr;
	var currentColumn;
	var columnsCount = 0;
	var currentAuthor = null;
	this.addNewColumn = function () {
		if (columnsCount > 0) {
			this.addSeparator();
			this.addVerticalSeparator();
		}
		this.currentColumn = document.createElement("td");
		this.currentColumn.vAlign = "top";
		this.tableTr.appendChild(this.currentColumn);
	// this.addSeparator();
		columnsCount++;
	};
	this.addVerticalSeparator = function () {
		var separatorColumn = document.createElement("td");
		separatorColumn.innerHTML = "&nbsp;";
		separatorColumn.className = "vertical-separator";
		this.tableTr.appendChild(separatorColumn);
	};
	this.createTableElement = function () {
		this.tableElement = document.createElement("table");
		this.tableTr = document.createElement("tr");
		this.tableElement.appendChild(this.tableTr);
	};
	this.addTopic = function (pageNumber, title, authorName) {
		this.addSeparator();
		this.currentAuthor = authorName;
		elem = document.createElement("div");
		a = document.createElement("a");
		a.className = "topic";
		a.href = "javascript:showPage(" + pageNumber + ")";
		a.innerHTML = title;
		elem.appendChild(a);
		this.currentColumn.appendChild(elem);
	};
	this.addSubject = function (pageNumber, title) {
		divElem = document.createElement("div");
		a = document.createElement("a");
		a.className = "subject";
		a.href = "javascript:showPage(" + pageNumber + ")";
		a.innerHTML = title;
		divElem.appendChild(a);
		elem.appendChild(divElem);
		this.currentColumn.appendChild(elem);
	};
	this.addSeparator = function () {
		if (this.currentAuthor != null) {
			var elem = document.createElement("div");
			elem.className = "author";
			elem.innerHTML = this.currentAuthor;
			this.currentColumn.appendChild(elem);
			this.currentAuthor = null;
		}
		elem = document.createElement("div");
		elem.className = "separator";
		this.currentColumn.appendChild(elem);
	};
	this.render = function () {
		this.addSeparator();
		var menuElement = document.getElementById(this.elementId);
		menuElement.innerHTML = getOuterHTML(this.tableElement);
	};
	this.createTableElement();
	this.addNewColumn();
}
function getOuterHTML(object) {
	var element;
	if (!object) {
		return null;
	}
	element = document.createElement("div");
	element.appendChild(object.cloneNode(true));
	return element.innerHTML;
}


