			function loadStuff() {
				makeBackground();
			}
			function moveToElement(from_link) {
				var element_id = '#' + from_link.href.split('#')[1];
				var element    = $(element_id);

				var max_length = Math.max(Math.abs(element.offset().left - $(from_link).offset().left), Math.abs(element.offset().top - $(from_link).offset().top));
				if (element) {
					$('body,html').animate({scrollLeft: element.offset().left, scrollTop: element.offset().top}, {duration: Math.sqrt(max_length) * 17, easing: 'swing'});
				}
			}
			function moveToCurrent(element_id) {
				var element = $('#' + element_id);
				if (element) {
					$('body,html').animate({scrollLeft: element.offset().left, scrollTop: element.offset().top}, {duration: 'slow', easing: 'swing'});
				}
			}

			function makeBackground() {
				var canvas = document.getElementById('background');
				if (canvas && canvas.getContext) {
					var context = canvas.getContext('2d');

					context.lineWidth   = 2;
					context.strokeStyle = '#CCC';

					$('.section').each(
							function(){
									var end_elem   = $(this);
									var start_elem = $('#what_' + $(this).attr('id'));
									context.beginPath();

									var startX   = start_elem.offset().left + 10;
									var startY   = start_elem.offset().top  + 10;
									var endX     = end_elem.offset().left + end_elem.outerWidth()  / 2;
									var endY     = end_elem.offset().top  + end_elem.outerHeight() / 2;
									var controlX = startX + (endX - startX) / 2 + 200;
									var controlY = startY + (endY - startY) / 2 - 200;
									context.moveTo(startX, startY);
									context.quadraticCurveTo(controlX, controlY, endX, endY);
									context.stroke();
							}
					);
					{ // draw transparent circle
						var radgrad = context.createRadialGradient(150, 0, 1, 150, 0, 1000);
						var color = '255, 255, 255';
						radgrad.addColorStop(0  , 'rgba(' + color + ', 1  )');
						radgrad.addColorStop(0.5, 'rgba(' + color + ', 0.8)');
						radgrad.addColorStop(0.8, 'rgba(' + color + ', 0.6)');
						radgrad.addColorStop(1  , 'rgba(' + color + ', 0  )');
						context.fillStyle = radgrad;
						context.fillRect(0, 0, 1500, 1000);
					}
				}
			}


