/**
* @author: tom.bran[]gmail-com
* @version: 0.9.8
* edited: August '10
* stripped down by: Viaduct AB
* plugin name: vdcCarouSlide
*/
(function($){$.fn.vdcCarouSlide=function(userConfig)
{$.fn.vdcCarouSlide.config={slideTime:5000,animTime:1000,autoAnim:true,sliderHolder:".slider-holder",navContainer:".slider-nav"};function methods()
{this.props={};var $m=this;this.gotoSlide=function(pos,direct,dir)
{pos=parseInt(pos);if(pos!=$m.props.currentSlide)
{$m.props.animReady=false;$m.props.prevSlide=$m.props.currentSlide;$m.props.direction=dir;$m.props.direct=direct;$m.props.animQueue=null;$m.props.oldPos=$m.props.currentSlide;$m.props.newPos=null;if($m.props.direct)
{if($m.props.autoAnim&&$m.props.animState=="play")
{$m.resetTimer();}
$m.props.currentSlide=pos;}
else
{$m.props.currentSlide+=dir;if($m.props.currentSlide>=$m.props.sCount){$m.props.currentSlide=pos=0;}
if($m.props.currentSlide<0){$m.props.currentSlide=pos=$m.props.sCount-1;}}
$m.setNavActive($m.props.currentSlide);var $current=$m.props.sUL.find("> li:eq("+$m.props.currentSlide+")");var $prev=$m.props.sUL.find("> li:eq("+$m.props.prevSlide+")");$current.css("z-index","100").animate({"opacity":"1"},$m.props.animTime,'swing',$m.transAnimCallback);$prev.css("z-index","10");$('.text',$current).css({'bottom':0});$('.text,',$prev).animate({'bottom':'-65'},500,'swing');}};this.transAnimCallback=function()
{var $prev=$m.props.sUL.find("> li:eq("+$m.props.prevSlide+")");if($prev!=null)$prev.css("opacity","0");var $current=$m.props.sUL.find("> li:eq("+$m.props.currentSlide+")");$('.text',$current).css('display','block');$m.props.direct=null;$m.props.animReady=true;if($m.props.animQueue!==null)
{$m.gotoSlide($m.props.animQueue,true,null);}};this.setNavActive=function(id)
{$("li",$m.props.navContainer).removeClass("active");$("> li:eq("+id+")",$m.props.navContainer).addClass("active");};this.timerFunc=function()
{$m.gotoSlide($m.props.currentSlide+1,false,1);};this.resetTimer=function(startNow)
{clearInterval($m.props.timer);$m.props.timer=setInterval($m.timerFunc,$m.props.slideTime+$m.props.animTime);if(startNow)
{$m.timerFunc();}};this.resetAllSlidePositions=function()
{for(var i=0;i<$m.props.sCount;i++)
{$(".s-id-"+i,$m.props.sUL).remove().appendTo($m.props.sUL);}};this.setSlideOrder=function(focusOn)
{var firstSlide=(focusOn-1<0?$m.props.sCount-1:focusOn-1);for(var i=0;i<$m.props.sCount;i++)
{var thisSlide=firstSlide+i;if(thisSlide>=$m.props.sCount){thisSlide-=$m.props.sCount;}
$(".s-id-"+thisSlide,$m.props.sUL).remove().appendTo($m.props.sUL);}};this.buildNav=function()
{var $nav=$m.props.sUL.after('<ul class="'+$m.props.navContainerTitle+'" />');var $slides=$m.props.sUL.find("> li");var slideNavContent="";for(var i=0;i<$m.props.sCount;i++)
{var ref=$slides.attr("id");slideNavContent+='<li><a href="#'+ref+'">Slide '+(i+1)+'</a></li>';}
$("."+$m.props.navContainerTitle,$m.props.sContainer).append(slideNavContent);}
this.init=function(root){$m.props.sContainer=root;$($m.props.sliderHolder,$m.props.sContainer).wrap("<div class='slider-wrapper' />");$m.props.sWrapper=($(".slider-wrapper",root));$("> ul",$m.props.sWrapper).addClass("s-active");$m.props.timer=null;$m.props.prevSlide=null;$m.props.currentSlide=0;$m.props.sRef=$($(".vdcCarouSlide")).index($m.props.sContainer);$m.props.animReady=true;$m.props.animState=!$m.props.autoAnim?"pause":"play";$m.props.sUL=$(".s-active",$m.props.sWrapper);$m.props.sUL.find("> li",$m.props.sWrapper).each(function(id){$(this).addClass("slide").addClass("s-id-"+id);});$m.props.sCount=$(".s-active > li",$m.props.sWrapper).size();$m.props.sWidth=$(".s-active > li",$m.props.sWrapper).outerWidth();$m.props.sHeight=$(".s-active > li",$m.props.sWrapper).outerHeight();$m.props.navContainerTitle=$m.props.navContainer.split(".")[1];if(!$m.props.sContainer.find($m.props.navContainer).size())
{$m.buildNav();}
$m.props.navContainer=$m.props.sContainer.find($m.props.navContainer);$("> li:first",$m.props.navContainer).addClass("active");$("> li",$m.props.sUL).css({"opacity":"0","position":"absolute","left":0,"top":0,"z-index":10});$("> li:first",$m.props.sUL).css({"z-index":"100","opacity":"1"});if($m.props.autoAnim)
{$m.resetTimer();}};}
return this.each(function(id,root)
{var $m=new methods();$m.props=$.extend({},$.fn.vdcCarouSlide.config,userConfig);$m.init($(this));function slideLinkAction()
{var pos=$(this).attr("rel");if($m.props.animReady)
{$m.gotoSlide(pos,true,null);}
else
{$m.props.animQueue=pos;}}
$("> li a",$m.props.navContainer).each(function(pos)
{$(this).attr({"rel":pos}).bind("mouseover",slideLinkAction);});var $allSlides=$("li.slide",$m.props.sContainer);for(var i=0;i<$allSlides.length;i++)
{var s=$(".s-id-"+i,$m.props.sContainer);var ref=s.attr("id");$("a[href=#"+ref+"]").attr({"href":"javascript:;","rel":i}).bind("click",slideLinkAction);};});};})(jQuery);
