var firefox=document.getElementById&&!document.all;

var helpOpen = false;
var helpfile = "default";

function setHelpFile(file) {
  helpfile = file;
}

function openHelp() {

  helpOpen = true;
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
  var helpbox = document.getElementById("help");

  helpbox.style.display = "inline";
  if(firefox) {
    var he = window.innerHeight;
    var wi = window.innerWidth;
  }
  else {
    var he = document.body.clientHeight;
    var wi = document.body.clientWidth;
  }
  helpbox.style.top = ((he-400)/2)+"px";
  helpbox.style.left = ((wi-600)/2)+"px";

  //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", 'help/'+helpfile+'.php', true);

  //Beim abschliessen des request wird diese Funktion ausgeführt
  req.onreadystatechange = function (){
  var w=document.getElementById("helptext");
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          w.innerHTML = "<font>Konnte Hilfe-Inhalt nicht laden!</font>";
        }else{
          w.innerHTML = req.responseText;
        }
        break;

      default:
        return false;
        break;
     }
  }

  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);

}

function closeHelp() {
  helpOpen = false;
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("help").style.display = "none";
}

function closeFirstHelp() {
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("firsthelp").style.display = "none";
}

function openFirstHelp() {
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
  document.getElementById("firsthelp").style.display = "inline";
}

function showLittleHelp(id) {
  document.getElementById("help"+id).style.display = "inline";
}

function closeLittleHelp(id) {
  document.getElementById("help"+id).style.display = "none";
}

var maxHelp = 0;
function setMaxHelp(i) {
  maxHelp = i;
}

function activateHelpMode(layout) {
  for(i=0; i < maxHelp; i++) {
    document.getElementById("helpB"+i).style.display = "block";
  }
  var phelp = document.getElementById("pagehelp");
  if(phelp)
    phelp.style.display = "block";
  var s = document.getElementById("showhelpl");
  s.innerHTML = "<img src=\"gfx/"+layout+"/helpon.gif\" width=\"107\" height=\"36\" border=\"0\">";
  s.setAttribute("href", "javascript:deactivateHelpMode('"+layout+"')");

  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/dbset.php?tb=metauser&field=showhelp&value=1&nogroup=true', true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function deactivateHelpMode(layout) {
  for(i=0; i < maxHelp; i++) {
    document.getElementById("helpB"+i).style.display = "none";
  }
  var phelp = document.getElementById("pagehelp");
  if(phelp)
    phelp.style.display = "none";
  var s = document.getElementById("showhelpl");
  s.innerHTML = "<img src=\"gfx/"+layout+"/helpoff.gif\" width=\"107\" height=\"36\" border=\"0\">";
  s.setAttribute("href", "javascript:activateHelpMode('"+layout+"')");

  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/dbset.php?tb=metauser&field=showhelp&value=0&nogroup=true', true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
  var todopic = document.getElementById('todohelpmode');
  if(todopic)
    todopic.src = 'gfx/Osaft_portal/checked.gif';
}

function melden(user, objekt) {

  closeDynamic();
  window.scrollTo(0, 0)
  document.getElementById("meldbemerk").value = "";
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
  var meldbox = document.getElementById("meldbox");

  meldbox.style.display = "inline";
  if(firefox) {
    var he = window.innerHeight;
    var wi = window.innerWidth;
  }
  else {
    var he = document.body.clientHeight;
    var wi = document.body.clientWidth;
  }
  meldbox.style.top = ((he-400)/2)+"px";
  meldbox.style.left = ((wi-600)/2)+"px";

  document.getElementById("melduser").value = user;
  document.getElementById("meldobjekt").value = objekt;
  if(objekt == '')
    document.getElementById("meldtext").innerHTML = 'Warum möchtest du diesen Benutzer melden?';
  else if(objekt.charAt(0) == 'p')
    document.getElementById("meldtext").innerHTML = 'Warum möchtest du dieses Bild melden?';
  else if(objekt.charAt(0) == 'd')
    document.getElementById("meldtext").innerHTML = 'Warum möchtest du diese Datei melden?';

}

function closeMelden() {
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("meldbox").style.display = "none";
}

function submitMelden() {

  document.getElementById("meldestatus").innerHTML = "sende...";
  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!");

  var user = document.getElementById("melduser").value;
  var objekt = document.getElementById("meldobjekt").value;
  var bemerk = document.getElementById("meldbemerk").value;

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("GET", 'gadgets/melden.php?muser='+escape(user)+'&objekt='+escape(objekt)+'&bemerk='+escape(bemerk), true);
  req.onreadystatechange = function (){
  var w=document.getElementById("meldestatus");
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          w.innerHTML = "Es ist ein Problem aufgetreten, versuche bitte erneut, die Meldung zu senden!";
        }else{
          w.innerHTML = "Die Meldung wurde erfolgreich gesendet!<br>Das Fenster schließt sich automatisch nach 3 Sekunden!";
          setTimeout("closeMelden()",3000);
        }
        break;

      default:
        return false;
        break;
     }
  }
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function newMessage(user, name) {

  closeDynamic();
  window.scrollTo(0, 0);
  document.getElementById("messagetxt").value = "";
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
  var msgbox = document.getElementById("msgbox");

  msgbox.style.display = "inline";
  if(firefox) {
    var he = window.innerHeight;
    var wi = window.innerWidth;
  }
  else {
    var he = document.body.clientHeight;
    var wi = document.body.clientWidth;
  }
  msgbox.style.top = ((he-400)/2)+"px";
  msgbox.style.left = ((wi-600)/2)+"px";

  document.getElementById("msgtext").innerHTML = 'Nachricht an '+name+":";

  document.getElementById("msguser").value = user;

}

function closeMessage() {
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("msgbox").style.display = "none";
  document.getElementById("msgstatus").innerHTML = "";
}

function submitMessage() {

  document.getElementById("msgstatus").innerHTML = "sende...";
  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!");

  var user = document.getElementById("msguser").value;
  var msgtext = document.getElementById("messagetxt").value;
  var vim = document.getElementById("vim").value;

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("GET", 'gadgets/newmsg.php?muser='+escape(user)+'&msgtext='+escape(msgtext), true);
  req.onreadystatechange = function (){
  var w=document.getElementById("msgstatus");
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          w.innerHTML = "Es ist ein Problem aufgetreten, versuche bitte erneut, die Nachricht zu senden!";
        }else{
          w.innerHTML = "Die Nachricht wurde erfolgreich gesendet!<br>Das Fenster schließt sich automatisch nach 3 Sekunden!";
          setTimeout("closeMessage()",3000);
        }
        break;

      default:
        return false;
        break;
     }
  }
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function gbAnswer(user, name) {

  document.getElementById("gbanstxt").value = "";
  var over = document.getElementById("ausgrauen");
  if(over != null) {
    over.style.display = "";
    over.style.height = document.body.scrollHeight + "px";
    over.style.width = document.body.scrollWidth +  "px";
  }
  var gbansbox = document.getElementById("gbansbox");

  scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  if(firefox) {
    var wi = window.innerWidth;
  }
  else {
    var wi = document.body.clientWidth;
  }
  gbansbox.style.top = (scrOfY+100)+"px";
  gbansbox.style.left = ((wi-600)/2)+"px";
  gbansbox.style.display = "inline";

  document.getElementById("gbanstext").innerHTML = name+" eine Nachricht ins Gästebuch schreiben:";

  document.getElementById("gbansuser").value = user;

}

function closeGbAnswer() {
  var over = document.getElementById("ausgrauen");
  if(over != null) {
    over.style.display = "none";
  }
  document.getElementById("gbansbox").style.display = "none";
}

function submitGbAnswer(dir) {

  document.getElementById("gbansstatus").innerHTML = "sende...";
  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!");

  var user = document.getElementById("gbansuser").value;
  var msgtext = document.getElementById("gbanstxt").value;

  //anfrage erstellen (GET, url ist localhost,
  //request ist asynchron
  req.open("GET", dir+'gadgets/gbook.php?muser='+escape(user)+'&msgtext='+escape(msgtext), true);
  req.onreadystatechange = function (){
  var w=document.getElementById("gbansstatus");
    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          w.innerHTML = "Es ist ein Problem aufgetreten, versuche bitte erneut, die Nachricht zu senden!";
        }else{
          w.innerHTML = "Die Nachricht wurde erfolgreich gesendet!<br>Das Fenster schließt sich automatisch nach 3 Sekunden!";
          setTimeout("closeGbAnswer()",3000);
        }
        break;

      default:
        return false;
        break;
     }
  }
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
}

function showProChange() {
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
}

function closeProChange() {
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("pchbox").style.display = "none";
}

function openDynamic(titel, content) {

  var itstitel = document.getElementById("dynamictitel");
  itstitel.innerHTML = '&nbsp;&nbsp;'+titel+'&nbsp;&nbsp;';
  var over = document.getElementById("ausgrauen");
  over.style.display = "";
  over.style.height = document.body.scrollHeight + "px";
  over.style.width = document.body.scrollWidth +  "px";
  var box = document.getElementById("dynamic");

  box.style.display = "inline";
  scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  if(firefox) {
    var he = window.innerHeight;
    var wi = window.innerWidth;
  }
  else {
    var he = document.body.clientHeight;
    var wi = document.body.clientWidth;
  }
  box.style.top = (scrOfY+(he-500)/2)+"px";
  box.style.left = ((wi-720)/2+80)+"px";

  document.getElementById('dynamiccnt').src = content;
}

function closeDynamic() {
  document.getElementById("ausgrauen").style.display = "none";
  document.getElementById("dynamic").style.display = "none";
  top.frames.dynamiccnt.document.open();
  top.frames.dynamiccnt.document.close();
}
