var onloads = []
var tabQueue = []

function toggle(a, b) {
	if(a) document.getElementById(a).style.display = document.getElementById(a).style.display == "none" ? "block" : "none"
	if(b) document.getElementById(b).style.display = document.getElementById(b).style.display == "none" ? "block" : "none"
}

function trim(str) {
	var str = str.replace(/^\s\s*/, '')
	var ws = /\s/
	var i = str.length
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1)
}

function addLoadEvent(func) {
	onloads.push(func)
}

window.onload = function() {
	for (var i = 0; i < onloads.length; i++) {
		onloads[i]()
	}
}

function hasClass(object, cls) {
	var classes = object.className.split(" ")
	for (var i = 0; i < classes.length; i++) {
		if (cls == classes[i]) return true;
	}
	return false
}

function addClass(object, cls) {
	var classes = object.className.split(" ")
	for (var i = 0; i < classes.length; i++) {
		if (cls == classes[i]) return;
	}
	classes.push(cls)
	var className = ""
	for (i = 0; i < classes.length; i++) {
		className = className + " " + classes[i]
	}
	object.className = className
}

function removeClass(object, cls) {
	var classes = object.className.split(" ")
	var className = ""
	for (i = 0; i < classes.length; i++) {
		if (cls == classes[i]) continue;
		className = className + " " + classes[i]
	}
	object.className = className
}

function addTab(id, name) {
	tabQueue.push({'id': id, 'name': name})
}

function initTabs() {
	var tabTarget = document.getElementById("dview-content")
	var tabBar = document.createElement("div")
	var tabView = document.createElement("div")
	
	tabView.appendChild(tabBar)
	tabTarget.appendChild(tabView)
	
	addClass(tabView, "tabview")
	tabView.style.clear = "right"
	
	while(tabQueue.length > 0) {
		var cur = tabQueue.pop()
		var tab = document.createElement("div")
		var content = document.createElement("div")
		var table = document.createElement("table")
		var pageTop = document.createElement("div")
		var pageBottom = document.createElement("div")
		
		addClass(tab, "tabbutton")
		tab.id = "tab_" + cur.id
		tab.textContent = tab.innerText = cur.name
		
		addClass(content, "tabcontent")
		addClass(content, "tableview-container")
		content.id = "tab_" + cur.id + "_content"
		content.style.display = "none"
		
		addClass(table, "sorttable")
		table.setAttribute("name", cur.id)
		table.setAttribute("template", "template_"+cur.id) // XXX shouldn't need prefix
		
		addClass(pageTop, "tableview-pagewidget")
		addClass(pageBottom, "tableview-pagewidget")
		
		tabBar.appendChild(tab)
		tabView.appendChild(content)
		content.appendChild(table)
	}
}
