var $ = function(id) {
	return document.getElementById(id);
};

var citeIndex = 0;
function init() {
	rotateCites();
}
function rotateCites() {
	if(citeIndex>=cites.length) citeIndex = 0;
	var cite = cites[citeIndex];
	var zitateNode = $('zitate');
	zitateNode.firstChild.data = '„'+cite[0]+'“ ';
	zitateNode.lastChild.firstChild.data = '~ '+cite[1];
	citeIndex++;
	setTimeout(function() {
		zitateNode.className = 'fade-out';
	},4000);
	setTimeout(function() {
		zitateNode.className = 'fade-in';
		rotateCites();
	},4500);
}

var initializeScreenshots = function() {
	var divs = $('screenshotchooser').getElementsByTagName('div');
	for(var i=0; i<divs.length; i++) {
		divs[i].onmouseover = function() {
			if(window.scrollInterval) return;

			for(var j=0; j<divs.length; j++) {
				if(divs[j] == this) {
					divs[j].className = 'selected';
					$('screenshots').style.backgroundImage = 'url(homepage/ScreenshotNeu'+(j+1)+'.jpg)';
				}
				else
					divs[j].className = '';
			}
		};
	}
	
	var s1 = new Image();
	s1.src = 'homepage/ScreenshotNeu1.jpg';

	var s2 = new Image();
	s2.src = 'homepage/ScreenshotNeu2.jpg';

	var s3 = new Image();
	s3.src = 'homepage/ScreenshotNeu3.jpg';

};

var didLoad = function() {
	initializeScreenshots();
	rotateCites();
};

var scrollTo = function(node, x, y) {
	if(navigator.userAgent.indexOf('WebKit') == -1 || navigator.userAgent.indexOf('Mobile') != -1)
		return true;
	
	var steps = 70;
	
	if(x > node.scrollWidth-node.clientWidth)
		x = node.scrollWidth-node.clientWidth;
	if(x < 0) x = 0;
	if(y > node.scrollHeight-node.clientHeight)
		y = node.scrollHeight-node.clientHeight;
	if(y < 0) y = 0;
	

	var startX = node.scrollLeft;
	var startY = node.scrollTop;
	var distanceX = x - node.scrollLeft;
	var distanceY = y - node.scrollTop;
	

	var addPerStepX = Math.ceil(distanceX / steps);
	var addPerStepY = Math.ceil(distanceY / steps);
	
	var easeIn = function(pos) {
		return Math.pow(pos, 2);
	};
	var easeOut = easeIn;

	var easeInOut = function(pos) {
		if(pos <= 0.5) return easeIn(2*pos) / 2;
		else return (2 - easeOut(2*(1-pos))) / 2;
	};
	
	var count = 0;
	if(window.scrollInterval) window.clearInterval(window.scrollInterval);
	window.scrollInterval = window.setInterval(function() {
		var pos = count / steps;
		var fx = easeInOut(pos);
		node.scrollLeft = startX + distanceX * fx;
		node.scrollTop = startY + distanceY * fx;
		count++;

		if(count >= steps) {
			window.clearInterval(window.scrollInterval);
			window.scrollInterval = null;
			node.scrollLeft = startX + distanceX;
			node.scrollTop = startY + distanceY;
		}
	},10);
	
	return false;
};
