
var timezoneOffset = new Date().getTimezoneOffset() - outsideOffset;

function mouseMove(event) {
    if (!event) {
        event = window.event;
    }
    var target = getTarget(event);
    var pos = mousePos(event) - targetPos(target) - 75;
    var span = getSpan(target);
    if ((0 <= pos) && (pos <= 400)) {
        var time = ((pos + 176) * 5) - timezoneOffset;
        var hour = '0' + (Math.floor(time / 60) % 24);
        var minute = '0' + Math.abs(time % 60);
        span.innerHTML = hour.substr(hour.length - 2) + ':' + minute.substr(minute.length - 2);
    } else {
        span.innerHTML = "&nbsp;";
    }
}

function mousePos(event) {
    var result;
    if (event.pageX ) {
        result = event.pageX;
    } else if (event.clientX) {
        result = event.clientX + document.body.scrollLeft
        + document.documentElement.scrollLeft;
    }
    return result;
}

function targetPos(target) {
    var result = 0;
    if (target.offsetParent) {
        do {
            result += target.offsetLeft;
            target = target.offsetParent
        } while (target);
    }
    return result;
}

function getTarget(event) {
    var result;
    if (event.target) {
        result = event.target;
    } else if (event.srcElement) {
        result = event.srcElement;
    }
    if (result.nodeType == 3) {
        result = result.parentNode;
    }
    return result;
}

function getSpan(target) {
    var child = target.parentNode.parentNode;
    while (child.nodeName != "LI") {
        child = child.parentNode;
    }
    child = child.firstChild;
    while (child.nodeType != 1) {
        child = child.nextSibling;
    }
    child = child.firstChild;
    while (child.nodeType != 1) {
        child = child.nextSibling;
    }
    return child;
}

