var Ionas3SearchalyzrBuilder = Class.create(SearchalyzrBuilder, {
	
	addTabContainer: function(container, title, content) {
		container.update(title);
		// <div id="ie_clearing">&nbsp;</div>
		container.insert(Builder.node('div', { id: 'ie_clearing' }, [ '\xA0' ]));
		container.insert(content);
	},

	searchForm: function(stateParams) {
		return getSearchFormHTML();
	},
	
	updateTableData: function($super, table, rows, system) {
		if (system.columns.length == 1 && system.columns[0] == 'html') {
			var s = "";
			for (var i=0; i < rows.length; i++) s += "<tr class='"+(i%2==0 ? 'even' : 'odd')+ "'>" + rows[i].cells[0].text + "</tr>";
			var d = document.createElement("div");
			d.innerHTML = "<table><tbody class='ttk'>" + s + "</tbody></table>";
			while(table.tBodies && table.tBodies.length) {
				$(table.tBodies[0]).remove();
			};
			table.insert(d.firstChild.firstChild);
		} else {
			$super(table, rows, system);
		}
	},
	
	updateTableHeaders: function($super, table, headers, sorting, container) {
		if (headers.length == 1 && headers[0].id == 'html') {
			var d = document.createElement("div");
			d.innerHTML = "<table><thead><tr>" + headers[0].label + "</tr></thead></table>";
			for (var c=table.firstChild;c;c=c.nextSibling) {
				if (c.tagName == "THEAD") {
					table.removeChild(c);
					break;
				}
			}
			for (var c=d.firstChild.firstChild;c;c=c.nextSibling) {
				if (c.tagName == "THEAD") {
					table.insertBefore(c,table.firstChild);
					break;
				}
			}
		} else {
			$super(table, headers, sorting, container);
		}
	}
});

