var xmlDoc=null;
var divArray = new Array();

var isParamInURL = function (strParamName)
{
	var strReturn = "";
	var strHref = window.location.href;
	if (strHref.indexOf("?") > -1 )
	{
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ )
		{
			if (aQueryString[iParam].indexOf(strParamName.toLowerCase()) > -1 )
			{
				return true;
			}
		}
	}
	return false;
}

var verify = function()
{
    if (xmlDoc.readyState != 4)
    {
        return false;
    }
}

var loadXml = function (url)
{
    var xmlObj=null;
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.onreadystatechange=verify;
        xmlDoc.load(url);
        xmlObj = xmlDoc.documentElement;
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
	        xmlDoc=document.implementation.createDocument("","",null);
	        xmlDoc.async=false;
	        xmlDoc.load(url);
	        xmlObj = xmlDoc.childNodes[0];
        }
        catch(e)
        {
	        alert(e.message);
	        return;
        }
    }
    return xmlObj;
}


var createOrganigramm = function()
{
    var xmlobj = loadXml("../files/usr-flashcont-organigramm.xml/$file/organigramm.xml");
    createDiv(xmlobj, 1, "top", true, document.getElementById("divOrganigramm"));
}

var createDiv = function(xmlnode, level, hierarchy, isOpen, container)
{
    var j=1;
    var divContainer = document.createElement("div");
    divContainer.className = "container";
    divContainer.id = "ct_"+hierarchy;
    container.appendChild(divContainer);
	
	var isPrint = isParamInURL("OpenDocument");
	var xmlOffset;
	if(navigator.appName == "Microsoft Internet Explorer")
		xmlOffset = 1;
	else
		xmlOffset = 2;
	
    for(var i=0; i < xmlnode.childNodes.length; i++)
    {
		if((j%10)==0)
			j++;
        var node = xmlnode.childNodes[i];
        if(node.nodeType == 1)
        {
            var div = document.createElement("div");
            if(node.attributes.getNamedItem("isBlock") != null
                && node.attributes.getNamedItem("isBlock").nodeValue == "true")
            {
                div.className = "divBlock";
                div.innerHTML = "<strong>"+node.attributes.getNamedItem("description").nodeValue+"</strong><br />"+node.attributes.getNamedItem("person").nodeValue;
                
                document.getElementById("divTopBlock").appendChild(div);
            }
            else
            {
				
                if(i == xmlnode.childNodes.length-xmlOffset)
                    div.style.borderBottom = "solid 1px #D0D0D0";
                div.innerHTML = "<strong>"+node.attributes.getNamedItem("description").nodeValue+"</strong><br />"+node.attributes.getNamedItem("person").nodeValue;
                if(hierarchy != "top")
                {
                    div.id = hierarchy+"."+j;
                }
                else
                {
                    div.id = j;
                }
                div.className = "level"+level;
				var hasChildNode = (node.hasChildNodes() && node.childNodes.length != 0);
				var divObject = new Object();
				divObject.id = div.id;
				divObject.parent = hierarchy;
				divObject.hasChildNode = hasChildNode;
				divObject.level = level;
				//divObject=false;
				divObject.container = divContainer.id;
				divObject.grey = false;
				divObject.opacity = 100;
				var clipping = new Object();
				clipping.right = -1;
				clipping.bottom = -1;
				clipping.active = false;
				divObject.clip = clipping;
				clipping.type = null;
				divArray[div.id] = divObject;
				if(isPrint)
				{
					div.style.display="block";
					div.style.visibility="visible";
					divContainer.appendChild(div);
					if(hasChildNode)
	                {
						div.innerHTML = "<div class=\"divImageContainerMinus\">" + div.innerHTML +"</div>";
						createDiv(node, level+1, div.id, false, divContainer);
					}
				}
				else
				{
					div.onclick="";
	                div.onmouseover = function() {mouseItemOver(this)};
	                div.onmouseout = function() {mouseItemOut(this)};
	                divContainer.appendChild(div);
					
					
					if(hasChildNode)
	                {
	                    div.onclick = function() {mouseItemClickOpen(this)};
	                    div.innerHTML = "<div class=\"divImageContainer\">" + div.innerHTML +"</div>";
	                    createDiv(node, level+1, div.id, false, divContainer);
	                }
					else
	                {
	                    div.onclick = function() {setClicked(this)};
	                }
				}

				
                /* */
                
                j++;
            }
        }
    }
	if(isPrint)
	{
		var a = new Array();
		for(var d in divArray)
		{
			a.push(d);
		}
		for(var i=0; i < a.length; i++)
		{
			var div = divArray[a[i]];
			if(div.hasChildNode)
				mouseItemClickOpen(document.getElementById(a[i]));
		}
	}
}