/*
 * 	loopedSlider 0.5.5 - jQuery plugin
 *	written by Nathan Searles	
 *	http://nathansearles.com/loopedslider/
 *
 *	Copyright (c) 2009 Nathan Searles (http://nathansearles.com/)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *	Works with jQuery version 1.3+
 *
 */
(function(jQuery){jQuery.fn.loopedSlider=function(options){var defaults={container:".container",slides:".slides",pagination:"pagination",containerClick:false,autoStart:0,restart:0,slidespeed:300,fadespeed:200,autoHeight:0,addPagination:false};this.each(function(){var obj=jQuery(this);var o=jQuery.extend(defaults,options);var distance=0;var times=1;var slides=jQuery(o.slides,obj).children().size();var width=jQuery(o.slides,obj).children().outerWidth();var position=0;var active=false;var number=0;var interval=0;var restart=0;var pagination=jQuery("."+o.pagination+" li a",obj);if(o.addPagination&&!jQuery(pagination).length){var buttons=slides;jQuery(obj).append("<ul class="+o.pagination+">");jQuery(o.slides,obj).children().each(function(){if(number<buttons){jQuery("."+o.pagination,obj).append("<li><a rel="+(number+1)+" href=\"#\" >"+(number+1)+"</a></li>");number=number+1}else{number=0;return false}jQuery("."+o.pagination+" li a:eq(0)",obj).parent().addClass("active")});pagination=jQuery("."+o.pagination+" li a",obj)}else{jQuery(pagination,obj).each(function(){number=number+1;jQuery(this).attr("rel",number);jQuery(pagination.eq(0),obj).parent().addClass("active")})}if(slides===1){jQuery(o.slides,obj).children().css({position:"absolute",left:position,display:"block"});return}jQuery(o.slides,obj).css({width:(slides*width)});jQuery(o.slides,obj).children().each(function(){jQuery(this).css({position:"absolute",left:position,display:"block"});position=position+width});jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});if(slides>3){jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width})}if(o.autoHeight){autoHeight(times)}jQuery(".next",obj).click(function(){if(active===false){animate("next",true);if(o.autoStart){if(o.restart){autoStart()}else{clearInterval(sliderIntervalID)}}}return false});jQuery(".previous",obj).click(function(){if(active===false){animate("prev",true);if(o.autoStart){if(o.restart){autoStart()}else{clearInterval(sliderIntervalID)}}}return false});if(o.containerClick){jQuery(o.container,obj).click(function(){if(active===false){animate("next",true);if(o.autoStart){if(o.restart){autoStart()}else{clearInterval(sliderIntervalID)}}}return false})}jQuery(pagination,obj).click(function(){if(jQuery(this).parent().hasClass("active")){return false}else{times=jQuery(this).attr("rel");jQuery(pagination,obj).parent().siblings().removeClass("active");jQuery(this).parent().addClass("active");animate("fade",times);if(o.autoStart){if(o.restart){autoStart()}else{clearInterval(sliderIntervalID)}}}return false});if(o.autoStart){sliderIntervalID=setInterval(function(){if(active===false){animate("next",true)}},o.autoStart);function autoStart(){if(o.restart){clearInterval(sliderIntervalID,interval);clearTimeout(restart);restart=setTimeout(function(){interval=setInterval(function(){animate("next",true)},o.autoStart)},o.restart)}else{sliderIntervalID=setInterval(function(){if(active===false){animate("next",true)}},o.autoStart)}}}function current(times){if(times===slides+1){times=1}if(times===0){times=slides}jQuery(pagination,obj).parent().siblings().removeClass("active");jQuery(pagination+"[rel='"+(times)+"']",obj).parent().addClass("active")};function autoHeight(times){if(times===slides+1){times=1}if(times===0){times=slides}var getHeight=jQuery(o.slides,obj).children(":eq("+(times-1)+")",obj).outerHeight();jQuery(o.container,obj).animate({height:getHeight},o.autoHeight)};function animate(dir,clicked){active=true;switch(dir){case"next":times=times+1;distance=(-(times*width-width));current(times);if(o.autoHeight){autoHeight(times)}if(slides<3){if(times===3){jQuery(o.slides,obj).children(":eq(0)").css({left:(slides*width)})}if(times===2){jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:width})}}jQuery(o.slides,obj).animate({left:distance},o.slidespeed,function(){if(times===slides+1){times=1;jQuery(o.slides,obj).css({left:0},function(){jQuery(o.slides,obj).animate({left:distance})});jQuery(o.slides,obj).children(":eq(0)").css({left:0});jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width})}if(times===slides)jQuery(o.slides,obj).children(":eq(0)").css({left:(slides*width)});if(times===slides-1)jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({left:(slides*width-width)});active=false});break;case"prev":times=times-1;distance=(-(times*width-width));current(times);if(o.autoHeight){autoHeight(times)}if(slides<3){if(times===0){jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:(-width)})}if(times===1){jQuery(o.slides,obj).children(":eq(0)").css({position:"absolute",left:0})}}jQuery(o.slides,obj).animate({left:distance},o.slidespeed,function(){if(times===0){times=slides;jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:(slides*width-width)});jQuery(o.slides,obj).css({left:-(slides*width-width)});jQuery(o.slides,obj).children(":eq(0)").css({left:(slides*width)})}if(times===2)jQuery(o.slides,obj).children(":eq(0)").css({position:"absolute",left:0});if(times===1)jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});active=false});break;case"fade":times=[times]*1;distance=(-(times*width-width));current(times);if(o.autoHeight){autoHeight(times)}jQuery(o.slides,obj).children().fadeOut(o.fadespeed,function(){jQuery(o.slides,obj).css({left:distance});jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({left:slides*width-width});jQuery(o.slides,obj).children(":eq(0)").css({left:0});if(times===slides){jQuery(o.slides,obj).children(":eq(0)").css({left:(slides*width)})}if(times===1){jQuery(o.slides,obj).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width})}jQuery(o.slides,obj).children().fadeIn(o.fadespeed);active=false});break;default:break}}})}})(jQuery);