// jQuery plugin minified - FoxNews Carousel. last updated: 02/23/2010
// Dependencies: jQuery
(function(h){function z(){this._speed="slow";this._scrollTo=this._scroll=1;this._rotate=true;this._auto={set:false,resume:false,speed:5E3};this._focus={item:0,animate:false};this._show=this._slide=null;this.cloneClass="item-clone";this.isAutoScroll=this._auto.set;this.isAutoScrollResume=this._auto.resume;this.autoSpeed=this._auto.speed;this.minAutoSpeed=3E3;this.targetItem=this.currentCount=0;this.scrollBatch=1;this.timeout=null;this.triggered=this.isItemCountOK=this.isLastBatch=false;this._eventCallback= function(){};this.carouselInfoObj={}}function A(){}function C(a){typeof window.console==="object"&&console.log(a)}function B(){C("[init] error initializing carousel.");return false}jQuery.fn.jfoxCarousel=function(a){if(!a)return false;if(!a.slide||!a.show)return false;return this.each(function(){var b=new z;b.init(h(this),a);return b})};var v={holder:"slideshow",control:"controls"};z.prototype={init:function(a,b){function m(d){var n,e,j,g,f,l=0;h("ul:first",o).children().each(function(){var k=r.getCSSDimension("margin", this,true),q=r.getCSSDimension("padding",this,true),s=r.getCSSDimension("border",this,true);n=r.format(r.getCSSDimension(d,this));if(d==="width"){e=k.Left+k.Right;j=q.Left+q.Right;g=s.Left+s.Right;f=h(this).outerWidth(true)}else{e=k.Top+k.Bottom;j=q.Top+q.Bottom;g=s.Top+s.Bottom;f=h(this).outerHeight(true)}k=n+e+j+g;k=f>k?f:k;if(k>l)l=k});return l}for(i in b)if(i==="auto"||i==="focus"){var t=b[i];for(p in this["_"+i])if(t[p])this["_"+i][p]=t[p]}else if(i==="identifier")for(c in v){if(b[i][c])v[c]= b[i][c]}else this["_"+i]=b[i];this.obj=a;this.slideshowObj=h(this.obj).find("div."+v.holder);this.controlObj=h(this.obj).find("[class*='"+v.control+"']");var o=this.slideshowObj;if(h(this.slideshowObj).size()<1||this._slide!=="vertical"&&this._slide!=="horizontal"){B();return false}o.scrollLeft(0).scrollTop(0);this.holder={width:r.format(o.css("width")),height:r.format(o.css("height")),item:{count:h("ul:first",o).children().size(),width:m("width"),height:m("height")}};if(this.holder.item.count=== 0||this._slide==="horizontal"&&this.holder.item.width<=0||this._slide==="vertical"&&this.holder.item.height<=0){B();return false}else this.isItemCountOK=true;a=Math.ceil((this.holder.item.count-this._show)/this._scroll)+(this.holder.item.count-this._show%this._scroll>0?1:0);this.maxBatch=a<1?1:a;this._eventCallback(this.carouselInfoObj={event:"init",items:this.holder.item.count,target:0,scroll:this._scroll,start:1,end:this._show>this.holder.item.count?this.holder.item.count:this._show,batch:{current:1, max:this.maxBatch}});if(typeof this._speed==="string")this._speed=h.fx.speeds[this._speed]?h.fx.speeds[this._speed]:h.fx.speeds.slow;if(this._auto.set)this.isAutoScroll=r.checkBoolean(this._auto.set);if(this._auto.resume)this.isAutoScrollResume=r.checkBoolean(this._auto.resume);if(!isNaN(this._auto.speed))this.autoSpeed=this._auto.speed<this.minAutoSpeed?this.minAutoSpeed:this._auto.speed;this.autoSpeed+=this._speed;this._focus.item>0&&this.slide("scrollToItem",this._focus.item,this._focus.animate); this.setListeners()},setListeners:function(){var a=this;if(this._controlsCallback){this.externalControls=new A;this.externalControls.init(this);this._controlsCallback(this.externalControls)}else{this.isAutoScroll=this._auto.set?this._auto.set:true;this.isAutoScrollResume=this._auto.resume?this._auto.resume:true}if(this.isAutoScroll&&this.isItemCountOK){this.slideshowObj.hover(function(){if(a.isAutoScroll){a.autoScroll.stop(a.timeout);a.isAutoScroll=false;a.carouselInfoObj.event="autoScrollStop";a._eventCallback(a.carouselInfoObj)}}, function(){if(a.isAutoScrollResume){a.autoScroll.play(a);a.isAutoScroll=true;a.carouselInfoObj.event="autoScrollPlay";a._eventCallback(a.carouselInfoObj)}});this.autoScroll.play(a)}},slide:function(a,b,m){function t(){k.find("> li:last").each(function(){var w=h(this),x=k.find("> li:first").clone().addClass(q).removeClass("first");h("<ul></ul>").html(x).each(function(){for(var u=2;u<=j;u++)h(this).append(k.find("> li:nth-child("+u+")").clone().addClass(q));w.after(h(this).children())})});var y=d._slide=== "vertical"?{scrollTop:l.scrollTop()+j*e.height}:{scrollLeft:l.scrollLeft()+j*e.width};l.animate(y,d._speed,"swing",function(){d._slide==="vertical"?l.scrollTop(0):l.scrollLeft(0);k.find("[class*='"+q+"']").remove();d.triggered=false});d.currentCount=0;d.scrollBatch=1;d.isLastBatch=false;d._eventCallback(d.carouselInfoObj={event:"scrollToFirst",items:e.count,target:0,scroll:d._scroll,start:1,end:d._show>e.count?e.count:d._show,batch:{current:1,max:d.maxBatch}})}function o(){k.find("> li:first").removeClass("first").each(function(){var y= h(this),w=e.count-d._show+1,x=k.find("> li:nth-child("+w+")").clone().addClass(q+" first");h("<ul></ul>").html(x).each(function(){for(var u=w+1;u<=e.count;u++)h(this).append(k.find("> li:nth-child("+u+")").clone().addClass("item-clone"));y.before(h(this).children());d._slide==="vertical"?l.scrollTop(j*e.height):l.scrollLeft(j*e.width)})});l.animate(d._slide==="vertical"?{scrollTop:0}:{scrollLeft:0},d._speed,"swing",function(){d._slide==="vertical"?l.scrollTop((e.count-j)*e.height):l.scrollLeft((e.count- j)*e.width);k.find("[class*='"+q+"']").remove();k.find(":first").addClass("first");d.triggered=false});d.currentCount=e.count-j;d.scrollBatch=d.maxBatch;d.isLastBatch=true;d._eventCallback(d.carouselInfoObj={event:"scrollToLast",items:e.count,target:0,scroll:d._scroll,start:e.count-j,end:e.count,batch:{current:d.maxBatch,max:d.maxBatch}})}b=b||false;m=typeof m==="undefined"||m===null?true:m;this.triggered=true;var d=this,n=this._scroll,e=this.holder.item,j=this._show,g=this.currentCount,f=this.scrollBatch, l=this.slideshowObj,k=h("ul:first",l),q=this.cloneClass,s=0;if(a==="scrollToBatch"){if(!b||isNaN(b))return;if(b<=1){f=1;g=0;this.isLastBatch=false}else if(b>=this.maxBatch){f=this.maxBatch;g=e.count-j;this.isLastBatch=true}else{f=b;g=n*(b-1)}if(g===this.currentCount&&f===this.scrollBatch)return}else if(a==="scrollToItem"){if(!b||isNaN(b))return;if(b<=1){f=1;g=0;s=1;this.isLastBatch=false}else if(b>=e.count){f=this.maxBatch;g=e.count-j;s=e.count;this.isLastBatch=true}else{f=Math.ceil(b/n);if(f>=this.maxBatch){f= this.maxBatch;g=e.count-j;this.isLastBatch=true}else{f=f;g=n*(f-1)}s=b}if(g===this.currentCount&&f===this.scrollBatch&&this.carouselInfoObj.target===b)return}else if(a==="next"){b=g+n;if(b+j>e.count){if(g+j===e.count&&this._rotate){t();return}g=e.count-j;this.isLastBatch=true;f++;f=f>this.maxBatch?this.maxBatch:f}else{g=b;f++}}else if(a==="prev"){b=g-n;if(b<0){g=0;f--;if(f<1&&this._rotate){o();return}else if(f<1)f=1}else{g=b;f--}}this.scrollBatch=f;this.currentCount=g;this._eventCallback(this.carouselInfoObj= {event:a,items:e.count,target:s,scroll:this._scroll,start:g+1,end:g+j>e.count?e.count:g+j,batch:{current:this.scrollBatch,max:this.maxBatch}});a=g*(this._slide==="vertical"?e.height:e.width);if(m)l.animate(this._slide==="vertical"?{scrollTop:a}:{scrollLeft:a},d._speed,"swing",function(){d.triggered=false});else{this._slide==="vertical"?l.scrollTop(a):l.scrollLeft(a);d.triggered=false}},autoScroll:{play:function(a){a.timeout=setInterval(function(){a.slide("next")},a.autoSpeed)},stop:function(a){clearInterval(a)}}}; A.prototype={init:function(a){this.root=a},scrollToBatch:function(){var a=arguments,b,m=true;if(typeof a[0]==="object"){b=a[0].batch;m=a[0].animate}else b=a[0];this.root.slide("scrollToBatch",b,m)},scrollToItem:function(){var a=arguments,b,m=true;if(typeof a[0]==="object"){b=a[0].item;m=a[0].animate}else b=a[0];this.root.slide("scrollToItem",b,m)},slide:function(a){if(this.root.isItemCountOK)this.root.triggered||this.root.slide(a)},stopAutoScroll:function(){this.root.isAutoScrollResume=false;this.root.autoScroll.stop(this.root.timeout)}, startAutoScroll:function(){this.root.autoScroll.play(this.root)}};var r={format:function(a){a=parseInt(a.replace(/[a-zA-z]/gi,""),10);return isNaN(a)?0:a},checkBoolean:function(a){var b=false;if(typeof a==="string"&&a==="true")b=true;else if(typeof a==="boolean")b=a;return b},getCSSDimension:function(a,b,m){if(!a)return false;var t=["Top","Right","Bottom","Left"],o={};if(a==="margin"||a==="padding"||a==="border"){for(var d=0;d<t.length;d++){var n=h(b).css(a+t[d]);o[t[d]]=typeof n!=="undefined"?m? this.format(n):n:0}return o}return h(b).css(a)}}})(jQuery);

//jQuery plugin - FoxNews Carousel. last updated: 04/11/2010
//Dependencies: jQuery
(function(b){function j(){this._speed="normal";this._listInitOpen=1;this._activeClass="";this._duration=800;this.contentHeight=this.contentOpen=this.contentOpenTitle=this.currentOpen=this.triggered=this.timeout=null;this.speedType={slow:100,normal:30,fast:10}}function k(a){var c=b(a).outerHeight();if(c>0)a=c;else{c=g(b(a).css("marginTop"))+g(b(a).css("marginBottom"));var f=g(b(a).css("paddingTop"))+g(b(a).css("paddingBottom"));a=g(b(a).css("height"))+c+f}return a}function g(a){a=parseInt(a.replace(/[a-zA-z]/gi, ""),10);return isNaN(a)?0:a}jQuery.fn.jfoxAccordion=function(a){return this.each(function(){var c=new j;c.init(b(this),a);return c})};j.prototype={init:function(a,c){if(c)for(i in c)if(i==="speed")this.setSpeed(c[i]);else this["_"+i]=c[i];this.obj=a;this.setListeners()},setListeners:function(){var a=this,c=b(this.obj).children();b(c).each(function(f){var d=b(this).find("> div.content"),e=b(this).find("> h2.title");b(d).css("overflow","hidden");if(f==a._listInitOpen-1){a.currentOpen=f;b(d).show(); a.contentHeight=k(d);a.contentOpen=b(d);a.contentOpenTitle=b(e);b(d).css("height",a.contentHeight);b(e).addClass(a._activeClass)}else{b(e).removeClass(a._activeClass);b(d).css({height:"0px",opacity:"0"}).show()}b(e).click(function(){if(f==a.currentOpen)return;if(!a.triggered){b(a.contentOpenTitle).removeClass(a._activeClass);b(e).addClass(a._activeClass);a.triggered=true;a.fnAnimate(b(d),b(e),f)}})});b(this.obj).css("height",k(b(this.obj))+"px")},setSpeed:function(a){if(isNaN(a)){if(typeof a=== "string"){a=a.toLowerCase();for(i in this.speedType){if(i===a){this._speed=a;return}this._speed="normal"}}}else if(a>1E3)this._speed("fast");else a<1E3&&a>=500?this._speed("normal"):this._speed("slow")},fnAnimate:function(a,c,f){var d=this,e=this.contentOpen;a.animate({height:this.contentHeight+"px"},{step:function(h){h=d.contentHeight-h;if(b.browser.msie||b.browser.opera)h=Math.ceil(h);e.css("height",h)},duration:d._duration,easing:"swing",complete:function(){d.contentOpen=a;d.currentOpen=f;d.triggered= false;e.css("opacity","0")}});b(a).css("opacity","1");d.contentOpenTitle=c}}})(jQuery);

