$(function() {

	var aImages = [];
	$('div#slideshow img').each(function() {
		aImages.push(this);
	});
	aImages.sort(function() {
		return Math.round(Math.random()) - 0.5;
	});

	showNextImage();
    setInterval("showNextImage()", 3000 );
	
});

function showNextImage() {

    var $active = $('#slideshow img.active');
    if ( $active.length == 0 ) {
		$active = $('#slideshow img:last');
	}

    // use this to pull the images in the order they appear in the markup
    var $next =  $active.next().length ? $active.next()
        : $('#slideshow img:first');

    // comment the 3 lines below to pull the images in written order
    var $sibs  = $active.siblings();
    var rndNum = Math.floor(Math.random() * $sibs.length);
    var $next  = $($sibs[rndNum]);

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });

}