function loadSliders() {
  for(var i = 1; i <= 51; i++) {
    eval('var slider' + i + ' = new Slider(document.getElementById("slider' + i + '"), document.getElementById("slider' + i + '-input"));');
    eval('slider' + i + '.setMinimum(0)');
    eval('slider' + i + '.setMaximum(100)');
    eval('slider' + i + '.setValue(60)');
    eval('window.onresize = function () { slider' + i + '.recalculate(); }; ');
    eval('slider' + i + '.onchange = function () { slideHandler("slider' + i + '"); }; ');
  }
}


function insertText(ele, txt) {
  if(ele.value == '') 
    ele.value = txt;
}

function deleteText(ele, txt) {
  if(ele.value == txt) 
    ele.value = '';
}

function toggleParent(row) {
  //window.clearTimeout(time);
  document.getElementById("descbox1").style.display = "none";

  var slider = row.toString().replace(/row/, "slider");
  
  if(document.getElementById(row).style.display == 'block') { // CLOSE
    document.getElementById(row).style.display = 'none';
    document.getElementById(slider).disabled = "";
    eval(slider + '.setLocked(false); ');
    eval(slider + '.greyOut(); ');
  } else {                                                    // OPEN
    document.getElementById(row).style.display = 'block';
    document.getElementById(slider).disabled = "disabled";
    eval(slider + '.setLocked(true); ');  
    eval(slider + '.greyOut(); ');
  }
  for(var i = 1; i <= 51; i++) {
    eval('slider' + i + '.recalculate();');
  }
}

function slideHandler(ele) {
  
  var actionSlider = document.getElementById(ele);
  var actionRow = ele.toString().replace(/slider/, "row");

  if(actionSlider.className == 'horizontal dynamic-slider-control parentSlider') {
    
    if(actionSlider.disabled == true) {
      disabled = "disabled";
    } else if(actionSlider.disabled == "disabled") {
      disabled = "disabled";
    } else {
      disabled = "";
    }

    if(disabled != "disabled") {
      eval('var newVal = ' + ele + '.getValue();');
      eval('var newCol = ' + ele + '.getValue();');
      var childs = walkTree(actionRow);
      for(var i = 0; i < childs.length; i++) {
        eval(childs[i] + '.setValue(' + newVal + ');');
        colorChanger(newVal, '#71d751', '#f1ea22', '#d11010', childs[i]+'-bgc', childs[i]+'-rateCount');
      }
    } 
  } else { // child is moved
    
    var parentRow = document.getElementById(ele).parentNode.parentNode.id.toString();
    var parentSlider = document.getElementById(parentRow.replace(/row/, "slider"));
    
    if(parentSlider.disabled == true) {
      disabled = "disabled";
    } else if(parentSlider.disabled == "disabled") {
      disabled = "disabled";
    } else {
      disabled = "";
    }

    if(disabled == "disabled") {
      var res = 0;

      var childs = walkTree(parentRow);
      var sliderActive = 0;
      for(var i = 0; i < childs.length; i++) {
        if(document.getElementById(childs[i]+"-check").checked != true) {
          sliderActive++;
          eval('res = res + ' + childs[i] + '.getValue();');
        }
      }
      res = res/sliderActive;
      eval(parentSlider.id + '.setValue(' + res + ');');
      var newRes = Math.round(res);
      document.getElementById(parentSlider.id+'-rateCount').innerHTML = newRes+'%';
    }
  }  
}

function walkTree(parentRow) {

  var childs = new Array();

  for(var i = 0; i < document.getElementById(parentRow).childNodes.length; i++) {

      var cb = document.getElementById(parentRow).childNodes[i].className;
      if(cb != undefined && cb.search(/childBar.*/) != -1) {
        for(var j = 0; j < document.getElementById(parentRow).childNodes[i].childNodes.length; j++) {
          
          if(document.getElementById(parentRow).childNodes[i].childNodes[j].className == "horizontal dynamic-slider-control childSlider") {
            for(var k = 0; k < document.getElementById(parentRow).childNodes[i].childNodes[j].childNodes.length; k++) {
              
              if(document.getElementById(parentRow).childNodes[i].childNodes[j].childNodes[k].className == "slider-input") {
                var slider = document.getElementById(parentRow).childNodes[i].childNodes[j].childNodes[k];
                var sli = slider.id.substring(0, slider.id.indexOf("-"));
                //eval('var newVal = ' + ele + '.getValue();');
                //eval(sli + '.setValue(' + newVal + ');');
                childs.push(sli)
              }
            }
          }
        }
      }
    }
  return childs;
}


function deactivate(id) {
  var i = 0;
  if(document.getElementById('slider'+id+'-parent').value > 0) {
    do {
      if(document.getElementById('slider'+id+'-check').checked == true) {
        document.getElementById('slider'+(id+i)+'-check').checked = true;
        eval("slider" + (id+i) + '.setLocked(true); ');
        document.getElementById('slider'+id+'-overlay').className = "overlay_dea";
        document.getElementById('slider'+id+'-bgc').style.backgroundColor = 'rgb(128, 128, 128)';
        //eval("slider" + (id+i) + '.setValue(50); ');
        document.getElementById('slider'+(id+i)+'-input').value = 101;
        document.getElementById('row'+id).style.display = "none";
        
      } else {
          eval("slider" + (id+i) + '.setLocked(false); ');
          document.getElementById('slider'+(id+i)+'-overlay').className = "overlay";
          document.getElementById('slider'+(id+i)+'-bgc').style.backgroundColor = 'rgb(241, 234, 34)';
          document.getElementById('slider'+(id+i)+'-check').checked = false;
      }
      i++;
    }while(i <= document.getElementById('slider'+id+'-parent').value );
  } else {
    if(document.getElementById('slider'+id+'-input').value == 101) {
        eval("slider" + id + '.setLocked(false); ');
        //eval("slider" + (id+i) + '.setValue(50); ');
      } else {
        eval("slider" + id + '.setLocked(true); ');
        //eval("slider" + (id+i) + '.setValue(50); ');
        document.getElementById('slider'+id+'-input').value = 101;
      }
      eval("slider" + id +  '.greyOut(); ');
  }
}
function updateParent(id) {
  document.getElementById('slider'+id+'-parent').value++;
}
function hideParent(id) {
  if(document.getElementById('slider'+id+'-toggle').style.visibility=="hidden") {
    document.getElementById('slider'+id+'-toggle').style.visibility="visible";
  } else {
    document.getElementById('slider'+id+'-toggle').style.visibility="hidden";
  }
}
function hideCheckbox(id) {
  if(document.getElementById('slider'+id+'-hide').style.visibility=="hidden") {
    document.getElementById('slider'+id+'-hide').style.visibility="visible";
  } else {
    document.getElementById('slider'+id+'-hide').style.visibility="hidden";
  }
}
function deactivateParent(id) {
  var j = document.getElementById('slider'+id+'-parent').value;
  var k = 1;
  for(i=1;i<=j;i++) {
    if(document.getElementById('slider'+(id+i)+'-check').checked != true) {
      k = 0;
    }
  }
  if(k == 1) {
    toggleParent('row'+id);
    document.getElementById('slider'+id+'-check').checked = true;
    deactivate(id);
    document.getElementById('slider'+id+'-hide').style.visibility="visible";
    hideParent(id);
    
  } else {
    document.getElementById('slider'+id+'-check').checked = false;
  }
}
function toggleDescbox(v) {
  /*if(document.getElementById("descbox"+v).style.display == "block") {
    document.getElementById("descbox"+v).style.display = "none";
  } else {
    document.getElementById("descbox"+v).style.display = "block";
  }*/
}