(function($){
	var pluginName	=	"tnt_pages",
		_v			=	{
			cssProps	:	{
				active	:	{
					marginLeft	:	"0%"
				},
				hiddenR	:	{
					marginLeft	:	"100%"
				},
				hiddenL	:	{
					marginLeft	:	"-100%"
				}
			}
		},
		_s			=	{
			speed			:	500,
			pages			:	".slide",
			startingPage	:	0
		},
		_m			=	{
			init	:	function(o) {
				return this.each(function() {
					var $this	=	$(this),
						data	=	$this.data(pluginName);
					if(!data) {
						var s =	$.extend(true,{},_s);
						s = o ? $.extend(true,s,o) : s;
						$.extend(true,s,{
							pageList	:	[],
							currentPage	:	s.startingPage,
							targetPage	:	false
						});
						$.each($(s.pages),function(i,e) {
							if(i == s.startingPage) {
								$(e).css(_v.cssProps.active);
							} else {
								$(e).css(_v.cssProps.hiddenR);
							};
							s.pageList.push($(e));
						});
						$this.data(pluginName,s);
						data = $this.data(pluginName);
					};
				});
			},
			next	:	function() {
				return this.each(function() {
					var $this	=	$(this),
						data	=	$this.data(pluginName);
					if(data && data.pageList[data.currentPage]) {
						data.targetPage = data.pageList[data.currentPage + 1] ? data.currentPage + 1 : 0;
						_m.animate.left.call($this);
					};
				});
			},
			prev	:	function() {
				return this.each(function() {
					var $this	=	$(this),
						data	=	$this.data(pluginName);
					if(data && data.pageList[data.currentPage]) {
						data.targetPage = data.pageList[data.currentPage - 1] ? data.currentPage - 1 : data.pageList.length - 1;
						_m.animate.right.call($this);
					};
				});
			},
			animate	:	{
				left	:	function() {
					return this.each(function() {
						var $this	=	$(this),
							data	=	$this.data(pluginName);
						if(data && data.pageList[data.currentPage] && data.pageList[data.targetPage]) {
							data.pageList[data.targetPage].css(_v.cssProps.hiddenR);
							data.pageList[data.currentPage].animate(_v.cssProps.hiddenL,data.speed);
							data.pageList[data.targetPage].animate(_v.cssProps.active,data.speed);
							data.currentPage = data.targetPage;
						};
					});
				},
				right	:	function() {
					return this.each(function() {
						var $this	=	$(this),
							data	=	$this.data(pluginName);
						if(data && data.pageList[data.currentPage] && data.pageList[data.targetPage]) {
							data.pageList[data.targetPage].css(_v.cssProps.hiddenL);
							data.pageList[data.currentPage].animate(_v.cssProps.hiddenR,data.speed);
							data.pageList[data.targetPage].animate(_v.cssProps.active,data.speed);
							data.currentPage = data.targetPage;
						};
					});
				}
			}
		};
	$.fn[pluginName] = function(m) {
		m = !m ? "init" : m;
		if(typeof m == "object") {
			_m["init"].apply(this,[m]);
		} else if(typeof _m[m] != "undefined") {
			return _m[m].apply(this,arguments);
		};
	};
})(jQuery);

// INITIALIZE
$(function() {
var myForm = $("#form_slides");
myForm
	.tnt_pages()
	.find(".button_next")
	.bind("click",function() {
		myForm.tnt_pages("next");
		return false;
	})
	.end()
	.find(".button_prev")
	.bind("click",function() {
		myForm.tnt_pages("prev");
		return false;
	})
	.end()
	.find(".button_submit")
	.bind("click",function() {
		if(!$(this).hasClass("disabled")) {
			myForm.submit();
			$(this)
				.addClass("disabled")
				.html("Sending...");
		};
		return false;
	});
});
