var selectedItem;
var imagePath = "";

function initialize(path) {
    imagePath = path;
    var image_array = new Array(12);
    var last_char = new Array("o", "c");
    var icons = new Array("back", "basket", "book", "disk", "folder", "heads", "home", "leaf", "mail", "ppms", "sign", "wm", "search");
    var icon_array = new Array(icons.length * 2);

    for (var i = 0; i < 12; i++) {
        image_array[i] = new Image();
        image_array[i].src = path + i + ".gif";
    }
    var m = 0;
    for (var j = 0; j < icons.length; j++) {
        for (var k = 0; k < last_char.length; k++) {
            icon_array[m] = new Image();
            icon_array[m].src = path + icons[j] + last_char[k] + ".gif";
            m++;
        }
    }
}

function setCookie(cookieName, cookieValue) {
    document.cookie = cookieName + "=" + escape(cookieValue);
}

function setPositionCookie(cookieValue) {
    setCookie(treeid + "_pos", cookieValue);
}

function setCheckBoxCookie() {
    var value = "";
    for (var k = 0; k < chkboxstate.length; k++) {
         value = value + chkboxstate[k];
    }
    setCookie(treeid + "_checkbox", value);
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function align(doSelect, itemPos) {
    if (doSelect) {
        onLoadSelection(itemPos);

    }
    var td = document.getElementById("bodycell");
    var div = document.getElementById("bodydiv");
    div.style.width = td.offsetWidth;
    
    var browserName=navigator.appName; 

    if (browserName=="Microsoft Internet Explorer")
    {
   div.style.height = td.offsetHeight;
    }
    
    div.style.display = "";
    setCookie(treeid, treestate);
}

function setIcon(id, i, pmi) {
    var im = document.getElementById(id + '_im');
    im.src = imagePath + i;
    im = document.getElementById(id + '_pim');
    im.src = imagePath + pmi + ".gif";
}

function toggleAddLine(id, mode) {
    var td = document.getElementById("td_" + id);
    if (td) {
        td.className = (mode ? 'chkint1':'chkint0');
    }
}

function toggleNode(id, ei, ci, pmei, pmci) {
    var open = toggleLayer(id + '_items');
    if (open) {
        setIcon(id, ei, pmei);
    } else {
        setIcon(id, ci, pmci);
    }
    toggleAddLine(id, open);
    var elnum = parseInt(id);
    treestate = treestate.substring(0, elnum) + (open?"1":"0") + treestate.substring(elnum + 1, treestate.length);
    setCookie(treeid, treestate);
}

function toggleLayer(id) {
    var l = document.getElementById(id);
    if (l.className == 'hi') {
        l.className = 'sh';
        return true;
    } else {
        l.className = 'hi';
        return false;
    }
}

function checkSubtree(id, tree, found) {
    for (var i = 0; i != tree.length; i++) {
        if (found) {
            if (typeof(tree[i]) == "string") {
                var el = document.getElementById(tree[i] + "_c");
                el.checked = true;
                checkboxSave(tree[i], true);
            } else {
                checkSubtree(id, tree[i], found);
            }
        } else {
            if (typeof(tree[i]) == "string") {
                if (tree[i] == id) {
                    var el = document.getElementById(tree[i] + "_c");
                    el.checked = true;
                    checkboxSave(tree[i], true);
                    checkSubtree(id, tree[i + 1], true)
                    break;
                }
            } else {
                checkSubtree(id, tree[i], found);
            }
        }
    }
}

function check(id, state, recursive) {
    if (recursive && state) {
        checkSubtree(id, treestruct, false);
    } else {
        checkboxSave(id, state);
    }
    setCheckBoxCookie();
}

function checkboxSave(id, state) {
    var i = parseInt(id);
    if (state) {
        chkboxstate[i-1] = 1;
    } else {
        chkboxstate[i-1] = 0;
    }
}

function merge(windname) {
    var url = document.formerge.url;
    if (url) {
        var s;
        if (url.length) {
            for (i = 0; i < url.length; i++) {
                if (url[i].checked && url[i].value.length > 0) {
                    s = true;
                    break;
                }
            }
            if (s) {
                mergeWindow(windname)
                document.formerge.submit();
            }
        }
    }
}

function resetSelection() {
    var url = document.formerge.url;
    if (url && url.length) {
        for (i = 0; i < url.length; i++) {
            if (url[i].checked) {
                url[i].checked = false;
            }
        }
        for(i=0; i < chkboxstate.length; i++){
            checkboxSave(i , false);
        }
        setCheckBoxCookie();

    }
}

function onLoadSelection(itemPos) {
    var currUrl = document.location.href;
    currUrl = currUrl.substring(currUrl.lastIndexOf("/") + 1, currUrl.length);
    var elem = treeindex[currUrl];
    if (!elem) {
        if (currUrl.substring(currUrl.length - 1, currUrl.length) != '#') {
            currUrl += "#0001";
            elem = treeindex[currUrl];
        }
    }
    if (!elem) elem = 1;
    var selection = document.getElementById('s' + elem);
    if (selection) {
        iSel(selection);
        var scrolPos = findPosY(selection) - 500;
        if (itemPos >= 0 && itemPos > scrolPos) {
            scrolPos = itemPos;
        }

        //var scrolPos = itemPos>-1? itemPos : findPosY(selection)-355;
        scrollToPos(scrolPos);
        setPositionCookie(scrolPos);
    }
}

function scrollToPos(pos) {
    if (pos > 0) document.getElementById("tree").scrollTop = pos;
}

function iSel(item) {
    if (selectedItem && selectedItem.id && selectedItem.id.length > 0) {
        if (selectedItem.id != item.id) {
            selectedItem.className = 't';
            item.className = 't_sel';
        }
    } else {
        item.className = 't_sel';
    }
    selectedItem = item;
    setPositionCookie(document.getElementById("tree").scrollTop);
}

function iPos(item) {
    setPositionCookie(document.getElementById("tree").scrollTop);
}

function iSelById(id) {
    iSel(document.getElementById(id));
}

function mergeWindow(name) {
    var str = "left=0,screenX=0,top=0,screenY=0";

    if (window.screen) {
        var ah = screen.availHeight - 50;
        var aw = screen.availWidth - 10;
        str += ",height=" + ah;
        str += ",innerHeight=" + ah;
        str += ",width=" + aw;
        str += ",innerWidth=" + aw;
    }
    var newWindow = window.open("", name, str + ",scrollbars=1, status=1, resizable=1, menubar=1");
    newWindow.focus();
    return true;
}

function tester (lngs) {
	var dew = "http://planta19.planta.de/C01500060-0/PUB/01500192-EL01501993-0001-0.htm#0001";
	var enw = "http://planta19.planta.de/C01500060-1/PUBEN/01500192-EL01501993-0001-1.htm#0001";
	var esw = "http://planta19.planta.de/C01500060-3/PUBES/01500192-EL01501993-0001-3.htm#0001";
	var ruw = "http://planta19.planta.de/C01500060-8/PUBRU/01500192-EL01501993-0001-8.htm#0001";
	var allw = "http://planta19.planta.de/C01500060-0/PUB/01500192-EL01501993-0001-0.htm#0001";

	switch (lngs) 
	  {
	  case "de":
		window.open(dew, "", "width=900,height=750,left=0,top=0,scrollbars=1,resizable=1,menubar=1,status=1,toolbar=1,location=1");
		break;
	  case "en":
		window.open(enw, "", "width=900,height=750,left=0,top=0,scrollbars=1,resizable=1,menubar=1,status=1,toolbar=1,location=1");
		break;
	  case "es":
		window.open(esw, "", "width=900,height=750,left=0,top=0,scrollbars=1,resizable=1,menubar=1,status=1,toolbar=1,location=1");
		break;
	  case "ru":
		window.open(ruw, "", "width=900,height=750,left=0,top=0,scrollbars=1,resizable=1,menubar=1,status=1,toolbar=1,location=1");
		break;
	  default:
		window.open(allw, "", "width=900,height=750,left=0,top=0,scrollbars=1,resizable=1,menubar=1,status=1,toolbar=1,location=1");
		break;
  }
}
