function init() {
	setupShowcase();
	setupTestimonials();
	setupEvents();
}

function setupShowcase() {
	var items = $$(".showcase-item") || [];
	if (items.length <= 0)
		return;
	items[0].show();
	if (items.length > 1) {
	  var controls = $$(".showcase-control") || [];
  	controls[0].addClassName("on");
	}
}

function setupEvents() {
  var items = $$(".showcase-item") || [];
	if (items.length > 1)
	  pe = new PeriodicalExecuter(rotateShowcase.curry(".showcase-item"), 10);
	var testimonials = $$(".testimonial") || [];
  if (testimonials.length > 1)
	  pe = new PeriodicalExecuter(rotateTestimonials.curry(".testimonial"), 15);
}

function rotateShowcase(name) {
	var elems = $$(name) || [];
	var controls = $$(".showcase-control") || [];
	
	if (elems.length <= 1)
		return;

	for (var i =0; i < elems.length; i++) {
		var elem = elems[i];
		if (elem.visible()) {
			elem.fade();
			var j = i+1;
			if (j >= elems.length) {
				j=0;
			}
			var f = function() {
			  controls[i].removeClassName("on");
				elems[j].appear();
				controls[j].addClassName("on");
			}
			f.delay(1.1);

			break;
		}
	};
}

function showItem(itemIndex) {
  // Stop the auto slideshow
  pe.stop();
  
  var elems = $$(".showcase-item") || [];
	if (elems.length <= 1)
		return;

  var controls = $$(".showcase-control") || [];
	for (var i =0; i < elems.length; i++) {
		var elem = elems[i];
		if (elem.visible()) {
			elem.hide();
			controls[i].removeClassName("on");
			elems[itemIndex].show();
		  controls[itemIndex].addClassName("on");
			break;
		}
	};
}

function setupTestimonials() {
	var items = $$(".testimonial") || [];
	if (items.length <= 0)
		return;
	items[0].show();
}

function rotateTestimonials(name) {
	var elems = $$(name) || [];
	
	if (elems.length <= 1)
		return;

	for (var i =0; i < elems.length; i++) {
		var elem = elems[i];
		if (elem.visible()) {
			elem.fade();
			var j = i+1;
			if (j >= elems.length) {
				j=0;
			}
			var f = function() {
				elems[j].appear();
			}
			f.delay(1.1);

			break;
		}
	};
}
