function boink(url, event) {
    if(event && event.metaKey) {
        form = document.createElement("form");
        form.method = "GET";
        form.action = url;
        form.target = "_blank";
        document.body.appendChild(form);
        form.submit();
    } else {
        document.location.href = url;
    }
}

var AppDemo = {
	startLoop: function() {
		new PeriodicalExecuter(function(pe) {
			AppDemo.nextSlide($('demo'));
		}, 5);
	},
	
	nextSlide: function(obj) {
		var next = 0;
		var current = 0;
		var slides = obj.childElements();
		slides.each(function(e, index) {
			if(e.hasClassName('active')) {
				current = index;
				if((index + 1) < slides.length) {
					next = index + 1;
				} else {
					next = 0;
				}
				throw $break;
			}
		});
		
		new Effect.Fade(slides[current], { duration: 1.0 });
		slides[current].removeClassName('active');
		new Effect.Appear(slides[next], { duration: 1.0 });
		slides[next].addClassName('active');
	}
}
