(function($) {
	var count_temp =1;
	var count=0;
	$.fn.jCarouselLite = function(o) {
		o = $.extend( {
			btnPrev : null,
			btnNext : null,
			btnGo : null,
			mouseWheel : false,
			auto : null,
			speed : 200,
			easing : null,
			vertical : false,
			circular : true,
			visible : 3,
			start : 0,
			scroll : 1,
			beforeStart : null,
			afterEnd : null
		}, o || {});
		return this
				.each(function() {
					var b = false, animCss = o.vertical ? "top" : "left", sizeCss = o.vertical ? "height"
							: "width";
					var c = $(this), ul = $("ul", c), tLi = $("li", ul), tl = tLi
							.size(), v = o.visible;
					if (o.circular) {
						ul.prepend(tLi.slice(tl - v - 1 + 1).clone()).append(
								tLi.slice(0, v).clone());
						o.start += v;
					}
					if (tl == 1) {
						$(o.btnNext).addClass("disabled");
						$(o.btnPrev).addClass("disabled");
					} else {
						$(o.btnPrev).addClass("disabled");
						$(o.btnNext).removeClass("disabled");
					}
					var f = $("li", ul), itemLength = f.size(), curr = o.start;
					c.css("visibility", "visible");
					f.css( {
						overflow : "hidden",
						float : o.vertical ? "none" : "left"
					});
					ul.css( {
						margin : "0",
						padding : "0",
						position : "relative",
						"list-style-type" : "none",
						"z-index" : "1"
					});
					c.css( {
						overflow : "hidden",
						position : "relative",
						"z-index" : "2",
						left : "0px"
					});
					var g = o.vertical ? height(f) : width(f);
					var h = g * itemLength;
					var j = g * v;
					var hh = $(f[0]).height();
					for ( var i = 1, l = f.length; i < l; i++) {
						hh = Math.max(hh, $(f[i]).height());
					}
					f.css( {
						width : f.width(),
						height : hh
					});
					ul.css(sizeCss, h + "px").css(animCss, -(curr * g));
					c.css(sizeCss, j + "px");
					if (o.btnPrev)
						$(o.btnPrev).click(function() {
							return go(curr - o.scroll);
						});
					if (o.btnNext)
						$(o.btnNext).click(function() {
							return go(curr + o.scroll);
						});
					if (o.btnGo)
						$.each(o.btnGo, function(i, a) {
							$(a).click(function() {
								return go(o.circular ? o.visible + i : i);
							});
						});
					if (o.mouseWheel && c.mousewheel)
						c.mousewheel(function(e, d) {
							return d > 0 ? go(curr - o.scroll) : go(curr
									+ o.scroll);
						});
					if (o.auto)
						setInterval(function() {
							go(curr + o.scroll);
						}, o.auto + o.speed);
					function vis() {
						return f.slice(curr).slice(0, v);
					}
					;
					function go(a) {
						if (!b) {
							if (o.beforeStart)
								o.beforeStart.call(this, vis());
							if (o.circular) {
								if (a <= o.start - v - 1) {
									ul.css(animCss,
											-((itemLength - (v * 2)) * g)
													+ "px");
									curr = a == o.start - v - 1 ? itemLength
											- (v * 2) - 1 : itemLength
											- (v * 2) - o.scroll;
								} else if (a >= itemLength - v + 1) {
									ul.css(animCss, -((v) * g) + "px");
									curr = a == itemLength - v + 1 ? v + 1 : v
											+ o.scroll;
								} else
									curr = a;
							} else {
								if (a < 0 || a > itemLength - v)
									return;
								else
									curr = a;
							}
							b = true;
							ul.animate(animCss == "left" ? {
								left : -(curr * g)
							} : {
								top : -(curr * g)
							}, o.speed, o.easing, function() {
								if (o.afterEnd)
									o.afterEnd.call(this, vis());
								b = false;
							});
							if (!o.circular) {
								$(o.btnPrev + "," + o.btnNext).removeClass(
										"disabled");
								$(
										(curr - o.scroll < 0 && o.btnPrev)
												|| (curr + o.scroll > itemLength
														- v && o.btnNext) || [])
										.addClass("disabled");
							}
						}
						return false;
					}
				});
	};
	
	$.fn.jCarouselLite1 = function(op) {
		op = $.extend( {
			btnPrev : null,
			btnNext : null,
			btnGo : null,
			mouseWheel : false,
			auto : null,
			speed : 200,
			easing : null,
			vertical : false,
			circular : true,
			visible : 3,
			start : 0,
			scroll : 1,
			beforeStart : null,
			afterEnd : null
		}, op || {});
		return this.each(function() {
			count_temp=count_temp;
					var b = false, animCss = op.vertical ? "top" : "left", sizeCss = op.vertical ? "height"
							: "width";
					var c = $(this), ul = $("ul", c), tLi = $("li", ul), tl = tLi
							.size(), v = op.visible;
					if (op.circular) {
						ul.prepend(tLi.slice(tl - v - 1 + 1).clone()).append(
								tLi.slice(0, v).clone());
						op.start += v;
					}
					if (tl == 1) {
						$(op.btnNext).addClass("disabled");
						$(op.btnPrev).addClass("disabled");
					} else {
						$(op.btnPrev).addClass("disabled");
						$(op.btnNext).removeClass("disabled");
					}
					var f = $("li", ul), itemLength = f.size(), curr = op.start;

					c.css("visibility", "visible");
					f.css( {
						overflow : "hidden",
						float : op.vertical ? "none" : "left"
					});
					ul.css( {
						margin : "0",
						padding : "0",
						position : "relative",
						"list-style-type" : "none",
						"z-index" : "1"
					});
					c.css( {
						overflow : "hidden",
						position : "relative",
						"z-index" : "2",
						left : "0px"
					});
					var g = op.vertical ? height(f) : width(f);
					var h = g * itemLength;
					var j = g * v;
					var hh = $(f[0]).height();
					for ( var i = 1, l = f.length; i < l; i++) {
						hh = Math.max(hh, $(f[i]).height());
					}
					f.css( {
						width : f.width(),
						height : hh
					});
					ul.css(sizeCss, h + "px").css(animCss, -(curr * g));
					c.css(sizeCss, j + "px");
					if (op.btnPrev){
						$(op.btnPrev).click(function() {
							if(count_temp!=count){
								count_temp++;
							}else{
								count_temp=1;
								return go(curr - op.scroll);
							}
							
		
						});
						count++;
					}
					if (op.btnNext)
						$(op.btnNext).click(function() {
							ul = $("ul", c), tLi = $("li", ul), tl = tLi
							.size();
							if (tl == 2 && (curr + op.scroll)>=2) {
								return;
							}
			
							return go(curr + op.scroll);
						});
					if (op.btnGo)
						$.each(op.btnGo, function(i, a) {
							$(a).click(function() {
								return go(op.circular ? op.visible + i : i);
							});
						});
					if (op.mouseWheel && c.mousewheel)
						c.mousewheel(function(e, d) {
							return d > 0 ? go(curr - op.scroll) : go(curr
									+ op.scroll);
						});
					if (op.auto)
						setInterval(function() {
							go(curr + op.scroll);
						}, op.auto + op.speed);
					function vis() {
						return f.slice(curr).slice(0, v);
					}
					;
					function go(a) {
						if (!b) {
							if (op.beforeStart)
								op.beforeStart.call(this, vis());
							if (op.circular) {
								if (a <= op.start - v - 1) {
									ul.css(animCss,
											-((itemLength - (v * 2)) * g)
													+ "px");
									curr = a == op.start - v - 1 ? itemLength
											- (v * 2) - 1 : itemLength
											- (v * 2) - op.scroll;
								} else if (a >= itemLength - v + 1) {
									ul.css(animCss, -((v) * g) + "px");
									curr = a == itemLength - v + 1 ? v + 1 : v
											+ op.scroll;
								} else
									curr = a;
							} else {
								if (a < 0 || a > itemLength - v)
									return;
								else
									curr = a;
							}
							b = true;
							ul.animate(animCss == "left" ? {
								left : -(curr * g)
							} : {
								top : -(curr * g)
							}, op.speed, op.easing, function() {
								if (op.afterEnd)
									op.afterEnd.call(this, vis());
								b = false;
							});
							if (!op.circular) {
								$(op.btnPrev + "," + op.btnNext).removeClass(
										"disabled");
								$(
										(curr - op.scroll < 0 && op.btnPrev)
												|| (curr + op.scroll > itemLength
														- v && op.btnNext) || [])
										.addClass("disabled");
							}
						}
						return false;
					}
				});
	};
	function css(a, b) {
		return parseInt($.css(a[0], b)) || 0;
	}
	;
	function width(a) {
		return a[0].offsetWidth + css(a, 'marginLeft') + css(a, 'marginRight');
	}
	;
	function height(a) {
		return a[0].offsetHeight + css(a, 'marginTop') + css(a, 'marginBottom');
	}
})(jQuery);
