_IE_OLD = document.all?1:0;

showPediaPage = function(node_id) {
    var win = window.open('/pedia/?node_id='+node_id,'_pedia','dependent=yes, width=800, height=600, innerHeight=600, innerWidth=800, location=no, menubar=no, resizable=no, scrollbars=no, titlebar=yes, toolbar=no');
    win.focus();
}
showPuzzlePage = function() {
    var win = window.open('/puzzle/','_puzzle','dependent=yes, width=800, height=640, innerHeight=640, innerWidth=800, location=no, menubar=no, resizable=no, scrollbars=no, titlebar=yes, toolbar=no');
    win.focus();
}

window.onload = function() {
    var links = document.getElementsByTagName('a');
    for (var i=0; i<links.length; i++) {
        if ((links[i].target == '_pedia') || (links[i].href.match(/\/pedia\//))) {
            links[i].target='';
            var node_id = links[i].href.replace(/.*node_id=(\d+).*/,'$1');
            if (node_id > 0) {
                links[i].href='javascript:showPediaPage('+node_id+')';
            } else {
                links[i].href='javascript:showPediaPage()';
            }
        }
        if (links[i].target == '_puzzle') {
            links[i].target= '';
            links[i].href='javascript:showPuzzlePage()';
        }
    }
    if (typeof(interfaceLoad) == 'function') {
        try { interfaceLoad(); } catch(err) { alert(err);}
    }
}


function insertText(element, text) {
    element.appendChild(document.createTextNode(text));
}
function cleanupNode(node) {
    var el = node;
    while (el.childNodes.length>0) { el.removeChild(el.firstChild); }
}

function expandMenu(node, level) {
    var n = node;
    var offset;
    if (level == 1) { offset = 302; } else { offset = 245; }
    if (document.all) { offset-=20; }
    var menuPlaceDO = document.getElementById('menuPlace');
    if ((n.getElementsByTagName('div')[0]) && (menuPlaceDO) && (!node.openedMenu)) {
        var subMenu = n.getElementsByTagName('div')[0];
        var newDiv = document.createElement('div');
        var menuPoint = getElementPosition(menuPlaceDO);
        var nodePoint = getElementPosition(n)
        newDiv.className = 'submenu';
        newDiv.style.display = 'block';
        newDiv.style.top = (nodePoint.y - menuPoint.y + 8) + 'px';
        newDiv.style.left = (nodePoint.x - menuPoint.x + offset) + 'px';
        newDiv.controlNode = n;
        newDiv.onmouseout = function(event) { collapseMenu(event,this.controlNode,level); }
        newDiv.innerHTML = subMenu.innerHTML;
        menuPlaceDO.appendChild(newDiv);
        n.openedMenu = newDiv;
        if (level == 2) {
            var el = node.parentNode;
            while (el) {
                if (el.className == 'submenu') { el.onmouseout = null; el.openedSub = newDiv; newDiv.upMenu = el; break;  }
                if (el) { el = el.offsetParent; } else { break; }
            }
        }
    }
}

function collapseMenu(event, node, level) {
    var e = window.event?window.event:event;
    var menuPlaceDO = document.getElementById('menuPlace');
    var el = e.relatedTarget?e.relatedTarget:e.toElement;
    var tel = el;
    var flag = true;
    var subFlag = true;
    while (el) {
        if ((el == node) || (el == node.openedMenu) || (el == node.openedSubMenu)) { flag = false; }
        if (el) { el = el.offsetParent; } else { break; }
    }
    if ((flag) && (node.openedMenu)) {
        if ((level != 2) && (node.openedMenu.upMenu)) { node.openedMenu.upMenu.onmouseout = function(event) { collapseMenu(event,this.controlNode); } }
        try { menuPlaceDO.removeChild(node.openedMenu); } catch(err) { }
        var el = tel;
        while (el) {
            if ((el == node.openedMenu.upMenu)) { subFlag = false; }
            if (el) { el = el.offsetParent; } else { break; }
        }
        if ((level == 2) && (node.openedMenu.upMenu) && (subFlag)) { menuPlaceDO.removeChild(node.openedMenu.upMenu); }
        node.openedMenu = 0;
    }
}

function getElementPosition(element) {
    var elem = element
    var l = 0;
    var t = 0;
    while (elem) {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return new Point(l, t);
}
function Point() {
    this.x = null; this.y = null;
    if (arguments.length==2) {
        this.x = arguments[0];
        this.y = arguments[1];
    }
}

function showPicture(src) {
    var x = 50;
    var y = 50;
    var w = 10; var h = 10;
    var win = window.open('/picture/?src='+src, 'IMAGE_WINDOW', 'dependent=yes, disrectories=no, innerWidth='+w+', innerHeight='+h+', width='+w+', height='+h+', location=no, menubar=no, resizable=no, screenX='+x+', screenY='+y+', scrollbars=no, titlebar=no, toolbar=no');
    win.focus();
}


function showInfo() {
    var inf = document.getElementById('org-info');
    if (inf) {
        inf.style.display = 'block';
        
    }
}
function hideInfo() {
    var inf = document.getElementById('org-info');
    if (inf) {
        inf.style.display = 'none';
        
    }
}
