/***************************************/
// jQuery Tabber
// By Jordan Boesch
// www.boedesign.com
// Dec 25, 2007 (Merry Christmas!)
/** ************************************ */

(function($) {

	$.jtabber = function(params) {

		// parameters
		var navDiv = params.mainLinkTag;
		var selectedClass = params.activeLinkClass;
		var hiddenContentDiv = params.hiddenContentClass;
		var showDefaultTab = params.showDefaultTab;
		var showErrors = params.showErrors;
		var effect = params.effect;
		var effectSpeed = params.effectSpeed;

		// If error checking is enabled
		if (showErrors) {
			if (!$(navDiv).attr('title')) {
				alert("ERROR: The elements in your mainLinkTag paramater need a 'title' attribute.\n ("
						+ navDiv + ")");
				return false;
			} else if (!$("." + hiddenContentDiv).attr('id')) {
				alert("ERROR: The elements in your hiddenContentClass paramater need to have an id.\n (."
						+ hiddenContentDiv + ")");
				return false;
			}
		}

		// If we want to show the first block of content when the page loads
		if (!isNaN(showDefaultTab)) {
			showDefaultTab--;
			$("." + hiddenContentDiv + ":eq(" + showDefaultTab + ")").css(
					'display', 'block');
			$(navDiv + ":eq(" + showDefaultTab + ")").addClass(selectedClass);
		}

		// each anchor
		$(navDiv).each(function() {

			$(this).click(function() {
				// once clicked, remove all classes
				$(navDiv).each(function() {
					$(this).removeClass();
				})
				// hide all content
				$("." + hiddenContentDiv).css('display', 'none');

				// now lets show the desired information
				$(this).addClass(selectedClass);
				var contentDivId = $(this).attr('title');

				if (effect != null) {

					switch (effect) {

					case 'slide':
						$("#" + contentDivId).slideDown(effectSpeed);
						break;
					case 'fade':
						$("#" + contentDivId).fadeIn(effectSpeed);
						break;

					}

				} else {
					$("#" + contentDivId).css('display', 'block');
				}
				return false;
			})
		})

	}

})(jQuery);
