function jumpMenu(targ,selObj,restore){
       if (selObj.options[selObj.selectedIndex].value != "") {
         if (selObj.options[selObj.selectedIndex].value.substring(0,11) == "javascript:") {
              eval(selObj.options[selObj.selectedIndex].value);
              }
              else {   eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
          }
         }  if (restore) selObj.selectedIndex=0;
      }

function enablePopups(){
   if(!document.getElementsByTagName) return;
   var linkElements = document.getElementsByTagName("A");
   for(var i = 0; i < linkElements.length; i++){
      var r = linkElements[i].rel;
      if(r.indexOf("external")!=-1){
         linkElements[i].onclick = function(){ return openPopup(this.href); }
      }
   }
}

function openPopup(address){
   var newWindow = window.open(address,'external');
   if(window.focus) newWindow.focus();
   return false;
}


function foldCategories(listId){
   if(!document.getElementById || !document.createElement) return;
   var list = document.getElementById(listId);
   this.collapseSections = collapseSections;
   if(list !== false){
      var sections = list.getElementsByTagName("DIV");
      collapseSections();
      var headers = list.getElementsByTagName("H3");
      var linkNode = new Array();
      var textNode = new Array();
      for(i = 0; i < headers.length; i++){
         textNode[i] = document.createTextNode(headers[i].firstChild.nodeValue);
         linkNode[i] = document.createElement("A");
         linkNode[i].href = "javascript:void(0);";
         linkNode[i].onclick = function(){ toggleSection(this); }
         linkNode[i].appendChild(textNode[i]);
         headers[i].replaceChild(linkNode[i],headers[i].firstChild);
      }
   }      

   function collapseSections(){
      for(var i = 0; i < sections.length; i++){ sections[i].className = "closed"; }
   }

   function toggleSection(linkElement){
      var p = linkElement.parentNode;
      while(p.nodeName != "DIV"){ p = p.parentNode;}
      if(p.className == "open"){
         p.className = "closed";
      } else {
         this.collapseSections();
         p.className = "open";
      }
   }
}

function displayCheckboxCount(container){
   if(!document.getElementsByTagName || !container) return;

   this.init = init;
   this.count = count;
   this.updateLabel = updateLabel;

   var inputs = container.getElementsByTagName("INPUT");
   var checkboxes = new Array();

   var count = 0;
   var sp = document.createElement("SPAN");
   var tx = document.createTextNode("");
   
   var header = container.getElementsByTagName("H3")[0];
   if(header){
      count = this.init();
      sp.appendChild(tx);
      header.appendChild(sp);
      this.updateLabel(count);
   }

   function init(){         
      var initCount = 0;
      for(var i = 0; i < inputs.length; i++){
         if(inputs[i].type == "checkbox"){
            checkboxes.push(inputs[i]);
            if(inputs[i].checked){ initCount++; }
            inputs[i].onclick = this.count;
         }
      }
      return initCount;
   }
   
   function count(){
      var initCount = 0;
      for(var i = 0; i < checkboxes.length; i++){
         if(checkboxes[i].checked){ initCount++; }
      }
      updateLabel(initCount);
   }
   
   function updateLabel(c){
      if(!tx) return;
      if(c == 0){
         var newTitle = " ";
      } else {
         var newTitle = (c == 1) ? "kategoria valittu" : "kategoriaa valittu";
         newTitle = c + " " + newTitle;
      }
      tx.nodeValue = newTitle;
   }
}

function initCounters(containerElement){
   if(!document.getElementById) return;
   var p = document.getElementById(containerElement);
   if(p){
      var cats = p.getElementsByTagName("DIV");
      for(var i = 0; i < cats.length; i++){
         displayCheckboxCount(cats[i]);
      }      
   }
}

window.onload = function(){
   enablePopups();
}
