(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);
