var firefox=document.getElementById&&!document.all;

var selectedElem = '';
var gid = 0;
var layout = 'Osaft_portal';
var marked = -1;

function setGID(gr, lay) {
  gid = gr;
  layout = lay;
}

function openFolder(id) {
  document.getElementById("o"+id+"c").style.display = 'block';
  if(firefox)
    document.getElementById("o"+id).setAttribute("class", "elementm");
  else
    document.getElementById("o"+id).setAttribute("className", "elementm");
  document.getElementById("o"+id).setAttribute("href", "javascript:closeFolder('"+id+"')");
  selectFolder(id, 0);
}

function closeFolder(id) {
  document.getElementById("o"+id+"c").style.display = "none";
  if(firefox)
    document.getElementById("o"+id).setAttribute("class", "elementp");
  else
    document.getElementById("o"+id).setAttribute("className", "elementp");
  document.getElementById("o"+id).setAttribute("href", "javascript:openFolder('"+id+"')");
  selectFolder(id, 0);
}

function selectFolder(id, mode) {

  var klasse;
  if(mode == 1 || selectedElem != id) {
    klasse = document.getElementById("o"+selectedElem).getAttribute("class");
    klasse = klasse? klasse : document.getElementById("o"+selectedElem).getAttribute("className");

    klasse = klasse.substring(0, klasse.length-1);

    if(firefox)
      document.getElementById("o"+selectedElem).setAttribute("class", klasse);
    else
      document.getElementById("o"+selectedElem).setAttribute("className", klasse);
  }
  klasse = document.getElementById("o"+id).getAttribute("class");
  klasse = klasse? klasse : document.getElementById("o"+id).getAttribute("className");

  klasse = klasse + "s";

  if(firefox)
    document.getElementById("o"+id).setAttribute("class", klasse);
  else
    document.getElementById("o"+id).setAttribute("className", klasse);

  selectedElem = id;

  showContent(selectedElem);

}

function showContent(id) {
  //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("GET", 'gadgets/files.php?id='+id+'&gid='+gid+'&layout='+layout, true);

  //Beim abschliessen des request wird diese Funktion ausgeführt
  req.onreadystatechange = function (){
  var w = document.getElementById("files");
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          w.innerHTML = "<font>Der Ordnerinhalt konnte nicht geladen werden!</font>";
        }else{
          w.innerHTML = req.responseText;

        }
        break;

      default:
        return false;
        break;
     }
  }

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function markItem(id, name) {
  marked = id;
  document.getElementById("markname").innerHTML = name;
}

function insertItem(id) {
  if(marked == -1)
    alert("Es wurde kein Objekt zum Verschieben ausgewählt!");
  else {
  //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("GET", 'gadgets/filemove.php?id='+marked+'&fid='+id+'&gid='+gid+'&layout='+layout, true);

  //Beim abschliessen des request wird diese Funktion ausgeführt
  req.onreadystatechange = function (){
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          alert("Das Verschieben war nicht erfolgreich!");;
        }else{
          showContent(id);
        }
        break;

      default:
        return false;
        break;
     }
  }

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
  marked = -1;
  document.getElementById("markname").innerHTML = "keine Datei markiert";
  }
}
