
var time = 500; //time in ms
var steps = 20; //steps to increase opacity to max

var elements;
var element;
var intervalId = 0;
var opacity = 0;

function fadeIn(name) {
    elements = getElementsByClass(name);
    element = elements.pop();

    if (element == null)
        return;

    intervalId = setInterval('moreOpacity()', time / steps);
}
function moreOpacity() {
    opacity += 1;
    if (opacity == steps) {
        clearInterval(intervalId);
        element.style.opacity = 1;
        element.style.filter = "alpha(opacity=100)";

        if (elements.length > 0) {
            element = elements.pop();
            opacity = 0;
            intervalId = setInterval('moreOpacity()', time / steps);
        }
    } else {
        element.style.opacity = opacity / steps;
        element.style.filter = "alpha(opacity=" + opacity / steps * 100 + ")";
    }
}

function getElementsByClass(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = document.getElementById("content").getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes))
            retnode.push(elem[i]);
    }
    return retnode.reverse();
}

var text;
var text_bg;
var intervalId2 = 0;
var opacity2 = 0;

function show(index) {
    for (var i = 1; i <= 4; i++) {
        if (i != index) {
            text = document.getElementById('text'+i);
            if (text == null)
                break;
            text_bg = document.getElementById('text'+i+'_bg');
            text.style.opacity = 0;
            text.style.filter = "alpha(opacity=0)";
            text.style.display = "none";
            text_bg.style.opacity = 0;
            text_bg.style.filter = "alpha(opacity=0)";
            text_bg.style.display = "none";
        }
        link = document.getElementById('link'+i);
        link.className = "speech_box";
    }

    link = document.getElementById('link'+index);
    link.className += " active";
    text = document.getElementById('text'+index);
    text_bg = document.getElementById('text'+index+'_bg');
    if (text == null)
        return;
    text.style.display = "block";
    text_bg.style.display = "block";
    text_bg.style.height = text.offsetHeight-2 + 'px';

    intervalId2 = setInterval('moreOpacity2()', time / steps);
}
function moreOpacity2() {
    opacity2 += 1;
    if (opacity2 == steps) {
        clearInterval(intervalId2);
        text.style.opacity = 1;
        text.style.filter = "alpha(opacity=100)";
        text_bg.style.opacity = 0.8;
        text_bg.style.filter = "alpha(opacity=80)";
        opacity2 = 0;
    } else {
        text.style.opacity = opacity2 / steps;
        text.style.filter = "alpha(opacity=" + opacity2 / steps * 100 + ")";
        text_bg.style.opacity = (opacity2 / steps) / 5 * 4;
        text_bg.style.filter = "alpha(opacity=" + opacity2 / steps * 80 + ")";
    }
}

