(function($){$.fn.circularCarousel=function(f,g,h,j,k,l,m,n){var o=this;var p=0;var q=o.children().length;var r=o.children(":first");var s=o.children(":last");var t=r.outerHeight(true);var u=r.outerWidth(true);var v=g;var w=u*g;var x=parseFloat(r.css('marginRight'));var y;m=m*1000;var z=$('#gallery ul.the_gallery');var A=$('#gallery ul.gallery_nav');var B=false;var C=0;var D=z.children(':first');var E=z.children().length;var F=0;var G=0;var H=f*u-x+2;var I="width: "+H+"px; "+"height: "+t+"px; "+"position: relative; overflow: hidden;";o.wrap('<div class="mask" style="'+I+'"></div>');o.css({"position":"absolute","top":"0","left":"0","width":q*u+"px","height":t+"px"});if(q-g<g){v=2*g-q}if(o.parent().parent().parent().attr('id')=='gallery_thumbs'){B=true}o.children(':first').find('a').addClass('ok');if(B){o.children().each(function(){var a=$(this);a.data('index',a.index());a.find('a').bind('click',function(){o.children().each(function(){if($(this).find('a').hasClass('ok')){$(this).find('a').removeClass('ok')}});$(this).addClass('ok');F=$(this).parent().index();selectTarget(a.data('index'));return false})})}D.show();function clickTargetNext(){A.find('.next').unbind().bind('click',function(){return false});D.fadeOut(300);D=D.next().is(':not(:empty)')?D.next():z.children(':first');var a;o.children().each(function(){if($(this).find('a').hasClass('ok')){a=$(this)}});a.find('a').removeClass('ok');a=a.next().is(':not(:empty)')?a.next():o.children(':first');a.find('a').addClass('ok');F=a.index();if(F!=3){var b=Math.abs(F-3);if(F>3){scrollToCenter(b,true)}else{scrollToCenter(b,false)}}C=D.index();D.fadeIn(300);return false}function clickTargetPrev(){A.find('.prev').unbind().bind('click',function(){return false});D.fadeOut(300);D=D.prev().is(':not(:empty)')?D.prev():z.children(':last');var a;o.children().each(function(){if($(this).find('a').hasClass('ok')){a=$(this)}});a.find('a').removeClass('ok');if(F==0){a=o.children(':last');a.find('a').addClass('ok');scrollToCenter(4,false)}else{a=a.prev();a.find('a').addClass('ok');F=a.index();if(F>3){scrollToCenter(Math.abs(F-3),true)}else{scrollToCenter(Math.abs(F-3),false)}}r=o.children(':first');F=a.index();C=D.index();D.fadeIn(300);return false}A.find('.next').click(clickTargetNext);A.find('.prev').click(clickTargetPrev);function scrollToCenter(b,c){var d=b*u;if(c){k.unbind().bind('click',function(){return false});if(b>f-v){G=b-f+v;for(i=0;i<G;i++){o.children(':eq('+i+')').clone(true).appendTo(o)}o.width((q+G)*u)}else{G=1;o.children(':eq(0)').clone(true).appendTo(o);o.width((q+1)*u)}o.animate({"left":-d+"px"},h,"linear",function(){k.unbind().bind('click',preClickNext);for(i=0;i<G;i++){o.children(':eq('+i+')').detach()}if(b!=1){moveItem(0,b-G)}o.css("left","0px");A.find('.next').unbind().bind('click',clickTargetNext);A.find('.prev').unbind().bind('click',clickTargetPrev)})}else{j.unbind().bind('click',function(){return false});for(i=1;i<=b;i++){var e=o.children().length-i;o.children(':eq('+e+')').clone(true).prependTo(o)}o.width((q+b)*u).css('left',-d+'px');o.animate({"left":"0px"},h,"linear",function(){j.unbind().bind('click',preClickPrev);for(i=1;i<=b;i++){var a=q-1;o.children(':last').detach()}o.width(q*u);A.find('.next').unbind().bind('click',clickTargetNext);A.find('.prev').unbind().bind('click',clickTargetPrev)})}F=3;r=o.children(':first');s=o.children(':last')}function updateIndexToCenter(){o.children().each(function(){if($(this).hasClass('ok')){F=$(this).index()}})}function selectTarget(a){if(C!=a){z.children(':eq('+C+')').fadeOut(300);C=a;D=z.children(':eq('+C+')');D.fadeIn(300)}return false}function moveItem(a,b){for(i=1;i<=b;i++){o.children(':eq('+a+')').clone(true).appendTo(o);o.children(':eq('+a+')').detach()}r=o.children(":first");s=o.children(":last")}function preClickNext(){k.unbind().bind('click',function(){return false});clearInterval(y);if(v>1){for(i=0;i<v;i++){o.children(':eq('+i+')').clone(true).appendTo(o)}o.width((q+v)*u)}clickNext();return false}function clickNext(){o.animate({"left":-w+"px"},h,"linear",function(){k.unbind().bind('click',preClickNext);if(v!=1){moveItem(v,g-v);for(i=1;i<=v;i++){o.children(':eq(0)').detach()}}else{moveItem(0,g)}o.css("left","0px");if(!n){y=setInterval(preClickNext,m)}o.children().each(function(){if($(this).find('a').hasClass('ok')){F=$(this).index()}})});return false}function preClickPrev(){j.unbind().bind('click',function(){return false});for(i=1;i<=g;i++){var a=q-1;o.children(':eq('+a+')').clone(true).prependTo(o)}o.width((q+g)*u).css('left',-w+'px');clickPrev();return false}function clickPrev(){o.animate({"left":"0px"},h,"linear",function(){j.unbind().bind('click',preClickPrev);for(i=1;i<=g;i++){o.children(':eq('+q+')').detach()}o.width(q*u);o.children().each(function(){if($(this).find('a').hasClass('ok')){F=$(this).index()}})});return false}k.click(preClickNext);j.click(preClickPrev);if(l){y=setInterval(preClickNext,m)}}})(jQuery);
