(function(A){A.fn.carousel=function(N){var J=this;var F=A.extend({delay:1000,elementClass:"carouselElement",navigation:"carouselNav",randomize:true,directionalNavigation:true,alternateNavigation:false,navigationNumbered:false,hideNavigation:false,ajax:false,ajaxUrl:"",ajaxUrlIds:[]},N);function G(){return(Math.round(Math.random())-0.5)}if(F.randomize){F.ajaxUrlIds.sort(G)}var H=0;var C=[],L;var B=A("."+F.elementClass,this);var D=function(){J.interval=setInterval(function(){K(false)},F.delay);J.rotating=true};var I=function(){clearInterval(J.interval);J.rotating=false};var E=function(Q,P){var O;if(J.rotating){I();O=true}A.ajax({type:"GET",url:F.ajaxUrl+F.ajaxUrlIds[Q],success:function(R){A(B[Q]).html(R);P();if(!J.rotating&&O){D()}}})};var K=function(P){var Q=H;var O;if(typeof (P)=="number"&&P>=0&&P<B.length){O=P}else{if(typeof (P)=="number"&&P<0){(Q-1)<0?O=B.length-1:O=Q-1}else{(Q+1)>=B.length?O=0:O=Q+1}}if(!C[O]){E(O,function(){C[O]=true;M(Q,O)})}else{M(Q,O)}H=O;A(L).removeClass("active");A(L[H+(F.alternateNavigation?1:0)]).addClass("active")};var M=function(P,O){A(B[P]).fadeOut(500,function(){A(B[O]).fadeIn(500)})};while(B.length<F.ajaxUrlIds.length){A(B[0]).after('<div class="'+F.elementClass+'" style="display: none"></div>');B=A("."+F.elementClass,this)}B.each(function(O){A(B[O]).html()==""?C[O]=false:C[O]=true});A("#"+F.navigation).append("<ul></ul>");if(F.alternateNavigation&&F.directionalNavigation){A("#"+F.navigation+" ul").append('<li class="back"></li>')}for(i=0;i<F.ajaxUrlIds.length;i++){A("#"+F.navigation+" ul").append("<li>"+(F.navigationNumbered?i+1:"")+"</li>")}if(F.directionalNavigation&&!F.alternateNavigation){A("#"+F.navigation+" ul li:last").after('<li class="back"></li><li class="forward"></li>')}else{if(F.directionalNavigation&&F.alternateNavigation){A("#"+F.navigation+" ul").append('<li class="forward"></li>')}}L=A("#"+F.navigation+" ul").children();A(L[H+(F.alternateNavigation?1:0)]).addClass("active");L.each(function(O){A(this).click(function(){if(A(this).hasClass("back")){K(-1)}else{if(A(this).hasClass("forward")){K(false)}else{K(O-(F.alternateNavigation?1:0))}}})});if(F.delay>0&&B.length>1){D();J.bind("mouseenter",function(){if(F.hideNavigation){A("#"+F.navigation).fadeIn(100)}if(J.rotating){I()}});J.bind("mouseleave",function(){if(F.hideNavigation){A("#"+F.navigation).fadeOut(500)}if(!J.rotating){D()}})}return this}})(jQuery);
