function ImageGalery () {
  
}

ImageGalery.images = [];

ImageGalery.imageElementId = '';

ImageGalery.active = 0;

ImageGalery.onProcess = false;

ImageGalery.setImageElementId = function (str) {
  if (! arguments.length) {
    return;
  }
  ImageGalery.imageElementId = str;
}

ImageGalery.addImages = function (src) {
  if (! arguments.length) {
    return;
  }
  var img = new Image();
  img.src = src;
  ImageGalery.images.push(img);
}

ImageGalery.forward = function () {
  if (ImageGalery.onProcess) {
    return;
  }
  ImageGalery.onProcess = true;
  ImageGalery.active++;
  if (ImageGalery.active >= ImageGalery.images.length) {
    ImageGalery.active = 0;
  }
  var img = ImageGalery.images[ImageGalery.active];
  var func = function () {
    ImageGalery.displayImage(img);
    ImageGalery.onProcess = false;
  }
  if (! img.complete) {
    img.onload = func;
    return;
  }
  func();
}

ImageGalery.backward = function () {
  if (ImageGalery.onProcess) {
    return;
  }
  ImageGalery.onProcess = true;
  ImageGalery.active--;
  if (ImageGalery.active < 0) {
    ImageGalery.active = (ImageGalery.images.length - 1);
  }
  var img = ImageGalery.images[ImageGalery.active];
  var func = function () {
    ImageGalery.displayImage(img);
    ImageGalery.onProcess = false;
  }
  if (! img.complete) {
    img.onload = func;
    return;
  }
  func();
}

ImageGalery.displayImage = function (img) {
  if (! arguments.length) {
    return;
  }
  var elem = document.getElementById(ImageGalery.imageElementId);
  if (! elem) {
    return;
  }
  elem.src = img.src;
}


