var adInMotion = false;
var rotationSpeed = 4000;
var adHeight;

function initAd() {
	$("#ad-bar").hover(
		function() {
			pauseAd();
			$("#ad-controls").show().fadeIn(300);
		},
		function() {
			resumeAd();
			$("#ad-controls").fadeOut(300);
		}
	);

	adSize = $("#ad-bar .ad-bar-inner img").length;

	setTimeout(resumeAd, 2000);
}

function rotateAd() {
	if (!adInMotion) {
		curAd = (curAd+1)%adSize;

		adInMotion = true;
		var $ads = $("#ad-bar .ad-bar-inner");


		$ads.fadeOut(1000, function() {
				$(this)
					.css("top", "-"+((curAd)*adHeight)+"px")
					.fadeIn(1000, function() {
						adInMotion = false;
					});
			});
	}
}

function pauseAd() {
	if (adInterval != undefined) {
		clearInterval(adInterval);
		adInterval = undefined;
	}
}

function resumeAd() {
	if (adSize > 1 && adInterval == undefined) {
		if (adHeight == undefined)
			adHeight = $("#ad-bar .ad-bar-inner a:first-child img").height();

		adInterval = setInterval(rotateAd, rotationSpeed);
	}
}

function nextAd() {

	if (!adInMotion) {
		curAd = (curAd+1)%adSize;

		adInMotion = true;
		$("#ad-bar .ad-bar-inner")
			.fadeOut(300, function() {
				$(this)
					.css("top", "-"+((curAd)*adHeight)+"px")
					.fadeIn(300, function() {
						adInMotion = false;
					});
		});

		trackEvent('Ads', 'Next Ad', curAd);
	}
}

function lastAd() {

	if (!adInMotion) {
		curAd = (curAd == 0) ? adSize-1:(curAd-1)%adSize;

		adInMotion = true;
		$("#ad-bar .ad-bar-inner")
			.fadeOut(300, function() {
				$(this)
					.css("top", "-"+((curAd)*adHeight)+"px")
					.fadeIn(300, function() {
						adInMotion = false;
					});
		});

		trackEvent('Ads', 'Last Ad', curAd);
	}
}
