### Eclipse Workspace Patch 1.0 #P viewscarousel Index: viewscarousel_style_plugin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/viewscarousel/viewscarousel_style_plugin.inc,v retrieving revision 1.2 diff -u -r1.2 viewscarousel_style_plugin.inc --- viewscarousel_style_plugin.inc 19 Nov 2008 02:17:34 -0000 1.2 +++ viewscarousel_style_plugin.inc 17 Jan 2009 04:26:41 -0000 @@ -18,6 +18,7 @@ $options['animation'] = array('default' => 0); $options['easing'] = array('default' => NULL); $options['auto'] = array('default' => 0); + $options['hide_arrows'] = array('default' => FALSE); $options['wrap'] = array('default' => NULL); $options['skin'] = array('default' => 'ie7'); return $options; @@ -80,6 +81,12 @@ '#default_value' => $this->options['auto'], '#description' => t('A value in seconds to specify how often to automatically scroll. Default of 0 disables this feature.'), ); + $form['hide_arrows'] = array( + '#type' => 'checkbox', + '#title' => t('Hide Arrows'), + '#default_value' => $this->options['hide_arrows'], + '#description' => t('If autoscrolling is enabled, you can hide previous and next arrows.'), + ); $form['wrap'] = array( '#type' => 'select', '#title' => t('Wrap content'), Index: viewscarousel.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/viewscarousel/viewscarousel.module,v retrieving revision 1.8 diff -u -r1.8 viewscarousel.module --- viewscarousel.module 16 Dec 2008 01:49:45 -0000 1.8 +++ viewscarousel.module 17 Jan 2009 04:26:41 -0000 @@ -47,6 +47,7 @@ $options['animation'] = $vars['options']['animation']; $options['easing'] = $vars['options']['easing']; $options['auto'] = $vars['options']['auto']; + $options['hide_arrows'] = $vars['options']['hide_arrows']; $options['wrap'] = $vars['options']['wrap']; foreach ($options as $key => $value) { Index: jquery.jcarousel.min.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/viewscarousel/jquery.jcarousel.min.js,v retrieving revision 1.1 diff -u -r1.1 jquery.jcarousel.min.js --- jquery.jcarousel.min.js 21 Oct 2008 22:43:26 -0000 1.1 +++ jquery.jcarousel.min.js 17 Jan 2009 04:26:41 -0000 @@ -12,4 +12,4 @@ * Inspired by the "Carousel Component" by Bill Scott * http://billwscott.com/carousel/ */ -(function(B){B.fn.jcarousel=function(D){return this.each(function(){new A(this,D)})};var C={vertical:false,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,buttonNextHTML:"
",buttonPrevHTML:"
",buttonNextEvent:"click",buttonPrevEvent:"click",buttonNextCallback:null,buttonPrevCallback:null};B.jcarousel=function(G,E){this.options=B.extend({},C,E||{});this.locked=false;this.container=null;this.clip=null;this.list=null;this.buttonNext=null;this.buttonPrev=null;this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical?"left":"top";var K="",I=G.className.split(" ");for(var F=0;F")}this.container=this.container.parent()}else{if(!this.container.hasClass("jcarousel-container")){this.container=this.list.wrap("
").parent()}}}else{this.container=B(G);this.list=B(G).find(">ul,>ol,div>ul,div>ol")}if(K!=""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1){this.container.wrap('
')}this.clip=this.list.parent();if(!this.clip.length||!this.clip.hasClass("jcarousel-clip")){this.clip=this.list.wrap("
").parent()}this.buttonPrev=B(".jcarousel-prev",this.container);if(this.buttonPrev.size()==0&&this.options.buttonPrevHTML!=null){this.buttonPrev=this.clip.before(this.options.buttonPrevHTML).prev()}this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext=B(".jcarousel-next",this.container);if(this.buttonNext.size()==0&&this.options.buttonNextHTML!=null){this.buttonNext=this.clip.before(this.options.buttonNextHTML).prev()}this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip"));this.list.addClass(this.className("jcarousel-list"));this.container.addClass(this.className("jcarousel-container"));var H=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var J=this.list.children("li");var L=this;if(J.size()>0){var D=0,F=this.options.offset;J.each(function(){L.format(this,F++);D+=L.dimension(this,H)});this.list.css(this.wh,D+"px");if(!E||E.size===undefined){this.options.size=J.size()}}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display","block");this.funcNext=function(){L.next()};this.funcPrev=function(){L.prev()};this.funcResize=function(){L.reload()};if(this.options.initCallback!=null){this.options.initCallback(this,"init")}if(B.browser.safari){this.buttons(false,false);B(window).bind("load",function(){L.setup()})}else{this.setup()}};var A=B.jcarousel;A.fn=A.prototype={jcarousel:"0.2.3"};A.fn.extend=A.extend=B.extend;A.fn.extend({setup:function(){this.first=null;this.last=null;this.prevFirst=null;this.prevLast=null;this.animating=false;this.timer=null;this.tail=null;this.inTail=false;if(this.locked){return }this.list.css(this.lt,this.pos(this.options.offset)+"px");var D=this.pos(this.options.start);this.prevFirst=this.prevLast=null;this.animate(D,false);B(window).unbind("resize",this.funcResize).bind("resize",this.funcResize)},reset:function(){this.list.empty();this.list.css(this.lt,"0px");this.list.css(this.wh,"10px");if(this.options.initCallback!=null){this.options.initCallback(this,"reset")}this.setup()},reload:function(){if(this.tail!=null&&this.inTail){this.list.css(this.lt,A.intval(this.list.css(this.lt))+this.tail)}this.tail=null;this.inTail=false;if(this.options.reloadCallback!=null){this.options.reloadCallback(this)}if(this.options.visible!=null){var F=this;var G=Math.ceil(this.clipping()/this.options.visible),E=0,D=0;B("li",this.list).each(function(H){E+=F.dimension(this,G);if(H+1this.options.size){F=this.options.size}for(var D=E;D<=F;D++){var G=this.get(D);if(!G.length||G.hasClass("jcarousel-item-placeholder")){return false}}return true},get:function(D){return B(".jcarousel-item-"+D,this.list)},add:function(G,L){var H=this.get(G),E=0,K=0;if(H.length==0){var J,H=this.create(G),F=A.intval(G);while(J=this.get(--F)){if(F<=0||J.length){F<=0?this.list.prepend(H):J.after(H);break}}}else{E=this.dimension(H)}H.removeClass(this.className("jcarousel-item-placeholder"));typeof L=="string"?H.html(L):H.empty().append(L);var I=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var D=this.dimension(H,I)-E;if(G>0&&G=this.first&&D<=this.last)){return }var F=this.dimension(E);if(Dthis.options.size?this.options.size:Q)}var N=this.first>Q;var E=A.intval(this.list.css(this.lt));var R=this.options.wrap!="circular"&&this.first<=1?1:this.first;var U=N?this.get(R):this.get(this.last);var P=N?R:R-1;var S=null,O=0,L=false,T=0;while(N?--P>=Q:++P=1&&(this.options.size==null||P<=this.options.size)))){E=N?E+T:E-T}}var I=this.clipping();var K=[];var D=0,P=Q,J=0;var U=this.get(Q-1);while(++D){S=this.get(P);L=!S.length;if(S.length==0){S=this.create(P).addClass(this.className("jcarousel-item-placeholder"));U.length==0?this.list.prepend(S):U[N?"before":"after"](S)}U=S;var T=this.dimension(S);if(T==0){alert("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...");return 0}if(this.options.wrap!="circular"&&this.options.size!==null&&P>this.options.size){K.push(S)}else{if(L){O+=T}}J+=T;if(J>=I){break}P++}for(var H=0;H0){this.list.css(this.wh,this.dimension(this.list)+O+"px");if(N){E-=O;this.list.css(this.lt,A.intval(this.list.css(this.lt))-O+"px")}}var G=Q+D-1;if(this.options.wrap!="circular"&&this.options.size&&G>this.options.size){G=this.options.size}if(P>G){D=0,P=G,J=0;while(++D){var S=this.get(P--);if(!S.length){break}J+=this.dimension(S);if(J>=I){break}}}var F=G-D+1;if(this.options.wrap!="circular"&&F<1){F=1}if(this.inTail&&N){E+=this.tail;this.inTail=false}this.tail=null;if(this.options.wrap!="circular"&&G==this.options.size&&(G-D+1)>=1){var M=A.margin(this.get(G),!this.options.vertical?"marginRight":"marginBottom");if((J-M)>I){this.tail=J-I-M}}while(Q-->F){E+=this.dimension(this.get(Q))}this.prevFirst=this.first;this.prevLast=this.last;this.first=F;this.last=G;return E},animate:function(G,D){if(this.locked||this.animating){return }this.animating=true;var E=this;var F=function(){E.animating=false;if(G==0){E.list.css(E.lt,0)}if(E.options.wrap=="both"||E.options.wrap=="last"||E.options.size==null||E.last=this.options.size){F=this.tail!=null&&!this.inTail}}if(E==undefined||E==null){var E=!this.locked&&this.options.size!==0&&((this.options.wrap&&this.options.wrap!="last")||this.first>1);if(!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!=null&&this.first==1){E=this.tail!=null&&this.inTail}}var D=this;this.buttonNext[F?"bind":"unbind"](this.options.buttonNextEvent,this.funcNext)[F?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",F?false:true);this.buttonPrev[E?"bind":"unbind"](this.options.buttonPrevEvent,this.funcPrev)[E?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",E?false:true);if(this.buttonNext.length>0&&(this.buttonNext[0].jcarouselstate==undefined||this.buttonNext[0].jcarouselstate!=F)&&this.options.buttonNextCallback!=null){this.buttonNext.each(function(){D.options.buttonNextCallback(D,this,F)});this.buttonNext[0].jcarouselstate=F}if(this.buttonPrev.length>0&&(this.buttonPrev[0].jcarouselstate==undefined||this.buttonPrev[0].jcarouselstate!=E)&&this.options.buttonPrevCallback!=null){this.buttonPrev.each(function(){D.options.buttonPrevCallback(D,this,E)});this.buttonPrev[0].jcarouselstate=E}},notify:function(D){var E=this.prevFirst==null?"init":(this.prevFirst=F&&J<=E)){this.get(J).each(function(){L(M,this,J,D,K)})}}}}},create:function(D){return this.format("
  • ",D)},format:function(F,E){var D=B(F).addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+E));D.attr("jcarouselindex",E);return D},className:function(D){return D+" "+D+(!this.options.vertical?"-horizontal":"-vertical")},dimension:function(G,H){var F=G.jquery!=undefined?G[0]:G;var E=!this.options.vertical?F.offsetWidth+A.margin(F,"marginLeft")+A.margin(F,"marginRight"):F.offsetHeight+A.margin(F,"marginTop")+A.margin(F,"marginBottom");if(H==undefined||E==H){return E}var D=!this.options.vertical?H-A.margin(F,"marginLeft")-A.margin(F,"marginRight"):H-A.margin(F,"marginTop")-A.margin(F,"marginBottom");B(F).css(this.wh,D+"px");return this.dimension(F)},clipping:function(){return !this.options.vertical?this.clip[0].offsetWidth-A.intval(this.clip.css("borderLeftWidth"))-A.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-A.intval(this.clip.css("borderTopWidth"))-A.intval(this.clip.css("borderBottomWidth"))},index:function(D,E){if(E==undefined){E=this.options.size}return Math.round((((D-1)/E)-Math.floor((D-1)/E))*E)+1}});A.extend({defaults:function(D){return B.extend(C,D||{})},margin:function(H,G){if(!H){return 0}var F=H.jquery!=undefined?H[0]:H;if(G=="marginRight"&&B.browser.safari){var E={display:"block","float":"none",width:"auto"},D,I;B.swap(F,E,function(){D=F.offsetWidth});E.marginRight=0;B.swap(F,E,function(){I=F.offsetWidth});return I-D}return A.intval(B.css(F,G))},intval:function(D){D=parseInt(D);return isNaN(D)?0:D}})})(jQuery); \ No newline at end of file +(function(b){b.fn.jcarousel=function(d){return this.each(function(){new a(this,d)})};var c={vertical:false,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,hide_arrows:false,wrap:null,initCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,buttonNextHTML:"
    ",buttonPrevHTML:"
    ",buttonNextEvent:"click",buttonPrevEvent:"click",buttonNextCallback:null,buttonPrevCallback:null};b.jcarousel=function(h,f){this.options=b.extend({},c,f||{});this.locked=false;this.container=null;this.clip=null;this.list=null;this.buttonNext=null;this.buttonPrev=null;this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical?"left":"top";var m="",k=h.className.split(" ");for(var g=0;g")}this.container=this.container.parent()}else{if(!this.container.hasClass("jcarousel-container")){this.container=this.list.wrap("
    ").parent()}}}else{this.container=b(h);this.list=b(h).find(">ul,>ol,div>ul,div>ol")}if(m!=""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1){this.container.wrap('
    ')}this.clip=this.list.parent();if(!this.clip.length||!this.clip.hasClass("jcarousel-clip")){this.clip=this.list.wrap("
    ").parent()}if(!(this.options.auto>0&&this.options.hide_arrows==true)){this.buttonPrev=b(".jcarousel-prev",this.container);if(this.buttonPrev.size()==0&&this.options.buttonPrevHTML!=null){this.buttonPrev=this.clip.before(this.options.buttonPrevHTML).prev()}this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext=b(".jcarousel-next",this.container);if(this.buttonNext.size()==0&&this.options.buttonNextHTML!=null){this.buttonNext=this.clip.before(this.options.buttonNextHTML).prev()}this.buttonNext.addClass(this.className("jcarousel-next"))}this.clip.addClass(this.className("jcarousel-clip"));this.list.addClass(this.className("jcarousel-list"));this.container.addClass(this.className("jcarousel-container"));var j=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var l=this.list.children("li");var n=this;if(l.size()>0){var d=0,g=this.options.offset;l.each(function(){n.format(this,g++);d+=n.dimension(this,j)});this.list.css(this.wh,d+"px");if(!f||f.size===undefined){this.options.size=l.size()}}this.container.css("display","block");if(!(this.options.auto>0&&this.options.hide_arrows==true)){this.buttonNext.css("display","block");this.buttonPrev.css("display","block")}this.funcNext=function(){n.next()};this.funcPrev=function(){n.prev()};this.funcResize=function(){n.reload()};if(this.options.initCallback!=null){this.options.initCallback(this,"init")}if(b.browser.safari){this.buttons(false,false);b(window).bind("load",function(){n.setup()})}else{this.setup()}};var a=b.jcarousel;a.fn=a.prototype={jcarousel:"0.2.3"};a.fn.extend=a.extend=b.extend;a.fn.extend({setup:function(){this.first=null;this.last=null;this.prevFirst=null;this.prevLast=null;this.animating=false;this.timer=null;this.tail=null;this.inTail=false;if(this.locked){return}this.list.css(this.lt,this.pos(this.options.offset)+"px");var d=this.pos(this.options.start);this.prevFirst=this.prevLast=null;this.animate(d,false);b(window).unbind("resize",this.funcResize).bind("resize",this.funcResize)},reset:function(){this.list.empty();this.list.css(this.lt,"0px");this.list.css(this.wh,"10px");if(this.options.initCallback!=null){this.options.initCallback(this,"reset")}this.setup()},reload:function(){if(this.tail!=null&&this.inTail){this.list.css(this.lt,a.intval(this.list.css(this.lt))+this.tail)}this.tail=null;this.inTail=false;if(this.options.reloadCallback!=null){this.options.reloadCallback(this)}if(this.options.visible!=null){var f=this;var g=Math.ceil(this.clipping()/this.options.visible),e=0,d=0;b("li",this.list).each(function(h){e+=f.dimension(this,g);if(h+1this.options.size){g=this.options.size}for(var d=f;d<=g;d++){var h=this.get(d);if(!h.length||h.hasClass("jcarousel-item-placeholder")){return false}}return true},get:function(d){return b(".jcarousel-item-"+d,this.list)},add:function(h,o){var k=this.get(h),f=0,n=0;if(k.length==0){var m,k=this.create(h),g=a.intval(h);while(m=this.get(--g)){if(g<=0||m.length){g<=0?this.list.prepend(k):m.after(k);break}}}else{f=this.dimension(k)}k.removeClass(this.className("jcarousel-item-placeholder"));typeof o=="string"?k.html(o):k.empty().append(o);var l=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var d=this.dimension(k,l)-f;if(h>0&&h=this.first&&f<=this.last)){return}var h=this.dimension(g);if(fthis.options.size?this.options.size:A)}var w=this.first>A;var h=a.intval(this.list.css(this.lt));var B=this.options.wrap!="circular"&&this.first<=1?1:this.first;var E=w?this.get(B):this.get(this.last);var z=w?B:B-1;var C=null,y=0,t=false,D=0;while(w?--z>=A:++z=1&&(this.options.size==null||z<=this.options.size)))){h=w?h+D:h-D}}var q=this.clipping();var s=[];var g=0,z=A,r=0;var E=this.get(A-1);while(++g){C=this.get(z);t=!C.length;if(C.length==0){C=this.create(z).addClass(this.className("jcarousel-item-placeholder"));E.length==0?this.list.prepend(C):E[w?"before":"after"](C)}E=C;var D=this.dimension(C);if(D==0){alert("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...");return 0}if(this.options.wrap!="circular"&&this.options.size!==null&&z>this.options.size){s.push(C)}else{if(t){y+=D}}r+=D;if(r>=q){break}z++}for(var o=0;o0){this.list.css(this.wh,this.dimension(this.list)+y+"px");if(w){h-=y;this.list.css(this.lt,a.intval(this.list.css(this.lt))-y+"px")}}var n=A+g-1;if(this.options.wrap!="circular"&&this.options.size&&n>this.options.size){n=this.options.size}if(z>n){g=0,z=n,r=0;while(++g){var C=this.get(z--);if(!C.length){break}r+=this.dimension(C);if(r>=q){break}}}var k=n-g+1;if(this.options.wrap!="circular"&&k<1){k=1}if(this.inTail&&w){h+=this.tail;this.inTail=false}this.tail=null;if(this.options.wrap!="circular"&&n==this.options.size&&(n-g+1)>=1){var u=a.margin(this.get(n),!this.options.vertical?"marginRight":"marginBottom");if((r-u)>q){this.tail=r-q-u}}while(A-->k){h+=this.dimension(this.get(A))}this.prevFirst=this.first;this.prevLast=this.last;this.first=k;this.last=n;return h},animate:function(g,d){if(this.locked||this.animating){return}this.animating=true;var e=this;var f=function(){e.animating=false;if(g==0){e.list.css(e.lt,0)}if(e.options.wrap=="both"||e.options.wrap=="last"||e.options.size==null||e.last=this.options.size){f=this.tail!=null&&!this.inTail}}if(e==undefined||e==null){var e=!this.locked&&this.options.size!==0&&((this.options.wrap&&this.options.wrap!="last")||this.first>1);if(!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!=null&&this.first==1){e=this.tail!=null&&this.inTail}}var d=this;if(this.buttonNext!=null&&this.buttonPrev!=null){this.buttonNext[f?"bind":"unbind"](this.options.buttonNextEvent,this.funcNext)[f?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",f?false:true);this.buttonPrev[e?"bind":"unbind"](this.options.buttonPrevEvent,this.funcPrev)[e?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",e?false:true);if(this.buttonNext.length>0&&(this.buttonNext[0].jcarouselstate==undefined||this.buttonNext[0].jcarouselstate!=f)&&this.options.buttonNextCallback!=null){this.buttonNext.each(function(){d.options.buttonNextCallback(d,this,f)});this.buttonNext[0].jcarouselstate=f}if(this.buttonPrev.length>0&&(this.buttonPrev[0].jcarouselstate==undefined||this.buttonPrev[0].jcarouselstate!=e)&&this.options.buttonPrevCallback!=null){this.buttonPrev.each(function(){d.options.buttonPrevCallback(d,this,e)});this.buttonPrev[0].jcarouselstate=e}}},notify:function(d){var e=this.prevFirst==null?"init":(this.prevFirst=f&&k<=e)){this.get(k).each(function(){m(n,this,k,d,l)})}}}}},create:function(d){return this.format("
  • ",d)},format:function(g,f){var d=b(g).addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+f));d.attr("jcarouselindex",f);return d},className:function(d){return d+" "+d+(!this.options.vertical?"-horizontal":"-vertical")},dimension:function(i,j){var h=i.jquery!=undefined?i[0]:i;var g=!this.options.vertical?h.offsetWidth+a.margin(h,"marginLeft")+a.margin(h,"marginRight"):h.offsetHeight+a.margin(h,"marginTop")+a.margin(h,"marginBottom");if(j==undefined||g==j){return g}var f=!this.options.vertical?j-a.margin(h,"marginLeft")-a.margin(h,"marginRight"):j-a.margin(h,"marginTop")-a.margin(h,"marginBottom");b(h).css(this.wh,f+"px");return this.dimension(h)},clipping:function(){return !this.options.vertical?this.clip[0].offsetWidth-a.intval(this.clip.css("borderLeftWidth"))-a.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-a.intval(this.clip.css("borderTopWidth"))-a.intval(this.clip.css("borderBottomWidth"))},index:function(d,e){if(e==undefined){e=this.options.size}return Math.round((((d-1)/e)-Math.floor((d-1)/e))*e)+1}});a.extend({defaults:function(e){return b.extend(c,e||{})},margin:function(i,h){if(!i){return 0}var g=i.jquery!=undefined?i[0]:i;if(h=="marginRight"&&b.browser.safari){var f={display:"block","float":"none",width:"auto"},d,j;b.swap(g,f,function(){d=g.offsetWidth});f.marginRight=0;b.swap(g,f,function(){j=g.offsetWidth});return j-d}return a.intval(b.css(g,h))},intval:function(d){d=parseInt(d);return isNaN(d)?0:d}})})(jQuery); \ No newline at end of file Index: jquery.jcarousel.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/viewscarousel/jquery.jcarousel.js,v retrieving revision 1.1 diff -u -r1.1 jquery.jcarousel.js --- jquery.jcarousel.js 21 Oct 2008 22:43:26 -0000 1.1 +++ jquery.jcarousel.js 17 Jan 2009 04:26:41 -0000 @@ -56,6 +56,7 @@ animation: 'normal', easing: 'swing', auto: 0, + hide_arrows: false, wrap: null, initCallback: null, reloadCallback: null, @@ -131,21 +132,24 @@ if (!this.clip.length || !this.clip.hasClass('jcarousel-clip')) this.clip = this.list.wrap('
    ').parent(); + + // added by Chintan Desai to remove arrows when disabled + if (!(this.options.auto > 0 && this.options.hide_arrows == true)) { + this.buttonPrev = $('.jcarousel-prev', this.container); - this.buttonPrev = $('.jcarousel-prev', this.container); + if (this.buttonPrev.size() == 0 && this.options.buttonPrevHTML != null) + this.buttonPrev = this.clip.before(this.options.buttonPrevHTML).prev(); - if (this.buttonPrev.size() == 0 && this.options.buttonPrevHTML != null) - this.buttonPrev = this.clip.before(this.options.buttonPrevHTML).prev(); + this.buttonPrev.addClass(this.className('jcarousel-prev')); - this.buttonPrev.addClass(this.className('jcarousel-prev')); + this.buttonNext = $('.jcarousel-next', this.container); - this.buttonNext = $('.jcarousel-next', this.container); - - if (this.buttonNext.size() == 0 && this.options.buttonNextHTML != null) - this.buttonNext = this.clip.before(this.options.buttonNextHTML).prev(); - - this.buttonNext.addClass(this.className('jcarousel-next')); + if (this.buttonNext.size() == 0 && this.options.buttonNextHTML != null) + this.buttonNext = this.clip.before(this.options.buttonNextHTML).prev(); + this.buttonNext.addClass(this.className('jcarousel-next')); + } + this.clip.addClass(this.className('jcarousel-clip')); this.list.addClass(this.className('jcarousel-list')); this.container.addClass(this.className('jcarousel-container')); @@ -171,9 +175,13 @@ // For whatever reason, .show() does not work in Safari... this.container.css('display', 'block'); - this.buttonNext.css('display', 'block'); - this.buttonPrev.css('display', 'block'); + // added by Chintan Desai to remove arrows when disabled + if (!(this.options.auto > 0 && this.options.hide_arrows == true)) { + this.buttonNext.css('display', 'block'); + this.buttonPrev.css('display', 'block'); + } + this.funcNext = function() { self.next(); }; this.funcPrev = function() { self.prev(); }; this.funcResize = function() { self.reload(); }; @@ -731,17 +739,21 @@ var self = this; - this.buttonNext[n ? 'bind' : 'unbind'](this.options.buttonNextEvent, this.funcNext)[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true); - this.buttonPrev[p ? 'bind' : 'unbind'](this.options.buttonPrevEvent, this.funcPrev)[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true); - - if (this.buttonNext.length > 0 && (this.buttonNext[0].jcarouselstate == undefined || this.buttonNext[0].jcarouselstate != n) && this.options.buttonNextCallback != null) { - this.buttonNext.each(function() { self.options.buttonNextCallback(self, this, n); }); - this.buttonNext[0].jcarouselstate = n; - } - - if (this.buttonPrev.length > 0 && (this.buttonPrev[0].jcarouselstate == undefined || this.buttonPrev[0].jcarouselstate != p) && this.options.buttonPrevCallback != null) { - this.buttonPrev.each(function() { self.options.buttonPrevCallback(self, this, p); }); - this.buttonPrev[0].jcarouselstate = p; + //this if statement added by Chintan Desai + //to prevent form refrencing null objects + if (this.buttonNext != null && this.buttonPrev != null) { + this.buttonNext[n ? 'bind' : 'unbind'](this.options.buttonNextEvent, this.funcNext)[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true); + this.buttonPrev[p ? 'bind' : 'unbind'](this.options.buttonPrevEvent, this.funcPrev)[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true); + + if (this.buttonNext.length > 0 && (this.buttonNext[0].jcarouselstate == undefined || this.buttonNext[0].jcarouselstate != n) && this.options.buttonNextCallback != null) { + this.buttonNext.each(function() { self.options.buttonNextCallback(self, this, n); }); + this.buttonNext[0].jcarouselstate = n; + } + + if (this.buttonPrev.length > 0 && (this.buttonPrev[0].jcarouselstate == undefined || this.buttonPrev[0].jcarouselstate != p) && this.options.buttonPrevCallback != null) { + this.buttonPrev.each(function() { self.options.buttonPrevCallback(self, this, p); }); + this.buttonPrev[0].jcarouselstate = p; + } } },