var blocksToShow = 6;
var hideClassName = "hidden";
var linkClassName = "moreHiddenBlocksLink";
var link2ClassName = "lessBlocksLink"
var linkContent = "Bekijk alle data";
var link2Content = "Verberg data";


function insertAfter(newChild, refChild) {
 refChild.parentNode.insertBefore(newChild,refChild.nextSibling);
}

function setAddon(_scopeObject) {
    var tableContainer = document.getElementById("CourseStartData");
    if (tableContainer) {

      var trContainers = tableContainer.getElementsByTagName("tr");
      for (var i=1; i < trContainers.length; i++) {
        var blocks =[];
        if (!_scopeObject)
            { blocks = trContainers[i].getElementsByTagName("ins"); }
        else {
            blocks = _scopeObject.getElementsByTagName("ins");
        }

        if ((blocks.length > blocksToShow)) {
            for (var j=blocksToShow; j < blocks.length; j++) {
                blocks[j].className = hideClassName;
            }
            var link = document.createElement('a');
            link.setAttribute('href', '#null');
            link.className = linkClassName;
            link.innerHTML = linkContent;
            link.onclick = function () {
                var blocksContainer = this.parentNode;
                var childBlocks = blocksContainer.getElementsByTagName("ins");
                for (var k=blocksToShow; k<childBlocks.length; k++) {
                  if (childBlocks[k].className.indexOf(hideClassName) < 0) {
                    childBlocks[k].className = hideClassName;
                  } else {
                    childBlocks[k].className = '';
                  }
                }
                this.parentNode.removeChild(this);
                //this.id = "showLink";
                //hideLink("showLink");

                var link2 = document.createElement('a');
                link2.setAttribute('href', '#null');
                link2.className = link2ClassName;
                link2.innerHTML = link2Content;
                link2.onclick = function () {
                  setAddon(this.parentNode.parentNode.parentNode);
                  this.parentNode.removeChild(this);
                }


                if (!(childBlocks[0].parentNode.getElementsByTagName("a")[0])) insertAfter(link2, childBlocks[childBlocks.length-1]);
            }

            var existingLinks = blocks[0].parentNode.getElementsByTagName("a");
            if (existingLinks[0]) {
                for (var l=0; l <existingLinks.length; l++) {
                 existingLinks[l].parentNode.removeChild(existingLinks[l]);
                }
            }
            //if (!(blocks[0].parentNode.getElementsByTagName("a")[0]))
            blocks[blocksToShow].parentNode.insertBefore(link, blocks[blocksToShow]);

        }
      }
    }
}
