function sleep (naptime){
    var sleeping = true;
    var now = new Date();
    var alarm;
    var startingMSeconds = now.getTime();
    while(sleeping){
        alarm = new Date();
        alarmMSeconds = alarm.getTime();
        if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
    }        
}

$(document).ready(function() {
	// Pas .HeaderButton aan naar de klasse van de 'knop'.
	$('.Header *').bind('click', function(ev) { ev.stopPropagation(); } );
	$('.Header').bind('click', function(event) { $('.HeaderButton').click(); });
	$('.HeaderButton').bind('click', function() {
		
		var elementID = '.Header';
		var balkHeight = 55;
		var element = $(elementID);
		var duration = 1000;
		var extraHeight = 90;
		var bgHeight = imgHeight + extraHeight;
		
		if ( element.attr('OCState') == undefined ) { // do initialize
			element.attr('OCState', 'closed');
			element.attr('OrigBgPos', element.css('background-position'));
			element.attr('OrigHeight', element.css('height'));
			element.attr('OrigBottom', $(this).css('bottom'));
			
			/*
			var image = new Image();
			var url = element.css('background-image');
			
			if ( jQuery.browser.msie ) {
				url = url.substr(5, url.length - 7);
			} else {
				url = url.substr(4, url.length - 5);
			}
			image.src = url;

			element.attr('ImgHeight', parseInt(image.height) + 180);
			image = null;
			*/
			
			element.attr('ImgHeight', bgHeight);
		} // else: already defined, do not initialize
		
		var state = element.attr('OCState');
		
		var diff = parseInt(element.attr('ImgHeight')) - parseInt(element.attr('OrigHeight')); // plugin
		
		if ( state == 'closed' ) {
			element.attr('OCState', 'busy');
			
			element.animate({
				backgroundPosition : 'top left !important',
				height : element.attr('ImgHeight')
			}, duration);
			
			// Plugin: Auto drop content div + submenus
				$('.ContentHolder').animate({
					paddingTop : parseInt($('.ContentHolder').css('padding-top')) + diff
				}, duration);
				
				$('#SubMenuHolder').animate({
					top : parseInt($('#SubMenuHolder').css('top')) + diff
				});
				
				$('.BannerText').animate({
					height : balkHeight
				}, duration);
			// End plugin
			
				var test = $(this);
			var closure = function() { element.attr('OCState', 'opened'); $(test).toggleClass('Active'); $(test).animate({bottom: 75}); };
			
			window.setTimeout(closure, duration);

			
		} else if ( state == 'opened' ) {
			element.attr('OCState', 'busy');
			$(this).animate({bottom: element.attr('OrigBottom')})
			element.animate({
				backgroundPosition : element.attr('OrigBgPos'),
				height : element.attr('OrigHeight')
			}, duration);
			
			
			// Plugin: Auto drop content div + submenus
				$('.ContentHolder').animate({
					paddingTop : parseInt($('.ContentHolder').css('padding-top')) - diff
				}, duration);
				
				$('#SubMenuHolder').animate({
					top : parseInt($('#SubMenuHolder').css('top')) - diff
				});
				
				$('.BannerText').animate({
					height : 0
				}, duration);
			// End plugin
				
			var closure = function() { element.attr('OCState', 'closed');  };
			window.setTimeout(closure, duration);
			$(this).toggleClass('Active');
			
		} else {
			// do nothing. probably busy.
		}
			
	});
});
