var favtabs = document.getElementById('favtabs').getElementsByTagName('li');
var tabcount = favtabs.length;
var favlistroot = document.getElementById('favlist');
var favlist = favlistroot.getElementsByTagName('li');
var activecount = 0;
var tabstart = 2;
var favoletus = 'fav_bands';

function sorttaa() {
  var favcount = favlist.length;
  var newlist = new Array();
  for (var i=0;i<favcount;i++) {
    var favindex = Math.floor(favlist.length*Math.random());
    newlist.push(favlist[favindex]);
    favlistroot.removeChild(favlist[favindex]);
  }
  for (var j=0;j<newlist.length;j++) {
    favlistroot.appendChild(newlist[j]);
  }
}

function piilotakaikki(paitsi) {
  for (var j=tabstart;j<tabcount;j++) {
    favtabs[j].className="";
  }
  for (var i=0;i<favlist.length;i++) {
    if (favlist[i].className==paitsi) {
      favlist[i].style.display="block";
    } else {
      favlist[i].style.display="none";
    }
  }
  if (paitsi != 'blank') {
    document.getElementById('nav_'+paitsi).className='active';
  }
}

function toggleluokka(luokka) {
  if (document.getElementById('nav_'+luokka).className!="active") {
    for (var i=0;i<favlist.length;i++) {
      if (favlist[i].className==luokka) {
        favlist[i].style.display="block";
      }
    }
    document.getElementById('nav_'+luokka).className="active";
  } else {
    for (var j=tabstart;j<tabcount;j++) {
      if (favtabs[j].className=="active") {
        activecount += 1;
      }
    }
    if (activecount<tabcount-tabstart) {
      for (var i=0;i<favlist.length;i++) {
        if (favlist[i].className==luokka) {
          favlist[i].style.display="none";
        }
      }
      document.getElementById('nav_'+luokka).className="";
    } else {
      piilotakaikki(luokka);
    }
    activecount = 0;
  }
}

// käskynjako
piilotakaikki(favoletus);
sorttaa();
for (var i=tabstart;i<tabcount;i++) {
  favtabs[i].childNodes[0].onclick = function() {
    this.blur();
    toggleluokka(this.name);
    return false;
  }
}
favtabs[0].childNodes[0].onclick = function() {
  this.blur();
  piilotakaikki('blank');
  return false;
}
favtabs[1].childNodes[0].onclick = function() {
  this.blur();
  sorttaa();
  return false;
}

//favtabs[2].childNodes[0].onclick = function() {
//  this.blur();
//  sorttaa(2);
//  return false;
//}
//favtabs[3].childNodes[0].onclick = function() {
//  this.blur();
//  sorttaa(3);
//  return false;
//}

