var z = 1, current = 0, images = [
'http://cdn.caddis.co/static/images/slides/whitetail-background.jpg',
'http://cdn.caddis.co/static/images/slides/whitetail-image.png',
'http://cdn.caddis.co/static/images/slides/whitetail-logo.png',
'http://cdn.caddis.co/static/images/slides/wasp-background.jpg',
'http://cdn.caddis.co/static/images/slides/wasp-image.png',
'http://cdn.caddis.co/static/images/slides/wasp-logo.png',
'http://cdn.caddis.co/static/images/slides/foxworthy-background.jpg',
'http://cdn.caddis.co/static/images/slides/foxworthy-image.png',
'http://cdn.caddis.co/static/images/slides/foxworthy-logo.png' ];

function slideshow(){
	var next = (current == 2) ? 0 : current + 1;
	z++;
	$('#slide-nav li').attr('id', '');
	$('#slide-nav li:eq('+next+')').attr('id', 'slide-active-'+next);
	$('#intro li:eq('+current+') .slide-right').animate({ opacity: 0, right: "-=20" }, 300, function(){
		$('#intro li:eq('+current+') .slide-photo').animate({ opacity: 0, top: "+=25" }, 600, function(){
			$('#intro li:eq('+next+')').css({"z-index": z, "opacity": "0"}).animate({ opacity: 1 }, 1800, function(){
				$('#intro li:eq('+next+') .slide-photo').animate({ opacity: 1, top: "-=25" }, 1000, function(){
					$('#intro li:eq('+next+') .slide-right').css({"right": "-15px"}).animate({ opacity: 1, right: "-=20" }, 500, function(){
						current = next;
						setTimeout(slideshow, 10000);
					});
				});
			});
		});
	});
}

(function(c){c.widget("ui.imageLoader",{options:{async:true,images:[]},total:0,_init:function(){var a;this.total++;this.loaded=0;this.data=[];this.stats={loaded:0,errored:0,allcomplete:false};if(typeof this.options.images==="string"){var b=[];c.map(c(this.options.images),function(d){b.push(c(d).attr("src"))});this.options.images=b}for(a=0;a<this.options.images.length;a++)this.data.push({init:false,complete:false,error:false,src:this.options.images[a],img:new Image,i:a});for(a=0;a<this.data.length&&
(this.options.async===true||a===0||a<parseInt(this.options.async,10));a++)this._loadImg(a);return this},_loadImg:function(a){var b=this;if(a!==false&&a<b.data.length)if(!b.data[a].init){b.data[a].init=true;b._trigger("start",null,{i:a,data:b.getData()});setTimeout(function(){b.data[a].img.onerror=function(){b.loaded++;b.stats.errored++;b.data[a].error=true;b._trigger("error",null,{i:a,data:b.getData()});b._complete(a)};b.data[a].img.onload=function(){if(b.data[a].img.width<1)return b.data[a].img.onerror();
b.loaded++;b.stats.loaded++;b.data[a].complete=true;b._trigger("complete",null,{i:a,data:b.getData()});b._complete(a)};b.data[a].img.src=b.data[a].src},1)}},_complete:function(a){if(!this.options.async||typeof this.options.async==="number")this._loadImg(this._next(a));if(this.loaded===this.data.length){this._trigger("allcomplete",null,this.getData());this.stats.allcomplete=true}},_next:function(a){var b;for(b=0;b<this.data.length;b++)if(b!==a&&!this.data[b].init)return b;return false},getData:function(){return c.extend(true,
[],this.data)},getStats:function(){return c.extend(true,[],this.stats)},destroy:function(){c.Widget.prototype.destroy.apply(this,arguments)}})})(jQuery);

$.fn.duplicate = function(count, cloneEvents) {
	var tmp = [];
	for ( var i = 0; i < count; i++ ) {
		$.merge( tmp, this.clone( cloneEvents ).get() );
	}
	return this.pushStack( tmp );
};

(function(e){e.fn.ThreeDots=function(h){var g=this;if((typeof h=="object")||(h==undefined)){e.fn.ThreeDots.the_selected=this;var g=e.fn.ThreeDots.update(h)}return g};e.fn.ThreeDots.update=function(u){var k,t=null;var m,j,s,q,o;var l,i;var r,h,n;if((typeof u=="object")||(u==undefined)){e.fn.ThreeDots.c_settings=e.extend({},e.fn.ThreeDots.settings,u);var p=e.fn.ThreeDots.c_settings.max_rows;if(p<1){return e.fn.ThreeDots.the_selected}var g=false;jQuery.each(e.fn.ThreeDots.c_settings.valid_delimiters,function(v,w){if(((new String(w)).length==1)){g=true}});if(g==false){return e.fn.ThreeDots.the_selected}e.fn.ThreeDots.the_selected.each(function(){k=e(this);if(e(k).children("."+e.fn.ThreeDots.c_settings.text_span_class).length==0){return true}l=e(k).children("."+e.fn.ThreeDots.c_settings.text_span_class).get(0);var y=a(k,true);var x=e(l).text();d(k,l,y);var v=e(l).text();if((h=e(k).attr("threedots"))!=undefined){e(l).text(h);e(k).children("."+e.fn.ThreeDots.c_settings.e_span_class).remove()}r=e(l).text();if(r.length<=0){r=""}e(k).attr("threedots",x);if(a(k,y)>p){curr_ellipsis=e(k).append('<span style="white-space:nowrap" class="'+e.fn.ThreeDots.c_settings.e_span_class+'">'+e.fn.ThreeDots.c_settings.ellipsis_string+"</span>");while(a(k,y)>p){i=b(e(l).text());e(l).text(i.updated_string);t=i.word;n=i.del;if(n==null){break}}if(t!=null){var w=c(k,y);if((a(k,y)<=p-1)||(w)||(!e.fn.ThreeDots.c_settings.whole_word)){r=e(l).text();if(i.del!=null){e(l).text(r+n)}if(a(k,y)>p){e(l).text(r)}else{e(l).text(e(l).text()+t);if((a(k,y)>p+1)||(!e.fn.ThreeDots.c_settings.whole_word)||(v==t)||w){while((a(k,y)>p)){if(e(l).text().length>0){e(l).text(e(l).text().substr(0,e(l).text().length-1))}else{break}}}}}}}if(x==e(e(k).children("."+e.fn.ThreeDots.c_settings.text_span_class).get(0)).text()){e(k).children("."+e.fn.ThreeDots.c_settings.e_span_class).remove()}else{if((e(k).children("."+e.fn.ThreeDots.c_settings.e_span_class)).length>0){if(e.fn.ThreeDots.c_settings.alt_text_t){e(k).children("."+e.fn.ThreeDots.c_settings.text_span_class).attr("title",x)}if(e.fn.ThreeDots.c_settings.alt_text_e){e(k).children("."+e.fn.ThreeDots.c_settings.e_span_class).attr("title",x)}}}})}return e.fn.ThreeDots.the_selected};e.fn.ThreeDots.settings={valid_delimiters:[" ",",","."],ellipsis_string:"...",max_rows:2,text_span_class:"ellipsis_text",e_span_class:"threedots_ellipsis",whole_word:true,allow_dangle:false,alt_text_e:false,alt_text_t:false};function c(k,h){if(e.fn.ThreeDots.c_settings.allow_dangle==true){return false}var l=e(k).children("."+e.fn.ThreeDots.c_settings.e_span_class).get(0);var g=e(l).css("display");var i=a(k,h);e(l).css("display","none");var j=a(k,h);e(l).css("display",g);if(i>j){return true}else{return false}}function a(i,j){var g=typeof j;if((g=="object")||(g==undefined)){return e(i).height()/j.lh}else{if(g=="boolean"){var h=f(e(i));return{lh:h}}}}function b(k){var j;var i=e.fn.ThreeDots.c_settings.valid_delimiters;k=jQuery.trim(k);var g=-1;var h=null;var l=null;jQuery.each(i,function(m,o){if(((new String(o)).length!=1)||(o==null)){return false}var n=k.lastIndexOf(o);if(n!=-1){if(n>g){g=n;h=k.substring(g+1);l=o}}});if(g>0){return{updated_string:jQuery.trim(k.substring(0,g)),word:h,del:l}}else{return{updated_string:"",word:jQuery.trim(k),del:null}}}function f(h){e(h).append("<div id='temp_ellipsis_div' style='position:absolute; visibility:hidden'>H</div>");var g=e("#temp_ellipsis_div").height();e("#temp_ellipsis_div").remove();return g}function d(k,l,m){var q=e(l).text();var i=q;var o=e.fn.ThreeDots.c_settings.max_rows;var h,g,n,r,j;var p;if(a(k,m)<=o){return}else{p=0;curr_length=i.length;curr_middle=Math.floor((curr_length-p)/2);h=q.substring(p,p+curr_middle);g=q.substring(p+curr_middle);while(curr_middle!=0){e(l).text(h);if(a(k,m)<=(o)){j=Math.floor(g.length/2);n=g.substring(0,j);p=h.length;i=h+n;curr_length=i.length;e(l).text(i)}else{i=h;curr_length=i.length}curr_middle=Math.floor((curr_length-p)/2);h=q.substring(0,p+curr_middle);g=q.substring(p+curr_middle)}}}})(jQuery);

$(document).ready(function()
{
	$('#header .nav').find('a').not('.active a, .contact-nav a').mouseenter(function(){
		$(this).stop().animate({color:'#000'},'fast');
	}).mouseleave(function(){
		$(this).stop().animate({color:'#555'},'fast');
	});
	$('.contact-nav a').mouseenter(function(){
		$(this).stop().animate({color:'#fff'},'fast');
	}).mouseleave(function(){
		$(this).stop().animate({color:'#ddd'},'fast');
	});
	$('#logo').mouseenter(function(){
		$(this).stop().animate({marginTop:'0', opacity:'1'},'fast');
	}).mouseleave(function(){
		$(this).stop().animate({marginTop:'-5px', opacity:'.9'},'fast');
	});
	if($('#intro').size() > 0){
		$('#team li img').mouseenter(function(){
			var name = $(this).attr('alt');
			$(this).parent().append("<div class='tooltip'>" + name + "</div>");
			$(this).stop().animate({top:'25px'},'fast').siblings('div').animate({top:'0', opacity:'1'}, 'fast');
		}).mouseleave(function(){
			$(this).stop().animate({top:'30px'},'fast').siblings('div').animate({opacity:'0'}, 'fast', function(){ $(this).remove(); });
		});
		$('#home-blog li').each(function(){
			if($(this).index() > 0){
				$(this).find('p').ThreeDots({max_rows: 3});
			}
		}).mouseenter(function(){
			var index = $(this).index();
			if(index && index < 3){
				$(this).addClass('blog-down').find('p').ThreeDots({max_rows: 6});
			}else if(index > 2){
				if(index == 3){
					$('#first-blog').removeClass('blog-down').find('p').ThreeDots({max_rows: 3});
				}
				$(this).addClass('blog-up').find('p').ThreeDots({max_rows: 6});
			}
		}).mouseleave(function(){
			var index = $(this).index();
			if(index && index < 3){
				$(this).removeClass('blog-down').find('p').ThreeDots({max_rows: 3});
			}else if(index > 2){
				if(index == 3){
					$('#first-blog').addClass('blog-down').find('p').ThreeDots({max_rows: 6});
				}
				$(this).removeClass('blog-up').find('p').ThreeDots({max_rows: 3});
			}
		});
		var div = $('#client-slider'),
		ul = $('#client-slide'),
		divWidth = div.width(),
		singleWidth = ulWidth = -40;
		$('#client-slide li').each(function(){
			singleWidth += $(this).outerWidth();
		});
		ulWidth = singleWidth * 4;
		ul.css({width:ulWidth});
		ul.children('li').duplicate(3).appendTo(ul);
		var left = singleWidth * -1,
		step = singleWidth / 5,
		sgl = singleWidth * -1,
		dbl = (singleWidth * 2) * -1,
		timeout;
		$('#client-list').mouseenter(function(){
			$(this).css({'z-index':'3000'});
		}).mouseleave(function(){
			$(this).css({'z-index':'30'});
		});
		$('#client-slide li').mouseenter(function(){
			clearTimeout(timeout);
			$(this).stop().animate({opacity:'1'},'fast');
		}).mouseleave(function(){
			$(this).stop().animate({opacity:'.6'},'fast');
			timeout = setTimeout(slide, 3500);
		});
		function slide(){
			if(Math.round(left) == dbl){
				left = sgl;
				ul.css({left:sgl});
			}
			left = left - step;
			ul.animate({left:left}, 1600, 'easeInOutExpo');
			timeout = setTimeout(slide, 5000);
		}
		ul.animate({left:left}, 1600, function(){
			timeout = setTimeout(slide, 3500);
			$({}).imageLoader({
				images: images,
				async: true,
				allcomplete: function(e, ui){
					$('#intro li').css({ "opacity": 0, "display": "block" });
					$('#intro .slide-right').css({"right": "-15px", "display": "block", "opacity": 0});
					$('#intro .slide-photo').css({"opacity": 0, "display": "block", "top": "+=25"});
					$('#intro .slide-bottom a').mouseenter(function(){
						$(this).stop().animate({opacity:'1'}, 500);
					}).mouseleave(function(){
						$(this).stop().animate({opacity:'.7'}, 500);
					});
					$('#intro').animate({'top':'-50px', 'opacity':'0'}, 500, function(){
						$(this).css({'background':'none', 'opacity':'1', 'top':'0'});
						$('#slide-nav li:eq(0)').attr('id', 'slide-active-0');
						$('#intro li:eq(0)').css({"z-index": z}).animate({ opacity: 1 }, 2000, function(){
							$('#intro li:eq(0) .slide-photo').animate({ opacity: 1, top: "-=25" }, 1000, function(){
								$('#intro li:eq(0) .slide-right').animate({ opacity: 1, right: "-=20" }, 500, function(){
									current = 0;
									setTimeout(slideshow, 10000);
								});
							});
						});
					});
				}
			});
		});
	}
});
