var prevTooltip;

function getWindowWidth() {

    if(window.innerWidth) {
        return window.innerWidth;
    } 
    
    return document.body.clientWidth
}

function tooltip(e, o) {

    var windowWidth = getWindowWidth();

    o = document.getElementById(o);
    
    if(prevTooltip && prevTooltip != o) {
        prevTooltip.style.visibility = 'hidden';
    }

    if(o.style.visibility == 'visible') {
        o.style.visibility = 'hidden';
    } else {
        if(o.offsetWidth) {
            ew = o.offsetWidth;
        } else if(o.clip.width) {
            ew = o.clip.width;
        }
    
        x = e.x ? e.x : e.layerX;
        y = e.y ? e.y : e.layerY; 
    
        y = y + 16;
        x = x - (ew / 4);
       
        if (x < 2) {
            x = 2;
        } else if(x + ew > windowWidth) {
            x = windowWidth - ew - 4;
        }
        
        o.style.left = x+ 'px';
        o.style.top = y + 'px';    
        
        o.style.visibility = 'visible';
        
        prevTooltip = o;
    }
}
