var menu = function(){
    var t = 15, z = 50, s = 6, a;
    function dd(n){
        this.n = n;
        this.h = [];
        this.c = []
    }
    dd.prototype.init = function(p, c){
        a = c;
        var w = document.getElementById(p), s = w.getElementsByTagName('ul'), l = s.length, i = 0;
        for (i; i < l; i++) {
            var h = s[i].parentNode;
            this.h[i] = h;
            this.c[i] = s[i];
            h.onmouseover = new Function(this.n + '.st(' + i + ',true)');
            h.onmouseout = new Function(this.n + '.st(' + i + ')');
        }
    }
    dd.prototype.st = function(x, f){
        var c = this.c[x], h = this.h[x], p = h.getElementsByTagName('a')[0];
        clearInterval(c.t);
        c.style.overflow = 'hidden';
        if (f) {
            p.className += ' ' + a;
            if (!c.mh) {
                c.style.display = 'block';
                c.style.height = '';
                c.mh = c.offsetHeight;
                c.style.height = 0
            }
            if (c.mh == c.offsetHeight) {
                c.style.overflow = 'visible'
            }
            else {
                c.style.zIndex = z;
                z++;
                c.t = setInterval(function(){
                    sl(c, 1)
                }, t)
            }
        }
        else {
            p.className = p.className.replace(a, '');
            c.t = setInterval(function(){
                sl(c, -1)
            }, t)
        }
    }
    function sl(c, f){
        var h = c.offsetHeight;
        if ((h <= 0 && f != 1) || (h >= c.mh && f == 1)) {
            if (f == 1) {
                c.style.filter = '';
                c.style.opacity = 1;
                c.style.overflow = 'visible'
            }
            clearInterval(c.t);
            return
        }
        var d = (f == 1) ? Math.ceil((c.mh - h) / s) : Math.ceil(h / s), o = h / c.mh;
        c.style.opacity = o;
        c.style.filter = 'alpha(opacity=' + (o * 100) + ')';
        c.style.height = h + (d * f) + 'px'
    }
    return {
        dd: dd
    }
}();


var alphaslide = new Array();
alphaslide["slide1"] = 100;
alphaslide["slide2"] = 100;
alphaslide["slide3"] = 100;
alphaslide["slide4"] = 100;

var divslide = new Array();
divslide["slide1"] = 0;
divslide["slide2"] = 0;
divslide["slide3"] = 0;
divslide["slide4"] = 0;

var max = 2;

function pageLoad(){
    var el = document.getElementById('slide1');
	if (el) {
		while (el.firstChild) {
			el.removeChild(el.firstChild);
		}
		t = document.getElementById('slide1teaserboxval1');
		t.style.position = 'absolute';
		t.style.zIndex = 2;
		setOpacity(t, 100);
		t.style.visibility = 'visible';
		el.appendChild(t);
		
		t = document.getElementById('slide1teaserboxval2');
		t.style.position = 'absolute';
		t.style.zIndex = 1;
		setOpacity(t, 0);
		el.appendChild(t);		
	}
	
	var el = document.getElementById('slide2');
	if (el) {
		while (el.firstChild) {
			el.removeChild(el.firstChild);
		}
		t = document.getElementById('slide2teaserboxval1');
		t.style.position = 'absolute';
		t.style.zIndex = 2;
		setOpacity(t, 100);
		t.style.visibility = 'visible';
		el.appendChild(t);
		
		t = document.getElementById('slide2teaserboxval2');
		t.style.position = 'absolute';
		t.style.zIndex = 1;
		setOpacity(t, 0);
		el.appendChild(t);		
	}
	
	var el = document.getElementById('slide3');
	if (el) {
		while (el.firstChild) {
			el.removeChild(el.firstChild);
		}
		t = document.getElementById('slide3teaserboxval1');
		t.style.position = 'absolute';
		t.style.zIndex = 2;
		setOpacity(t, 100);
		t.style.visibility = 'visible';
		el.appendChild(t);
		
		t = document.getElementById('slide3teaserboxval2');
		t.style.position = 'absolute';
		t.style.zIndex = 1;
		setOpacity(t, 0);
		el.appendChild(t);		
	}
	
	var el = document.getElementById('slide4');
	if (el) {
		while (el.firstChild) {
			el.removeChild(el.firstChild);
		}
		t = document.getElementById('slide4teaserboxval1');
		t.style.position = 'absolute';
		t.style.zIndex = 2;
		setOpacity(t, 100);
		t.style.visibility = 'visible';
		el.appendChild(t);
		
		t = document.getElementById('slide4teaserboxval2');
		t.style.position = 'absolute';
		t.style.zIndex = 1;
		setOpacity(t, 0);
		el.appendChild(t);		
	}
}


function startFadingIn(slidetitle){

	var el = document.getElementById(slidetitle).childNodes[0];
    var prevEl = document.getElementById(slidetitle).childNodes[1];
    
	el.style.zIndex = 1;
	prevEl.style.zIndex = 2;
	
	var flg = divslide[slidetitle] == 0;
	divslide[slidetitle] = -5;

	if(flg) fadeImage(el, prevEl, slidetitle);
}

function startFadingOut(slidetitle){

	var el = document.getElementById(slidetitle).childNodes[0];
    var prevEl = document.getElementById(slidetitle).childNodes[1];

	el.style.zIndex = 2;
	prevEl.style.zIndex = 1;
	
	var flg = divslide[slidetitle] == 0;
	divslide[slidetitle] = +5;

	if(flg) fadeImage(el, prevEl, slidetitle);
}

function setmouseover(slidetitle){
	startFadingIn(slidetitle);
}

function setmouseout(slidetitle) {
	startFadingOut(slidetitle);	
}

function fadeImage(el,prevEl, slidetitle){
	
		var currentOpacity;
		var newOpacity;
		
		currentOpacity = alphaslide[slidetitle];
		newOpacity = currentOpacity + divslide[slidetitle];
		
		if(newOpacity < 0) newOpacity = 0;
		if(newOpacity > 100) newOpacity = 100;
		
		alphaslide[slidetitle] = newOpacity;
		setOpacity(el, newOpacity);
		setOpacity(prevEl, 100-newOpacity);
				
		if(newOpacity == 0 || newOpacity == 100){
			divslide[slidetitle] = 0;
		} else {
			window.setTimeout(function(){
				fadeImage(el, prevEl, slidetitle);
			}, 40);
		}
	
}

function setOpacity(el, opacity){
    opacity /= 100;
    el.style.opacity = opacity;
    el.style.MozOpacity = opacity;
    el.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
}

window.onload = pageLoad;
