var tipTimer;
var tipPause = false;
var tipInterval = 10000;
var tipAnimate = false;

function currentTip(adElems) {

	var showing = -1;

	for (i=0; i<adElems.length; i++ ) {
		if ( adElems[i].style.display != 'none' ) {
			showing = i;
		}
	}

	return showing;
}

function showNextTip() {
	// Fetch all elements of class 'advert', using mootools' element selector.
	var adElems = $ES( ".flick" );
	var showing = currentTip(adElems);

	if ( showing != -1 ) {

		var nextTip = showing + 1;

		if ( nextTip == adElems.length ) {
			nextTip = 0;
		}

		adElems[showing].style.display = 'none';
		adElems[nextTip].style.display = 'block';
	}
}

function showPreviousTip() {
	// Fetch all elements of class 'advert', using mootools' element selector.
	var adElems = $ES( ".flick" );
	var showing = currentTip(adElems);

	if ( showing != -1 ) {

		var previousTip = showing - 1;

		if ( previousTip == -1 ) {
			previousTip = adElems.length - 1;
		}

		adElems[showing].style.display = 'none';
		adElems[previousTip].style.display = 'block';
	}
}

function flickTip() {

	if ( ! tipPause ) {
		showNextTip();
	}

	if ( tipAnimate ) {
		startTips();
	}
}

function startTips() {
	tipAnimate = true;   
	clearTimeout(tipTimer);
	tipTimer = setTimeout("flickTip()", tipInterval);
}

function stopTips() {
	clearTimeout(tipTimer);
	tipTimer = null;
	tipAnimate = false;
}

function pauseTips() {
	tipPause = true;
}

function resumeTips() {
	tipPause = false;

	if ( tipAnimate == true ) {
		startTips();
	}
}
