var ImageSliderSettings = {IMAGE: {HEIGHT: 460, WIDTH: 320, COUNT: 5}, MOVEMENT: {INTERVAL: 0.05, STEPS: 4}, currentImage:1, currentX: 0, delta: 1};
var slider = startImageSlider();

function startImageSlider()
{
  return(new PeriodicalExecuter(function(pe) 
  {
    var currentX = $('imageScroller').scrollLeft;

    if(currentX <= ImageSliderSettings.currentX)
    {
      $('imageScroller').scrollLeft = Math.min(ImageSliderSettings.currentX, currentX + ImageSliderSettings.delta);
    }
    else if(currentX > ImageSliderSettings.currentX)
    {
      $('imageScroller').scrollLeft = Math.max(ImageSliderSettings.currentX, currentX - ImageSliderSettings.delta);
    }
    }, ImageSliderSettings.MOVEMENT.INTERVAL));  
  }

  function move(delta)
  {
    moveToImage(ImageSliderSettings.currentImage + delta);
  }

  function moveToImage(newImage)
  {
    if(newImage >= 1 && newImage <= ImageSliderSettings.IMAGE.COUNT)
    {
      $('indicator.' + ImageSliderSettings.currentImage.toString()).className = '';
      ImageSliderSettings.delta = ImageSliderSettings.IMAGE.WIDTH / (ImageSliderSettings.MOVEMENT.STEPS / Math.max(1, Math.abs(ImageSliderSettings.currentImage - newImage)));
      ImageSliderSettings.currentImage = newImage;
      ImageSliderSettings.currentX = ImageSliderSettings.IMAGE.WIDTH * Math.max(0, ImageSliderSettings.currentImage - 1);     
      $('indicator.' + ImageSliderSettings.currentImage.toString()).className = 'selected';
    }
  }