XB.Announcer.subscribe('onBodyBegin', function(){
	XB.appendClassToElement('js-enabled', document.getElementsByTagName('body')[0]);
});

XB.Announcer.subscribe('onBodyEnd', function(){
	var aNodeLst = document.getElementById("Flags").getElementsByTagName("a");
	var titleNode = document.getElementById("Title");
	var pNodeLst = titleNode.getElementsByTagName("p");
	var textNode = document.getElementById("Text");
	var divNodeLst = textNode.getElementsByTagName("div");
	var pNodeArr = new Array;
	var divNodeArr = new Array;

	var lp = pNodeLst.length;
	var ld = divNodeLst.length;
	var j = 0;
	var current = 0;
	var l = (lp < ld) ? lp : ld;
	for (var i = 0; i < l; i++) {
		var pNode = pNodeLst[j];
		var divNode = divNodeLst[j];
		pNodeArr.push(pNode);
		divNodeArr.push(divNode);
		if (pNode.className.indexOf('active') != -1) {
			current = i;
			j++;
		} else {
			titleNode.removeChild(pNode);
			textNode.removeChild(divNode);
		}
		XB.appendClassToElement('active', pNode);
		XB.appendClassToElement('active', divNode);
	}

	var setCurrent = function(id) {
		if (id >= pNodeArr.length) {
			return;
		}
		titleNode.replaceChild(pNodeArr[id], pNodeArr[current]);
		textNode.replaceChild(divNodeArr[id], divNodeArr[current]);
		current = id;
	}

	for (var i = 0; i < l; i++) {
		var aNode = aNodeLst[i];
		aNode.onmouseover = (function(){
			var id = i;
			return function() {
				setCurrent(id);
			}
		})();
	}
});

