

function ImageLoop(fps,imageId,frameURLs,imageId2,frameURLs2,imageId3,frameURLs3,imageId4,frameURLs4,imageId5,frameURLs5,imageId6,frameURLs6,imageId7,frameURLs7,imageId8,frameURLs8,imageId9,frameURLs9,imageId10,frameURLs10){

this.imageId = imageId;
this.imageId2 = imageId2;
this.imageId3 = imageId3;
this.imageId4 = imageId4;
this.imageId5 = imageId5;
this.imageId6 = imageId6;
this.imageId7 = imageId7;
this.imageId8 = imageId8;
this.imageId9 = imageId9;
this.imageId10 = imageId10;


this.frameInterval = 2000/fps;


this.frames = new Array(frameURLs.length);
this.frames2 = new Array(frameURLs2.length);
this.frames3 = new Array(frameURLs3.length);
this.frames4 = new Array(frameURLs4.length);
this.frames5 = new Array(frameURLs5.length);
this.frames6 = new Array(frameURLs6.length);
this.frames7 = new Array(frameURLs7.length);
this.frames8 = new Array(frameURLs8.length);
this.frames9 = new Array(frameURLs9.length);
this.frames10 = new Array(frameURLs10.length);



this.image = null;
this.image2 = null;
this.image3 = null;
this.image4 = null;
this.image5 = null;
this.image6 = null;
this.image7 = null;
this.image8 = null;
this.image9 = null;
this.image10 = null;



this.loaded = false;
this.loadedFrames = 0;
this.startOnLoad = false;
this.loaded2 = false;
this.loadedFrames2 = 0;
this.startOnLoad2 = false;
this.loaded3 = false;
this.loadedFrames3 = 0;
this.startOnLoad3 = false;
this.loaded4 = false;
this.loadedFrames4 = 0;
this.startOnLoad4 = false;
this.loaded5 = false;
this.loadedFrames5 = 0;
this.startOnLoad5 = false;
this.loaded6 = false;
this.loadedFrames6 = 0;
this.startOnLoad6 = false;
this.loaded7 = false;
this.loadedFrames7 = 0;
this.startOnLoad7 = false;
this.loaded8 = false;
this.loadedFrames8 = 0;
this.startOnLoad8 = false;
this.loaded9 = false;
this.loadedFrames9 = 0;
this.startOnLoad9 = false;
this.loaded10 = false;
this.loadedFrames10 = 0;
this.startOnLoad10 = false;


this.frameNumber = -1;
this.frameNumber2 = 0;
this.frameNumber3 = 0;
this.frameNumber4 = 0;
this.frameNumber5 = 0;
this.frameNumber6 = 0;
this.frameNumber7 = 0;
this.frameNumber8 = 0;
this.frameNumber9 = 0;
this.frameNumber10 = 0;



this.timer = null;



for(var i=0; i < frameURLs.length; i++) {
  this.frames[i] = new Image();
  this.frames[i].src = frameURLs[i];
}
for(var i=0; i < frameURLs2.length; i++) {
  this.frames2[i] = new Image();
  this.frames2[i].onload = countLoadedFrames;
  this.frames2[i].src = frameURLs2[i];
}
for(var i=0; i < frameURLs3.length; i++) {
  this.frames3[i] = new Image();
  this.frames3[i].src = frameURLs3[i];
}
for(var i=0; i < frameURLs4.length; i++) {
  this.frames4[i] = new Image();
  this.frames4[i].src = frameURLs4[i];
}
for(var i=0; i < frameURLs5.length; i++) {
  this.frames5[i] = new Image();
  this.frames5[i].src = frameURLs5[i];
}
for(var i=0; i < frameURLs6.length; i++) {
  this.frames6[i] = new Image();
  this.frames6[i].src = frameURLs6[i];
}
for(var i=0; i < frameURLs7.length; i++) {
  this.frames7[i] = new Image();
  this.frames7[i].src = frameURLs7[i];
}
for(var i=0; i < frameURLs8.length; i++) {
  this.frames8[i] = new Image();
  this.frames8[i].src = frameURLs8[i];
}
for(var i=0; i < frameURLs9.length; i++) {
  this.frames9[i] = new Image();
  this.frames9[i].src = frameURLs9[i];
}
for(var i=0; i < frameURLs10.length; i++) {
  this.frames10[i] = new Image();
  this.frames10[i].src = frameURLs10[i];
}


var loop = this;


function countLoadedFrames() {
  loop.loadedFrames2++;
  if ( loop.loadedFrames2 == loop.frames2.length )  {
    loop.loaded = true;
    loop.start();
  }
}

this._displayNextFrame = function() {
  loop.frameNumber = (loop.frameNumber+1)%loop.frames.length;
  loop.image.src = loop.frames[loop.frameNumber].src;
  if (frameURLs[loop.frameNumber] == "count0.gif") {
   loop.frameNumber2 = (loop.frameNumber2+1)%loop.frames2.length;
   loop.image2.src = loop.frames2[loop.frameNumber2].src;
   if (frameURLs2[loop.frameNumber2] == "count0.gif") {
    loop.frameNumber3 = (loop.frameNumber3+1)%loop.frames3.length;
    loop.image3.src = loop.frames3[loop.frameNumber3].src;
    if (frameURLs3[loop.frameNumber3] == "count0.gif") {
     loop.frameNumber4 = (loop.frameNumber4+1)%loop.frames4.length;
     loop.image4.src = loop.frames4[loop.frameNumber4].src;
     if (frameURLs4[loop.frameNumber4] == "count0.gif") {
      loop.frameNumber5 = (loop.frameNumber5+1)%loop.frames5.length;
      loop.image5.src = loop.frames5[loop.frameNumber5].src;
      if (frameURLs5[loop.frameNumber5] == "count0.gif") {
       loop.frameNumber6 = (loop.frameNumber6+1)%loop.frames6.length;
       loop.image6.src = loop.frames6[loop.frameNumber6].src;
       if (frameURLs6[loop.frameNumber6] == "count0.gif") {
        loop.frameNumber7 = (loop.frameNumber7+1)%loop.frames7.length;
        loop.image7.src = loop.frames7[loop.frameNumber7].src;
        if (frameURLs7[loop.frameNumber7] == "count0.gif") {
         loop.frameNumber8 = (loop.frameNumber8+1)%loop.frames8.length;
         loop.image8.src = loop.frames8[loop.frameNumber8].src;
         if (frameURLs8[loop.frameNumber8] == "count0.gif") {
          loop.frameNumber9 = (loop.frameNumber9+1)%loop.frames9.length;
          loop.image9.src = loop.frames9[loop.frameNumber9].src;
          if (frameURLs9[loop.frameNumber9] == "count0.gif") {
           loop.frameNumber10 = (loop.frameNumber10+1)%loop.frames10.length;
           loop.image10.src = loop.frames10[loop.frameNumber10].src;
           }
          }
         }
        }
       }
      }
     }
    }
   }


  };

}

ImageLoop.prototype.start = function() {
  if (this.timer != null) return;
  if (!this.loaded) this.startOnLoad = true;
  else {
    if (!this.image) this.image = document.getElementById(this.imageId);
    if (!this.image2) this.image2 = document.getElementById(this.imageId2);
    if (!this.image3) this.image3 = document.getElementById(this.imageId3);
    if (!this.image4) this.image4 = document.getElementById(this.imageId4);
    if (!this.image5) this.image5 = document.getElementById(this.imageId5);
    if (!this.image6) this.image6 = document.getElementById(this.imageId6);
    if (!this.image7) this.image7 = document.getElementById(this.imageId7);
    if (!this.image8) this.image8 = document.getElementById(this.imageId8);
    if (!this.image9) this.image9 = document.getElementById(this.imageId9);
    if (!this.image10) this.image10 = document.getElementById(this.imageId10);
    this._displayNextFrame();
    this.timer = setInterval(this._displayNextFrame, this.frameInterval);

  }
};

