/* Copyright (c) 2008 Kean Loong Tan http://www.gimiti.com/kltan
 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * jFlow
 * Version: 1.1 (May 22, 2008)
 * Requires: jQuery 1.2+
 */
(function(A) {
	A.fn.jFlow = function(D) {
		var E = A.extend({}, A.fn.jFlow.defaults, D);
		var F = 0;
		var B = A(".navcntrl").length;
		A(this)
				.find(".navcntrl")
				.each(
						function(G) {
							A(this)
									.click(
											function() {
												A(".navcntrl").removeClass(
														"jFlowSelected");
												A(this).addClass(
														"jFlowSelected");
												var H = Math.abs(F - G);
												A(E.slides)
														.animate(
																{
																	marginLeft : "-"
																			+ (G
																					* A(
																							E.slides)
																							.find(
																									":first-child")
																							.width() + "px")
																},
																E.duration
																		* (H));
												F = G
											})
						});
		A(E.slides).before('<div id="jFlowSlide"></div>').appendTo(
				"#jFlowSlide");
		A(E.slides).find("div").each(
				function() {
					A(this).before('<div class="jFlowSlideContainer"></div>')
							.appendTo(A(this).prev())
				});
		A(".navcntrl").eq(F).addClass("jFlowSelected");
		var C = function(G) {
			A("#jFlowSlide").css({
				position : "relative",
				width : E.width,
				height : E.height,
				overflow : "hidden"
			});
			A(E.slides).css(
					{
						position : "relative",
						width : A("#jFlowSlide").width()
								* A(".navcntrl").length + "px",
						height : A("#jFlowSlide").height() + "px",
						overflow : "hidden"
					});
			A(E.slides).children().css({
				position : "relative",
				width : A("#jFlowSlide").width() + "px",
				height : A("#jFlowSlide").height() + "px",
				"float" : "left"
			});
			A(E.slides)
					.css(
							{
								marginLeft : "-"
										+ (F
												* A(E.slides).find(
														":first-child").width() + "px")
							})
		};
		C();
		A(window).resize(function() {
			C()
		});
		A(".navcntrlprev")
				.click(
						function() {
							if (F > 0) {
								F--
							} else {
								F = B - 1
							}
							A(".navcntrl").removeClass("jFlowSelected");
							A(E.slides)
									.animate(
											{
												marginLeft : "-"
														+ (F
																* A(E.slides)
																		.find(
																				":first-child")
																		.width() + "px")
											}, E.duration);
							A(".navcntrl").eq(F).addClass("jFlowSelected")
						});
		A(".navcntrlnext")
				.click(
						function() {
							if (F < B - 1) {
								F++
							} else {
								F = 0
							}
							A(".navcntrl").removeClass("jFlowSelected");
							A(E.slides)
									.animate(
											{
												marginLeft : "-"
														+ (F
																* A(E.slides)
																		.find(
																				":first-child")
																		.width() + "px")
											}, E.duration);
							A(".navcntrl").eq(F).addClass("jFlowSelected")
						})
	};
	A.fn.jFlow.defaults = {
		easing : "swing",
		duration : 400,
		width : "100%"
	}
})(jQuery);
