function preloadImages(images){ 
    var image_n = images.length; 
    var frag = document.createDocumentFragment(); 
    for (var i = 0; i < image_n;  i++) { 
        var cacheImage = document.createElement("img"); 
        cacheImage.src = "" + images[i]; 
        frag.appendChild(cacheImage); 
    } 
    return frag; 
} 
 
function timer() { 
    $("#slideshow_wrapper").everyTime(7000, function() { 
        nextImage(); 
    }); 
}  
 
 
function slideshow(frag){ 
    $("#slideshow img").replaceWith(frag); 
    //get the new images 
    var slideshow_images = $("#slideshow img"); 
    var img_n = slideshow_images.length; 
    //hide all but the first 
    slideshow_images.first().nextAll().css("display","none"); 
    var i = 0; 
 
    $("#slideshow_wrapper").everyTime(7000,function(){ 
        if(i <= img_n -1){ 
        i++ 
        } 
        if(i > img_n -1){ 
            //reset 
            i = 0; 
        } 
        slideshow_images.fadeOut(3000); 
        $(slideshow_images[i]).fadeIn(3000); 
    }); 
} 


function initslideshow(images,randomorder) {
	if(randomorder!=false) images.sort(sortmyway);
    var frag = preloadImages(images); 
    slideshow(frag); 
}


function sortmyway(data_A, data_B) {
	return 0.5 - Math.random(); //random gives us result between 0 and 1
}

