var filetouploads = new Array();

var TabList = new Class( {
  initialize : function(tablistId) {
    this.tablist = $(tablistId);

    jslog.debug("new tablist: " + tablistId);
    if (!$chk(this.tablist)) {
      return;
    }
    var i = 1;
    /* CREATE ALL TAB OBJECTS */
    $$('*.tab').each( function(a) {
      var tabid = a.id;

      if (!$chk(tabid)) {
        jslog.warning("Invalid link in tab, no id set: " + a.innerHTML);
        return;
      }

      var MyTab = new Tab(tabid);
      /* DESELECT ALL CHECKBOXES */
      MyTab.unselectAllCheckbox(tabid);
      if (i == 1) {
        i++;
        /* SELECT FIRST TAB */
        MyTab.selectTab(tabid);
      }
    }.bind(this));

    /* MANAGE SELECT ALL LINK */
    var selezionalink = $("selezionatutto");

    if ($chk(selezionalink)) {
      selezionalink.checked = false;
      selezionalink.addEvent('click', function() {
        if (selezionalink.checked) {
          this.selectCheckBoxsCurrentTab();
        } else {
          this.unselectCheckBoxsCurrentTab();
        }
      }.bind(this));
    }
  },
  selectCheckBoxsCurrentTab : function() {
    var idTabSelected = "";
    var images = this.tablist.getElementsBySelector('img').each(
        function(image) {
          if (image.getProperty('src').indexOf("_on") > -1) {
            idTabSelected = image.getParent().id;
          }
        });
    if (idTabSelected != "") {
      document.getElementsBySelector('tr').each( function(tr) {
        if (tr.className == idTabSelected) {
          tr.getElementsBySelector('input').each( function(input) {
            if (input.getAttribute("type") == "checkbox") {
              input.checked = true;
              toupload(input, input.name);
            }
          });
        }
      });
    }
  },
  unselectCheckBoxsCurrentTab : function() {
    var idTabSelected = "";
    var images = this.tablist.getElementsBySelector('img').each(
        function(image) {
          if (image.getProperty('src').indexOf("_on") > -1) {
            idTabSelected = image.getParent().id;
          }
        });
    if (idTabSelected != "") {
      document.getElementsBySelector('tr').each( function(tr) {
        if (tr.className == idTabSelected) {
          tr.getElementsBySelector('input').each( function(input) {
            if (input.getAttribute("type") == "checkbox") {
              input.checked = false;
              toupload(input, input.name);
            }
          });
        }
      });
    }
  }
});

window.addEvent('domready', function() {
  if ($chk($("tabs"))) {
    var MyTabList = new TabList("tabs");
  }
  if ($chk($("schedatabs"))) {
    var MyTabList = new TabList("schedatabs");
  }
  

  var tabanchor = $get("#");
  if ($chk(tabanchor)) {
    if ($chk($(tabanchor))) {
      jslog.debug("onload: " + tabanchor);
      new Tab().selectTab(tabanchor);
    }
  }


});

function toupload(campo, arg) {
  if (campo.checked) {
    filetouploads.include(arg);
  } else {
    filetouploads.remove(arg);
  }
}

function valorizzacampohidden(form) {
  $("filetoupload").value = "";
  var i = 0;
  filetouploads.each( function(item, index) {
    if (i == 0) {
      $("filetoupload").value = item;
      i++;
    } else {
      $("filetoupload").value = $("filetoupload").value + "," + item;
    }
  });
  if ($("filetoupload").value == "") {
    alert('selezione obbligatoria');
    return false;
  } else {
    return true;
  }
}

/*
 * TAB
 */

var Tab = new Class( {
  initialize : function(tabId, selected) {

    jslog.debug("new tab: " + tabId + " (selected: " + selected + ")");

    this.tab = $(tabId);
    if ($chk(this.tab)) {
      if (selected) {
        this.selectTab(tabId);
      }
  
      this.tab.addEvent('click', function() {
        this.selectTab(tabId);
        var selezionalink = $("selezionatutto");
        if ($chk(selezionalink)) {
          selezionalink.checked = false;
        }
      }.bind(this));
    }
  },
  selectTab : function(tabId) {
    document.getElements(".tab").each( function(a) {
      if (a.id != tabId) {
        a.removeClass("selected");
        $(a.id + "_corpo").removeClass("selected");
        $(a.id).removeClass("tabselected");
      } else {
        a.addClass("selected");
        $(a.id + "_corpo").addClass("selected");
        $(a.id).addClass("tabselected");
      }
    });

    var i = 0;
    var corpotab = $("corpotab");
    if (!$chk(corpotab)) {
      return;
    }
    corpotab.getElements('tr').each(
        function(tr) {
          if ((tr.className == tabId) || (tr.className == "thead")
              || (tr.className == "tfoot")
              || (tr.getParent().className == "mgnlControlBarSmall")) {
            if (i % 2 == 0) {
              tr.getChildren().setStyles( {
                'background-color' :'#F2F2F2'
              });
            }
            tr.setStyles( {
              'display' :'block'
            });
            i++;
          } else {
            tr.setStyles( {
              'display' :'none'
            });

          }
          tr.getElements('input').each( function(input) {
            if (input.getAttribute("type") == "checkbox") {
              input.checked = false;
            }
          });
        });
  },
  unselectAllCheckbox : function(tabId) {
    document.getElements('tr').each( function(tr) {
      if (tr.className == tabId) {
        tr.getElements('input').each( function(input) {
          if (input.getAttribute("type") == "false") {
            input.checked = false;
          }
        });
      }
    });
  }
});

