¿Me ayudáis a desmenuzar este script?

Estoy desarrollando (ejem, eufemismo :rolleyes:) un slide de fotos (galería de imágenes que se turnan a intervalos, normalmente en la portada de la web). Hasta ahora los vengo haciendo con el plugin Cycle2 para jQuery, y ya es hora de que aprenda el recurso desde cero, sin aplicaciones precocinadas [:)]

Me han recomendado este script, y a pesar de los comentarios no sé cómo funciona, ni cómo va el HTML. ¿Quién me ayuda? ¡Gracias!

   // interval between items
        var itemInterval = 5500;
        var infiniteLoop;//this contains the id of the interval to be used in clearinterval by the way
        setTimeout(function(){
              // this code will run only once, one second after the page loads.
              myFunc();
              infiniteLoop = setInterval(myFunc, itemInterval);
              // commence loop that will run forever unless you use clearinterval(infiniteLoop);
        }, 1000);
        // start loop


        function myFunc() { 
            // this code will run every time the function is called
            // initial fade out
            $('.rotating-item').eq(currentItem).fadeOut(fadeTime);

            // set counter
            if (currentItem == numberOfItem -1) {
                currentItem = 0;
            } else {
                currentItem++;
            }

            // next item fade in
            $('.rotating-item').eq(currentItem).fadeIn(fadeTime);

        }
Ese es todo el script o te faltó poner algo?

Si es todo, creo que debería funcionar así:

<style>
  #slider img { display: none; }
</style>
<script>
  // interval between items
  var itemInterval = 5500;
  var infiniteLoop;//this contains the id of the interval to be used in clearinterval by the way
  setTimeout(function(){
    myFunc();
    infiniteLoop = setInterval(myFunc, itemInterval);
    // commence loop that will run forever unless you use clearinterval(infiniteLoop);
  }, 1000);

  function myFunc() {
    // De dónde sale currentItem? Si miras la consola, te mostrará un mensaje (error o alerta) diciendo que currentItem es undefined.
    $('.rotating-item').eq(currentItem).fadeOut(fadeTime);

    // set counter *** Lo mismo aquí: de dónde sale numberOfItem?
    if (currentItem == numberOfItem -1) {
      currentItem = 0;
    } else {
      currentItem++;
    }

    // next item fade in - Aquí no hay problema, porque currentItem ya se definió.
    $('.rotating-item').eq(currentItem).fadeIn(fadeTime);

  }
</script>
<div id="slider">
  <img class="rotating-item" src="img1" />
  <img class="rotating-item" src="img2" />
  <img class="rotating-item" src="img3" />
  <img class="rotating-item" src="imgN" />
</div>

El plugin, lo único que hará será mostrar/ocultar las imágenes. Aunque aún así no funcionará bien xD (creo).
Muchas gracias [:)]
La verdad es que el programilla me lo han recomendado, aquí puedes verlo, y lo he copiado tal cual, no sé lo que puede faltarle. ¡Estoy muy verde con jQuery!

Un saludote.