function ckbChanged()
{
  var ckboxes = document.getElementsByName("ckbkat");
  var tags = "";
  var checked = false;
  
  for (i = 0; i < ckboxes.length; i++)
  {
    if (ckboxes[i].checked == true)
    {
      checked = true;
      tags = tags + (ckboxes[i].getAttribute("id")).substr((ckboxes[i].getAttribute("id")).lastIndexOf("_") + 1) + "_";
    }
  }
    
  if (getObject("tags"))
  {
    getObject("tags").value = tags;
  }
  
  if (checked == true)
  {
    var mode = "search";
    
    if (getObject("bildnummer"))
    {
      mode = "edit";
    }
    
    var url = "/eib_func/eib_select_tag.php?mode=" + mode + "&tags=" + tags + "&rnd=" + Math.round(Math.random() * 10000);
    req = getReq();

    if (req != null)
    {
      req.onreadystatechange = processChangeTagSelect; 
      req.open("GET", url, true); 
      req.send(null); 
    } 
  }
  else
  {
    getObject("selected_tags").style.display = "none";
    
    if (getObject("tag_break"))
    {
      getObject("tag_break").style.display = "none";
    }
  }
}


function processChangeTagSelect()
{
  try
  {
    if (req != null && req.readyState == 4 && req.status == 200)
    {
      getObject("selected_tags").innerHTML = req.responseText;
      getObject("selected_tags").style.display = "block";
      getObject("tag_break").style.display = "block";
    }
  }
  catch(e)
  {
  }
} 


function showHide(kat, open)
{
  var imgs = document.getElementsByTagName("img");
  var divs = document.getElementsByTagName("div");
  var ie4 = (document.all) ? true : false;
  
  for (var j = 0; j < imgs.length; j++)
  {
    if (imgs[j].getAttribute("name") != null && imgs[j].getAttribute("name") == "pm_" + kat + "_")
    {
      if ((open == true) || (imgs[j].getAttribute("src").indexOf("plus") >= 0))
      {
        imgs[j].setAttribute("src", "/pics/minus.gif");

        for (var i = 0; i < divs.length; i++)
        {
          if (ie4 == true)
          {
            if (divs[i].getAttribute("className") != null && divs[i].getAttribute("className") == "div_" + kat + "_")
            {
              divs[i].style.display = "block";
            }
          }
          else
          {
            if (divs[i].getAttribute("class") != null && divs[i].getAttribute("class") == "div_" + kat + "_")
            {
              divs[i].style.display = "block";
            }
          }
        }
      }
      else
      {
        for (var k = 0; k < imgs.length; k++)
        {
          if (imgs[k].getAttribute("name") != null && imgs[k].getAttribute("name").indexOf("pm_" + kat + "_") >= 0)
          {
            imgs[k].setAttribute("src", "/pics/plus.gif");
          }
        }

        for (var i = 0; i < divs.length; i++)
        {
          if (ie4 == true)
          {
            if (divs[i].getAttribute("className") != null && divs[i].getAttribute("className").indexOf("div_" + kat + "_") >= 0)
            {
              divs[i].style.display = "none";
            }
          }
          else
          {
            if (divs[i].getAttribute("class") != null && divs[i].getAttribute("class").indexOf("div_" + kat + "_") >= 0)
            {
              divs[i].style.display = "none";
            }
          }
        }
      }
    }
  }
}


function uncheckAllTagCheckboxes()
{
  var ckboxes = document.getElementsByName("ckbkat");

  for (i = 0; i < ckboxes.length; i++)
  {
    ckboxes[i].checked = false;
  }
  
  if (getObject("tags"))
  {
    getObject("tags").value = "";
  }
}


function openTag(tagid)
{
  var ckboxes = document.getElementsByName("ckbkat");

  for (var i = 0; i < ckboxes.length; i++)
  {
    if (tagid == (ckboxes[i].getAttribute("id")).substr((ckboxes[i].getAttribute("id")).lastIndexOf("_") + 1))
    {
      ckboxes[i].checked = true;
      
      var ckbtags = ckboxes[i].getAttribute("id").substr(4);
      
      for (var j = 0; j < ckbtags.length; j++)
      {
        if (ckbtags.charAt(j) == "_")
        {
          showHide(ckbtags.substr(0, j), true);
        }
      }
      
      break;
    }
  }
}


function fillTagCheckboxes(tags)
{
  uncheckAllTagCheckboxes();
  
  if (tags.indexOf("_") >= 0)
  {
    var tagid = "";
    
    while (tags.length > 0)
    {
      tagid = tags.substr(0, tags.indexOf("_"));
      openTag(tagid);
      tags = tags.substr(tags.indexOf("_") + 1);
    }
    
    getObject("tag_list").style.display = "block";
  }
    
  ckbChanged();
}


function cleanCurrentTags()
{
  uncheckAllTagCheckboxes();
  ckbChanged();
}


function changeTag(tagid)
{
  openTag("" + tagid);
  getObject("select_tag").selectedIndex = 0;
  ckbChanged();
}


function viewSubKat(katid)
{
  var divs = document.getElementsByTagName("div");
  var divid = "subkat_" + katid;
  
  for (var i = 0; i < divs.length; i++)
  {
    if (divs[i].getAttribute("id") != null && (divs[i].getAttribute("id")).substr(0, 6) == "subkat")
    {
      divs[i].style.display = "none";
    }
  }
  
  getObject(divid).style.display = "block";
}


function fillTagCombobox(tags)
{
  if (tags.indexOf("_") >= 0)
  {
    var tagid = tags.substr(0, tags.indexOf("_"));
    var combobox = getObject("select_tag");
    
    if (combobox)
    {
      for (var i=0; i<combobox.options.length; i++) 
      {
        if (combobox.options[i].value == tagid) 
        {
          combobox.options[i].selected = true;		
        }
        else
        {
          combobox.options[i].selected = false;	
        }
      }
    }
  }
}
