(function(a){a.fn.extend({infiniteCarousel:function(b){var c={transitionSpeed:800,displayTime:6000,textholderHeight:0.25,displayProgressBar:true,displayThumbnails:true,displayThumbnailNumbers:true,displayThumbnailBackground:true,thumbnailWidth:"20px",thumbnailHeight:"20px",thumbnailFontSize:".7em",easeLeft:"linear",easeRight:"linear",imagePath:"/js/infinitecarousel/images/",inView:1,padding:"0px",advance:1,showControls:true,autoHideControls:false,autoHideCaptions:false,autoStart:true,prevNextInternal:true,enableKeyboardNav:true,onSlideStart:function(){},onSlideEnd:function(){},onPauseClick:function(){}};var b=a.extend(c,b);return this.each(function(){var G=Math.round(Math.random()*100000000);var w=b;var s=a(this);var t=w.autoStart;var z=a("img",s).length;var C=a("img:first",s).height();var n=a("img:first",s).width();if(w.inView>z-1){w.inView=z-1}a("p",s).hide();a(s).css({position:"relative",overflow:"hidden"}).width((n*w.inView)+(w.inView*parseInt(w.padding)*2)).height(C+(parseInt(w.padding)*2));a("ul",s).css({"list-style":"none",margin:"0",padding:"0",position:"relative"}).width(n*z);a("li",s).css({display:"inline","float":"left",padding:w.padding});a("li:last",s).prependTo(a("ul",s));a("ul",s).css("left",-n-(parseInt(w.padding)*2)+"px").width(9999);if(w.displayProgressBar){a(s).append('<div id="progress'+G+'" class="ic-progress-bar" style="position:absolute;bottom:0;background:#bbb;left:0;z-index:1"></div>');a("#progress"+G).width("100%").height(5).css("opacity",".6")}function f(o){o=(o==null)?w.displayTime:o;a("#progress"+G).width("100%").height(5);a("#progress"+G).animate({width:0},o)}var l=parseInt(a(s).css("border-bottom-width"))+parseInt(a(s).css("border-top-width"));if(isNaN(l)){l=0}var g=parseInt(a(s).css("padding-left"));for(i=1;i<=w.inView;i++){a(s).append('<div id="textholder'+G+"_"+i+'" class="textholder" style="position:absolute;width:'+n+"px;bottom:0px;margin-bottom:"+-(C*w.textholderHeight+l)+'px;"><span></span></div>');a("#textholder"+G+"_"+i).css({left:(i-1)*(n+parseInt(w.padding)*2),"margin-left":parseInt(w.padding)+g,"margin-right":w.padding});a("#textholder"+G+"_"+i).height(C*w.textholderHeight).css({backgroundColor:"#FFF",opacity:"0.5"});html='<div class="minmax" id="minmax'+G+"_"+i+'" style="width:8px;height:8px;position:absolute;top:1px;right:10px;cursor:pointer;background:url('+w.imagePath+'caption.gif) no-repeat 0 -8px"></div>';html+='<div class="close" id="close'+G+"_"+i+'" style="width:8px;height:8px;position:absolute;top:1px;right:1px;cursor:pointer;background:url('+w.imagePath+'caption.gif) no-repeat 0 0"></div>';a("#textholder"+G+"_"+i).append(html);a("#minmax"+G+"_"+i).hide();a("#close"+G+"_"+i).hide();if(!w.autoHideCaptions){B(a("li:eq("+i+") p",s).html(),i)}}var L=parseInt(a("#textholder"+G+"_1").css("padding-left"))+parseInt(a("#textholder"+G+"_1").css("padding-right"));if(L>0){a(".textholder",s).width(n-L)}a(".close",s).each(function(o){a(this).click(function(){a("#textholder"+G+"_"+(o+1)).animate({marginBottom:(-C*w.textholderHeight)-l-1+"px"},500)})});a(".minmax",s).each(function(o){a(this).click(function(){if(parseInt(a("#textholder"+G+"_"+(o+1)).css("margin-bottom"))==0){a("#textholder"+G+"_"+(o+1)).animate({marginBottom:((-C*w.textholderHeight)-l+12)+"px"},500,function(){a("#minmax"+G+"_"+(o+1)).css("background-position","0 -16px")})}else{a("#textholder"+G+"_"+(o+1)).animate({marginBottom:"0px"},500,function(){a("#minmax"+G+"_"+(o+1)).css("background-position","0 -8px")})}})});function B(M,o){if(t){a("#minmax"+G+"_"+o).hide();a("#close"+G+"_"+o).hide()}if(M!=null){a("#textholder"+G+"_"+o+" span").html(M);a("#textholder"+G+"_"+o).stop().animate({marginBottom:"0px"},500);a("#minmax"+G+"_"+o).css("background-position","0 -8px");h()}}function h(){if(!t){a(".minmax",s).fadeIn(250);a(".close",s).fadeIn(250)}}function F(){a(".textholder",s).stop().animate({marginBottom:(-C*w.textholderHeight-l-1)+"px"},w.transitionSpeed)}if(w.displayThumbnails){function K(o){target_num=this.id.split("_");if(A[0]!=target_num[1]){y="pause";a("#progress"+G).stop().fadeOut();clearTimeout(I);a("#thumbs"+G+" div").css({cursor:"default"}).unbind("click");t=0;setTimeout(function(){a("#play_pause_btn"+G).css("background-position","0 -16px")},w.transitionSpeed);a("#play_pause_btn"+G).unbind("click").bind("click",function(){p()})}if(target_num[1]>A[0]){diff=target_num[1]-A[0];d(diff)}if(target_num[1]<A[0]){diff=A[0]-target_num[1];k(diff)}}var A=[];var H=[];a(s).after('<div id="thumbs'+G+'" style="position:relative;overflow:auto;clear:left;text-align:left;padding-top:5px;"></div>');for(i=0;i<=z-1;i++){thumb=a("img:eq("+(i+1)+")",s).attr("src");a("#thumbs"+G).append('<div class="thumb" id="thumb'+G+"_"+(i+1)+'" style="cursor:pointer;background-image:url('+thumb+");display:inline;float:left;width:"+w.thumbnailWidth+";height:"+w.thumbnailHeight+";line-height:"+w.thumbnailHeight+";padding:0;overflow:hidden;text-align:center;border:2px solid #ccc;margin-right:4px;font-size:"+w.thumbnailFontSize+';font-family:Arial;color:#000;text-shadow:0 0 3px #fff">'+(i+1)+"</div>");if(i<=w.inView){a("#thumb"+G+"_"+i).css({"border-color":"#6DAA24"})}H.push(i+1)}for(i=1;i<=w.inView;i++){A.push(H.shift())}thumb=a("img:first",s).attr("src");a("#thumb"+G+"_"+z).css({"background-image":"url("+thumb+")"});a("#thumbs"+G+" div.thumb:not(:first)").css({opacity:0.65});a("#thumbs"+G+" div.thumb").hover(function(){a(this).animate({opacity:1},150)},function(){if(A[0]!=this.id.split("_")[1]){a(this).animate({opacity:0.65},250)}});a("#thumbs"+G+" div").bind("click",K);if(!w.displayThumbnailNumbers){a("#thumbs"+G+" div").text("")}if(!w.displayThumbnailBackground){a("#thumbs"+G+" div").css({"background-image":"none"})}}if(w.showControls){html='<div id="play_pause_btn'+G+'" style="cursor:pointer;position:absolute;top:3px;right:3px;border:none;width:16px;height:16px;background:url('+w.imagePath+'playpause.gif) no-repeat 0 0"></div>';a(s).append(html);var y="play";a("#play_pause_btn"+G).css("opacity",0.5).hover(function(){a(this).animate({opacity:"1"},250)},function(){a(this).animate({opacity:".5"},250)});a("#play_pause_btn"+G).click(function(){y=(y=="play")?"pause":"play";(y=="play")?p():r()});if(!w.prevNextInternal){wrapID=a(s).attr("id")+"Wrapper";a(s).wrap('<div id="'+wrapID+'"></div>').css("margin","0 auto");a("#"+wrapID).css("position","relative").width((a(s).width()+40+parseInt(a(s).css("padding-left"))+parseInt(a(s).css("padding-right"))))}arrowsTop=((C/2)-15)+parseInt(w.padding);html='<div id="btn_rt'+G+'" style="position:absolute;right:2px;top:'+arrowsTop+"px;cursor:pointer;border:none;width:13px;height:30px;background:url("+w.imagePath+'leftright.gif) no-repeat 0 0"></div>';html+='<div id="btn_lt'+G+'" style="position:absolute;left:2px;top:'+arrowsTop+"px;cursor:pointer;border:none;width:13px;height:30px;background:url("+w.imagePath+'leftright.gif) no-repeat -13px 0"></div>';(w.prevNextInternal)?a(s).append(html):a("#"+wrapID).append(html);a("#btn_rt"+G).css("opacity",0.5).click(function(){j("next")}).hover(function(){a(this).animate({opacity:"1"},250)},function(){a(this).animate({opacity:".5"},250)});a("#btn_lt"+G).css("opacity",0.5).click(function(){j("prev")}).hover(function(){a(this).animate({opacity:"1"},250)},function(){a(this).animate({opacity:".5"},250)});if(w.autoHideControls&&w.prevNextInternal){function E(){a("#play_pause_btn"+G).stop().animate({top:"3px",right:"3px"},250);a("#btn_rt"+G).stop().animate({top:arrowsTop+"px",right:"2px"},250);a("#btn_lt"+G).stop().animate({top:arrowsTop+"px",left:"2px"},250)}function v(){a("#play_pause_btn"+G).stop().animate({top:-16-l+"px",right:-16-l+"px"},250);a("#btn_rt"+G).stop().animate({right:"-16px"},250);a("#btn_lt"+G).stop().animate({left:"-16px"},250)}a(s).hover(E,v);v()}if(w.autoHideCaptions){var e;function u(){e=true;for(i=1;i<=w.inView;i++){B(a("li:eq("+i+") p",s).html(),i)}}function q(){e=false;F()}a(s).hover(u,q);F()}}function m(){if(w.enableKeyboardNav){a(document).keydown(function(o){if(o.keyCode==39){j("next");a(document).unbind("keydown")}if(o.keyCode==37){j("prev");a(document).unbind("keydown")}if(o.keyCode==80||o.keyCode==111){r()}if(o.keyCode==83||o.keyCode==115){p();a(document).unbind("keydown")}})}}function j(o){w.onPauseClick.call(this);a("#btn_rt"+G).unbind("click");a("#btn_lt"+G).unbind("click");setTimeout(function(){a("#play_pause_btn"+G).css("background-position","0 -16px")},w.transitionSpeed-1);t=0;a("#progress"+G).stop().fadeOut();y="pause";clearTimeout(I);(o=="prev")?k():d();a("#play_pause_btn"+G).unbind("click");setTimeout(function(){a("#play_pause_btn"+G).bind("click",function(){p()});a("#btn_rt"+G).bind("click",function(){j("next")});a("#btn_lt"+G).bind("click",function(){j("prev")})},w.transitionSpeed)}function r(){a("#play_pause_btn"+G).unbind("click");if(t){w.onPauseClick.call(this);a("#play_pause_btn"+G).fadeTo(250,0,function(){a(this).css({"background-position":"0 -16px",opacity:".5"})}).animate({opacity:0.5},250);t=0;h();a("#progress"+G).stop().fadeOut();clearTimeout(I);setTimeout(function(){a("#play_pause_btn"+G).bind("click",function(){p()})},w.transitionSpeed)}}function p(){a("#play_pause_btn"+G).unbind("click");if(!t){setTimeout(function(){a("#play_pause_btn"+G).css("background-position","0 0")},w.transitionSpeed-1);t=1;d();I=setInterval(function(){d()},w.displayTime+w.transitionSpeed);setTimeout(function(){a("#play_pause_btn"+G).bind("click",function(){r()})},w.transitionSpeed)}}function J(){F();if(w.showControls&&w.prevNextInternal){a("#play_pause_btn"+G).fadeOut(200);a("#btn_lt"+G).fadeOut(200);a("#btn_rt"+G).fadeOut(200)}if(w.displayThumbnails){for(i=1;i<=z;i++){a("#thumb"+G+"_"+i).css({"border-color":"#ccc"}).animate({opacity:0.65},500)}}}function D(){if(w.showControls&&w.prevNextInternal){a("#play_pause_btn"+G).fadeIn(200);a("#btn_lt"+G).fadeIn(200);a("#btn_rt"+G).fadeIn(200)}m();if(w.autoHideCaptions&&e){u()}if(w.displayThumbnails){for(i=0;i<A.length;i++){a("#thumb"+G+"_"+A[i]).css({"border-color":"#6DAA24"}).animate({opacity:1},500)}}if(!w.autoHideCaptions){for(i=1;i<=w.inView;i++){B(a("li:eq("+i+") p",s).html(),i)}}if(w.displayThumbnails){a("#thumbs"+G+" div").unbind("click").bind("click",K).css({cursor:"pointer"})}ary=[];for(x=1;x<=w.inView;x++){ary.push(a("img:eq("+x+")",s).attr("src"))}w.onSlideEnd.call(this,ary)}function d(o){if(o==null){o=w.advance}J();if(w.displayThumbnails){for(i=1;i<=o;i++){A.push(H.shift());H.push(A.shift())}}if(w.displayTime==0){clearInterval(I)}a("li:lt("+o+")",s).clone(true).insertAfter(a("li:last",s));w.onSlideStart.call(this,A,"left");a("ul",s).animate({left:-n*(o+1)-(parseInt(w.padding)*(o+1))*2},w.transitionSpeed,w.easeLeft,function(){a("li:lt("+o+")",s).remove();a(this).css({left:-n-parseInt(w.padding)*2});if(w.displayProgressBar&&t){f()}D();if(w.displayTime==0){d()}})}function k(o){if(o==null){o=w.advance}J();if(w.displayThumbnails){for(i=1;i<=o;i++){A.unshift(H.pop());H.unshift(A.pop())}}a("li:gt("+(z-(o+1))+")",s).clone(true).insertBefore(a("li:first",s));w.onSlideStart.call(this,A,"right");a("ul",s).css("left",-(n*(o+1))-(parseInt(w.padding)*((o+1)*2))).animate({left:-n-(parseInt(w.padding)*2)},w.transitionSpeed,w.easeRight,function(){a("li:gt("+(z-1)+")",s).remove();D()})}if(t){var I=setInterval(function(){d()},w.displayTime+w.transitionSpeed);if(w.displayProgressBar){f(w.displayTime+w.transitionSpeed)}}else{y="pause";a("#play_pause_btn"+G).css({"background-position":"0 -16px"})}m()})}})})(jQuery);
