function encode_utf8(rohtext) {
		// aus selfhtml
             // dient der Normalisierung des Zeilenumbruchs
             rohtext = rohtext.replace(/\r\n/g,"\n");
            var utftext = "";
             for(var n=0; n<rohtext.length; n++)
                 {
                 // ermitteln des Unicodes des  aktuellen Zeichens
                 var c=rohtext.charCodeAt(n);
                 // alle Zeichen von 0-127 => 1byte
                if (c<128)
                     utftext += String.fromCharCode(c);
                 // alle Zeichen von 127 bis 2047 => 2byte
                 else if((c>127) && (c<2048)) {
                     utftext += String.fromCharCode((c>>6)|192);
                     utftext += String.fromCharCode((c&63)|128);}
                 // alle Zeichen von 2048 bis 66536 => 3byte
                 else {
                    utftext += String.fromCharCode((c>>12)|224);
                   utftext += String.fromCharCode(((c>>6)&63)|128);
                    utftext += String.fromCharCode((c&63)|128);}
                 }
            return utftext;
}

// wandle entfernt

function wandle_nach_uml(s)
{
	s += "*";
	var tmp = s.split('*'); // falls ein * dranhaengt
	s = tmp[0];
	tmp = s;
	tmp += "";
	// Umlaute
	// while (tmp.search(/&#x00E4/) >= 0) {tmp = tmp.replace(/&#x00E4/, "ä"); }
	// while (tmp.search(/&#x00C4/) >= 0){tmp = tmp.replace(/&#x00C4/, "Ä");}

	// while (tmp.search(/&#x00F6/) >= 0){tmp = tmp.replace(/&#x00F6/, 'ö');}
	// while (tmp.search(/&#x00D6/) >= 0){tmp = tmp.replace(/&#x00D6/, 'Ö');}

	// while (tmp.search(/&#x00FC/) >= 0){tmp = tmp.replace(/&#x00FC/, "ü");}
	// while (tmp.search(/&#x00DC/) >= 0){tmp = tmp.replace(/&#x00DC/, "Ü");}
	// while (tmp.search(/&#x00DF/) > 0){tmp = tmp.replace(/&#x00DF/, "ß");}
	// FRA
	// while (tmp.search(/&#x00E0/) >= 0){tmp = tmp.replace(/&#x00E0/, "à");}
	// while (tmp.search(/&#x00E1/) >= 0){tmp = tmp.replace(/&#x00E1/, "á");}
	// while (tmp.search(/&#x00E2/) >= 0){tmp = tmp.replace(/&#x00E2/, "â");}
	// while (tmp.search(/&#x00E8/) >= 0){tmp = tmp.replace(/&#x00E8/, "è");}
	// while (tmp.search(/&#x00E9/) >= 0){tmp = tmp.replace(/&#x00E9/, "é");}
	// while (tmp.search(/&#x00EA/) >= 0){tmp = tmp.replace(/&#x00EA/, "ê");}
	// while (tmp.search(/&#x00EB/) >= 0){tmp = tmp.replace(/&#x00EB/, "ë");}
	// while (tmp.search(/&#x00F2/) >= 0){tmp = tmp.replace(/&#x00F2/, "ò");}
	// while (tmp.search(/&#x00F3/) >= 0){tmp = tmp.replace(/&#x00F3/, "ó");}
	// while (tmp.search(/&#x00F4/) >= 0){tmp = tmp.replace(/&#x00F4/, "ô");}
	// while (tmp.search(/&#x00F9/) >= 0){tmp = tmp.replace(/&#x00F9/, "ù");}
	// while (tmp.search(/&#x00FA/) >= 0){tmp = tmp.replace(/&#x00FA/, "ú");}
	// while (tmp.search(/&#x00FB/) >= 0){tmp = tmp.replace(/&#x00FB/, "û");}
	// while (tmp.search(/&#x00EC/) >= 0){tmp = tmp.replace(/&#x00EC/, "ì");}
	// while (tmp.search(/&#x00ED/) >= 0){tmp = tmp.replace(/&#x00ED/, "í");}
	// while (tmp.search(/&#x00EE/) >= 0){tmp = tmp.replace(/&#x00EE/, "î");}
	// while (tmp.search(/&#x00EF/) >= 0){tmp = tmp.replace(/&#x00EF/, "ï");}
	// while (tmp.search(/&#x00E7/) >= 0){tmp = tmp.replace(/&#x00E7/, "ç");}

  	return (tmp);
} 


function replace_euro(s)
{
	var item = s;
	item += "";
	item = item.replace(/\€/g, " Euro ");
	return (item);
}
function get_searchterm() 
{
	// var term = document.getElementById("searchterm").value;
	var term = document.getElementById("q").value;
	term = replace_euro(term); 
	return(term);
}

function get_sl() 
{
	var sl = document.getElementById("SL").value; 
	if (sl == 'undefined') {sl = "";}
	return(sl);
}
function get_tl1() 
{
	var tl1 = document.getElementById("TL").value; 
	if (tl1 == 'undefined') {tl1 = "";}
	return(tl1);
}
function check_language_pair ()
{
	var sl_tmp = document.getElementById("SL").value;
	var tl_tmp = document.getElementById("TL").value;
	switch (sl_tmp)
	{
		case "DEU": 
		if (tl_tmp == "ENG") { return("Translate"); }
		if (tl_tmp == "FRA") { return("Translate"); }
		else { return("");}
		break;
	
		case "ENG": 
		if (tl_tmp == "DEU") { return("Translate"); }
		if (tl_tmp == "FRA") { return("Translate"); }
		else { alert ("Sprachpaar nicht geladen !"); return(""); }
		break;
	
		case "FRA": 
		if (tl_tmp == "DEU") { return("Translate"); }
		if (tl_tmp == "ENG") { return("Translate"); }
		else { alert ("Sprachpaar nicht geladen !"); return(""); }
	     	break;
	default:
	}
}
function check_search_term ()
{
	check_language_pair();
	if (document.getElementById("searchterm").value == "") 
	{
		alert("Kein Suchbegriff eingegeben !");
		document.searchterm.focus();
		return false;
	}
	if (document.getElementById("SL").value == "") 
	{
		document.getElementById("SL").value = "DEU";
		alert("Quellsprache = " + "DEU" + " standardmäßig ausgewählt !");
	}
	return true;
}
 

function starte(s,term,sl,tl)
{
	if (s == 13)
	 {
		getExtraktResponseforPsy(searchterm,sl,tl);
	 }
}
function notiere_ling_werte()
{
	document.getElementById("ling_sl").value = ling_sl;
	document.getElementById("ling_sl_a").value = ling_sl_a;
	document.getElementById("ling_sl_ag").value = ling_sl_ag;

	document.getElementById("ling_syn").value = ling_syn;
	document.getElementById("ling_syn_a").value = ling_syn_a;
	document.getElementById("ling_syn_ag").value = ling_syn_ag;

	document.getElementById("ling_wf").value = ling_wf;
	document.getElementById("ling_wf_a").value = ling_wf_a;
	document.getElementById("ling_wf_ag").value = ling_wf_ag;

	document.getElementById("ling_tl1").value = ling_tl1;
	document.getElementById("ling_tl1_a").value = ling_tl1_a;
	document.getElementById("ling_tl1_ag").value = ling_tl1_ag;
}
function get_ling_werte(auswahl)
{
	switch (auswahl)
	{
		case "ling_sl": return (document.getElementById("ling_sl").value); 
		break;
		case "ling_sl_a": return (document.getElementById("ling_sl_a").value); 
		break;
		case "ling_sl_ag": return (document.getElementById("ling_sl_ag").value); 
		break;
		case "ling_syn": return (document.getElementById("ling_syn").value); 
		break;
		case "ling_syn_a": return (document.getElementById("ling_syn_a").value); 
		break;
		case "ling_syn_ag": return (document.getElementById("ling_syn_ag").value); 
		break;
		case "ling_wf": return (document.getElementById("ling_wf").value); 
		break;
		case "ling_wf_a": return (document.getElementById("ling_wf_a").value); 
		break;
		case "ling_wf_ag": return (document.getElementById("ling_wf_ag").value); 
		break;
		case "ling_tl1": return (document.getElementById("ling_tl1").value); 
		break;
		case "ling_tl1_a": return (document.getElementById("ling_tl1_a").value); 
		break;
		case "ling_tl1_ag": return (document.getElementById("ling_tl1_ag").value); 
		break;
	}

}
function GetNumberofORTerms(s)
{
	var tmpArray = 0;
	// ich haenge das an, um das Ende zu finden!
	s = s + ";$$";
  	tmpArray = s.split(';');
	var i;
	for (i = 0;i<50;i++)
	{
		s = tmpArray[i];
		if (s == "$$")
  		{
    			return(i);
  		}	
		if (s == "") // wenn nix da ist
  		{
    			return(i);
  		}
	}
	return(i);
}

function GetNumberofANDTerms(s)
{
	var tmpArray = 0;
	// ich haenge das an, um das Ende zu finden!
	s = s + ", $$";
  	tmpArray = s.split(', ');
	var i;
	for (i = 0;i<50;i++)
	{
		s = tmpArray[i];
		if (s == "$$")
  		{
    			return(i);
  		}	
		if (s == "") // wenn nix da ist
  		{
    			return(i);
  		}
	}
	return(i);
}
function GetNumberofANDTerms_scidok(s)
{
	var tmpArray = 0;
	// ich haenge das an, um das Ende zu finden!
	s = s + ",$$";
  	tmpArray = s.split(',');
	var i;
	for (i = 0;i<50;i++)
	{

		s = tmpArray[i];
		if (s == "$$")
  		{
    			return(i);
  		}	
		if (s == "") // wenn nix da ist
  		{
    			return(i);
  		}
	}
	return(i);
}
function get_this_syn()
{
	var tmp = get_all_syn_values();
	// tmp=wandle_nach_uml(tmp);
	tmp=get_ling_syn_a(tmp);
	tmp=wandle_nach_uml(tmp);
	return(tmp);
}
function get_this_wf()
{
	var tmp = get_all_wf_values();
	// tmp=wandle_nach_uml(tmp);
	tmp=get_ling_wf_a(tmp);
	tmp=wandle_nach_uml(tmp);
	return(tmp);
}
function get_this_tl1()
{
	var tmp = get_all_tl1_values();
	// tmp=wandle_nach_uml(tmp);
	tmp=get_ling_tl1_a(tmp);
	tmp=wandle_nach_uml(tmp);
	return(tmp);
}
function get_all_sl_values()
{
	var tmp = "";
	
	if (ling_sl != "")
	{
		tmp = ling_sl + "&&" + ling_sl_a + "&&" + ling_sl_ag;
	}
	
	return(tmp);
}
function get_all_syn_values(s)
{	
	var tmp = "";
	if (s != "") { ling_syn = s; }
	if (ling_syn != "")
	{
		tmp = ling_syn + "&&" + ling_syn_a + "&&" + ling_syn_ag;
	}
	return(tmp);
}
function get_ling_syn_a(s)
{	
	var tmp = get_all_syn_values(s);
	var tmp_ling_syn_a = get_ling_term_a(tmp);
	return(tmp_ling_syn_a);
}
function get_ling_wf_a(s)
{	
	var tmp = get_all_wf_values(s);
	var tmp_ling_wf_a = get_ling_term_a(tmp);
	return(tmp_ling_wf_a);
}
function get_ling_tl1_a(s)
{	
	var tmp = get_all_tl1_values(s);
	var tmp_ling_tl1_a = get_ling_term_a(tmp);
	return(tmp_ling_tl1_a);
}
function get_all_syn_values(s)
{	
	var tmp = "";
	if (s != "") { ling_syn = s; }
	if (ling_syn != "")
	{
		tmp = ling_syn + "&&" + ling_syn_a + "&&" + ling_syn_ag;
	}
	return(tmp);
}
function get_all_wf_values()
{	
	var tmp = "";
	if (ling_wf != "")
	{
		tmp = ling_wf + "&&" + ling_wf_a + "&&" + ling_wf_ag;
	}
	return(tmp);
}
function get_all_tl1_values()
{	
	var tmp = "";
	if (ling_tl1 != "")
	{
		tmp = ling_tl1 + "&&" + ling_tl1_a + "&&" + ling_tl1_ag;
	}
	return(tmp);
}
function get_ling_term_a(s)
{
	var arrayResult = s.split('&&');
	return(arrayResult[1]);
}

