
function Cookie(document, name, hours, path, domain, secure)
{
    this.$document = document;
    this.$name = name;
    if (hours)
        this.$expiration = new Date((new Date()).getTime() + hours*3600000);
    else this.$expiration = null;
    if (path) this.$path = path; else this.$path = null;
    if (domain) this.$domain = domain; else this.$domain = null;
    if (secure) this.$secure = true; else this.$secure = false;
}


Cookie.prototype.store = function () {
    var cookieval = "";
    for(var prop in this) {

        if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function'))
            continue;
        if (cookieval != "") cookieval += '&';
        cookieval += prop + ':' + escape(this[prop]);
    }

    
    var cookie = this.$name + '=' + cookieval;
    if (this.$expiration)
        cookie += '; expires=' + this.$expiration.toGMTString();
    if (this.$path) cookie += '; path=' + this.$path;
    if (this.$domain) cookie += '; domain=' + this.$domain;
    if (this.$secure) cookie += '; secure';

    this.$document.cookie = cookie;
}


Cookie.prototype.load = function() {
    
    var allcookies = this.$document.cookie;
    if (allcookies == "") return false;

    var start = allcookies.indexOf(this.$name + '=');
    if (start == -1) return false;   
    start += this.$name.length + 1;  
    var end = allcookies.indexOf(';', start);
    if (end == -1) end = allcookies.length;
    var cookieval = allcookies.substring(start, end);

    var a = cookieval.split('&');    
    for(var i=0; i < a.length; i++)  
        a[i] = a[i].split(':');

    for(var i = 0; i < a.length; i++) {
        this[a[i][0]] = unescape(a[i][1]);
    }
    return true;
}

// window.location.href funktioniert im Firefox nicht, deshalb so:
function neu_laden()
{
var url = location.href;
var asdf = url.split("#");
location = asdf[0];
location = location;
}

Cookie.prototype.remove = function() {
    var cookie;
    cookie = this.$name + '=';
    if (this.$path) cookie += '; path=' + this.$path;
    if (this.$domain) cookie += '; domain=' + this.$domain;
    cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';
    this.$document.cookie = cookie;
    neu_laden();
}
// *****************************************************************************
// Ab hier Änderungen je nach den Elementen des Formulars vornehmen!
// Hier werden die entsprechenden Einstellungen für die Variablen vorgenommen.
// Die hier verwendeten Variablennamen müssen die gleichen sein wie im Formular!
var visitordata = new Cookie(document, "source_target_engine", 24000);
if (!visitordata.load()) {
    visitordata.source_language = 'DEU';
    visitordata.target_language = 'NULL';
    visitordata.engine = 'yahoo';
}

function collect_values() {

    visitordata.source_language = document.forms.sdata.source_language.value;
  	var sl = document.forms.sdata.source_language.value;
   	 
    visitordata.target_language = document.forms.sdata.target_language.value;
	var tl = document.forms.sdata.target_language.value;


    visitordata.engine = document.forms.sdata.engine.value;
    var engine = document.forms.sdata.engine.value;
	
    if (visitordata.target_language == "NULL") visitordata.target_language = null;
	
	var control = control_languages();
	
	if (control == "ok")
	{
    		visitordata.store();
		alert('Die Werte wurden gespeichert!');
	}
	else
	{
		alert('Die Werte wurden nicht gespeichert!') 
	}
}

function definiere_ausgabe(target,was,lang) 
{
	var ausgabe = "";
	var tmp_lang = "DEU";
	if (lang != "") { lang = tmp_lang; }
	
	var tmp_sl = (visitordata.source_language);
	tmp_sl = standard(tmp_sl);
	
	if ((was == "tl1" || was == "sl") && (tmp_sl == target))
	{
		switch (target)
		{
		case "DEU":alert("Zielsprache gleich Quellsprache, bitte ändern!");break;
		case "FRA":alert("Langue cible égale langue source, changez s.v.p.!");break;
		case "ENG":alert("Target language equals source language, please change it!");break;
		default:alert("Zielsprache gleich Quellsprache, bitte ändern!");
		}
	}
	
	switch (target)
	{	
		case "DEU": 
			ausgabe = "Deutsch";
			if (lang == "DEU") { ausgabe = "Deutsch";}
			if (lang == "FRA") { ausgabe = "Allemand";}
			if (lang == "ENG") { ausgabe = "German"; }
		break;
		case "FRA":
			ausgabe = "Franz&ouml;sisch";
			if (lang == "DEU") { ausgabe = "Franz&ouml;sisch";}
			if (lang == "FRA") { ausgabe = "Fran&ccedil;ais";}
			if (lang == "ENG") { ausgabe = "French";}
		break;
		case "ENG": 
			ausgabe = "Englisch";
			if (lang == "DEU") { ausgabe = "Englisch";}
			if (lang == "FRA") { ausgabe = "Anglais";}
			if (lang == "ENG") { ausgabe = "English";}
		break;
		
		case "yahoo": ausgabe = "Yahoo";  break;
		case "google": ausgabe = "Google"; break;
		case "msn": ausgabe = "MSN"; break;

		case "spiegel": ausgabe = "Spiegel";  break;
		case "netzeitung": ausgabe = "Netzeitung";  break;
		case "faz": ausgabe = "F.A.Z.";  break;
		case "figaro": ausgabe = "Le Figaro";  break;
		case "monde": ausgabe = "Le Monde"; break;
		case "liberation": ausgabe = "Lib&eacute;ration"; break;
		case "times": ausgabe = "Times";  break;
		case "washingtonpost": ausgabe = "Washington Post";  break;
		case "time": ausgabe = "Time";  break;

		case "ebay": ausgabe = "eBay";  break;
		case "eBay": ausgabe = "eBay";  break;
		case "kelkoo": ausgabe = "Kelkoo";  break;
		
		case "null": ausgabe = "Keine";  break;
		// case "persons": type = "persons";  break;
		// case "wikpedia": type = "wikipedia";  break;	
		default:
			ausgabe = target;	
	}
	return(ausgabe);
}
function standard(tmp_sl) 
{
	switch (tmp_sl)
	{
	case "Deutsch": tmp_sl = "DEU"; break;
	case "German": tmp_sl = "DEU"; break;
	case "Allemand": tmp_sl = "DEU"; break;
	case "Franz&ouml;sisch": tmp_sl = "FRA"; break;
	case "French": tmp_sl = "FRA"; break;
	case "Fran&ccedil;ais": tmp_sl = "FRA"; break;
	case "Englisch": tmp_sl = "ENG"; break;
	case "English": tmp_sl = "ENG"; break;
	case "Anglais": tmp_sl = "ENG"; break;
	default: 
	}
	return(tmp_sl);
}
function control_languages() 
{
	var tmp_sl = (visitordata.source_language);
	tmp_sl = standard(tmp_sl);
	tmp_tl1 = standard(tmp_tl1);
	var tmp_tl1 = (visitordata.target_language);
	var wert;
	if (tmp_sl == tmp_tl1)
	{
		switch (tmp_tl1)
		{
		case "DEU":alert("Zielsprache gleich Quellsprache, bitte ändern!");break;
		case "FRA":alert("Langue cible égale langue source, changez s.v.p.!");break;
		case "ENG":alert("Target language equals source language, please change it!");break;
		default:alert("Zielsprache gleich Quellsprache, bitte ändern!");
		}
		wert = "not_ok";

	}
	else
	{
		wert = "ok";
	}
	return(wert);
}