var XMLlang_src;
var XMLPath;
var imagePath;
var langLoaded = 0;
var baseRef = "site/layout/";

var IE;
var NS;

function browserDetection() {
	(document.all) ? IE = true:IE = false; 
	(navigator.appName == 'Netscape' && parseFloat(navigator.appVersion) >= 5) ? NS = true: NS = false;
}

browserDetection();

function initLayout() {
	var modulet = new MODULET();
	modulet.load();
}

function MODULET(){
	return;
}

MODULET.prototype.load = function (){
	this.createXMLIsland();
}

MODULET.prototype.createXMLIsland = function(){
	findDesign();

	if (IE) {
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
		xmlDoc.async = "false"
		xmlDoc.load(XMLlang_src)
		XMLPath = xmlDoc;
	}
	langLoaded = 1;
}

function findDesign() {
	ne = document.getElementById("designInUse").innerText;
	XMLlang_src = baseRef + ne + "/divs/layout.xml";
	imagePath = baseRef + ne + "/images/";
}

function xml_insert(mytype,id,content) {
	if (document.getElementById(id) == null) {return false;}
	if (langLoaded) {
		var ne = document.getElementById(id)
		switch (mytype) {
			case "value":
				ne.value = langGetSingle(content);
			break;
			case "text":
				ne.innerHTML = langGetSingle(content);
			break;
		}
	}
	else {
		setTimeout("xml_insert('" + mytype + "','" + id + "','" + content + "')",100);
	}
}

function xmlLoadPos(id,ntype,nvalue) {
	if (langLoaded) {
		if (!document.getElementById(id)) return false;
		ne = langStyle(id,ntype,nvalue);
		return ne;
	}
	else {
		setTimeout("xmlLoadPos('" + id + "','" + ntype + "','" + nvalue + "')",100);
	}
}

function xmlLoadStyle(id,ntype) {
	if (langLoaded) {
		var ne = document.getElementById(id)
		if (ntype == "workspace") {
//			alignVal = XMLPath.selectSingleNode("design/workspace/workspace").getAttribute("align");
//			tmpWidth = langStyle(id,ntype,"width")
//			tmpHeight = langStyle(id,ntype,"height")
//			ne.style.setAttribute("left",get_left(tmpWidth,alignVal));
//			ne.style.setAttribute("top",get_top(tmpHeight));
//			if (tmpWidth != "") ne.style.setAttribute("width",tmpWidth);
//			if (tmpHeight != "") ne.style.setAttribute("height",tmpHeight);
		}
	}
	else {
		setTimeout("xmlLoadStyle('" + id + "','" + ntype + "')",100);
	}
}

function langStyle(id,ntype,nvalue) {
	if (!id) return '';
	if (langLoaded) {
		var node = XMLPath.selectSingleNode("design/" + ntype + "/" + id).getAttribute(nvalue);
		return (node) ? node : '';
	}
}


var dummie_top = 0;
var tmpLeft = "";

function get_left(nwidth,ntype) {
	if (nwidth == "100%") {
		return "0px";
	}
	switch (ntype) {
		case "center":
			doc = document.getElementsByTagName("html")[0];
			neWidth = doc.offsetWidth;
			myLeft = (neWidth-parseInt(nwidth))/2;
			return myLeft;
			break;
		default:
			myLeft = "0";
			return myLeft;
			break;
	}
}

function get_top(nheight) {
	if (nheight == "100%") return "0px";
	doc = document.getElementsByTagName("html")[0];
	neHeight = doc.offsetHeight;
	myTop = (neHeight-parseInt(nheight)) / 2 - dummie_top;
	return myTop;
}

function buildElement(id) {
	switch (id) {
		case "workspace":
			xmlLoadStyle(id,id);
			break;
		default:
			if (langLoaded) {
				var allDivs = new Array("horizontal_menu","vertical_menu","soege_box","breadcrum","os","newsletterbox","main_data","login_link","quick_news","quick_activities","quick_fora")
				for (k = 0;k<=allDivs.length - 1;k++) {
					useMe = allNInUse[allDivs[k]]
					if (useMe) document.getElementById(allDivs[k]).style.display = "block";
				}
			}
			else {
				setTimeout("buildElement('all')",200);
			}
			break;
	}
}

function buildElementPersonal() {
	if (langLoaded) {
		for (j = 0;j <= perElem.length - 1;j++) {
			nNode = perElem[j];
			var ne = document.createElement("DIV");
			ne.id = nNode
			ne.className = 'mod_' + nNode;
			ne.style.display = "none";
			ne.style.position = "absolute";
			document.getElementById("workspace").appendChild(ne);
			ne.style.display = "block";
		}
	}
	else {
		setTimeout("buildElementPersonal()",200);
	}
}
