var imgArray = new Array(); // list of image objects imgArray[ *current li position* ][ *current image* ] 
var imgIndexes = new Array(); // list of indexes for images, id of position match imgArray, $iMax is count of images, $curr is position of currently / next image to hide 
var i = 0; // current position in <li> list
var iMax; // count of all <li> elements, further we remove items that have only 1 image 

function initSwap( elemntId )
  {
  var elemnt = document.getElementById( elemntId );
  if( elemnt == null || typeof elemnt == "undefined" ) { return; }
  
  var elemntArray = elemnt.getElementsByTagName("li");
  if( elemntArray.length == 0 ) { return; }

  // count of all <li> items  
  iMax = elemntArray.length;
  
  // for clear counting
  var yy = 0;
  
  for( y = 0; y < iMax; y++ )
    {
    var tmpImgArray = elemntArray[y].getElementsByTagName("img");
    
    // if only 1 imgs we can skip it
    if( tmpImgArray.length == 0 || tmpImgArray.length == 1 ) { continue; } 

    // data for further use
    imgIndexes[yy] = new Array();
    imgArray[yy] = new Array();

    imgIndexes[yy]["curr"] = 0;     
    imgIndexes[yy]["imax"] = tmpImgArray.length;
 
    imgArray[yy] = tmpImgArray;
    yy++;  
    }

  // <li>s with have more than 1 image
  iMax = yy;

  setInterval("imageSwap()", 1000);
  }

function imageSwap()
  {
  // hide the current img
  imgArray[i][ imgIndexes[i]["curr"] ].className = "hidden";
  
  // move to next 
  imgIndexes[i]["curr"]++;
  
  // check if we did not move too much : ]
  if( imgIndexes[i]["curr"] == imgIndexes[i]["imax"] ) { imgIndexes[i]["curr"] = 0; }
  
  // show the next img
  imgArray[i][ imgIndexes[i]["curr"] ].className = "";
  
  //moving on
  i++;
  if( i == iMax ) { i = 0; }
  }
  
  