﻿function MenuTab(){
  var array = new Array();
  var maxTabNumber;
  var startTabId;
  
  
	this.addTab = function(tabName) {
     array.push(tabName);
	};
  
  this.redraw = function(tabNumber,startTab){
    maxTabNumber= tabNumber;
    startTabId=startTab;
    //alert("REDRAW FUNCTION PARAMETERS: maxTabNumber" + tabNumber + " startTab: " + startTabId);    
    
    if(startTabId + maxTabNumber > array.length){
        startTabId= array.length - maxTabNumber;
      }         
    if(array.length < maxTabNumber){
    if(document.getElementById("tab-left-scroller") && document.getElementById("tab-right-scroller")){
      document.getElementById("tab-left-scroller").style.visibility="hidden";
      document.getElementById("tab-right-scroller").style.visibility="hidden"; 
    }     
    }else{
      redrawArrows();     
      redrawTabs(startTabId,startTabId + maxTabNumber);                           
    }
  };
  
  
  
  this.shift = function(value){
    if(value < 0){
      decrease();
    }
    if(value > 0){
      increase();
    }  
  };
  
  
  // "metodo" privato / funzione privata
  function redrawArrows(){
      if(startTabId == 0){
        document.getElementById("tab-left-scroller").style.visibility="hidden";
      }else{
        document.getElementById("tab-left-scroller").style.visibility="visible";
      }
      
      if(startTabId + maxTabNumber == array.length ){
        document.getElementById("tab-right-scroller").style.visibility="hidden";
      }else{
        document.getElementById("tab-right-scroller").style.visibility="visible";
      }
  }


  function redrawTabs(minIndex,index){
  
      //nascondi tutti i tab prima di startTabId
      //e dopo startTab, e rendi visibili gli altri
      for (var i = 0; i < minIndex; i++) {
        var name="tab"+i;
        document.getElementById(name).style.display="none";
      }
      for (var i = minIndex; i < index; i++) {
        var name="tab"+i;
        if(document.getElementById(name)){
          document.getElementById(name).style.display="";
        }
      }
      for (var i = index ; i < array.length; i++) {
        var name="tab"+i;
        if(document.getElementById(name)){
          document.getElementById(name).style.display="none";
        }
      }
  }
  
  function increase(){
    if(startTabId + maxTabNumber < array.length){
        redrawTabs(++startTabId,startTabId + maxTabNumber);
    }
    redrawArrows();  
  }
  
  function decrease(){
    if(startTabId > 0){
        redrawTabs(--startTabId,startTabId + maxTabNumber);
    }
    redrawArrows();
  } 
  
  this.getStartTabId = function(){
    return startTabId;
  };  
  
   
};