// JavaScript Document

var search = {
  
  init: function() {
   
    searchBox = document.getElementById('hledaniSelecty');
    spany = searchBox.getElementsByTagName('span');
    
    for(var i=0; i< spany.length; i++) {
      var select = spany[i].getElementsByTagName('select');
      try {
        if(select.length == 0)
          continue;
          
        var options = select[0].getElementsByTagName('option');
        
        try {
          var element = document.createElement('<input type="hidden" name="'+ select[0].name +'" value="'+ select[0].value +'"></input>');
        } catch(e) {
          var element = document.createElement('input');
          element.setAttribute("name", select[0].name);
          element.setAttribute("type", "hidden");
          element.setAttribute("value", select[0].value);
        }

        spany[i].appendChild(element);
        
        try {
          var element = document.createElement('<span class="srchObal"></span>'); // obepínajici span doplnit tridu

        } catch(e) {
          var element = document.createElement('span'); // obepinajici span
          element.setAttribute("class", "srchObal"); // doplnit tridu obepinajiciho spanu
        }
        
        try {
          var elementSpan = document.createElement('<span class="srchValue"></span>'); // span obsahujici vybrany text - doplnit tridu 
          elementSpan.onclick = function(){search.rozbal(this)};
          
        } catch(e) {
        
          var elementSpan = document.createElement('span'); // span obsahujici vybrany text
          elementSpan.setAttribute("class", "srchValue"); // doplnit tridu textoveho spanu
          
          elementSpan.onclick = function(){search.rozbal(this)};
        
        }
            
        try {
          var elementUL = document.createElement('<ul class="sels"></ul>');
        } catch(e) {
          var elementUL = document.createElement('ul');
          elementUL.setAttribute("class", "sels");          
        }
        
            
        for(var j=0; j < options.length; j++) {
            try {
              //var elementOpt = document.createElement('<li title="'+ options[j].value +'" onmouseover="search.highlite(this)" onmouseout="search.unhighlite(this)" onclick="search.transfer(this)"></li>');
               
              var elementOpt = document.createElement('li');
              elementOpt.title = options[j].value;
              elementOpt.onmouseover = function(){search.highlite(this)};
              elementOpt.onmouseout = function(){search.unhighlite(this)};
              elementOpt.onclick = function(){search.transfer(this)};
              
              
              if(options[j].selected) {
                //elementOpt = document.createElement('<li title="'+ options[j].value +'" onmouseover="search.highlite(this)" onmouseout="search.unhighlite(this)" onclick="search.transfer(this)" class="selected">');
                elementOpt = document.createElement('li');

                elementOpt.className = 'selected';
                elementOpt.title = options[j].value;
                elementOpt.onmouseover = function(){search.highlite(this)};
                elementOpt.onmouseout = function(){search.unhighlite(this)};
                elementOpt.onclick = function(){search.transfer(this)};
                elementSpan.innerHTML = options[j].innerHTML;
              }
              elementOpt.innerHTML = options[j].innerHTML;



            } catch(e) {
              var elementOpt = document.createElement('li');
              elementOpt.setAttribute("title", options[j].value);
              elementOpt.onmouseover = function(){search.highlite(this)};
              elementOpt.onmouseout = function(){search.unhighlite(this)};
              elementOpt.onclick = function(){search.transfer(this)};
             
              elementOpt.innerHTML = options[j].innerHTML;
              
              if(options[j].selected) {
                elementOpt.className = 'selected';
                //elementOpt.setAttribute("class", "selected");
                elementSpan.innerHTML = options[j].innerHTML;
              }
            }
            
            elementUL.appendChild(elementOpt);
          }
            
            
            
            
        element.appendChild(elementSpan);
        element.appendChild(elementUL);
        
        spany[i].appendChild(element);
        select[0].parentNode.removeChild(select[0]);
        
        
      } catch(e) {
        alert(e.toString());
      }
      
      
      
    }
  
  },
  
  rozbal: function(co) {
    var ul = co.parentNode.getElementsByTagName('ul');        
    if (ul[0].style.display != 'block') {
    
      $(ul[0]).getParent('#hledaniSelecty').getElements('ul.sels').each( function(el) { el.setStyle('display','none');} );
      
      ul[0].style.display = 'block';
    } else {
      ul[0].style.display = 'none'
    } 
    
  },
  
  highlite: function(co) {
    if (co.className != 'selected'){
      co.className = 'moje'; 
    }
  },
  
  unhighlite: function(co) {
    if (co.className != 'selected'){
      co.className = ''; 
    }
  },
  
  transfer: function(co) {
    
    var input = co.parentNode.parentNode.parentNode.getElementsByTagName('input');
    input[0].value = co.title;
    var span = co.parentNode.parentNode.getElementsByTagName('span');
    span[0].innerHTML = co.innerHTML;
    var li = co.parentNode.getElementsByTagName('li');
    for (var i=0; i < li.length; i++) {
      if(li[i].className == 'selected') {
        li[i].className = '';
      } 
    }
    co.className = 'selected';
    co.parentNode.style.display = 'none';
  }




}




