<!--

function SetStatistic(session)
{
  //lese übergebene Variablen aus!
  /*var array = window.location.search.substring(1).split("&");
  for(var i in array)
  {
    var name = array[i].split("=");
    eval("var Public_" + name[0] + " = \"" + name[1] + "\";");
  }*/
  

var tmp = "http://www.si-lexikon.de/statistic.php?SESS=" + session + "&";
if(document.referrer) tmp += "REFFERER=" + urlencode(document.referrer) + "&";

tmp += "INFO=";
tmp += navigator.javaEnabled() + "|"; //Java vorhanden?
tmp += navigator.cookieEnabled + "|"; //Cookie erlaubt?
tmp += screen.width+"*"+screen.height + "|"; //Auflösung

if(document.body.offsetHeight)
{
  tmp += document.body.offsetWidth + "*" + document.body.offsetHeight + "|";  //sichtbare breite + höhe
}
else tmp += window.innerWidth + "*" + window.innerHeight + "|";  //sichtbare breite + höhe



tmp += screen.pixelDepth;             //Farbtiefe in Bit
//installierte plugins
tmp += "&PLUGINS=";
for (var i = 0; i < navigator.plugins.length; i++) {
  if(i+1       < navigator.plugins.length &&
     navigator.plugins[i].name != navigator.plugins[i+1].name &&
     navigator.plugins[i].description != "Default Plug-in")
  {
     tmp += navigator.plugins[i].name + "|" + navigator.plugins[i].description + "<|>";
  }
}

//unterstützte mime
var JavaApplet = "";
var JavaBeans  = "";
tmp += "&MIME=";
for (var i = 0; i < navigator.mimeTypes.length; i++)
{
  if(navigator.mimeTypes[i].description != "Java Applet" &&
     navigator.mimeTypes[i].description != "JavaBeans" &&
     navigator.mimeTypes[i].description != "Network Interface Plugin" &&
     navigator.mimeTypes[i].type        != "*")
  {
    tmp += navigator.mimeTypes[i].type + "<|>";
  }
}


StatisticImage      = new Image(1, 1);
StatisticImage .src = tmp;
}


function urlencode(txt)
{
  txt = replaceIt(txt, "&", "%26");
  txt = replaceIt(txt, "ü", "%FC");
  txt = replaceIt(txt, "Ü", "%DC");
  txt = replaceIt(txt, "ä", "%E4");
  txt = replaceIt(txt, "Ä", "%C4");
  txt = replaceIt(txt, "ö", "%F6");
  txt = replaceIt(txt, "Ö", "%D6");
  txt = replaceIt(txt, "ß", "%DF");

  return txt;
}

function replaceIt(string,suchen,ersetzen)
{
  ausgabe = "" + string;
  while (ausgabe.indexOf(suchen)>-1)
  {
    pos= ausgabe.indexOf(suchen);
    ausgabe = "" + (ausgabe.substring(0, pos) + ersetzen +
    ausgabe.substring((pos + suchen.length), ausgabe.length));
  }

  return ausgabe;
}











//unterstützt Suchmaschinen!
var SearchEngines   = new Array("/search\.msn.+/","/fireball.+/","/web.+/","/altavista.+/", "/t-online.+/", "/yahoo.+/", "/google.+/", "/lycos.+/");

//variablen die gehighlightet werden sollen...falls vorhanden!
var SearchVariables = new Array("q", "query", "p", "s", "su");

//CSS - Klasse die für das Highlighting zuständig ist
var ClassHighlighting="SearchResult";


var ref = "";
//Rekursionsfun
function highlightWords(node, word)
{
   //gehe die baumstruktur durch! (rekursion)
   if (node.hasChildNodes)
   {
  	 for (var i=0; i<node.childNodes.length; i++) highlightWords(node.childNodes[ i ], word);
   }

   // Durchsuche nur Textknoten!
   if (node.nodeType == 3)
   {
	 tmp = node.nodeValue.toLowerCase();
	 tempWordVal = word.toLowerCase();

     //befindet sich das Wort in diesem Textknoten?!
     //weiterhin ist die klassenbezeichnung unterschiedlich?!
	 if (node.parentNode.className != ClassHighlighting &&
         (ni = tmp.indexOf(tempWordVal)) != -1)
     {
       //Aufbau des Textknotens: [...][suchbegriff][...]

       //lege element für das highlighting an
	   hiword = document.createElement("em");
	   hiword.className = ClassHighlighting;
	   hiword.appendChild( document.createTextNode( node.nodeValue.substr(ni,word.length) ) );
		
	   node.parentNode.insertBefore(document.createTextNode(node.nodeValue.substr(0,ni)), node);
	   node.parentNode.insertBefore(hiword,node);
	   node.parentNode.insertBefore(document.createTextNode(node.nodeValue.substr(ni+word.length)),node);
	   node.parentNode.removeChild(node);
 	 }
   }
}

function high() {

        //überprüfe ob überhaupt ein referrer vorhanden ist!
        var referrer = decodeURIComponent(document.referrer);
        if (referrer.indexOf('?') == -1) return;


        //überprüfe ob der Anwender von einer Suchmaschine kommt (siehe Array "SearchEngines")
        var FoundIt=false;
        for(var i=0; i<SearchEngines.length; i++)
        {
           eval("if(referrer.search( " + SearchEngines[i] + " )) FoundIt=true;");
        }

        if(!FoundIt) return;


        //splitte die Variablen auf..wir brauchen die Variablen q,query,p,s
	variables = referrer.substr(referrer.indexOf('?')+1).split('&');

        //gehe jede Variable durch!
	for (i=0;i<variables.length;i++)
        {
	   var variable = variables[i].split('=');

           //gehe jede gültige Variable durch
           for (j=0;j<SearchVariables.length;j++)
           {
             //variable gültig und inhalt vorhanden?!
             if (variable[0] == SearchVariables[j] && variable[1] != '')
             {
	        // remove blanks and '+'
	        variable[1] = variable[1].replace(/^(\s+|\++)/,'').replace(/(\++)$/,'').replace(/(\s+)$/,'');

            var words = unescape(variable[1].replace(/\+/g,' ')).split(/\s+/);
            for(k=0; k<words.length; k++) highlightWords(document.getElementsByTagName("body")[0], words[k]);
	     }
	   }
	}
}

window.setTimeout("high();", 500);
//-->
