/* * jcarousel - riding carousels with jquery * http://sorgalla.com/jcarousel/ * * copyright (c) 2006 jan sorgalla (http://sorgalla.com) * dual licensed under the mit (http://www.opensource.org/licenses/mit-license.php) * and gpl (http://www.opensource.org/licenses/gpl-license.php) licenses. * * built on top of the jquery library * http://jquery.com * * inspired by the "carousel component" by bill scott * http://billwscott.com/carousel/ */ (function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initcallback:null,setupcallback:null,reloadcallback:null,itemloadcallback:null,itemfirstincallback:null,itemfirstoutcallback:null,itemlastincallback:null,itemlastoutcallback:null,itemvisibleincallback:null,itemvisibleoutcallback:null,animationstepcallback:null,buttonnexthtml:"
",buttonprevhtml:"
",buttonnextevent:"click",buttonprevevent:"click", buttonnextcallback:null,buttonprevcallback:null,itemfallbackdimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autostopped=this.locked=!1;this.buttonprevstate=this.buttonnextstate=this.buttonprev=this.buttonnext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").tolowercase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.classname.split(" "),f=0;f").parent();if(this.container.size()===0)this.container=this.clip.wrap("
").parent();b!==""&&this.container.parent()[0].classname.indexof("jcarousel-skin")==-1&&this.container.wrap('
');this.buttonprev=g(".jcarousel-prev",this.container);if(this.buttonprev.size()===0&&this.options.buttonprevhtml!==null)this.buttonprev=g(this.options.buttonprevhtml).appendto(this.container);this.buttonprev.addclass(this.classname("jcarousel-prev"));this.buttonnext= g(".jcarousel-next",this.container);if(this.buttonnext.size()===0&&this.options.buttonnexthtml!==null)this.buttonnext=g(this.options.buttonnexthtml).appendto(this.container);this.buttonnext.addclass(this.classname("jcarousel-next"));this.clip.addclass(this.classname("jcarousel-clip")).css({position:"relative"});this.list.addclass(this.classname("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addclass(this.classname("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addclass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonnext.css("display","block");this.buttonprev.css("display", "block");this.funcnext=function(){e.next()};this.funcprev=function(){e.prev()};this.funcresize=function(){e.resizetimer&&cleartimeout(e.resizetimer);e.resizetimer=settimeout(function(){e.reload()},100)};this.options.initcallback!==null&&this.options.initcallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevlast= this.prevfirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizetimer=this.timer=null;this.intail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevfirst=this.prevlast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcresize).bind("resize.jcarousel",this.funcresize);this.options.setupcallback!==null&&this.options.setupcallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initcallback!==null&&this.options.initcallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.intail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.intail=!1;this.options.reloadcallback!==null&&this.options.reloadcallback(this);if(this.options.visible!==null){var a=this,c=math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasclass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodename.touppercase()=="li"?(b.replacewith(p),b=p):b.empty().append(c);this.format(b.removeclass(this.classname("jcarousel-item-placeholder")),a);p=this.options.visible!==null?math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a=this.first&&a<=this.last)){var b=this.dimension(c);athis.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++ethis.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addclass(this.classname("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw error("jcarousel: no width/height set for items. this will cause an infinite loop. aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.intail&&d)b+=this.tail,this.intail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginright":"marginbottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.intail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevfirst=this.first;this.prevlast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autostopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onbeforeanimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isfunction(this.options.animationstepcallback))d.step=this.options.animationstepcallback;this.list.animate(f,d)}}},startauto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopauto();if(this.timer===null){this.autostopped= !1;var c=this;this.timer=window.settimeout(function(){c.next()},this.options.auto*1e3)}},stopauto:function(){this.pauseauto();this.autostopped=!0},pauseauto:function(){if(this.timer!==null)window.cleartimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last=this.options.size))a=this.tail!==null&&!this.intail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.intail;var b=this;this.buttonnext.size()>0?(this.buttonnext.unbind(this.options.buttonnextevent+".jcarousel",this.funcnext),a&&this.buttonnext.bind(this.options.buttonnextevent+".jcarousel",this.funcnext), this.buttonnext[a?"removeclass":"addclass"](this.classname("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonnextcallback!==null&&this.buttonnext.data("jcarouselstate")!=a&&this.buttonnext.each(function(){b.options.buttonnextcallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonnextcallback!==null&&this.buttonnextstate!=a&&this.options.buttonnextcallback(b,null,a);this.buttonprev.size()>0?(this.buttonprev.unbind(this.options.buttonprevevent+".jcarousel",this.funcprev), c&&this.buttonprev.bind(this.options.buttonprevevent+".jcarousel",this.funcprev),this.buttonprev[c?"removeclass":"addclass"](this.classname("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonprevcallback!==null&&this.buttonprev.data("jcarouselstate")!=c&&this.buttonprev.each(function(){b.options.buttonprevcallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonprevcallback!==null&&this.buttonprevstate!=c&&this.options.buttonprevcallback(b,null,c);this.buttonnextstate= a;this.buttonprevstate=c},notify:function(a){var c=this.prevfirst===null?"init":this.prevfirst=j&&k<=e)&&a(k)}}},create:function(a){return this.format("
  • ",a)},format:function(a,c){for(var a=g(a),b=a.get(0).classname.split(" "),d=0;d. */ (function($){var defaults={autoplay:true,speed:5000,text:{play:"",stop:"",previous:"previous",next:"next",loading:"loading"},transition:[1],showcaption:true,iesafe:false,showtooltips:false,carousel:false,carouselvertical:false,animationfinished:null,buildfinished:null,bindsfinished:null,starton:0,thumbopacity:0.4,hoverpause:false,animationspeed:600,fadethumbsin:false,carouseloptions:{},thumbchangeevent:'click.pikachoose',stoponclick:false};$.fn.pikachoose=function(o){return this.each(function(){$(this).data('pikachoose',new $pc(this,o))})};$.pikachoose=function(e,o){this.options=$.extend({},defaults,o||{});this.list=null;this.image=null;this.anchor=null;this.caption=null;this.imgnav=null;this.imgplay=null;this.imgprev=null;this.imgnext=null;this.textnext=null;this.textprev=null;this.previous=null;this.next=null;this.aniwrap=null;this.anidiv=null;this.aniimg=null;this.thumbs=null;this.transition=null;this.active=null;this.tooltip=null;this.animating=false;this.stillout=null;this.counter=null;this.timeout=null;if(typeof(this.options.data)!="undefined"){e=$("
      ").appendto(e);$.each(this.options.data,function(){if(typeof(this.link)!="undefined"){var tmp=$("
    • ").appendto(e);if(typeof(this.title)!="undefined"){tmp.find('a').attr('title',this.title)}}else{var tmp=$("
    • ").appendto(e)}if(typeof(this.caption)!="undefined"){tmp.append(""+this.caption+"")}if(typeof(this.thumbnail)!="undefined"){tmp.find('img').attr('ref',this.image);tmp.find('img').attr('src',this.thumbnail)}else{tmp.find('img').attr('src',this.image)}})}if(e instanceof jquery||e.nodename.touppercase()=='ul'||e.nodename.touppercase()=='ol'){this.list=$(e);this.build();this.bindevents()}else{return}var y=0;var x=0;for(var t=0;t<25;t++){var a='
      ';this.anidiv.append(a);y++;if(y==5){x++;y=0}}};var $pc=$.pikachoose;$pc.fn=$pc.prototype={pikachoose:'4.4.4'};$.fn.pikachoose=$.fn.pikachoose;$pc.fn.extend=$pc.extend=$.extend;$pc.fn.extend({build:function(){this.step=0;this.wrap=$("
      ").insertbefore(this.list);this.image=$("").appendto(this.wrap);this.imgnav=$("
      ").insertafter(this.image);this.imgplay=$("").appendto(this.imgnav);this.counter=$("").appendto(this.imgnav);if(this.options.autoplay){this.imgplay.addclass('pause')}else{this.imgplay.addclass('play')}this.imgprev=$("").insertafter(this.imgplay);this.imgnext=$("").insertafter(this.imgprev);this.caption=$("
      ").insertafter(this.imgnav).hide();this.tooltip=$("
      ").insertafter(this.list).hide();this.aniwrap=$("
      ").insertafter(this.caption);this.aniimg=$("").appendto(this.aniwrap).hide();this.anidiv=$("
      ").appendto(this.aniwrap);this.textnav=$("
      ").insertafter(this.aniwrap);this.textprev=$("").appendto(this.textnav);this.textnext=$("").appendto(this.textnav);this.list.addclass('pika-thumbs');this.thumbs=this.list.find('img');this.loader=$("
      ").appendto(this.wrap).hide().html(this.options.text.loading);this.active=this.thumbs.eq(this.options.starton);this.finishanimating({'index':this.options.starton,'source':this.active.attr('ref')||this.active.attr('src'),'caption':this.active.parents('li:first').find('span:first').html(),'clickthrough':this.active.parent().attr('href')||"",'clickthroughtitle':this.active.parent().attr('title')||""});this.anidiv.css({position:'relative'});var self=this;this.updatethumbs();if(this.options.fadethumbsin){this.list.fadein()}if(this.options.carousel){var carouseldefaults={vertical:this.options.carouselvertical,initcallback:function(carousel){jquery(carousel.list).find('img').click(function(e,x){if(typeof(x)!=='undefined'&&x.how=="auto"){if(self.options.autoplay==false){return false}}var clicked=parseint(jquery(this).parents('.jcarousel-item').attr('jcarouselindex'));var last=(jquery(this).parents('ul').find('li:last').attr('jcarouselindex')==clicked-1)?true:false;if(!last){clicked=(clicked-2<=0)?0:clicked-2}clicked++;carousel.scroll(clicked)})}};var carouseloptions=$.extend({},carouseldefaults,this.options.carouseloptions||{});this.list.jcarousel(carouseloptions)}if(typeof(this.options.buildfinished)=='function'){this.options.buildfinished(this)}},createthumb:function(ele){var self=ele;var that=this;this.thumbs=this.list.find('img');if(typeof $.data(ele[0],'source')!=='undefined'){return};ele.parents('li:first').wrapinner("
      ");self.hide();$.data(ele[0],'clickthrough',self.parent('a').attr('href')||"");$.data(ele[0],'clickthroughtitle',self.parent('a').attr('title')||"");if(self.parent('a').length>0){self.unwrap()}$.data(ele[0],'caption',self.next('span').html()||"");self.next('span').remove();$.data(ele[0],'source',self.attr('ref')||self.attr('src'));$.data(ele[0],'index',this.thumbs.index(ele));$.data(ele[0],'order',self.closest('ul').find('li').index(self.parents('li')));var data=$.data(ele[0]);$('').bind('load',{data:data},function(){if(typeof(that.options.buildthumbstart)=='function'){that.options.buildthumbstart(that)}var img=$(this);var w=this.width;var h=this.height;if(w===0){w=img.attr("width")}if(h===0){h=img.attr("height")}var ph=parseint(self.parents('.clip').css('height').slice(0,-2));var pw=parseint(self.parents('.clip').css('width').slice(0,-2));if(pw==0){pw=self.parents('li:first').outerwidth()}if(ph==0){ph=self.parents('li:first').outerheight()}var rw=pw/w;var rh=ph/h;var ratio;if(rw').bind('load',{self:self,data:data},function(){self.loader.fadeout('fast');self.anidiv.css({height:self.image.height(),width:self.image.width()}).show();self.anidiv.children('div').css({'width':'20%','height':'20%','float':'left'});var n=0;if(self.options.transition[0]==-1){n=math.floor(math.random()*7)+1}else{n=self.options.transition[self.step];self.step++;if(self.step>=self.options.transition.length){self.step=0}}if(self.options.iesafe&&$.browser.msie){n=1}self.doanimation(n,data)}).attr('src',$.data(this).source)},doanimation:function(n,data){this.aniwrap.css({position:'absolute',top:this.image.position().top,left:this.image.position().left});var self=this;self.image.stop(true,false);self.caption.stop().fadeout();var awidth=self.anidiv.children('div').eq(0).width();var aheight=self.anidiv.children('div').eq(0).height();var img=new image();$(img).attr('src',data.source);if(img.height!=self.image.height()||img.width!=self.image.width()){if(n!=0&&n!=1&&n!=7){}}self.anidiv.css({height:self.image.height(),width:self.image.width()});self.anidiv.children().each(function(){var div=$(this);var xoffset=math.floor(div.parent().width()/5)*div.attr('col');var yoffset=math.floor(div.parent().height()/5)*div.attr('row');div.css({'background':'url('+data.source+') -'+xoffset+'px -'+yoffset+'px','background-size':div.parent().width()+'px '+div.parent().height()+'px','width':'0px','height':'0px','position':'absolute','top':yoffset+'px','left':xoffset+'px','float':'none'})});self.anidiv.hide();self.aniimg.hide();switch(n){case 0:self.image.stop(true,true).fadeout(self.options.animationspeed,function(){self.image.attr('src',data.source).fadein(self.options.animationspeed,function(){self.finishanimating(data)})});break;case 1:self.anidiv.hide();self.aniimg.height(self.image.height()).hide().attr('src',data.source);/*self.wrap.css({height:self.image.height()});*/$.when(self.image.fadeout(self.options.animationspeed),self.aniimg.eq(0).fadein(self.options.animationspeed)).done(function(){self.finishanimating(data)});break;case 2:self.anidiv.show().children().hide().each(function(index){var delay=index*30;$(this).css({opacity:0.1}).show().delay(delay).animate({opacity:1,"width":awidth,"height":aheight},200,'linear',function(){if(self.anidiv.find("div").index(this)==24){self.finishanimating(data)}})});break;case 3:self.anidiv.show().children("div:lt(5)").hide().each(function(index){var delay=$(this).attr('col')*100;$(this).css({opacity:0.1,"width":awidth}).show().delay(delay).animate({opacity:1,"height":self.image.height()},self.options.animationspeed,'linear',function(){if(self.anidiv.find(" div").index(this)==4){self.finishanimating(data)}})});break;case 4:self.anidiv.show().children().hide().each(function(index){if(index>4){return}var delay=$(this).attr('col')*30;var gap=self.gapper($(this),aheight,awidth);var speed=self.options.animationspeed*.7;$(this).css({opacity:0.1,"height":"100%"}).show().delay(delay).animate({opacity:1,"width":gap.width},speed,'linear',function(){if(self.anidiv.find(" div").index(this)==4){self.finishanimating(data)}})});break;case 5:self.anidiv.show().children().show().each(function(index){var delay=index*math.floor(math.random()*5)*7;var gap=self.gapper($(this),aheight,awidth);if($(".animation div").index(this)==24){delay=700}$(this).css({"height":gap.height,"width":gap.width,"opacity":.01}).delay(delay).animate({"opacity":1},self.options.animationspeed,function(){if(self.anidiv.find(" div").index(this)==24){self.finishanimating(data)}})});break;case 6:self.anidiv.height(self.image.height()).hide().css({'background':'url('+data.source+') top left no-repeat'});self.anidiv.children('div').hide();self.anidiv.css({width:0}).show().animate({width:self.image.width()},self.options.animationspeed,function(){self.finishanimating(data);self.anidiv.css({'background':'transparent'})});break;case 7:self.wrap.css({overflow:'hidden'});self.aniimg.height(self.image.height()).hide().attr('src',data.source);self.anidiv.hide();self.image.css({position:'relative'}).animate({left:"-"+self.wrap.outerwidth()+"px"});self.aniimg.show();self.aniwrap.css({left:self.wrap.outerwidth()}).show().animate({left:"0px"},self.options.animationspeed,function(){self.finishanimating(data)});break}},finishanimating:function(data){this.animating=false;this.image.attr('src',data.source);this.image.css({left:"0"});this.image.show();var self=this;$('').bind('load',function(){self.aniimg.fadeout('fast');self.anidiv.fadeout('fast')}).attr('src',data.source);var cur=data.index+1;var total=this.thumbs.length;this.counter.html(cur+"/"+total);if(data.clickthrough!=""){if(this.anchor==null){this.anchor=this.image.wrap("").parent()}this.anchor.attr('href',data.clickthrough);this.anchor.attr('title',data.clickthroughtitle)}else{if(this.image.parent('a').length>0){this.image.unwrap()}this.anchor=null}if(this.options.showcaption&&data.caption!=""&&data.caption!=null){this.caption.html(data.caption).fadeto('slow',1)}if(this.options.autoplay==true){var self=this;this.timeout=settimeout((function(self){return function(){self.nextclick()}})(this),this.options.speed,this.timeout)}if(typeof(this.options.animationfinished)=='function'){this.options.animationfinished(this)}},gapper:function(ele,aheight,awidth){var gap;if(ele.attr('row')==4){gap=(this.anidiv.height()-(aheight*5))+aheight;aheight=gap}if(ele.attr('col')==4){gap=(this.anidiv.width()-(awidth*5))+awidth;awidth=gap}return{height:aheight,width:awidth}},nextclick:function(e){var how="natural";try{var self=e.data.self;if(typeof(e.data.self.options.next)=='function'){e.data.self.options.next(this)}}catch(err){var self=this;how="auto"}var next=self.active.parents('li:first').next().find('img');if(next.length==0){next=self.list.find('img').eq(0)};next.trigger('click',{how:how})},prevclick:function(e){if(typeof(e.data.self.options.previous)=='function'){e.data.self.options.previous(this)}var self=e.data.self;var prev=self.active.parents('li:first').prev().find('img');if(prev.length==0){prev=self.list.find('img:last')};prev.trigger('click')},playclick:function(e){var self=e.data.self;self.options.autoplay=!self.options.autoplay;self.imgplay.toggleclass('play').toggleclass('pause');if(self.options.autoplay){self.nextclick()}},next:function(){var e={data:{self:this}};this.nextclick(e)},prev:function(){var e={data:{self:this}};this.prevclick(e)},play:function(){if(this.options.autoplay){return}var e={data:{self:this}};this.playclick(e)},pause:function(){if(!this.options.autoplay){return}var e={data:{self:this}};this.playclick(e)},updatethumbs:function(){var self=this;this.thumbs=this.list.find('img');this.thumbs.each(function(){self.createthumb($(this),self)})}})})(jquery);