var previewDiv = null;
var previewDivSrc = null;

function Preview(_previewDiv, _previewDivSrc) {
    previewDiv = _previewDiv;
    previewDivSrc = _previewDivSrc;
}

function movement(e) {
    var div = document.getElementById(previewDiv);
    var pos_X = 0, pos_Y = 0;
    if (!e) e = window.event;
    if (e) {
        if (typeof(e.pageX) == 'number') {
            pos_X = e.pageX;
            pos_Y = e.pageY;
        } else if (typeof(e.clientX) == 'number') {
            pos_X = e.clientX;
            pos_Y = e.clientY;
            if (document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' )) {
                pos_X += document.body.scrollLeft;
                pos_Y += document.body.scrollTop;
            } else if (document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' )) {
                pos_X += document.documentElement.scrollLeft;
                pos_Y += document.documentElement.scrollTop;
            }
        }
    }

    var scroll_X = 0, scroll_Y = 0;
    if (document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' )) {
        scroll_X = document.body.scrollLeft;
        scroll_Y = document.body.scrollTop;
    } else if (document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' )) {
        scroll_X = document.documentElement.scrollLeft;
        scroll_Y = document.documentElement.scrollTop;
    }

    var win_size_X = 0, win_size_Y = 0;
    if (window.innerWidth && window.innerHeight) {
        win_size_X = window.innerWidth;
        win_size_Y = window.innerHeight;
    } else if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {
        win_size_X = document.documentElement.clientWidth;
        win_size_Y = document.documentElement.clientHeight;
    } else if (document.body && document.body.clientWidth && document.body.clientHeight) {
        win_size_X = document.body.clientWidth;
        win_size_Y = document.body.clientHeight;
    }

    pos_X += 15;
    pos_Y += 15;

    if (div.offsetWidth && div.offsetHeight) {
        if (pos_X - scroll_X + div.offsetWidth + 5 > win_size_X) pos_X -= (div.offsetWidth + 25);
        if (pos_Y - scroll_Y + div.offsetHeight + 45 > win_size_Y) pos_Y -= (div.offsetHeight + 20);
    }

    div.style.left = pos_X + "px";
    div.style.top = pos_Y + "px";
}

function startPreview (obj) {
    var divSrc = document.getElementById(previewDivSrc);
    divSrc.src = obj.src;
    obj.onmousemove = movement;
    var div = document.getElementById(previewDiv);
    div.style.display = "block";
}

function stopPreview () {
    var div = document.getElementById(previewDiv);
    div.onmousemove = null;
    div.style.display = "none";
}


