;(function(a){var b=a.serialScroll=function(c){return a(window).serialScroll(c)};b.defaults={duration:1e3,axis:"x",event:"click",start:0,step:1,lock:!0,cycle:!0,constant:!0};a.fn.serialScroll=function(c){return this.each(function(){var t=a.extend({},b.defaults,c),s=t.event,i=t.step,r=t.lazy,e=t.target?this:document,u=a(t.target||this,e),p=u[0],m=t.items,h=t.start,g=t.interval,k=t.navigation,l;if(!r){m=d()}if(t.force){f({},h)}a(t.prev||[],e).bind(s,-i,q);a(t.next||[],e).bind(s,i,q);if(!p.ssbound){u.bind("prev.serialScroll",-i,q).bind("next.serialScroll",i,q).bind("goto.serialScroll",f)}if(g){u.bind("start.serialScroll",function(v){if(!g){o();g=!0;n()}}).bind("stop.serialScroll",function(){o();g=!1})}u.bind("notify.serialScroll",function(x,w){var v=j(w);if(v>-1){h=v}});p.ssbound=!0;if(t.jump){(r?u:d()).bind(s,function(v){f(v,j(v.target))})}if(k){k=a(k,e).bind(s,function(v){v.data=Math.round(d().length/k.length)*k.index(this);f(v,this)})}function q(v){v.data+=h;f(v,this)}function f(B,z){if(!isNaN(z)){B.data=z;z=p}var C=B.data,v,D=B.type,A=t.exclude?d().slice(0,-t.exclude):d(),y=A.length,w=A[C],x=t.duration;if(D){B.preventDefault()}if(g){o();l=setTimeout(n,t.interval)}if(!w){v=C<0?0:y-1;if(h!=v){C=v}else{if(!t.cycle){return}else{C=y-v-1}}w=A[C]}if(!w||t.lock&&u.is(":animated")||D&&t.onBefore&&t.onBefore(B,w,u,d(),C)===!1){return}if(t.stop){u.queue("fx",[]).stop()}if(t.constant){x=Math.abs(x/i*(h-C))}u.scrollTo(w,x,t).trigger("notify.serialScroll",[C])}function n(){u.trigger("next.serialScroll")}function o(){clearTimeout(l)}function d(){return a(m,p)}function j(w){if(!isNaN(w)){return w}var x=d(),v;while((v=x.index(w))==-1&&w!=p){w=w.parentNode}return v}})}})(jQuery);

;(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);

(function($){     
	$.fn.extend({   

		billy: function(options) { 
		
			// Defaults
			var defaults = {
				scrollSpeed		: 500,
				slidePause		: 0,
				indicators		: $('ul.indicators'),
				indicatorLinks	: true,
				activeClass		: 'active',
				scrollAmount	: 'auto',
				nextLink		: $('#header .next'),
				prevLink		: $('#header .prev'),
				autoAnimate		: false,
				loop			: true,
				customIndicators: false,
				numberIndicators: false,
				noAnimation		: false
			};
			
			// Set Options
			var options = $.extend(defaults, options);
			
			// Def
			var option;
			var object;
			var slides;
			var slidewidth;
			var slidecount;
			var currentslide;
			var defautindicator;
			var the_indicators;
			var hreftag;
			var indicatorsli;
			var currentindicator;
			
			// Loop throuch Carousels
			return this.each(function() {

				// Set Options
				option = options;
				// Set currently selected
				object = $(this);
				// Sets up slide size
				slides = object.find('li');
				if (option.scrollAmount	== 'auto') { 
					slidewidth		= slides.width();
				}else{ 
					slidewidth = option.scrollAmount; 
				}
				// Other vars
				slidecount = (slides.width() * slides.length) / slidewidth;
				slidecount = Math.round(slidecount);
				currentslide = 0;

				// append clone of first slide after last, to allow seamless slide forward from the last to the first
				/*if (jQuery.browser.msie) {
					object.append( innerShiv( slides.eq(0).html() ), false );
				} else {
					object.append( slides.eq(0).clone() );
				}*/
				
				// If there's slides, continue
				if (slides.length > 0) {
				
					if( slides.length == 3 ) {
						option.prevLink.hide();
						option.nextLink.hide();

						return;
					}
					
					// If the developer wants default indicators
					if (!option.customIndicators) {
						// Loop / no. of slides
						option.indicators.each( function(y) {
							for (var i = 0; i<slidecount; i++) {
								// -- Insert Indicators
								if (!option.indicatorLinks) {
									$( this ).append('<li></li>');
								}else{
									$( this ).append('<li><a href="#'+i+'"></a></li>');
								}
							}
						});
					}

					if (option.customIndicators && option.numberIndicators) {
						for (var i = 0; i<slidecount; i++) {
							// -- Insert Indicators
							if (!option.indicatorLinks) {
								option.indicators.append('<li></li>');
							}else{
								option.indicators.append('<li><a href="#'+i+'">'+(i+1)+'</a> '+((i+1)<slidecount?'|':'')+'</li>');
							}
						}
					}
	
					// Indicator Functionality
					defautindicator = option.indicators.find('li:eq(0)');
					defautindicator.addClass(option.activeClass)
					the_indicators = option.indicators.find('li a');
			
					// Thanks to Tomas Nikl for the below fix
					the_indicators.click( function() {
						hreftag = $(this).attr('href');
						hreftag = hreftag.substring(hreftag.search('#')+1, hreftag.length);
						jumptospecific(hreftag);
						if (option.autoAnimate) {
							clearInterval(period);
							period = window.setInterval(function() {
								if (currentslide >= (slidecount - 1)) {
									jumptostart();
								}else{
									jumpnext();
								}
							}, option.slidePause);
						}
						return false;
					});
			
					
					// -- Jump Functions
					var jumptostart = function() {
						if (option.noAnimation) {
							object.css('marginLeft', "0");
						}else if (currentslide == (slidecount - 1)){
							// if at last slide, continue to the final clone
							currentslide ++;
							object.animate({'marginLeft': "-"+(slidewidth*currentslide)}, option.scrollSpeed, function() {
								// jump instantly back to the real first item
								object.css('marginLeft', "0");
							});
							indicatorsli = option.indicators.find('li');
							indicatorsli.removeClass();
							currentindicator = option.indicators.find('li:eq(0)');
							currentindicator.addClass(option.activeClass);
							if (option.autoAnimate) {
								clearInterval(period);
								period = window.setInterval(function() {
									if (currentslide >= (slidecount - 1)) {
										jumptostart();
									}else{
										jumpnext();
									}
								}, option.slidePause);
							}
						}else{
							object.animate({'marginLeft': "0"}, option.scrollSpeed);
						}
					    currentslide = 0;
					    indicatorsli = option.indicators.find('li');
						indicatorsli.removeClass();
					   	currentindicator = option.indicators.find('li:eq('+(currentslide)+')');
						currentindicator.addClass(option.activeClass);
					};	
					var jumptoend = function() {
					    currentslide = slidecount-3;
						if (option.noAnimation) {
							object.css('marginLeft', "-"+(currentslide*slidewidth)+"px");
						}else{
					    	object.animate({'marginLeft': "-"+(currentslide*slidewidth)}, option.scrollSpeed);
						}
					    indicatorsli = option.indicators.find('li')
						indicatorsli.removeClass();
					    currentindicator = option.indicators.find('li:eq('+(currentslide)+')');
						currentindicator.addClass(option.activeClass);
					};
					var jumpnext = function() {
						//if (currentslide < (slidecount - 3)) {
						
							currentslide++;
							var forappend = $('.team .scroller li').eq(0).html();
							$('.team .scroller li').eq(0).remove();
							$('.team .scroller ul').append('<li class="item-'+currentslide+'">'+forappend+'</li>');
							
							/*
							if (option.noAnimation) {
								object.css('marginLeft', "-"+(slidewidth*currentslide)+"px");
							}else{
								object.animate({'marginLeft': "-"+(slidewidth*currentslide)}, option.scrollSpeed);
							}
							alert(currentslide);
							indicatorsli = option.indicators.find('li');
							indicatorsli.removeClass();
							currentindicator = option.indicators.find('li:eq('+(currentslide)+')');
							currentindicator.addClass(option.activeClass);
							if (option.autoAnimate) {
								clearInterval(period);
								period = window.setInterval(function() {
									if (currentslide >= (slidecount - 1)) {
										jumptostart();
									}else{
										jumpnext();
									}
								}, option.slidePause);
							}*/
						/*}else{
							if (option.loop)
								jumptostart();
						}*/
					};
					var jumpback = function() {
						var allitems = $('.team .scroller li').length;
						currentslide++;
						var forappend = $('.team .scroller li').eq(parseInt(allitems-1)).html();
						$('.team .scroller li').eq(parseInt(allitems-1)).remove();
						$('.team .scroller ul li').eq(0).before('<li class="item-'+currentslide+'">'+forappend+'</li>');
						/*if (currentslide > 0) {
							currentslide --;
							if (option.noAnimation) {
								object.css('marginLeft', "-"+(slidewidth*currentslide)+"px");
							}else{
								object.animate({'marginLeft': "-"+(slidewidth*currentslide)}, option.scrollSpeed);
							}
							indicatorsli = option.indicators.find('li');
							indicatorsli.removeClass();
							currentindicator = option.indicators.find('li:eq('+(currentslide)+')');
							currentindicator.addClass(option.activeClass);
							if (option.autoAnimate) {
								clearInterval(period);
								period = window.setInterval(function() {
									if (currentslide >= (slidecount - 1)) {
										jumptostart();
									}else{
										jumpnext();
									}
								}, option.slidePause);
							}
						}else{
							if (option.loop)
								jumptoend();
						}*/
					};
					var jumptospecific = function(frame) {
						if (currentslide !== frame) {
							currentslide = frame;
							if (option.noAnimation) {
								object.css('marginLeft', "-"+(slidewidth*currentslide)+"px");
							}else{
						    	object.animate({'marginLeft': "-"+(slidewidth*currentslide)}, option.scrollSpeed);
							}
						    indicatorsli = option.indicators.find('li');
							indicatorsli.removeClass();
						    currentindicator = option.indicators.find('li:eq('+(currentslide)+')');
							currentindicator.addClass(option.activeClass);
						}
					};
					
					// -- Click next/prev
					option.nextLink.click( function() {
						jumpnext();
						return false;
					});
					
					option.prevLink.click( function() {
						jumpback();
						return false;
					});
				}
				
			});
			
		}
		
	});
})(jQuery);
