(function($){
    $.fn.makeFAQ = function(options) {
        var defaults = {
            indexTitle: "Index",
            faqHeader: ":header",
            displayIndex: true
        };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var $obj = $(this);
            $obj.wrap("<div id='faqRoot'></div>");
            if(options.displayIndex) {
                $obj.before("<div id='faqindex'><h2>" + options.indexTitle + "</h2><ul></ul></div>");
            };
            var $faqEntries = $obj.children(options.faqHeader);
            var i = 0;
            $faqEntries.each(function () {
                var $entry = $(this);
                var entryName = $entry.text();
                var entryNameSafe = entryName.replace(/\W/g,"") + i;
                i++;
                var itemHTML = "<li><a id='" + entryNameSafe.toString() + "Index' href='#" + entryNameSafe.toString() + "' >" + entryName + "</a></li>";
                $('#faqindex ul').append(itemHTML);
                if(options.displayIndex) {
                    $('#' + entryNameSafe.toString() + 'Index').click( function(){ 
                        $('#' + entryNameSafe.toString()).next('span').slideDown('fast');
                        $('#' + entryNameSafe.toString()).addClass('faqopened');
                     });
                };
                $entry.next("div").addClass('faqcontent');
                $entry.attr({
                    title: "Click to expand/collapse",
                    name: entryNameSafe,
                    id: entryNameSafe                    
                    })
                    .addClass("faqclosed")
                    
                    .click( function() {
                        $entry.next('div').slideToggle('fast');
                        $entry.toggleClass('faqopened');
                        })
                        .next('div').css({ 
                            display: "none"
                        });
            });

        });
    };
})(jQuery);

jQuery(document).ready(function() {
	jQuery('#faq').makeFAQ({ displayIndex: false }); 
}); 