﻿(function(a){a.fn.extend({jsCarousel:function(b){var c=a.extend({scrollspeed:1500,delay:5e3,itemstodisplay:4,autoscroll:false,circular:true,masked:false,onthumbnailclick:null,orientation:"h"},b);return this.each(function(){function B(){v=false;var b=a(".visible",d);var e=o;if(u=="forward"){i--;if(i>=0){if(c.orientation=="v"){a(">div:eq("+i+")",d).css("top",A(s)).removeClass("hidden").addClass("visible").stop(false,true).animate({top:p},e,function(){v=false});b.stop(false,true).animate({top:"-="+A(s)},e,function(){a(this).removeClass("visible").addClass("hidden");a(this).css("top",p);v=false})}else{a(">div:eq("+i+")",d).css("left",A(t)).removeClass("hidden").addClass("visible").stop(false,true).animate({left:"-="+A(t)},e,function(){v=false});b.stop(false,true).animate({left:"-="+A(t)},e,function(){a(this).removeClass("visible").addClass("hidden");a(this).css("left",q);v=false})}}else i=0}else if(u=="backward"){i++;if(i<l){if(c.orientation=="v"){a(">div:eq("+i+")",d).removeClass("hidden").addClass("visible").css({top:A(-s)}).stop(false,true).animate({top:p},e,function(){v=false});b.stop(false,true).animate({top:"+="+A(s)},e,function(){a(this).removeClass("visible").addClass("hidden");a(this).css("top",A(-s));v=false})}else{a(">div:eq("+i+")",d).removeClass("hidden").addClass("visible").css({left:A(-t)}).stop(false,true).animate({left:"+="+A(t)},e,function(){v=false});b.stop(false,true).animate({left:"+="+A(t)},e,function(){a(this).removeClass("visible").addClass("hidden");a(this).css("left",A(-t));v=false})}}else i=l-1}}function A(a){return a+"px"}function z(){if(u=="forward"){if(i<=0)i=l}else{if(i>=l-1){i=-1}}B();m=setTimeout(z,c.delay)}function y(){clearTimeout(m);if(c.autoscroll)m=setTimeout(z,c.delay)}function x(){v=false;clearTimeout(m);e.children().clearQueue();e.children().stop(false,true)}function w(){i=-1;l=parseInt(h/n);if(h%n>0)l++;i=l-1;var b=0;var j=n;var k=false;var m=a("> div",d);a("> div",d).remove();if(c.masked)m.addClass("thumbnail-inactive").hover(function(){a(this).removeClass("thumbnail-inactive").addClass("thumbnail-active")},function(){a(this).removeClass("thumbnail-active").addClass("thumbnail-inactive")});for(var w=0;w<l;w++){if(h>n){b=w*n;j=b+n;if(j>h){b-=j-h;j=b+n;k=true}}else{b=0;j=h}var z=a("<div/>");m.slice(b,j).each(function(b,c){if(!k)z.append(c);else z.append(a(c).clone(true))});z.find("img").click(function(){if(c.onthumbnailclick!=null){c.onthumbnailclick(a(this).attr("src"))}});d.append(z)}if(c.onthumbnailclick!=null)a("> div > div",d).css("cursor","pointer");a("> div",d).addClass("hidden");a("> div > div",d).css("display","");if(c.orientation=="v"){p=a("> div:eq("+i+")",d).css("top");if(p=="auto")p="0px";s=d.height();r=d.get(0).offsetHeight;a("> div",d).css("top","-"+s+"px");a("> div:eq("+i+")",d).stop(false,true).animate({top:p},o,function(){v=false})}if(c.orientation=="h"){q=a("> div:eq("+i+")",d).css("left");t=d.width();r=d.get(0).offsetHeight;a("> div",d).css("left","-"+t+"px");a("> div:eq("+i+")",d).stop(false,true).animate({left:0},o,function(){v=false})}a("> div:eq("+i+")",d).addClass("visible").removeClass("hidden");e.mouseenter(function(){if(c.autoscroll)x()}).mouseleave(function(){if(c.autoscroll)y()});if(c.autoscroll)y();g.click(function(){if(!v){u="forward";if(c.circular)if(i<=0)i=l;B()}});f.click(function(){if(!v){u="backward";if(c.circular)if(i>=l-1)i=-1;B()}})}var b="horizontal";if(c.orientation=="v")b="vertical";var d=a(this).addClass("jscarousal-contents-"+b+"");var e=a("<div/>").addClass("jscarousal-"+b+"").attr("id",d.attr("id"));var f=a("<div/>").addClass("jscarousal-"+b+"-back");var g=a("<div/>").addClass("jscarousal-"+b+"-forward");d.removeAttr("id");d.before(e);e.append(f);e.append(d);e.append(g);var h=a("> div",d).css("display","none").length;var i=0;var j=0;var k=a("<div/>");var l;var m;var n=c.itemstodisplay;var o=c.scrollspeed;var p;var q;var r;var s;var t;var u="forward";var v=true;w()})}})})(jQuery)
