if(window.attachEvent) {
  window.attachEvent('onload',loadHandler);
}
else {
  window.addEventListener('load',loadHandler,false);
}
function loadHandler(e) {
  var d1 = 'd1', t1 = 't1';
  
  if (document.getElementById(d1) && document.getElementById(t1)) {
	dropHandler(d1,t1);
  	selectHandler(d1,t1);
  }
}

function stopEvent(e) {
  if(!e) {
      window.event.cancelBubble = true;
    }
    else {
      e.stopPropagation();
    }
}

/*
    Функция findOdds(node, arr) разыскивает в поддереве узла node «паразитные» текстовые узлы (состоящие только из пробелов и переводов строки) и помещает эти узлы в массив arr
*/

function findOdds(node, arr) {
  var space = /^[^\u0021-\uffff]*$/g;
  if(node.nodeType == 3) {
    if(node.nodeValue.match(space)) {
      arr.push(node);
    }
  }
  else if(node.nodeType == 1) {
    for(var n = node.firstChild; n; n = n.nextSibling) {
      findOdds(n, arr);
    }
  }
}


/*
    Функция removeOdds(node) удаляет из поддерева узла node «паразитные» текстовые узлы (состоящие только из пробелов и переводов строки)
*/
function removeOdds(node) {
  var odds = new Array();
  findOdds(node, odds);
  for(var i = 0; i < odds.length; i++) {
    odds[i].parentNode.removeChild(odds[i]);
  }
}


function dropHandler(source_block_id,drop_block_id) {
  
  var s = document.getElementById(source_block_id);
  var d = document.getElementById(drop_block_id);
  var image = document.getElementById(source_block_id+'_image');
  var input = document.getElementById(source_block_id+'_input');
  
  s.onclick = function(e) {
    stopEvent(e);
    if(d.offsetHeight == 0) {
      d.style.display = 'block';
      s.style.background = '#ff812c';
      input.style.color = '#fff';
      image.src = 'i/plus_open.gif';
      
    }
    else {
      d.style.display = 'none';
      s.style.background = 'url(i/v_line.gif) top left repeat-x';
      input.style.color = '#525252';
      image.src = 'i/plus.gif';
    }
  }
  
  var html = document.documentElement;
  html.onclick = function() {
    d.style.display = 'none';
    image.src = 'i/plus.gif';
    s.style.background = 'url(i/v_line.gif) top left repeat-x';
    input.style.color = '#525252';
  }
}

function selectHandler(source_block_id,drop_block_id) {

  var ul = document.getElementById(drop_block_id+'_ul');
  var input = document.getElementById(source_block_id+'_input');
  removeOdds(ul);
  
  var counter = 0;
  
  for(var li = ul.firstChild; li ; li = li.nextSibling) {
    
    li.setAttribute('id','li_'+counter);
    li.setAttribute('value',0);
    counter++;
    
    li.onmouseover = function(e) {
      stopEvent(e);
      var flag = this.getAttribute('value');
      if(flag != 1) {
         this.className = 'selected';
      }
    }
    li.onmouseout = function(e) {
      stopEvent(e);
      var flag = this.getAttribute('value');
      if(flag != 1) {
         this.className = 'no_selected';
      }
    }
    li.onclick = function(e) {
//      stopEvent(e);
      this.className = 'selected';
      this.setAttribute('value',1);
      input.value = this.firstChild.firstChild.nodeValue;
      document.getElementById("d1_image").style.display = "none";
      
      //alert(this.firstChild.firstChild.nodeValue);

      for(var n = ul.firstChild; n ; n = n.nextSibling) {
          if(n.id != this.id){ 
            n.setAttribute('value', 0);
            n.className = 'no_selected';
          }
      }
     
    }
  }
  
}
