var opened = new Array(false, false);
var height = new Array(0, 0);

var firefox=document.getElementById&&!document.all;

function closeMenu(content, link){
  var node = document.getElementById(content);
  var height = node.offsetHeight;
  setTimeout('scroll('+1+','+height+' ,'+0+', "'+content+'")', 1);
  var s = document.getElementById(link);
  s.setAttribute("href", "javascript:openMenu('"+content+"', '"+link+"', '"+height+"')");
}

function closeMenuDirect(content, link){
  var node = document.getElementById(content);
  var height = node.offsetHeight;
  node.style.height = 1;
  var s = document.getElementById(link);
  s.setAttribute("href", "javascript:openMenu('"+content+"', '"+link+"', '"+height+"')");
}

function openMenu(content, link, height){
  var node = document.getElementById(content);
  setTimeout('scroll('+1+','+0+' ,'+height+', "'+content+'")', 1);
  var s = document.getElementById(link);
  s.setAttribute("href", "javascript:closeMenu('"+content+"', '"+link+"')");
}

function closeLs(id){
  if(opened[id]) {
    opened[id] = false;
    var node = document.getElementById("list"+id);
    setTimeout('scroll('+1+','+height[id]+' ,'+0+', "list'+id+'")', 1);
    var s = document.getElementById("shut"+id);
    s.innerHTML = "<img src='gfx/Osaft_portal/list_d.gif' width='15' height='15' border='0' alt=''>";
    s.setAttribute("href", "javascript:openLs("+id+")");
  }
  saveStatus();
}

function openLs(id){
  if(!opened[id]) {
    opened[id] = true;
    var node=document.getElementById("list"+id);
    setTimeout('scroll('+1+','+0+' ,'+height[id]+', "list'+id+'")', 1);
    var s = document.getElementById("shut"+id);
    s.innerHTML = "<img src='gfx/Osaft_portal/list_u.gif' width='15' height='15' border='0' alt=''>";
    s.setAttribute("href", "javascript:closeLs("+id+")");
  }
  saveStatus();
}

function closeElement(id, start){
  var node = document.getElementById(id);
  var h = node.offsetHeight;
  setTimeout('scroll('+1+','+h+' ,'+start+', "'+id+'")', 1);
  var s = document.getElementById(id+"button");
  s.innerHTML = "<img src=gfx/Osaft_portal/down.gif width=14 height=13 border=0 alt=>";
  s.setAttribute("href", "javascript:openElement('"+id+"', "+h+", "+start+")");
}

function closeElementDirect(id, start){
  var node = document.getElementById(id);
  var h = node.offsetHeight;
  node.style.height = start;
  var s = document.getElementById(id+"button");
  s.innerHTML = "<img src=gfx/Osaft_portal/down.gif width=14 height=13 border=0 alt=>";
  s.setAttribute("href", "javascript:openElement('"+id+"', "+h+", "+start+")");
}

function openElement(id, h, start){
  var node=document.getElementById(id);
  setTimeout('scroll('+1+','+start+' ,'+h+', "'+id+'")', 1);
  var s = document.getElementById(id+"button");
  s.innerHTML = "<img src=gfx/Osaft_portal/up.gif width=14 height=13 border=0 alt=>";
  s.setAttribute("href", "javascript:closeElement('"+id+"', "+start+")");
}

function scroll(i, from, to, id) {
  var node = document.getElementById(id);
  node.style.height = from + Math.round(i/20*(to-from));

  if(!firefox) {
    if(from + Math.round(i/20*(to-from)) <= 1) {
      node.style.display = "none";
    }
    else {
      node.style.display = "block";
    }
  }

  if(i < 20) {
    i++;
    setTimeout('scroll('+i+','+from+' ,'+to+', "'+id+'")', 1);
  }
}

function initLs(fropen, gropen) {
  opened[0] = fropen;
  opened[1] = gropen;

  var node = document.getElementById("list0");
  height[0] = node.offsetHeight;
  if(!fropen) {
    node.style.height = 0;
    if(!firefox)
      node.style.display = "none";
  }

  var node = document.getElementById("list1");
  height[1] = node.offsetHeight;

  if(!gropen) {
    node.style.height = 0;
    if(!firefox)
      node.style.display = "none";
  }
}

function saveStatus() {
  //erstellen des requests
  var req = null;

  try{
    req = new XMLHttpRequest();
  }
  catch (ms){
    try{
      req = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (nonms){
      try{
        req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed){
        req = null;
      }
    }
  }

  if (req == null)
    alert("Error creating request object!");

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("POST", 'gadgets/svlists.php?freunde='+opened[0]+'&gruppen='+opened[1], true);

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function scrollpost(i, from, to, id) {
  document.getElementById(id).style.height = from + Math.round(i/15*(to-from));
  if(from + Math.round(i/15*(to-from)) == 0)
    document.getElementById(id).style.display = "none";

  if(i < 15) {
    i++;
    setTimeout('scrollpost('+i+','+from+' ,'+to+', "'+id+'")', 1);
  }
}

function delpost(id, tb, field, value, dir) {
  var dodel = confirm("Soll der Beitrag wirklich gelöscht werden?");
  if(dodel) {
  //document.getElementById(id).style.display = "none";
  setTimeout('scrollpost('+1+','+document.getElementById(id).offsetHeight+' ,'+0+', "'+id+'")', 1);

  //erstellen des requests
  var req = null;

  try{
    req = new XMLHttpRequest();
  }
  catch (ms){
    try{
      req = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (nonms){
      try{
        req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed){
        req = null;
      }
    }
  }

  if (req == null)
    alert("Error creating request object!");

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("POST", dir+'gadgets/dbdel.php?tb='+escape(tb)+'&field='+escape(field)+'&value='+escape(value), true);

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
  }
}

function delpostspec(id, tb, field, value) {
  var dodel = confirm("Soll der Beitrag wirklich gelöscht werden?");
  if(dodel) {
  //document.getElementById(id).style.display = "none";
  setTimeout('scrollpost('+1+','+document.getElementById(id).offsetHeight+' ,'+0+', "'+id+'")', 1);

  //erstellen des requests
  var req = null;

  try{
    req = new XMLHttpRequest();
  }
  catch (ms){
    try{
      req = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (nonms){
      try{
        req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed){
        req = null;
      }
    }
  }

  if (req == null)
    alert("Error creating request object!");

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("POST", 'gadgets/dbdelspec.php?tb='+escape(tb)+'&field='+escape(field)+'&value='+escape(value), true);

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
  }
}

function showMsg() {
  document.getElementById("domsg").style.display = "inline";
  document.getElementById("msglnk").style.display = "none";
}
