/* 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(".jFlowControl").length;
		A(this).find(".jFlowControl").each(function (G) {
			A(this).click(function () {
				A(".jFlowControl").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(".jFlowControl").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(".jFlowControl").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(".jFlowPrev").click(function () {
			if (F > 0) {
				F--
			} else {
				F = B - 1
			}
			A(".jFlowControl").removeClass("jFlowSelected");
			A(E.slides).animate({
				marginLeft: "-" + (F * A(E.slides).find(":first-child").width() + "px")
			},
			E.duration);
			A(".jFlowControl").eq(F).addClass("jFlowSelected")
		});
		A(".jFlowNext").click(function () {
			if (F < B - 1) {
				F++
			} else {
				F = 0
			}
			A(".jFlowControl").removeClass("jFlowSelected");
			A(E.slides).animate({
				marginLeft: "-" + (F * A(E.slides).find(":first-child").width() + "px")
			},
			E.duration);
			A(".jFlowControl").eq(F).addClass("jFlowSelected")
		})
	};
	A.fn.jFlow.defaults = {
		easing: "swing",
		duration: 400,
		width: "100%"
	}
})(jQuery);
