function e(id) { return document.getElementById(id); }

$.fn.delay = function(time, callback){
	jQuery.fx.step.delay = function(){};
	return this.animate({delay:1}, time, callback);
}

// Get dimensions
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel))) { n_result = n_docel; }
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}


// Experimental navigation (PDF grab hand style)
/*
$(function() {
    $('#container').mousedown(function(e) {
		
        var startX = e.pageX;
		var startY = e.pageY;
		var startXPos = $(this).scrollLeft();
        var startYPos = $(this).scrollTop();
		
        $('#container').mousemove(function(e) {
			var offsetX = startX - e.pageX;
			var offsetY = startY - e.pageY;
			$.scrollTo({ top:(startYPos + offsetY), left:(startXPos + offsetX) },0);
			
			//console.log('startYPos: '+startYPos);
			//console.log('offsetY: '+offsetY);
			//console.log('e.pageX: '+e.pageX);
			//console.log('top: '+(startYPos + offsetY)+' / left: '+(startXPos + offsetX));
			
            return false;
        });

        $('#container').one('mouseup', function(e) {
            $('#container').unbind('mousemove');
        });

        // Only if you want to prevent text selection
        return false;
    });
});
*/


function setRollover(target, image, xpos, ypos, image2, xpos2, ypos2, repeat)
{
	$(target).hover(
	  function(){ $(this).css('background', 'transparent url('+image+') '+xpos+' '+ypos+' '+repeat); },
	  function(){ $(this).css('background', 'transparent url('+image2+') '+xpos2+' '+ypos2+' '+repeat); }
	);
}

function fixHeight(content, filler, highest)
{
	$(filler).height(highest - $(content).height());
}

function setHeights()
{
	fixHeight('#c_home', '#filler1', highest);
	fixHeight('#c_code', '#filler2', highest);
	fixHeight('#c_innovation', '#filler3', highest);
	fixHeight('#c_other', '#filler4', highest);
	fixHeight('#c_skills', '#filler5', highest);
	fixHeight('#c_contact', '#filler6', highest);
}

function connectColorbox(tag)
{
	$("a[rel='cb_"+tag+"_link']").click(function(){ $("#cb_"+tag).trigger('click'); return false; })
}


$(document).ready(function()
{
	scrollEvent(); // call scrollEvent to set everything right on a reload
	if(window.location.hash) { $("#top").delay(2000, function() { window.location.hash = window.location.hash; }); } // Hashtag fix for direct links
	
	/* Rollovers */
	setRollover('.up', '/site/gfx/up_rollover.png', '0', '0', '/site/gfx/up.png', '0', '0', 'repeat-y');
	setRollover('.quicknav_left', '/site/gfx/quicknav.png', '0', '-30px', '/site/gfx/quicknav.png', '0', '0', 'no-repeat');
	setRollover('.quicknav_right', '/site/gfx/quicknav.png', '-30px', '-30px', '/site/gfx/quicknav.png', '-30px', '0', 'no-repeat');
	setRollover('.quicknav_up', '/site/gfx/quicknav.png', '-60px', '-30px', '/site/gfx/quicknav.png', '-60px', '0', 'no-repeat');
	setRollover('.quicknav_down', '/site/gfx/quicknav.png', '-90px', '-30px', '/site/gfx/quicknav.png', '-90px', '0', 'no-repeat');
	
	/* Fade in content */
	$('#topcontent').delay(500).fadeIn(2000);
	$('#container').delay(600).fadeIn(2000);
	$('#thanks').delay(2000).fadeOut(1000);
	
	/* Fix arrow div height */
	$("#top").delay(2000, function() { highest = $('#c_flash').height(); setHeights(); });
	$("#top").delay(10000, function() { highest = $('#c_flash').height(); setHeights(); }); // backup for slow bandwidth
	
	/* Birds */
	$('#bird_1')
		.sprite({fps: 6, no_of_frames: 6})
		.spRandom({top: 150, bottom: 250, left: 300, right: 320})
		.isDraggable()
		.activeOnClick()
		.active();
	
	$('#bird_2')
		.sprite({fps: 6, no_of_frames: 6})
		.spRandom({top: 50, bottom: 100, left: 1600, right: 1620})
		.isDraggable()
		.activeOnClick()
		.active();
	
	$('#bird_3')
		.sprite({fps: 6, no_of_frames: 6})
		.spRandom({top: 150, bottom: 300, left: 3000, right: 3020})
		.isDraggable()
		.activeOnClick()
		.active();
	
	/* Setup animations */
	$.localScroll({ axis: 'xy', offset: -100 });
	
	$('.toplink').click(function(){
		$.scrollTo(0,300,{axis:'y'});
		return(false);
	});
	
	$('.moveup').click(function(){
		up = f_scrollTop()-(f_clientHeight()+100);
		if (up < 0) { up = 0; }
		$.scrollTo(up,300,{axis:'y'});
		return(false);
	});
	
	$('.movedown').click(function(){
		$.scrollTo(f_scrollTop()+(f_clientHeight()-100),300,{axis:'y'});
		return(false);
	});
	
	/* ColorBox */
	$('a.colorbox').colorbox({maxWidth:'95%', maxHeight:'95%'});
	
	connectColorbox('vval');
	connectColorbox('missfris');
	connectColorbox('bandolera');
	connectColorbox('vespro');
	
	connectColorbox('pam');
	connectColorbox('ahk');
	
	connectColorbox('cma');
	connectColorbox('sit');
	connectColorbox('fsb');
	connectColorbox('webcam');
	
	connectColorbox('hw');
	connectColorbox('kahoona');
	connectColorbox('homeo');
	
	//$("a[rel='cb_cma_inline']").click(function(){ $("#cb_cma").trigger('click'); return false; })
	
	/* SwfObject */
	swfobject.embedSWF("/site/demo/cma.swf", "CMA_swf", "110", "120", "8.0.0", "/site/files/expressInstall.swf", {}, {wmode:"transparent"});
	swfobject.embedSWF("/site/demo/resizer.swf", "resizer_swf", "550", "400", "8.0.0", "/site/files/expressInstall.swf", {}, {wmode:"transparent"});
	swfobject.embedSWF("/site/demo/ScrollbarActivityIndex.swf", "sai_swf", "550", "400", "8.0.0", "/site/files/expressInstall.swf", {}, {wmode:"transparent"});
	swfobject.embedSWF("/site/demo/pixelvisitors.swf", "pv_swf", "410", "80", "8.0.0", "/site/files/expressInstall.swf", {}, {wmode:"transparent"});
	
});

var small_speed = 200;
var medium_speed = 500;
var big_speed = 1000;
var targetPos = 0;
var easteregg = false;

function moveMenu(pos, width)
{
	if (pos != targetPos)
	{
		$('#topcontent').animate( {left: pos}, {queue:false, duration:200} );
		targetPos = pos;
	}
}

function scrollEvent() {
	
	var leftPos = f_scrollLeft();
	
	if (leftPos < 500) { moveMenu(0, 496); $('#menu .active').removeClass('active'); }
	if (leftPos >= 500 && leftPos < 1600) { moveMenu(1036, 648); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_flash_hash"]').addClass('active'); }
	if (leftPos >= 1600 && leftPos < 2500) { moveMenu(2222, 648); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_code_hash"]').addClass('active'); }
	if (leftPos >= 2500 && leftPos < 3800) { moveMenu(3408, 648); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_innovation_hash"]').addClass('active'); }
	if (leftPos >= 3800 && leftPos < 4950) { moveMenu(4594, 648); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_other_hash"]').addClass('active'); }
	if (leftPos >= 4950 && leftPos < 5850) { moveMenu(5780, 396); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_skills_hash"]').addClass('active'); }
	if (leftPos >= 5850) { moveMenu(6716, 496); $('#menu .active').removeClass('active'); $('#menu a[href$="#c_contact_hash"]').addClass('active'); }
	
	if (f_scrollTop() > 40) { $('.moveup').fadeIn(500); } else { $('.moveup').fadeOut(200); }
	
	/*
	if (leftPos > 6500)
	{
		if ($('#bird_2').css('left').replace(/[^\d\.]/g,'') > 8500)
		{
			if (easteregg != true)
			{
				alert("It's Easter!");
				easteregg = true;
			}
		}
	}
	*/
	
	$('.quicknav_left, .quicknav_right').animate( {top: f_scrollTop()-2}, {queue:false, duration:50} );
	$('.quicknav_down').animate( {top: f_scrollTop()+38}, {queue:false, duration:50} );
	$('.quicknav_up').animate( {top: f_scrollTop()-42}, {queue:false, duration:50} );
	
	$('#cloud_big_1').animate( {left: -1 * ((leftPos / f_clientWidth()) * big_speed)}, {queue:false, duration:200} );
	$('#cloud_medium_1').animate( {left: -1 * ((leftPos / f_clientWidth()) * medium_speed)}, {queue:false, duration:200} );
	$('#cloud_small_1').animate( {left: -1 * ((leftPos / f_clientWidth()) * small_speed)}, {queue:false, duration:200} );
	
	$('#cloud_big_2').animate( {left: -1 * ((leftPos / f_clientWidth()) * big_speed)}, {queue:false, duration:200} );
	$('#cloud_medium_2').animate( {left: -1 * ((leftPos / f_clientWidth()) * medium_speed)}, {queue:false, duration:200} );
	$('#cloud_small_2').animate( {left: -1 * ((leftPos / f_clientWidth()) * small_speed)}, {queue:false, duration:200} );
	
	$('#cloud_medium_3').animate( {left: -1 * ((leftPos / f_clientWidth()) * medium_speed)}, {queue:false, duration:200} );
	$('#cloud_small_3').animate( {left: -1 * ((leftPos / f_clientWidth()) * small_speed)}, {queue:false, duration:200} );
	
	$('#cloud_big_4').animate( {left: -1 * ((leftPos / f_clientWidth()) * big_speed)}, {queue:false, duration:200} );
	$('#cloud_medium_4').animate( {left: -1 * ((leftPos / f_clientWidth()) * medium_speed)}, {queue:false, duration:200} );
	$('#cloud_small_4').animate( {left: -1 * ((leftPos / f_clientWidth()) * small_speed)}, {queue:false, duration:200} );
	
	$('#cloud_medium_5').animate( {left: -1 * ((leftPos / f_clientWidth()) * medium_speed)}, {queue:false, duration:200} );
	$('#cloud_small_5').animate( {left: -1 * ((leftPos / f_clientWidth()) * small_speed)}, {queue:false, duration:200} );
	
	$('#cloud_big_6').animate( {left: (-1 * ((leftPos / f_clientWidth()) * big_speed))+3000}, {queue:false, duration:200} );
	$('#cloud_medium_6').animate( {left: (-1 * ((leftPos / f_clientWidth()) * medium_speed))+1000}, {queue:false, duration:200} );
	$('#cloud_small_6').animate( {left: (-1 * ((leftPos / f_clientWidth()) * small_speed))+1000}, {queue:false, duration:200} );
	
	$('#cloud_big_7').animate( {left: (-1 * ((leftPos / f_clientWidth()) * big_speed))+4000}, {queue:false, duration:200} );
	$('#cloud_medium_7').animate( {left: (-1 * ((leftPos / f_clientWidth()) * medium_speed))+2000}, {queue:false, duration:200} );
	$('#cloud_small_7').animate( {left: (-1 * ((leftPos / f_clientWidth()) * small_speed))+2000}, {queue:false, duration:200} );
	
	$('#cloud_big_8').animate( {left: (-1 * ((leftPos / f_clientWidth()) * big_speed))+5000}, {queue:false, duration:200} );
	$('#cloud_medium_8').animate( {left: (-1 * ((leftPos / f_clientWidth()) * medium_speed))+3000}, {queue:false, duration:200} );
	$('#cloud_small_8').animate( {left: (-1 * ((leftPos / f_clientWidth()) * small_speed))+2000}, {queue:false, duration:200} );
	
	$('#cloud_big_9').animate( {left: (-1 * ((leftPos / f_clientWidth()) * big_speed))+5000}, {queue:false, duration:200} );
}

window.onscroll = function(){ scrollEvent(); };

function ValidateForm(form) {
	
	var error = 0;
	var errorMessage = 'Sorry, zo kan ik het niet opsturen...\n\n';
	
	if (e('naam').value == "") {
		errorMessage += '- Je hebt geen naam ingevuld\n';
		error = 1;
	}

	if (e('email').value == "") {
		errorMessage += '- Je hebt geen email ingevuld\n';
		error = 1;
	}
	
	if(error){
		alert(errorMessage);
		return false; 
	}else{
		return true;
	}
}



