YAHOO.util.Event.onDOMReady(function()
{
    var dom = YAHOO.util.Dom;
    var event = YAHOO.util.Event;

    var els = dom.getElementsByClassName('switch_display_wrapper', 'div');

    for (var i = 0; i < els.length; i++) {
        var el = els[i];

        var switchLink = dom.get(dom.getElementsByClassName('switch_display_link', 'a', el)[0]);
        var switchContent = dom.get(dom.getElementsByClassName('switch_display_content', 'div', el)[0]);

        switchContent.scaleHeight = switchContent.offsetHeight;
        dom.setStyle(switchContent, 'height', '0px');
        dom.setStyle(switchContent, 'display', 'none');

        if (switchLink && switchContent) {
            var scopeObj = {
                switchLink    : switchLink,
                switchContent : switchContent,
                wrapperEl     : el
            };

            event.addListener(switchLink, 'click', function(e) {
                event.stopEvent(e);

                if (dom.hasClass(this.switchLink, 'switchLinkOpened')) {
                    var anim = new YAHOO.util.Anim(this.switchContent, {
                        height: { to: 0 }
                    }, 0.5, YAHOO.util.Easing.easeOut);
                    anim.onStart.subscribe(function(s, o) {
                        this.switchContent.scaleHeight = this.switchContent.offsetHeight;
                        dom.removeClass(this.switchLink, 'switchLinkOpened');
                    }, this, true);
                    anim.onComplete.subscribe(function(s, o) {
                        dom.setStyle(this.switchContent, 'display', 'none');
                    }, this, true);
                    anim.animate();
                } else {
                    var anim = new YAHOO.util.Anim(this.switchContent, {
                        height: { to: parseInt(this.switchContent.scaleHeight) }
                    }, 0.5, YAHOO.util.Easing.easeOut);
                    anim.onStart.subscribe(function(s, o) {
                        dom.setStyle(this.switchContent, 'display', 'block');
                        dom.addClass(this.switchLink, 'switchLinkOpened');
                    }, this, true);
                    anim.onComplete.subscribe(function(s, o) {
                        if (YAHOO.env.ua.ie != 6) {
                            dom.setStyle(this.switchContent, 'height', 'auto');
                        }
                    }, this, true);
                    anim.animate();
                }
            }, scopeObj, true);
        }
    }
});

