$(document).ready(function(){

	$('div#container-content div.container-work').hover(function(){
		
		$('.container-work-inner2',$(this)).animate({backgroundColor: '#ececed'}, fadeTime);
		$('.container-work-img .overlay',$(this)).animate({opacity: 0.8}, fadeTime);
		$('.container-work-img .viewcase',$(this)).fadeIn(fadeTime);
	},function(){
		
		$('.container-work-inner2',$(this)).animate({backgroundColor: '#ffffff'}, fadeTime);
		$('.container-work-img .overlay',$(this)).animate({opacity: 0}, fadeTime);
		$('.container-work-img .viewcase',$(this)).fadeOut(fadeTime);
	});
	fadeheader(6000,200);
	fadelogos(5000);
	
	
	window.setTimeout(function(){
		$("body").gaExtender({
			links_to_track:	[
								{
									selector: '#brandbox-nav a', 
									event: 'click', 
									category: 'Brandbox', 
									title: 'brandbox bullet', 
									optional_label: '', 
									optional_value: '' 
								},
								{
									selector: '#container-nav #nav a', 
									event: 'click', 
									category: 'Top navigatie', 
									title: '', 
									optional_label: '', 
									optional_value: ''
								},
								{
									selector: '.container-work .container-work-img', 
									event: 'click', 
									category: 'Recent werk', 
									title: 'Recent werk afbeelding', 
									optional_label: '', 
									optional_value: '' 
								},
								{
									selector: '.container-work .container-work-info a', 
									event: 'click', 
									category: 'Recent werk', 
									title: 'Recent werk tekstlink', 
									optional_label: '', 
									optional_value: '' 
								},
								{
									selector: '.work-item .method-item .readmore', 
									event: 'click', 
									category: 'Diensten', 
									title: '', 
									optional_label: '', 
									optional_value: '' 
								},
								{
									selector: '.umbraco p a', 
									event: 'click', 
									category: 'Umbraco', 
									title: '', 
									optional_label: '', 
									optional_value: '' 
								}
							],
			autonumbers:	false
		});
	},500);
});

/* jquery-timer.js */
 
 jQuery.timer = function (interval, callback)
 {
	var interval = interval || 100;

	if (!callback)
		return false;
	
	_timer = function (interval, callback) {
		this.stop = function () {
			clearInterval(self.id);
		};
		
		this.internalCallback = function () {
			callback(self);
		};
		
		this.reset = function (val) {
			if (self.id)
				clearInterval(self.id);
			
			var val = val || 100;
			this.id = setInterval(this.internalCallback, val);
		};
		
		this.interval = interval;
		this.id = setInterval(this.internalCallback, this.interval);
		
		var self = this;
	};
	
	return new _timer(interval, callback);
 };
 
 /* work.js */
 
var preloadElement = 'div#container-content div.container-work .container-work-img img';
var preloadTime = 100;
var fadeTime = 100;

$(function () {
	$(preloadElement).hide();
});

var i = 0;
var interval=0;
$(window).bind("load", function() {
	var interval = setInterval("doThis(i)",preloadTime);
});

function doThis() {
	var images = $(preloadElement).length;
	if (i >= images) {
		clearInterval(interval);
	}
	$(preloadElement + ':hidden').eq(0).fadeIn(preloadTime);
	i++;
}


/* header.js */
function fadeheader(fadeTime,transitionTime) {
	
	var brandboxItem = this.brandboxItem = $('#brandbox .brandbox-item');
	var brandboxItemTotal = this.brandboxItemTotal = brandboxItem.length;
	var brandboxItemNr = this.brandboxItemNr = 0;
	
	var timeLock = 'false';
	var loadLock = 'false';
	
	this.getBrandboxItemNr = getBrandboxItemNr = function(brandboxItemNrGo){
		
		if (brandboxItemNrGo >= brandboxItemTotal) brandboxItemNrGo = 0;
		else if (brandboxItemNrGo < 0) brandboxItemNrGo = brandboxItemTotal - 1;
			
		return brandboxItemNrGo;
	}
	
	this.fadeBrandboxItem = fadeBrandboxItem = function(){
		
		if (loadLock == 'false') {
			
			loadLock = 'true';
			
			var brandboxItemView = $('#brandbox .brandbox-item.view');
			var brandboxItemNext = brandboxItem.eq(brandboxItemNr);
			
	    	$('#brandbox #brandbox-nav a.active').removeClass('active');
			$('#brandbox #brandbox-nav a#brandbox-nav-' + brandboxItemNr).addClass('active');
			
			brandboxItemNext.addClass('active');
			brandboxItemView.fadeOut(transitionTime, function() {
				
    			brandboxItemNext.fadeIn(transitionTime, function() {
					
	    			brandboxItemNext.removeClass('active').addClass('view');
					brandboxItemView.removeClass('view').hide();
			    	
					loadLock = 'false';
			  	});
		  	});
		}
	}
	
	this.makeControls = makeControls = function(){
		
		if (brandboxItemTotal > 1) {
			
			$('#brandbox').append('<div id="brandbox-nav"></div>');
			
			var brandboxItemCounter = 0;
			while(brandboxItemCounter < brandboxItemTotal) {
				if (brandboxItemCounter == brandboxItemNr) $('#brandbox #brandbox-nav').append('<a class="active" id="brandbox-nav-' + brandboxItemCounter + '">&nbsp;</a>');
				else $('#brandbox #brandbox-nav').append('<a id="brandbox-nav-' + brandboxItemCounter + '">&nbsp;</a>');
				brandboxItemCounter++;
			}
			
			$('#brandbox #brandbox-nav a').click(function(){
				var brandboxItemNrPrev = brandboxItemNr;
				var brandboxItemNrNext = parseFloat($(this).attr('id').replace('brandbox-nav-',''));
				if (brandboxItemNrNext != brandboxItemNrPrev) {
					if (loadLock == 'false') {
						brandboxItemNr = brandboxItemNrNext;
						fadeBrandboxItem();
					}
				}
			});
		} else {
			$('#brandbox #brandbox-nav').hide();
		}
	}
	
	this.pauseSlideshow = pauseSlideshow = function(){
		
		if (brandboxItemTotal > 1) {
			
			$('#brandbox').hover(
				function(){
					timeLock = 'true';
				},function(){
					timeLock = 'false';
				}
			);
		}
	}
	
	this.slideShow = slideShow = function(){
		
		if (brandboxItemTotal > 1) {
			
			$.timer(fadeTime, function (timer) {
				
				if ((timeLock == 'true') || (loadLock == 'true')) timer.reset(fadeTime);
				else {
					
					brandboxItemNr = getBrandboxItemNr(brandboxItemNr+1);
					fadeBrandboxItem();
					
					timer.reset(fadeTime);
				}
			});
		}
	}
	
	makeControls();
	slideShow();
	pauseSlideshow();
}


/* logos.js */
function fadelogos(fadeTime) {
	
	var logobox = this.logobox = $('.work-item.logos .logo-box');
	var logoboxTotal = this.logoboxTotal = logobox.length;
	var logoboxNr = this.logoboxNr = 0;
	
	var timeLock = 'false';
	var loadLock = 'false';
	
	this.getLogoboxNr = getLogoboxNr = function(logoboxNrGo){
		
		if (logoboxNrGo >= logoboxTotal) logoboxNrGo = 0;
		else if (logoboxNrGo < 0) logoboxNrGo = logoboxTotal - 1;
			
		return logoboxNrGo;
	}
	
	this.fadeLogobox = fadeLogobox = function(){
		
		if (loadLock == 'false') {
			
			loadLock = 'true';
			
			var logoBoxView = $('.work-item.logos .logo-box.view');
			var logoBoxNext = logobox.eq(logoboxNr);
			
			logoBoxNext.addClass('active');
			logoBoxView.fadeOut('slow', function() {
    			logoBoxNext.fadeIn('slow', function() {
					
	    			logoBoxNext.removeClass('active').addClass('view');
					logoBoxView.removeClass('view').hide();
			    	
					loadLock = 'false';
			  	});
		  	});
		}
	}
	
	this.pauseSlideshow = pauseSlideshow = function(){
		
		if (logoboxTotal > 1) {
			
			$('.work-item.logos').hover(
				function(){
					timeLock = 'true';
				},function(){
					timeLock = 'false';
				}
			);
		}
	}
	
	this.slideShow = slideShow = function(){
		
		if (logoboxTotal > 1) {
			
			$.timer(fadeTime, function (timer) {
				
				if ((timeLock == 'true') || (loadLock == 'true')) timer.reset(fadeTime);
				else {
					
					logoboxNr = getLogoboxNr(logoboxNr+1);
					fadeLogobox();
					
					timer.reset(fadeTime);
				}
			});
		}
	}
	
	slideShow();
	pauseSlideshow();
}
