var APP_NAAM = 'Rulweb Administrator', APP_VERSIE = '0.1';

function vensterKlapper(id, open) {
	var v = window.vs[id];
	var trs = v.obj.getElementsByTagName('tr');
	for (var i in trs) {
		if (trs[i].className == 'vr2') trs[i].style.visibility = open ? 'visible' : 'collapse';
		if (trs[i].className == 'vr3') {
			var tds = trs[i].getElementsByTagName('td');
			for (var j in tds) if (tds[j].className == 'v1' || tds[j].className == 'v2' || tds[j].className == 'v3') {
				if (tds[j].heightBackup == undefined) tds[j].heightBackup = tds[j].style.height;
				tds[j].style.height = open ? tds[j].heightBackup : '6px';
				tds[j].style.backgroundPosition = open ? '' : '0px -12px';
			}
		}		
	}
	v.klapOpen.style.display = open ? 'inline' : 'none';
	v.klapDicht.style.display = open ? 'none' : 'inline';
	if (window.onresize != undefined) window.onresize();
	createCookie('vOpen_' + id, open ? 1 : 0, 7);
}
function venster(id, titel, inhHTML, style) {
	if (style == undefined) style = '';
	if (style != '') style = ' style="' + style + '"';
	if (inhHTML == undefined) inhHTML = '';
	if (window.vs == undefined) window.vs = {};
	window.vs[id] = {
		  "id": id
		, "obj": {"id": "v_" + id}
		, "inh": {"id": "vI_" + id}
		, "klapOpen": {"id": "vKO_" + id}
		, "klapDicht": {"id": "vKD_" + id}
		, "open": readCookie("vOpen_" + id, 1) != 0
	};
	var v = window.vs[id];
	window.vLaatst = v;
	titel	+= '<span style="display: none;" id="' + v.klapOpen.id + '"> ' + mkControl({"naam": "minimize", "titel": "Verbergen", "onclick": "vensterKlapper('" + id + "', false);"}) + '</span>'
		+  '<span style="display: none;" id="' + v.klapDicht.id + '"> ' + mkControl({"naam": "add", "titel": "Tonen", "onclick": "vensterKlapper('" + id + "', true);"}) + '</span>';
	return	  '<table' + style + ' id="' + v.obj.id + '" class="venster" cellpadding="0" cellspacing="0">'
		+	'<tr class="vr1"><td class="v7">&nbsp;</td><td class="v8">' + titel + '</td><td class="v9">&nbsp;</td></tr>'
		+	'<tr class="vr2"><td class="v4">&nbsp;</td><td class="v5" id="' + v.inh.id + '">' + inhHTML + '</td><td class="v6">&nbsp;</td></tr>'
		+	'<tr class="vr3"><td class="v1">&nbsp;</td><td class="v2">&nbsp;</td><td class="v3">&nbsp;</td></tr>'
		+ '</table>';
}
function venstersFinito() {
	for (var i in window.vs) {
		v = window.vs[i];
		if (v.af != true) {
			v.obj = $(v.obj.id);
			v.inh = $(v.inh.id);
			v.klapOpen = $(v.klapOpen.id);
			v.klapDicht = $(v.klapDicht.id);
			v.af = true;
			vensterKlapper(v.id, v.open);
		}
	}
}
function balk(tekst) {
	tekst = APP_NAAM + ' v' + APP_VERSIE + ' &middot; ' + dateFormat('dddd dd mmmm yyyy') + ' &middot; ' + tekst;
	return	  '<table class="balk" cellpadding="0" cellspacing="0"><tr>'
		+	'<td class="b1">&nbsp;</td>'
		+	'<td class="b2">' + tekst + '</td>'
		+	'<td class="b3">&nbsp;</td>'
		+ '</tr></table>';
}
function Tabelmaker (cols, loopObj, oMk, aMkTR, aMkTD) {
	var that = this;
	this.cols = cols;
	this.loopObj = {};
	this.oMk = function(i) {return undefined;};
	this.aMkTR = function(i, o) {return '';};
	this.aMkTD = function(i, o, c) {return '';};
	this.aMkTH = function(c) {return '';};
	this.aTABLE = 'cellpadding="0" cellspacing="0"';
	this.mkHTML = function() {
		var trs = "";
		for (var j in that.cols) trs += "<th " + (that.cols[j].aTH == undefined ? '' : that.cols[j].aTH) + ">" + that.cols[j].wTH + "</th>";
		trs = "<tr>" + trs + "</tr>";
		for (var i in that.loopObj) {
			var o = that.oMk(i);
			if (o != undefined) {
				trs += '<tr ' + that.aMkTR(i, o) + '">';
				for (var j in that.cols) trs += '<td ' + that.aMkTD(i, o, that.cols[j]) + '>' + that.cols[j].wMkTD(o) + "</td>";
				trs += "</tr>";
			}
		}
		return '<table ' + that.aTABLE + '>' + trs + '</table>';
	}
}
function mkControl (control, className) {
	if (className == undefined) className = '';
	if (className != '') className = ' class="' + className + '"';
	return	  '<a' + className + ' href="" onclick="' + control.onclick + ' return false;">'
		+	'<img border="0" src="img/' + control.naam + '.gif" alt="[' + control.naam + ']" title="' + control.titel + '"/>'
		+ '</a>';
}
function mkUnaam(u) {
	var res = html_esc(u.name);
	if (u.level == 255) res = '<u><b>' + res + '</b></u>';
	return res;
}
function volNaam(u, formeel) {
	var res = '';
	var naam_v = u.ed.naam_v == undefined ? '' : u.ed.naam_v;
	var naam_tv = u.ed.naam_tv == undefined ? '' : u.ed.naam_tv;
	var naam = u.ed.naam == undefined ? '' : u.ed.naam;
	if (naam_tv != '') naam_tv = ' ' + naam_tv;
	return formeel == true
		? naam + ', ' + naam_v + naam_tv
		: naam_v + naam_tv + ' ' + naam;
}

function makeSite() {
	loading(true);
	KS.post(1, KS.me.id, 1, 0, 255, 255, $('newSiteName').value, '...', undefined, KS.me.id);
}

function showControls(force) {
	for (var i in controls) {
		var toon = false;
		for (var j in controls[i].cs) {
			var aan = (force == undefined ? controls[i].cs[j].aan : force);
			$(j).style.display = aan ? (controls[i].cs[j].inline == true ? 'inline' : 'block') : 'none';
			if (aan) toon = true;
		}
		$("v_" + i).style.display = toon ? '' : 'none';
	}
	if (window.onresize != undefined) window.onresize();
}
function mkControls() {
	window.resizeTo(600, 1000);
	var tdHTML = ['', ''];
	for (var i in controls) {
		var nwHTML = '', td = i == 'titel' || i == 'waarde' || i == 'extra' ? 1 : 0;
		for (var j in controls[i].cs) nwHTML += '<span class="w0" id="' + j + '"> ' + controls[i].cs[j].html + '</span>';
		tdHTML[td] += venster(i, controls[i].kop, nwHTML);
	}
	$('main_edit').innerHTML
		= '<table id="mainTabel" cellpadding="0" cellspacing="0"><tr>'
		+	'<td id="edit_links">' + tdHTML[0] + '</td>'
		+	'<td id="edit_rechts">' + tdHTML[1] + '</td>'
		+ '</tr></table>';
	window.resizeTo(600, $('mainTabel').offsetHeight + 50);
	venstersFinito();
}
function sluit(tekst, refresh) {
	if (tekst != undefined && tekst != '') alert(tekst);
	location.href = '';
	if (refresh == true) if (window.ouder != undefined) window.ouder.location.reload();
	window.close();
	return true;
}
