/* NOTE: Suggest chained animations rather than many timers */
var tmr_transitions = new Array(8);
var tmr_transitionsLauncher;

function appIconTransitionIn(container, iconIndex) {
	$(container).children().eq(iconIndex).show('drop', 200, function(){
		appIconQueueSwapOut(container, iconIndex, 5000);
	});
}

function appIconTransitionOut(container, iconIndex) {
	clearTimeout(tmr_transitions[$(container).index()]);
	$(container).children().eq(iconIndex).hide('drop', 200, function(){
		appIconTransitionIn(container, (iconIndex + 1 >= $(container).children().length) ? 0 : ++iconIndex );
	});
}

function appIconQueueSwapOut(container, iconIndex, timeout) {
	tmr_transitions[$(container).index()] = setTimeout(function(){
		appIconTransitionOut(container, iconIndex);
	}, timeout);
}

function appIconBeginTimers(index) {
	clearTimeout(tmr_transitionsLauncher);
	appIconTransitionIn($('.rps-app-icons').children().eq(index), 0);
	
	if (index + 1 < $('.rps-app-icons').children().length) {
		tmr_transitionsLauncher = setTimeout(function(){
			appIconBeginTimers(index + 1);
		}, 200);
	}
}

function appIconMain() {
	tmr_transitionsLauncher = setTimeout(function(){
		appIconBeginTimers(0);
	}, 500);
}

$(window).load(function(){

	appIconMain();

});
