function Ajax() {
//Eigenschaften deklarieren und initialisieren
this.url="";
this.params="";
this.method="GET";
this.onSuccess=null;
this.onError=function (msg) {
alert(msg)
};
};
Ajax.prototype.doRequest=function() {
//Üeberpruefen der Angaben
if (!this.url) {
this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
return false;
}
if (!this.method) {
this.method="GET";
} else {
this.method=this.method.toUpperCase();
}
//Zugriff auf Klasse für readyStateHandler ermöglichen
var _this = this;
//XMLHttpRequest-Objekt erstellen
var xmlHttpRequest=getXMLHttpRequest();
if (!xmlHttpRequest) {
this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
return false;
}
//Fallunterscheidung nach Übertragungsmethode
switch (this.method) {
case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true);
xmlHttpRequest.onreadystatechange = readyStateHandler;
xmlHttpRequest.send(null);
break;
case "POST": xmlHttpRequest.open(this.method, this.url, true);
 xmlHttpRequest.onreadystatechange = readyStateHandler;
 xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 xmlHttpRequest.send(this.params);
 break;
};
//Private Methode zur Verarbeitung der erhaltenen Daten
function readyStateHandler() {
if (xmlHttpRequest.readyState < 4) {
return false;
}
if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304) {
if (_this.onSuccess) {
_this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
}
} else {
if (_this.onError) {
_this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenübertragung auf.");
}
}
}
}
//Gibt browserunabhängig ein XMLHttpRequest-Objekt zurück
function getXMLHttpRequest() {
if (window.XMLHttpRequest) {
//XMLHttpRequest für Firefox, Opera, Safari, ...
return new XMLHttpRequest();
} else 
if (window.ActiveXObject) {
try { 
//XMLHTTP (neu) für Internet Explorer 
return new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
//XMLHTTP (alt) für Internet Explorer
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return null;
}
}
}
return false;
}
var varEvalList = ';';
function evalSend(parArtikel, parBewertung) {
if (varEvalList.indexOf(parArtikel + ';') > 0) { 
varNachricht = "Sie haben diesen Artikel bereits bewertet. Wollen Sie ihn noch einmal bewerten?";
var varAntwort = window.confirm(varNachricht);
if(!varAntwort) {
return;
};
} else {
varEvalList = varEvalList + parArtikel + ';';
};
var myAjax = new Ajax();
myAjax.method="POST";
myAjax.url="/php/mail.php";
myAjax.params="parAddress="+"bewertung"+"&parSubject="+parArtikel+" - "+parBewertung+"&parMessage="+"-"+"&parFrom="+"www.awb1.ch";
myAjax.onSuccess = evalOnSuccess;
myAjax.onError = evalOnError;
myAjax.doRequest();
};
function evalOnSuccess(msg) {
if (msg == "Error") {
document.getElementById("mid2").innerHTML="<h2 id='tit2'>Fehler</h2><p>" + msg + "</p>";
} else {
document.getElementById("mid2").innerHTML="<h2 id='tit2'>Vielen Dank</h2><p>Ihre Bewertung wurde registriert.</p>";
};
};
function evalOnError(msg) {
document.getElementById("mid2").innerHTML="<h2>Fehler</h2 id='tit1'><p>" + msg + "</p>";
};
var varHistIndex = 0;
var varMid1Index = 0;
var varHistValue;
var varMid1Value;
var arrHistValue = new Array;
var arrMid1Value = new Array;
function hist(parPath) {
var varTit1Value = document.getElementById("tit1").innerHTML;
varHistValue = "<p><b>&#8250&nbsp;</b><a href=\"javascript:read('" + parPath + "','mid1');\">" + varTit1Value + "<\/a><\/p>"; // evtl. Javascript in onclick ändern
var arrHistValueJoin = arrHistValue.join("");
if (arrHistValueJoin.indexOf(varHistValue) == -1 && +
varHistValue.indexOf(">Buchstabe") == -1 && +
varHistValue.indexOf(">Neu") == -1 && +
varHistValue.indexOf(">Suchresultat") == -1 && +
varHistValue.indexOf(">Verlauf") == -1 && +
varHistValue.indexOf(">Zahlen") == -1) {
arrHistValue[varMid1Index] = varHistValue;
};
varMid1Value = document.getElementById("mid1").innerHTML;
arrMid1Value[varMid1Index] = varMid1Value;
varHistIndex = varMid1Index;
++varMid1Index;
};
function histZurueck() {
if (varHistIndex > 0) {
--varHistIndex;
document.getElementById("mid1").innerHTML = arrMid1Value[varHistIndex];
};
};
function histListe () {
var arrHistValueReverse = arrHistValue.reverse();
document.getElementById("mid1").innerHTML = "<h2 id='tit1'>Verlauf</h2>" + arrHistValueReverse.join("");
};
function histVorwaerts() {
if (varHistIndex < varMid1Index - 1) {
++varHistIndex;
document.getElementById("mid1").innerHTML = arrMid1Value[varHistIndex];
};
};
function diversesLesezeichen () {
var url = "http://www.awb1.ch/";
var title = "Alternatives Wörterbuch – Willkommen";
if (ie+ff+op=="YNN") {
window.external.AddFavorite(url, title);
};
if (ie+ff+op=="NYN") {
window.sidebar.addPanel(title, url, "");
};
if (ie+ff+op=="NNY"||ie+ff+op=="NNN") {
alert("Es scheint, dass Ihr Browser das automatische Setzen von Lesezeichen nicht unterstützt.\nBitte gehen Sie zurück zur Startseite und setzen Sie es manuell.");
};
};
var varSearchValue;
var varSearchString;
function findStart(par) {
if (document.detailSearch.searchString.value == ""){
document.getElementById("internalSearch").style.color = "#f00";
document.getElementById("internalSearch").value = "nichts eingegeben";
document.detailSearch.searchString.focus();
} else {
document.getElementById("internalSearch").style.color = "#666";
};
varSearchString = document.detailSearch.searchString.value;
find();
};
function find() {
varSearchValue = findStringToHex(varSearchString.toLowerCase());
var myAjax = new Ajax();
myAjax.method="POST";
myAjax.url="/php/find.php";
myAjax.params="parSearchString="+varSearchValue;
myAjax.onSuccess = findOnSuccess;
myAjax.onError = findOnError;
myAjax.doRequest();
};
function findOnSuccess(msg) {
if (msg == "Error") {
document.getElementById("mid1").innerHTML="<h2 id='tit2'>Fehler</h2><p>" + msg + "</p>";
} else {
document.detailSearch.reset();
document.getElementById("banner").innerHTML="<h1>Alternatives Wörterbuch</h1>";
document.getElementById("mid1").innerHTML="<h2 id='tit1'>Suchresultat für Zeichenfolge &bdquo;" + varSearchString + "&rdquo;</h2>" + msg;
hist("Dummy");
};
};
function findOnError(msg) {
document.getElementById("mid1").innerHTML="<h2 id='tit1'>Fehler</h2><p>" + msg + "</p>";
};
function findStringToHex(input) {
hexOutput = "";
for (i=0; i<input.length; i++) {
hexOutput = hexOutput + "_" + findDecimalToHex(input.charCodeAt(i));
}
return hexOutput;
};
function findDecimalToHex(Decimal) {
var hexChars = "0123456789ABCDEF";
var a = Decimal % 16;
var b = (Decimal - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
return hex;
};
var varFontSize = 100;
var varLineHeight = 1.5;
function fontKleiner () {
varFontSize = varFontSize - 16;
////varLineHeight = varLineHeight + 3;
document.getElementById("mid").style.fontSize = varFontSize + "%";
////document.getElementById("mid").style.lineHeight = varLineHeight + "%";
};
function fontNormal () {
varFontSize = 100;
varLineHeight = 1.5;
document.getElementById("mid").style.fontSize = varFontSize + "%";
document.getElementById("mid").style.lineHeight = varLineHeight;
};
function fontGroesser () {
varFontSize = varFontSize + 16;
////varLineHeight = varLineHeight - 3;
document.getElementById("mid").style.fontSize = varFontSize + "%";
////document.getElementById("mid").style.lineHeight = varLineHeight + "%";
};
var ie;
var ff;
var op;
function browser () {
if (navigator.userAgent.indexOf("Opera")!= -1) {
ie = "N";
ff = "N";
op = "Y";
document.write('<link rel="stylesheet" type="text/css" href="/css/styleOP.css"/>');
} else if (navigator.userAgent.indexOf("Firefox")!= -1) {
ie = "N";
ff = "Y";
op = "N";
document.write('<link rel="stylesheet" type="text/css" href="/css/styleFF.css"/>');
} else if (navigator.userAgent.indexOf("MSIE")!= -1) {
ie = "Y";
ff = "N";
op = "N";
document.write('<link rel="stylesheet" type="text/css" href="/css/styleIE.css"/>');
} else {
ie = "N";
ff = "N";
op = "N";
};
};
var varName;
var varEmail;
var varAddress;
var varBetreff;
var varNachricht;
function mailSend(par) {
if (document.Feedback.Name.value == ""){
document.getElementById("formName").style.color = "#f00";
document.Feedback.Name.focus();
return false;
} else {
document.getElementById("formName").style.color = "#666";
};
if (document.Feedback.Email.value != ""){
varAtPos = document.Feedback.Email.value.indexOf("@");
varStopPos = document.Feedback.Email.value.lastIndexOf(".");
if (varAtPos == -1 || varStopPos == -1) {
document.getElementById("formEmail").style.color = "#f00";
document.Feedback.Email.focus();
return false;
} else {
document.getElementById("formEmail").style.color = "#666";
};
if (varStopPos < varAtPos) {
document.getElementById("formEmail").style.color = "#f00";
document.Feedback.Email.focus();
return false;
} else {
document.getElementById("formEmail").style.color = "#666";
};
if (varStopPos - varAtPos == 1) {
document.getElementById("formEmail").style.color = "#f00";
document.Feedback.Email.focus();
return false;
} else {
document.getElementById("formEmail").style.color = "#666";
};
};
if (document.Feedback.Betreff.value == ""){
document.getElementById("formBetreff").style.color = "#f00";
document.Feedback.Betreff.focus();
return false;
} else {
document.getElementById("formBetreff").style.color = "#666";
};
if (document.Feedback.Nachricht.value == ""){
document.getElementById("formNachricht").style.color = "#f00";
document.Feedback.Nachricht.focus();
return false;
} else {
document.getElementById("formNachricht").style.color = "#666";
};
varName = document.Feedback.Name.value; 
varEmail = document.Feedback.Email.value; 
varAddress = par; 
varBetreff = document.Feedback.Betreff.value; 
varNachricht = document.Feedback.Nachricht.value; 
mail();
};
function mailReset() {
document.getElementById("formName").style.color = "#666";
document.getElementById("formEmail").style.color = "#666";
document.getElementById("formBetreff").style.color = "#666";
document.getElementById("formNachricht").style.color = "#666";
document.Feedback.reset();
};
function mail() {
var myAjax = new Ajax();
myAjax.method="POST";
myAjax.url="/php/mail.php";
myAjax.params="parAddress="+varAddress+"&parSubject="+varBetreff+"&parMessage="+varNachricht+"&parFrom="+varEmail;
myAjax.onSuccess = mailOnSuccess;
myAjax.onError = mailOnError;
myAjax.doRequest();
};
function mailOnSuccess(msg) {
document.getElementById("mid2").style.display = "block";
if (msg == "Error") {
document.getElementById("mid2").innerHTML="<h2 id='tit2'>Fehler</h2><p>" + msg + "</p>";
} else {
document.Feedback.reset();
document.getElementById("mid2").innerHTML="<h2 id='tit2'>Vielen Dank</h2><p>Die E-Mail wurde versandt.</p>";
};
};
function mailOnError(msg) {
document.getElementById("mid2").innerHTML="<h2 id='tit2'>Fehler</h2><p>" + msg + "</p>";
};
var varPath
var varTarget
var varMidOffsetHeight;
function read(parPath, parTarget) {
varPath = parPath;
varTarget = parTarget;
var myAjax = new Ajax();
myAjax.url = "/php/read.php";
myAjax.params = "filename=.."+varPath;
myAjax.onSuccess = readOnSuccess;
myAjax.onError = readOnError;
myAjax.doRequest();
};
function readOnSuccess(txt) {
document.getElementById("banner").innerHTML = "<h1>Alternatives W&ouml;rterbuch</h1>";
if (varTarget == "mid1") {
document.getElementById("mid1").innerHTML = txt;
hist(varPath);
} else if (varTarget == "mid2") {
txt = txt.replace(/'mid2'/g, "'mid3'") + "<br><div id='mid3'></div>";
document.getElementById("mid2").innerHTML = txt;
} else if (varTarget == "mid3") {
txt = txt.replace(/'mid2'/g, "'mid4'") + "<br><div id='mid4'></div>";
document.getElementById("mid3").innerHTML = txt;
} else if (varTarget == "mid4") {
txt = txt.replace(/'mid2'/g, "'mid5'") + "<br><div id='mid5'></div>";
document.getElementById("mid4").innerHTML = txt;
} else if (varTarget == "mid5") {
txt = txt.replace(/'mid2'/g, "'mid6'") + "<br><div id='mid6'></div>";
document.getElementById("mid5").innerHTML = txt;
} else if (varTarget == "mid6") {
txt = txt.replace(/'mid2'/g, "'mid7'") + "<br><div id='mid7'></div>";
document.getElementById("mid6").innerHTML = txt;
} else if (varTarget == "mid7") {
txt = txt.replace(/'mid2'/g, "'mid8'") + "<br><div id='mid8'></div>";
document.getElementById("mid7").innerHTML = txt;
} else if (varTarget == "mid8") {
txt = txt.replace(/'mid2'/g, "'mid9'") + "<br><div id='mid9'></div>";
document.getElementById("mid8").innerHTML = txt;
} else if (varTarget == "mid9") {
txt = txt.replace(/'mid2'/g, "'mid10'") + "<br><div id='mid10'></div>";
document.getElementById("mid9").innerHTML = txt;
};
if (varTarget == "mid1") {
self.scrollTo(0, 0);
} else {
varMidOffsetHeight = getMidOffsetHeight();
if (varMidOffsetHeight > getWindowHeight()) {
self.scrollTo(0, varMidOffsetHeight);
} else {
self.scrollTo(0, 0);
};
};
if (document.Feedback) {
if (document.getElementById("tit2")) {
if (document.getElementById("tit2").innerHTML == "Korrekturvorschlag") {
document.Feedback.Betreff.value = document.getElementById("tit1").innerHTML;
};
};
document.Feedback.Name.focus();
};
};
function readOnError(msg) {
document.getElementById("mid1").innerHTML="<h2 id='tit2'>Fehler</h2><p>" + msg + "</p>";
};
function getWindowHeight() {
if (window.innerHeight) {
return window.innerHeight;
} else if (document.body && document.body.offsetHeight) {
return document.body.offsetHeight;
} else {
return 0;
};
};
function getMidOffsetHeight() {
var v = document.getElementById("banner").offsetHeight + 30;
if (document.getElementById("mid1")) {v = v + document.getElementById("mid1").offsetHeight;};
if (document.getElementById("mid2")) {v = v + document.getElementById("mid2").offsetHeight;};
if (document.getElementById("mid3")) {v = v + document.getElementById("mid3").offsetHeight;};
if (document.getElementById("mid4")) {v = v + document.getElementById("mid4").offsetHeight;};
if (document.getElementById("mid5")) {v = v + document.getElementById("mid5").offsetHeight;};
if (document.getElementById("mid6")) {v = v + document.getElementById("mid6").offsetHeight;};
if (document.getElementById("mid7")) {v = v + document.getElementById("mid7").offsetHeight;};
if (document.getElementById("mid8")) {v = v + document.getElementById("mid8").offsetHeight;};
if (document.getElementById("mid9")) {v = v + document.getElementById("mid9").offsetHeight;};
return v;
};

