function getElementPos(elementId){

    var ua = navigator.userAgent.toLowerCase();
    var isOpera = (ua.indexOf('opera') != -1);
    var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
    var el = document.getElementById(elementId);
    
    if (el.parentNode === null || el.style.display == 'none') {
        return false;
    }
    
    var parent = null;
    var pos = [];
    var box;
    
    if (el.getBoundingClientRect) //IE
    {
        box = el.getBoundingClientRect();
        var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
        var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
        
        return {
            x: box.left + scrollLeft,
            y: box.top + scrollTop
        };
    }
    else 
        if (document.getBoxObjectFor) // gecko
        {
            box = document.getBoxObjectFor(el);
            
            var borderLeft = (el.style.borderLeftWidth) ? parseInt(el.style.borderLeftWidth) : 0;
            var borderTop = (el.style.borderTopWidth) ? parseInt(el.style.borderTopWidth) : 0;
            
            pos = [box.x - borderLeft, box.y - borderTop];
        }
        else // safari & opera
        {
            pos = [el.offsetLeft, el.offsetTop];
            parent = el.offsetParent;
            if (parent != el) {
                while (parent) {
                    pos[0] += parent.offsetLeft;
                    pos[1] += parent.offsetTop;
                    parent = parent.offsetParent;
                }
            }
            if (ua.indexOf('opera') != -1 ||
            (ua.indexOf('safari') != -1 && el.style.position == 'absolute')) {
                pos[0] -= document.body.offsetLeft;
                pos[1] -= document.body.offsetTop;
            }
        }
    
    if (el.parentNode) {
        parent = el.parentNode;
    }
    else {
        parent = null;
    }
    
    while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') { // account for any scrolled ancestors
        pos[0] -= parent.scrollLeft;
        pos[1] -= parent.scrollTop;
        
        if (parent.parentNode) {
            parent = parent.parentNode;
        }
        else {
            parent = null;
        }
    }
    return {
        x: pos[0],
        y: pos[1]
    };
}

function setPosition(){
    var pos = getElementPos('test_1');
    
    var temp = document.getElementById("test_2");
    temp.style.position = "absolute";
    temp.style.top = pos.y + "px";
    temp.style.left = pos.x + "px";
}

function mousePosition(ev){
    if (ev.pageX || ev.pageY) {
        return {
            x: ev.pageX,
            y: ev.pageY
        };
    }
    return {
        x: ev.clientX + document.documentElement.scrollLeft - document.documentElement.clientLeft,
        y: ev.clientY + document.documentElement.scrollTop - document.documentElement.clientTop
    };
}

document.onmousemove = mouseMove;
var mousePos;
function mouseMove(ev){
    ev = ev || window.event;
    mousePos = mousePosition(ev);
}


function displayFullTitle(link){
    displayFullTitleDelay(link);
    //    setTimeout(displayFullTitleDelay(link), 5000);
}

function displayFullTitleDelay(link){
    id = link.id;
    id = "d" + id.substr(1);
    //    var pos = getElementPos(link.id);
    var title = document.getElementById("fullTitle");
    var fullTitle = document.getElementById(id);
    //    alert(fullTitle.innerHTML);
    title.innerHTML = fullTitle.innerHTML;
    title.style.position = "absolute";
    //    title.style.top = pos.y+"px";
    //    title.style.left = pos.x+"px";
    //    title.style.top = (mousePos.y - 10) + "px";
    //    title.style.left = (mousePos.x - 40) + "px";
    title.style.top = (mousePos.y+25) + "px";
    title.style.left = (mousePos.x-90) + "px";
    title.style.width = "180px";
}

function hideTitle(link){
    var title = document.getElementById("fullTitle");
    title.innerHTML = "";
    title.style.top = "-200px";
    title.style.left = "-200px";
    title.style.width = "0px";
}
