if (xInclude('js/x_core.js', 'js/x_event.js')) {
    window.onload = winOnLoad;
}
function winOnLoad()
{
    for (i = 0; i < linkLayers.length; i++) {
        xMoveTo('link'+i, linkLayers[i][1], linkLayers[i][2]);
        xShow('link'+i);
    }
    xAddEventListener(document, 'mousemove', moveHandler, false);
}
var mouseX, mouseY = 0;
var showing = null;
function showLink(id)
{
    for (i = 0; i < linkLayers.length; i++) {
        if (linkLayers[i][0] == id) {
            var pos_x = linkLayers[i][1];
            var pos_y = linkLayers[i][2];
            break;
        }
    }
    showing = new Object();
    showing.id = id;
    showing.w = xWidth(id);
    showing.h = xHeight(id);
    showing.x = ((pos_x + showing.w) > xClientWidth() + xScrollLeft())? pos_x - showing.w: pos_x;
    showing.y = ((pos_y + showing.h) > xClientHeight() + xScrollTop())? pos_y - showing.h: pos_y;
    xMoveTo(showing.id, showing.x, showing.y);
    xShow(id);
}
function hideAll()
{
    for (i = 0; i < linkLayers.length; i++) {
        xHide(linkLayers[i][0]);
    }
    showing = null;
}
function moveHandler(oEvent)
{
    var e = new xEvent(oEvent);
    mouseX = e.pageX;
    mouseY = e.pageY;
    for (var i = 0; i < linkLayers.length; i++) {
        if (showing == null && mouseX > linkLayers[i][1] && mouseX < (linkLayers[i][1] + 4) && mouseY > linkLayers[i][2] && mouseY < (linkLayers[i][2] + 4)) {
            showLink(linkLayers[i][0]);
            break;
        }
    }
    if (showing != null) {
        if (!(mouseX > showing.x && mouseX < (showing.x + showing.w) && mouseY > showing.y && mouseY < (showing.y + showing.h))) {
            hideAll();
        }
    }
}

