// Based on quirksmode.org's code
function getScrollY()
{
    if(self && self.pageYOffset) return self.pageYOffset;
    if(document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop;
    if(document.body.scrollTop) return document.body.scrollTop;
    return 0;
}
function getScrollX()
{
    if(self && self.pageXOffset) return self.pageXOffset;
    if(document.documentElement && document.documentElement.scrollLeft) return document.documentElement.scrollLeft;
    if(document.body.scrollLeft) return document.body.scrollLeft;
    return 0;
}
function getSizeX()
{
    if(self && self.innerWidth) return self.innerWidth;
    if(document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
    return document.body.clientWidth;
}
//End

function forum_hidemsg2()
{
    if(typeof(forum_msg_visible) == "undefined") return;
    if(forum_msg_visible > 1) return;
    forum_msg_visible = 0;

    elMsg = document.getElementById('forum_showmsg');
    if(elMsg) elMsg.style.display = 'none';
}

function forum_msg_repos(evnt)
{
    if(typeof(evnt) != 'undefined') {
        forum_msg_lastposx = evnt.clientX + getScrollX();
        forum_msg_lastposy = evnt.clientY + getScrollY();
    }
    if(forum_msg_offsety <= -32 || (is_deleted && forum_msg_offsety == 15))
        return;

    elMsg = document.getElementById('forum_showmsg');
    
    if(elMsg.offsetHeight > 32) {
        if(!is_deleted) {
            forum_msg_offsety = -elMsg.offsetHeight - 20;
            forum_msg_offsetx = 0;
            forum_msg_lastposx = 0;
        }
        else {
            forum_msg_offsety = 15;
            forum_msg_offsetx = 0;
            forum_msg_lastposx = 0;
        }
    }
        
    elMsg.style.left = (forum_msg_lastposx + forum_msg_offsetx) + 'px';
    elMsg.style.top = (forum_msg_lastposy + forum_msg_offsety >= 0 ? forum_msg_lastposy + forum_msg_offsety : forum_msg_lastposy + 20) + 'px';

    if(elMsg.style.visibility == 'hidden')
        elMsg.style.visibility = 'visible';
}
var is_deleted = false;
function forum_showmsg(evnt, tid, mid, deleted)
{
    if(typeof(deleted) == 'undefined') deleted = 0;
    is_deleted = (deleted == 0 ? false : true);
    
    if(typeof(forum_msg_initialized) == 'undefined') {
        forum_msg_initialized = true;
        div = document.createElement('div');
        div.id = 'forum_showmsg';
        div.style.position = 'absolute';
        div.style.zIndex = '10';
        div.onmouseover = function(evnt) { forum_msg_visible = 2; }
        div.onmouseout = forum_hidemsg;
        
        bdy = document.body;
        bdy.insertBefore(div, bdy.firstChild);
        
        document.body.onmousemove = function(evnt) {
            if(typeof(forum_msg_visible) != 'undefined' && forum_msg_visible > 0) {
                forum_msg_repos(evnt);
            }
        }
    }
    if(typeof(forum_msg_visible) != 'undefined' && forum_msg_visible >= 1 && mid == forum_msg_mid) {
        forum_msg_visible = 2;
        return;
    }

    forum_msg_mid = mid;
    forum_msg_visible = 2;
    forum_msg_offsetx = 16;
    forum_msg_offsety = -10;
    div.style.width = '50px';
    div.innerHTML = '<div style="width: 20px; height: 20px"><div style="background: white; border: 1px solid black; padding: 1px"><img src="/forum/loading_circle.gif" width="16" height="16" /></div></div>';
    forum_msg_repos(evnt);
    div.style.display = 'block';

    forum_msg_req = null;
    if(!forum_msg_req) {
        try { forum_msg_req = new XMLHttpRequest(); }
        catch(e) {}
    }
    if(!forum_msg_req) {
        try { forum_msg_req = new ActiveXObject("Microsoft.XMLHTTP") }
        catch(e) {}
    }
    if(!forum_msg_req) return;
    forum_msg_req.open("GET", '/forum/functions.showmsg.php?tid=' + tid + '&mid=' + mid + '&deleted=' + deleted, true);
    forum_msg_req.send('');
    forum_msg_req.onreadystatechange = function() {
        if(forum_msg_req.readyState < 4) return;
        elMsg = document.getElementById('forum_showmsg');
        elMsg.style.visibility = 'hidden';
        elMsg.style.left = '0px';
        elMsg.style.width = '100%';
        elMsg.innerHTML = '<div class="vypis">' + forum_msg_req.responseText + '</div>';
        forum_msg_offsetx = -32;
        forum_msg_offsety = -16;
        forum_msg_repos();
    }
}
function forum_hidemsg()
{
    forum_msg_visible = 1;
    setTimeout('forum_hidemsg2()', 400);
}