/**
 * Created so that it creates a nicer loading transition.
 */
(function($) {

	$.fn.pldAccordian = function(options) {
		
		var settings;

		settings = {
			speed: 400,
			contentSelector: 'ul',
			headerSelector: 'h5',
			exclusive: true
		};

		this.each(function() {   
			
			if (options) { 
				$.extend(settings, options);
			}

			var $accordion;

			$accordion = $(this);

			$accordion.find('> li ' + settings.contentSelector)
				.each(function() {
					var $this = $(this);

					if (!$this.parent().hasClass('active')) {
						$this.slideUp(settings.speed);
					}
				})
				.end()
				.find(settings.headerSelector)
				.click(function(event, ui) {
					var $this = $(this),
						$parent = $this.parent();

					$accordion
						.find('> li')
						.removeClass('focus');

					$parent.addClass('focus');

					if (settings.exclusive) {
						$accordion
							.find(settings.contentSelector)
							.each(function() {
								var $this = $(this);

								if (!$this.parent().hasClass('focus'))	 {
									$this
										.slideUp(settings.speed)
										.parent()
										.removeClass('active');
								}
							});
					}

					$parent
						.find(settings.contentSelector)
						.slideToggle(settings.speed);

						if ($parent.hasClass('active')) {
							$parent.removeClass('active');
						} else {
							$parent.addClass('active');
						}
				
					event.preventDefault;

				});
		});

		return this;

	};

})(jQuery);
