// Sendet Daten zum Response-Skript
function formsubmit (frage,antwort,datenstring)
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
       xmlHttp.open("POST", "response.php5", true);
       if (frage == 8)
       {
         xmlHttp.onreadystatechange = auswertung;
       }
       else
       {
         xmlHttp.onreadystatechange = handleServerResponse;
       }
       var ip = escape(document.besucher.ip.value);
       var herkunft = escape(document.besucher.herkunft.value);
       xmlHttp.setRequestHeader("Pragma", "no-cache");
       xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");
       xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified);
       xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
       xmlHttp.send("frage="+frage+"&antwort="+antwort+"&datenstring="+datenstring+"&ip="+ip+"&herkunft="+herkunft);
  }
  else
    setTimeout('formsubmit(frage,antwort,datenstring)',1000);
}


//empfängt vom Response-Skript
function handleServerResponse()
{
   // nur fortfahren, wenn Transaktion abgeschlossen
   if (xmlHttp.readyState == 4) //wieder empfangsbereit
   {
      if (xmlHttp.status == 200) //Daten erfolgreich empfangen
      {
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        frage_id_container = xmlRoot.getElementsByTagName("frage_id");
        frage_id = frage_id_container.item(0).firstChild.data;
        frage_container = xmlRoot.getElementsByTagName("frage");
        frage_txt = frage_container.item(0).firstChild.data;
        datenstring_container = xmlRoot.getElementsByTagName("datenstring");
        datenstring = datenstring_container.item(0).firstChild.data;
        antwort1_container = xmlRoot.getElementsByTagName("antwort1");
        antwort1 = antwort1_container.item(0).firstChild.data;
        antwort2_container = xmlRoot.getElementsByTagName("antwort2");
        antwort2 = antwort2_container.item(0).firstChild.data;
        antwort3_container = xmlRoot.getElementsByTagName("antwort3");
        antwort3 = antwort3_container.item(0).firstChild.data;
        antwort4_container = xmlRoot.getElementsByTagName("antwort4");
        antwort4 = antwort4_container.item(0).firstChild.data;
        document.getElementById("frage").innerHTML = "<p><img src='_px/"+frage_id+".gif'></p><p>" + frage_txt + "</p>";
        document.getElementById("content").innerHTML = "<p style=\"padding-left:40px\"><span onclick=\"formsubmit("+frage_id+",1,\'"+datenstring+"\')\" class=\"form_answer\">"+antwort1+"</span><br><span onclick=\"formsubmit("+frage_id+",2,\'"+datenstring+"\')\" class=\"form_answer\">"+antwort2+"</span><br><span onclick=\"formsubmit("+frage_id+",3,\'"+datenstring+"\')\" class=\"form_answer\">"+antwort3+"</span><br><span onclick=\"formsubmit("+frage_id+",4,\'"+datenstring+"\')\" class=\"form_answer\">"+antwort4+"</span></p>";
      }
      else
      {
        alert("Verbindung zum Server konnte nicht hergestellt werden");
      }
   }
}

//empfängt vom Response-Skript
function auswertung()
{
   // nur fortfahren, wenn Transaktion abgeschlossen
   if (xmlHttp.readyState == 4) //wieder empfangsbereit
   {
      if (xmlHttp.status == 200) //Daten erfolgreich empfangen
      {
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        ergebnis_container = xmlRoot.getElementsByTagName("ergebnis");
        ergebnis = ergebnis_container.item(0).firstChild.data;
        prozent_container = xmlRoot.getElementsByTagName("prozent");
        prozent = prozent_container.item(0).firstChild.data;
        titel_container = xmlRoot.getElementsByTagName("titel");
        titel = titel_container.item(0).firstChild.data;
        text_container = xmlRoot.getElementsByTagName("text");
        text = text_container.item(0).firstChild.data;
        document.getElementById("frage").innerHTML = "<p><img src='_px/auswertung.gif'></p><p>Das B&ouml;se ist bei Dir zu <strong>" + prozent + "%</strong> ausgepr&auml;gt.</p><p style='font-size:20pt;'>\"<strong>"+titel+"</strong>\"</p>";
        document.getElementById("content").innerHTML = "<p class='ergebnis'>"+text+"</p><p onclick=\"formsubmit(0,0,'')\" class='form_answer'>Nochmal!</p>";
      }
      else
      {
        alert("Verbindung zum Server konnte nicht hergestellt werden");
      }
   }
}


// Sendet Anfrage zu response_stats
function ask_for_stats ()
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
       xmlHttp.open("POST", "response_stats.php", true);
       xmlHttp.onreadystatechange = get_stats;
       xmlHttp.setRequestHeader("Pragma", "no-cache");
       xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");
       xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified);
       xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
       xmlHttp.send("dummy=1");
  }
  else
    setTimeout('ask_for_stats(stats)',1000);
}

//empfängt vom response_stats
function get_stats()
{
   // nur fortfahren, wenn Transaktion abgeschlossen
   if (xmlHttp.readyState == 4) //wieder empfangsbereit
   {
      if (xmlHttp.status == 200) //Daten erfolgreich empfangen
      {
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        platzArray = xmlRoot.getElementsByTagName("platz");
        comArray = xmlRoot.getElementsByTagName("com");
        bosheitArray = xmlRoot.getElementsByTagName("bosheit");

        var data = "<table><tr><td class='table_font'>No.</td><td class='table_font'>&nbsp;Community</td><td class='table_font'>Bosheit</td></tr><tr><td colspan='3'>&nbsp;</td></tr>";
        var color_kom = 1;
        for (var i = 0; i < platzArray.length; i++)
        {
           data += "<tr><td class='table_font'>" + platzArray.item(i).firstChild.data + "</td><td class='table_font'>" + comArray.item(i).firstChild.data + "</td><td class='table_font'><center>" + bosheitArray.item(i).firstChild.data + " %</center></td></tr>";
           color_kom ++;
           if (color_kom == 3)
             color_kom = 1;
        }
        data += "</table>";
        document.getElementById("stats_content").innerHTML = data;


      }
      else
      {
        alert("Verbindung zum Server konnte nicht hergestellt werden");
      }
   }
}

function info()
{
        document.getElementById("info").innerHTML = "<p onclick=\"close_info()\">Die b&ouml;sesten Webseiten?</p><p onclick=\"close_info()\" class='ergebnis'>Die depressive Leber vergi&szlig;t nichts! Die Bosheit eines jeden Besuchers, der von einer anderen Webseite zu uns kommt, wird anonym gespeichert.</p><p onclick=\"close_info()\" class='ergebnis'>In der unten stehenden Liste sind die Webseiten aufgef&uuml;hrt, die ganz besonders b&ouml;se Leser zu haben scheinen.</p><p onclick=\"close_info()\" class='ergebnis'>Um zu starke Schwankungen zu vermeiden, bekommen Webseiten, die sehr viele Besucher zur depressiven Leber geschickt haben, einen leichten Bonus in der Berechnung.</p><p onclick=\"close_info()\" class='ergebnis' style='cursor:pointer;'>Klicke auf diesen Text, um das Fenster wieder zu schließen.</p><br><br>";
}


function close_info()
{
        document.getElementById("info").innerHTML = "";
}
