﻿function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0, offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf('Mac') != -1 && 
        typeof document.body.leftMargin != 'undefined') {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
} 
function getScrollOffset() {
	var b = document.body;
	var top = window.pageYOffset ? window.pageYOffset : (b.scrollTop ? b.scrollTop : (b.parentNode ? b.parentNode.scrollTop : 0));
	var left = window.pageXOffset ? window.pageXOffset : (b.scrollLeft ? b.scrollLeft : (b.parentNode ? b.parentNode.scrollLeft : 0));
	return {x:left, y:top};
}
function hideHoverInfo(ctl,e,id) {
    var div = document.getElementById(id);
    if (div) div.style.display = 'none';
}
function showHoverInfo(ctl,e,id) {
    var div = document.getElementById(id);
    if (!div) return;
	var o = getElementPosition(ctl.id);
    div.style.display = 'block';
    div.style.top = (o.top + 15).toString() + 'px';
    div.style.left = o.left.toString() + 'px';
}

var adjFont = 'adjFont';

function setFontSize(v) {
    var n = document.body.childNodes;
    if (!n || !n.length) return;
    setFontSizeRecur(n,v);
}
function setFontSizeRecur(n,v) {
    if (!n || !n.length) return;
    var c;
    for (var i = 0; i < n.length; i++) {
        c = n[i].className;
        if (c && ((c == adjFont) || (c.indexOf(' ' + adjFont) > -1) || (c.indexOf(adjFont + ' ') > -1))) {
            var cv = n[i].style.fontSize.toString().replace('px','');
            if (!cv) cv = 11;
            cv = parseInt(cv);
            n[i].style.fontSize = ((cv + v).toString() + 'px');
        }
        c = null;
        setFontSizeRecur(n[i].childNodes,v);
    }
}
