window.onload = initAll;

function initAll() {
var absoluteTable = document.getElementById("absoluteTable");
var allImagesItems = absoluteTable.getElementsByTagName("img").length;
var tdPaddingRight = absoluteTable.getElementsByTagName("tr")[0].getElementsByTagName("td")[0].style.paddingRight; // VERY IMPORTANT!!!PADDING-RIGHT DEFINITION
tdPaddingRight = parseInt(tdPaddingRight);

if(Math.ceil(allImagesItems / 2) == allImagesItems / 2) {
var evenItems = "evenItems";
}
else {
var oddItems = "oddItems";
} 

var newPicWidth = absoluteTable.getElementsByTagName("img")[0].style.width; // VERY IMPORTANT!!!IMAGE-WIDTH DEFINITION
newPicWidth = parseInt(newPicWidth);
var allImgagesWidth = newPicWidth * allImagesItems;  

/* -------------  STEP DEFINITION ----------------- */
var A = 15; 
var iteration = Math.floor(newPicWidth / A);
var Remainder = newPicWidth % A;

if(Remainder <= iteration) {
A = A + Remainder / iteration;
}

else {
var A1 = Math.floor(Remainder/iteration);
var Remainder1 = Remainder % iteration;
A = A + A1 + Remainder1 / iteration;
}
/* -------------------------------------------------*/

var left = 0;
var SPEED = 1;
var STEP = 0;
var neddleLeft = 0;
var interval = 0;

document.getElementById("Previous").onclick = function(){
 if(evenItems) {
               if(STEP < 1) {STEP=0; return false;}
			   else {
               left  = parseInt(absoluteTable.style.left);
	           neddleLeft = left + 2*newPicWidth + 2*tdPaddingRight;
	           interval = setInterval(Previous, SPEED);
               STEP = STEP - 1;
	           return false;
               }  
 }		    
 else if(oddItems) {
            if(STEP < 1) {STEP=0; return false;}
			
			else if(STEP == Math.floor(allImagesItems/2)) {
			left  = parseInt(absoluteTable.style.left);
	        neddleLeft = left + newPicWidth + tdPaddingRight;
	        interval = setInterval(Previous, SPEED);
            STEP = STEP - 1;
	        return false;
			}
            
			else {
            left = parseInt(absoluteTable.style.left);
            neddleLeft = left + 2*newPicWidth + 2*tdPaddingRight;
	        interval = setInterval(Previous, SPEED);
            STEP = STEP - 1;
	        return false;
            }
 }
 else {return false;} 
}


document.getElementById("Next").onclick = function(){
 if(evenItems) {
              if(STEP > allImagesItems/2 - 2) {STEP = allImagesItems/2 - 1; return false;}
              else {
              left = parseInt(absoluteTable.style.left);
              neddleLeft = left - 2*newPicWidth - 2*tdPaddingRight;
			  interval = setInterval(Next, SPEED);
              STEP = STEP + 1;
	          return false;
              }
 }
 else if(oddItems) {
            if(STEP > Math.floor(allImagesItems/2) - 1) {STEP = Math.floor(allImagesItems/2); return false;}
            
			else if(STEP == Math.floor(allImagesItems/2) - 1) {
			left = parseInt(absoluteTable.style.left);
            neddleLeft = left - newPicWidth - tdPaddingRight;
	        interval = setInterval(Next, SPEED);
            STEP = STEP + 1;
	        return false;
			}  
			
			else {
            left = parseInt(absoluteTable.style.left);
            neddleLeft = left - 2*newPicWidth - 2*tdPaddingRight;
	        interval = setInterval(Next, SPEED);
            STEP = STEP + 1;
	        return false;
            }
 }
 else {return false;}         
}


function Previous(){
  if(left < neddleLeft) {
  left = parseInt(left);
  left+=A;
  absoluteTable.style.left = left + "px";
  }
  else {
  absoluteTable.style.left = neddleLeft + "px";
  clearInterval(interval);
  }
}

function Next(){
  if(left > neddleLeft) {
  left = parseInt(left);
  left-=A;
  absoluteTable.style.left = left + "px";
  }
  else {
  absoluteTable.style.left = neddleLeft + "px";
  clearInterval(interval);
  }
}

}
