window.onload = function() {
    if (typeof(interfaceLoad)=='function') { 
        interfaceLoad();
    }
    var leftBarDO = document.getElementById('leftBar');
    var divs = leftBarDO.getElementsByTagName('div');
    for (var i=0; i<divs.length; i++) {
        if (divs[i].className == 'submenu_container') {
            var submenu = divs[i].getElementsByTagName('div')[0];
            var a = divs[i].getElementsByTagName('a')[0];
            if (submenu) {
                submenu.style.top = '-2px';
                submenu.style.left = a.offsetWidth+'px';
            }
        }
    }
    var $outer = $('#outer');
    $('.estate_gallery ul').gallery($outer);
}

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

function expandMenu(el) {
    var a = el.getElementsByTagName('a')[0];
    var subMenu = el.getElementsByTagName('div')[0];
    if (subMenu) {
        var offsetParent = el.parentNode;
        var offsetX = a.offsetWidth-10;
        if (document.all) { offsetX-=33; }
        var newDiv = document.createElement('div');
        newDiv.className = 'submenu';
        newDiv.style.display = 'block';
        newDiv.style.marginTop = '-2px';
        newDiv.style.left = '110px';
        newDiv.style.marginLeft = offsetX + 'px';
        newDiv.controlNode = el;
        el.onmouseover = null;
        newDiv.onmouseout = function(event) { collapseMenu(event,this.controlNode); }
        newDiv.innerHTML = subMenu.innerHTML;
        offsetParent.insertBefore(newDiv, offsetParent.firstChild);
        el.openedMenu = newDiv;
    }
}

function collapseMenu(event, node) { 
    var e = window.event?window.event:event;
    var el = e.relatedTarget?e.relatedTarget:e.toElement;
    if (node.openedMenu) {
        var flag = true;
        while (el) {
            if ((el == node) || (el == node.openedMenu)) { flag = false; }
            if (el) { el = el.offsetParent; } else { break; }
        }
        if (flag) {
            node.parentNode.removeChild(node.openedMenu);
            node.onmouseover = function() { expandMenu(this); }
            node.openedMenu = 0;
        }
    }
}

function expandTopMenu(el) {
    var submenu = el.getElementsByTagName('div')[0];
    if (submenu) { submenu.style.display = 'block'; }
}
function collapseTopMenu(el) {
    var submenu = el.getElementsByTagName('div')[0];
    if (submenu) { submenu.style.display = 'none'; }
}

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];
    }
}