var speed = 500;
var busy = false;
var key;
var focused;

jQuery(document).ready(function(){
jQuery('.carousel div.img').append('<a class="left"></a><a class="right"></a>');
if (navigator.appVersion.indexOf("MSIE") != -1) { // for Internet Explorer:
jQuery('div.carousel a.prev, div.carousel a.left').live('click', function(event) {
event.preventDefault();
var ul = jQuery(event.target).closest('div.carousel').find('ul.carousel-items');
var current = ul.find('li.current');
var previous = current.prev().addClass('found');
if (jQuery('li.found').length != 0) {
previous.removeClass('found');
} else {
previous = ul.children('li').last();
}
current.removeClass('current');
previous.addClass('current');
});
jQuery('div.carousel a.next, div.carousel a.right').live('click', function(event) {
event.preventDefault();
var ul = jQuery(event.target).closest('div.carousel').find('ul.carousel-items');
var current = ul.find('li.current');
var next = current.next().addClass('found');
if (jQuery('li.found').length != 0) {
next.removeClass('found');
} else {
next = ul.children('li').first();
}
current.removeClass('current');
next.addClass('current');
});
} else { // not Internet Explorer:
jQuery('div.carousel a.prev, div.carousel a.left').live('click', function(event) {
event.preventDefault();
var ul = jQuery(event.target).closest('div.carousel').find('ul.carousel-items');
var current = ul.find('li.current');
var previous = current.prev().addClass('found');
if (jQuery('li.found').length != 0) {
previous.removeClass('found');
} else {
previous = ul.children('li').last();
}
if (busy == false) {
busy = true;
previous.animate({
opacity: 1
}, speed, function(){
current.removeClass('current');
previous.addClass('current');
})
current.animate({
opacity: 0
}, speed, function(){
current.removeClass('current');
previous.addClass('current');
busy = false;
})
}
});
jQuery('div.carousel a.next, div.carousel a.right').live('click', function(event) {
event.preventDefault();
var ul = jQuery(event.target).closest('div.carousel').find('ul.carousel-items');
var current = ul.find('li.current');
var next = current.next().addClass('found');
if (jQuery('li.found').length != 0) {
next.removeClass('found');
} else {
next = ul.children('li').first();
}
if (busy == false) {
busy = true;
next.animate({
opacity: 1
}, speed, function(){
current.removeClass('current');
next.addClass('current');
})
current.animate({
opacity: 0
}, speed, function(){
current.removeClass('current');
next.addClass('current');
busy = false;
})
}
});
}
// Pijltjes links en rechts:
jQuery(".carousel, .focus").mouseenter(function(){
jQuery(this).addClass("focused");
}).mouseleave(function(){
jQuery(this).removeClass("focused");
});
jQuery(document).keydown(function(e) {
key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
switch(key) {
case 37: // left arrow
focused = jQuery(".focused a.prev");
if (focused.length != 0) {
focused.click();
e.preventDefault();
}
break;
case 39: // right arrow
var focused = jQuery(".focused a.next");
if (focused.length != 0) {
focused.click();
e.preventDefault();
}
break;
}
});
});
