        var DDSPEED = 4;
        var DDTIMER = 10;
        var OFFSET = -2;
        var ZINT = 100;

        function ddMenu(id, d) {
            var h = document.getElementById(id + '-ddheader');
            var c = document.getElementById(id + '-ddcontent');
            clearInterval(c.timer);
            if (d == 1) {
                clearTimeout(h.timer);
                c.style.display = 'block';
                if (c.maxh && c.maxh <= c.offsetHeight) { return }
                else if (!c.maxh) {
                    c.style.height = 'auto';
                    c.maxh = c.offsetHeight;
                    c.style.height = '0px';
					
				
                }
                ZINT = ZINT + 1;
                c.style.zIndex = ZINT;
                c.timer = setInterval(function() { ddSlide(c, 1) }, DDTIMER);
            } else {
                ddSlide(c, 1);
                h.timer = setTimeout(function() { ddCollapse(c) }, 50);
            }
        }

        function ddCollapse(c) {
            c.timer = setInterval(function() { ddSlide(c, -1) }, DDTIMER);
        }

        function cancelHide(id) {
            var h = document.getElementById(id + '-ddheader');
            var c = document.getElementById(id + '-ddcontent');
            clearTimeout(h.timer);
            clearInterval(c.timer);
            if (c.offsetHeight < c.maxh) {
                c.timer = setInterval(function() { ddSlide(c, 1) }, DDTIMER);
            }
        }

        function ddSlide(c, d) {
            var currh = c.offsetHeight;
            var dist;
            if (d == 1) {
                dist = Math.round((c.maxh - currh) / DDSPEED);
            } else {
                dist = Math.round(currh / DDSPEED);
            }
            if (dist <= 1 && d == 1) {
                dist = 1;
            }
            c.style.height = currh + (dist * d) + 'px';
            c.style.opacity = currh / c.maxh;
            c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
            if (currh > (c.maxh - 2) && d == 1) {
                clearInterval(c.timer);
            } else if (dist < 1 && d != 1) {
                clearInterval(c.timer);
                c.style.display = 'none';
            }
        }

