jQuery.fn.extend({
    haccordion: function(params) {
        var jQ = jQuery;
        var params = jQ.extend({
            speed: 500,
            headerclass: "header",
            contentclass: "content",
            contentwidth: 370,
            openone: 0
        }, params);
        return this.each(function(index) {
            jQ("." + params.headerclass, this).each(function(index) {
                if (index == params.openone) {
                    var p = jQ(this).parent()[0];
                    p.opened = this;
                    jQ(this).next("div." + params.contentclass).animate({
                        width: params.contentwidth + "px"
                    }, params.speed);
                }
            }).click(function() {
                var p = jQ(this).parent()[0];
                if (p.opened != "undefined") {
                    jQ(p.opened).next("div." + params.contentclass).animate({
                        width: "0px"
                    }, params.speed);
                }
                p.opened = this;
                jQ(this).next("div." + params.contentclass).animate({
                    width: params.contentwidth + "px"
                }, params.speed);
            });
        });
    }
});  
