﻿function getElementsByClass(searchClass, node, tag) {
    var classElements = new Array();
    if (node == null)
        node = document;
    if (tag == null)
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
    for (var i = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[classElements.length] = els[i];
        } 
    }
    return classElements;
}

function initPopups(elem) {
    var w = 0;
    var h = 0;
    var c = 0;
    var l = 0;
    if (getElementsByClass("popup_block", elem).length != 0) {
        for (var i in getElementsByClass("popup_block", elem)[0].childNodes) {
            if (getElementsByClass("popup_block", elem)[0].childNodes[i].nodeName == "DIV") {
                c++;
                var tmp = estimateWidth(getElementsByClass("popup_block", elem)[0].childNodes[i]);
                if (l < tmp) {
                    l = tmp;
                }
            }
        }
        h = 32 * (c - 1) + 12;
        w = l;
        if (c > 3) {
            getElementsByClass("m", elem)[0].style.height = (h - 107) + "px";
        } else {
            getElementsByClass("tl", elem)[0].style.backgroundImage = "url(/Images/tmtl.gif)";
            getElementsByClass("tl", elem)[0].style.height = "6px";
            getElementsByClass("t", elem)[0].style.backgroundImage = "none";
            getElementsByClass("t", elem)[0].style.backgroundColor = "#ebaa0d";
            getElementsByClass("t", elem)[0].style.height = "6px";
            getElementsByClass("tr", elem)[0].style.backgroundImage = "url(/Images/tmtr.gif)";
            getElementsByClass("tr", elem)[0].style.height = "6px";
            getElementsByClass("bl", elem)[0].style.backgroundImage = "url(/Images/tmbl.gif)";
            getElementsByClass("bl", elem)[0].style.height = "6px";
            getElementsByClass("b", elem)[0].style.backgroundImage = "none";
            getElementsByClass("b", elem)[0].style.backgroundColor = "#ebaa0d";
            getElementsByClass("b", elem)[0].style.height = "6px";
            getElementsByClass("br", elem)[0].style.backgroundImage = "url(/Images/tmbr.gif)";
            getElementsByClass("br", elem)[0].style.height = "6px";
            getElementsByClass("m", elem)[0].style.height = (h - 12) + "px";
            getElementsByClass("m", elem)[0].style.backgroundColor = "#ebaa0d";
        }
        getElementsByClass("t", elem)[0].style.width = (w + 10) + "px";
        getElementsByClass("b", elem)[0].style.width = (w + 10) + "px";
        getElementsByClass("popup_block", elem)[0].style.width = (w + 22) + "px";
    }
    elem.onmouseover = function () { getElementsByClass('activator', this)[0].style.visibility = 'visible'; };
}

function estimateWidth(elem) {
    var sp = document.createElement('span');
    if (navigator.userAgent.match("MSIE")) { sp.innerHTML = elem.innerHTML } else { sp.textContent = elem.textContent }
    sp.style.position = "absolute";
    sp.style.top = "-2000px";
    sp.style.fontSize = "13px";
    sp.style.fontFamily = "sans-serif";
    document.body.appendChild(sp);
    var l = sp.offsetWidth;
    document.body.removeChild(sp);
    return l;
}

function popupOnMouseOver(elem) {
    initPopups(elem); getElementsByClass('activator', elem)[0].style.visibility = 'visible';
}

function popupOnMouseOut(elem) {
    getElementsByClass('activator', elem)[0].style.visibility = 'hidden';
}
