RondeHoeken = function(root) {
	var els = getElementsByAttributeValue("class", "rounded", root);
	for(var i = 0; i < els.length; i++) this.createEdges(els[i]);
}

RondeHoeken.prototype.createEdges = function(box, recursive) {
	var top = document.createElement("span");
	var bottom = document.createElement("span");
	top.className = "top";
	bottom.className = "bottom";
	box.insertBefore(top, box.firstChild);
	box.appendChild(bottom);
	if(recursive) {
		new RondeHoeken(box);
	}
}

SGestreepteTabel = function(root) {
	var els = (root || document).getElementsByTagName("table");
	for(var i = 0; i < els.length; i++) this.createStripes(els[i]);
}

SGestreepteTabel.prototype.createStripes = function(table) {
	var tb = table.getElementsByTagName("tbody")[0];
	if(tb) 
		var rows = tb.getElementsByTagName("tr");
	else
		var rows = table.getElementsByTagName("tr");
	
	if(rows.length > 3)
		for(var i = 1; i < rows.length; i+=2) {
			if(rows[i]) addClass(rows[i], "odd");
		}
}

splittedLijst = function(root) {	
	var els = getElementsByAttributeValue("class", "splitted", root);
	for(var i = 0; i < els.length; i++) {
		if(els[i].tagName.toLowerCase() == "ul" || els[i].tagName.toLowerCase() == "ol") this.splitList(els[i]);
	}
}

splittedLijst.prototype.splitList = function(list) {	
	/* create two sets, put them in place of the original list, including classnames (but not 'splitted') */
	var set1 = document.createElement(list.tagName.toLowerCase());
	var set2 = document.createElement(list.tagName.toLowerCase());
	removeClass(list, "splitted");
	set1.className = set2.className = list.className;
	list.parentNode.replaceChild(set2, list);
	set2.parentNode.insertBefore(set1, set2);
	/* devide the list items over the set */
	var items = list.getElementsByTagName("li");
	var half = Math.round(items.length / 2);
	if(list.tagName.toLowerCase() == "ol") set2.start = half + 1;
	if(items.length == 1) set2.parentNode.removeChild(set2);
	for(var j = items.length - 1; j > half - 1; j--) {
		set2.insertBefore(items[j], set2.firstChild);
	}
	for(var j = half - 1; j >= 0; j--) {
		set1.insertBefore(items[j], set1.firstChild);	
	}
}

EventListener.addEvent(window, 'load', function() {
	window.sGestreepteTabel = new SGestreepteTabel();	
	window.RondeHoeken = new RondeHoeken();		
	window.splittedLijst = new splittedLijst();
});

gimme = function(u) {
	t = "";
	for(var e in u) t = t + " / " + e;
	alert(t);
}

/*@cc_on
try { document.execCommand('BackgroundImageCache', false, true); } catch (e) {}
EventListener.addEvent(window, 'load', function(){
	var main = document.getElementById("main-content");
	if(main) {
		span = document.createElement('span');
		span.className = 'flow-interrupt';
		span.innerHTML = '&nbsp;';
		main.insertBefore(span, main.firstChild);
	}
});
@*/
