﻿// Helper code for pages with FAQ lists
$(function() {
  // Initialize the FAQ display
  var lists = $('.faqList');
  var faqs = lists.find('dl');

  faqs.addClass('closed');

  var toggleFaq = function(e, show) {
    var faq = $(this).closest('dl');
    var closeIt = !faq.hasClass('closed');
    if (show != null) closeIt = !show;
    if (!closeIt) {
      if (faq.hasClass('closed')) {
        // Open the item
        faq.find('dd').show('slide', { direction: 'up' }, 'normal');
        faq.removeClass('closed');
      }
    } else {
      if (!faq.hasClass('closed')) {
        // Close the item
        faq.find('dd').hide('slide', { direction: 'up' }, 'normal');
        faq.addClass('closed');
      }
    }
  };

  $('#showAll').click(function(e) {
    e.preventDefault();
    e.stopPropagation();
    faqs.find('dt').each(function() {
      toggleFaq.call($(this), e, true);
    });
  });
  $('#hideAll').click(function(e) {
    e.preventDefault();
    e.stopPropagation();
    faqs.find('dt').each(function() {
      toggleFaq.call($(this), e, false);
    });
  });

  faqs.find('dt, dd span').click(toggleFaq);

  lists.show();
});

