(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'><h3>" + options.indexTitle + "</h3><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 });
}); 