/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 * Debug Version
 */
(function($){
    $.fn.jaccordion=function(opts){
        var o={
            action:"click",
            active:"active",
            menu:false,
            collapse:false,
            speed:"slow",
            op:$.noop,
            opAll:$.noop
        };
        this.activate=function(ixs){
            if(ixs!=undefined){
                if($.isArray(ixs)){
                    for(var i=0;i<ixs.length;i++){
                        o.op(ixs[i]);
                    }
                }else{
                    i>0?o.op(ixs):o.opAll();
                }
            }
        };
        return this.each(function(){
            if(opts){
                $.extend(o,opts);
            }
            $this=$(this);
            var $pans=$this.children("div").css("display","none");
            var $heads=$this.children("h3");
            o.opAll=function(){
                for(var i=0;i<$pans.length;i++){
                    o.op(i);
                }
            };
            o.op=function(i){
                if(i<$pans.length){
                    $($heads[i]).addClass(o.active);
                    $($pans[i]).slideDown(o.speed);
                }
            };
            if(o.open!=undefined){
                o.op(o.open);
            }
            $heads.bind(o.action, function(evt){
                evt.preventDefault();
                var i=$.inArray(this, $heads);
                var $cp=$($pans[i]);
                var $ch=$(this);
                if(!o.menu){
                    $heads.not($ch).removeClass(o.active);
                    $pans.not($cp).slideUp(o.speed);
                }
                if(o.menu||o.collapse){
                    $ch.toggleClass(o.active);
                    $cp.slideToggle(o.speed);
                }else{
                    $ch.addClass(o.active);
                    $cp.slideDown(o.speed);
                }
            });
        });
    };
})(jQuery);
