(function ($) {

    $(document).ready(function () {

 
        Panel = $.klass({

            visible: false,
            
            initialize: function (options) {
                var self = this;

                if (this.element.hasClass('infoPanel')) {
                    this.visible = true;
                };

                $(document).bind('tabchange', function(evt, o) {
                    self.visible = ! self.visible;
                    if (self.visible) {
                        var tab = self.element.attr('class').match(/info|gda/g).pop();
                        o.callback.call(o.scope, tab);
                    };
                    self.setVisible.call(self);
                });
                this.setVisible();
                this.addTrigger();
                return this;
            },

            setVisible: function() {
                if (! this.visible) {
                    return this.element.hide();
                } else {
                    return this.element.fadeIn(500);
                };
            },


            addTrigger: function() {
                var link = $('#panelTrigger');
                if (link.length === 0) {
                    this.element.closest('.gutter')
                        .append('<a href="#" class="gda" id="panelTrigger">Next</a>');
                };
            }

        });


        Trigger = $.klass({

            visible: null,
            
            initialize: function () {},

            onclick: function() {
                $(document).trigger('tabchange', {callback: this.setImage, scope: this});
                return false;
            },


            setImage: function(currentTab) {
                //console.log(arguments);
                this.element.attr('class', currentTab === 'info' ? 'gda' : 'info');
            }

        });

        $('#panelTrigger').attach(Trigger);

    });

})(jQuery);