   function resetImages(increment){
	    	numImages = imgArray.length;
	    
   		currentImageID = currentImageID+increment;   		
   		if(currentImageID <= 0){
			currentImageID = numImages;
		}

   		document.images["mainimg"].src=imgArray[(currentImageID)%numImages][0];
   		//replaceCaption('mainImgCap', currentImageID);
   		replaceCaption('mainImgTitle', imgArray[currentImageID%numImages][1]);
   		replaceCaption('mainImgCap', imgArray[currentImageID%numImages][2]);

		//alert("reset:"+imgArray[currentImageID+3][0]);
   }

   function replaceCaption(captionID, strText){
    	var replace = document.getElementById(captionID);
    	if (replace){
    	   var newNode = document.createElement("div");
    	   newNode.setAttribute('id',captionID);
    	   var newText = document.createTextNode(strText);
    	   newNode.appendChild(newText);
    	   replace.parentNode.replaceChild(newNode, replace);
    	}
    	else{
    		alert("recaption failed:"+captionID+":"+strText);
    	}

   }

   var timer = null
   
   function auto(){
	resetImages(1)
	clearTimeout(timer)
	timer = setTimeout("auto()",3000)
   }
   
   function autoBackward(){
	resetImages(-1)
	clearTimeout(timer)
	timer = setTimeout("autoBackward()",3000)
   }

   function stopauto(){
	clearTimeout(timer)
   }	

   function jump(jumpto){
	currentImageID = jumpto
	resetImages(0)
   }