//------------------------------------------------------------
// JavaScript-Datei: internetsuche.js
//------------------------------------------------------------
// Autor:   Johannes Mueller
// Kontakt: www.johannes-mueller.net
//
// last modified: 09.06.2005
//------------------------------------------------------------


function Aktualisieren()
{
	switch (document.F.Suchdienst.options.selectedIndex)
	{
	    case 0:
		document.Logo.src = AltavistaLogo.src;
		UTF8		= true;

		dienstURL	= "http://de.altavista.com/";
		hilfeURL	= "http://de.altavista.com/help/search/default";
		sucheWebURL	= "http://de.altavista.com/web/results?kgs=0&kls=0&q=";
		sucheImgURL	= "http://de.altavista.com/image/results?mik=photo&mik=graphic&mip=all&mis=all&miwxh=all&q=";
					// kgs=0  weltweit suchen
					// kls=0  Resultate in allen Sprachen anzeigen
					// q=...  Suchstring
		break;

	    case 1:
		document.Logo.src = FireballLogo.src;
		UTF8		= false;

		dienstURL	= "http://www.fireball.de/";
		hilfeURL	= "http://www.fireball.de/hilfe/";
		sucheWebURL	= "http://suche.fireball.de/cgi-bin/pursuit?cat=fb_web&enc=utf-8&query=";
		sucheImgURL	= "http://suche.fireball.de/cgi-bin/pursuit?cat=fb_image&enc=utf-8&query=";
					// what=web  weltweit suchen
					// query=...     Suchstring
		break;

	    case 2:
		document.Logo.src = GoogleLogo.src;
		UTF8		= true;

		dienstURL	= "http://www.google.de/";
		hilfeURL	= "http://www.google.de/help/basics.html";
		sucheWebURL	= "http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&btnG=Google-Suche&q=";
		sucheImgURL	= "http://images.google.de/images?hl=de&btnG=Google-Suche&q=";
					// hl=de  Anzeigesprache Deutsch
					// q=...  Suchstring
		break;

	    case 3:
		document.Logo.src = LycosLogo.src;
		UTF8		= false;

		dienstURL	= "http://suche.lycos.de/";
		hilfeURL	= "http://www.lycos.de/startseite/hilfe/ergebnis.html?product=5";
		sucheWebURL	= "http://suche.lycos.de/cgi-bin/pursuit?cat=web&query=";
		sucheImgURL	= "http://suche.lycos.de/cgi-bin/pursuit?cat=image&query=";
					// query=...  Suchstring
		break;

	    case 4:
		document.Logo.src = MSNLogo.src;
		UTF8		= true;

		dienstURL	= "http://search.msn.de/";
		hilfeURL	= "http://search.msn.de/docs/default.aspx?FORM=HLRE";
		sucheWebURL	= "http://search.msn.de/results.aspx?FORM=QBHP&q=";
		sucheImgURL	= "http://search.msn.de/images/results.aspx?FORM=QBIR2&q=";
					// q=...  Suchstring
		break;

	    case 5:
		document.Logo.src = YahooLogo.src;
		UTF8		= false;

		dienstURL	= "http://de.yahoo.com/";
		hilfeURL	= "http://eur.help.yahoo.com/help/de/ysearch/basics/basics-04.html";
		sucheWebURL	= "http://de.search.yahoo.com/search?fr=fp-tab-web-t-1&ei=ISO-8859-1&meta=0&p=";
		sucheImgURL	= "http://de.search.yahoo.com/search/images?fr=FP-tab-img-t&ei=ISO-8859-1&p=";
					// p=...  Suchstring
		break;
	}
}


function Suchen()
{
	var s = document.F.Suchbegriff.value;

	if ((s == "") || (s == defaultanzeige))
		alert ("Bitte gebe zur Suche einen Suchbegriff ein.");
	else if (s.length == 1)
		alert ( "Der Suchbegriff sollte für sinnvolle\n" +
			"Ergebnisse länger als ein Zeichen sein.");
	else
	{
		// --- Suchstring fuer korrekte URL aufbereiten ---

		s = s.replace(/%/g,	"%25");  // zuerst % wandeln

		s = s.replace(/\!/g,	"%21");
		s = s.replace(/\"/g,	"%22");
		s = s.replace(/\#/g,	"%23");
		s = s.replace(/\$/g,	"%24");
		s = s.replace(/\&/g,	"%26");
		s = s.replace(/\'/g,	"%27");
		s = s.replace(/\(/g,	"%28");
		s = s.replace(/\)/g,	"%29");
		s = s.replace(/\*/g,	"%2A");
		s = s.replace(/\+/g,	"%2B");
		s = s.replace(/\,/g,	"%2C");
	    //	s = s.replace(/\-/g,	"%2D");
	    //	s = s.replace(/./g,	"%2E");
		s = s.replace(/\//g,	"%2F");
		
		s = s.replace(/\:/g,	"%3A");
		s = s.replace(/\;/g,	"%3B");
		s = s.replace(/\</g,	"%3C");
		s = s.replace(/\=/g,	"%3D");
		s = s.replace(/\>/g,	"%3E");
		s = s.replace(/\?/g,	"%3F");
		s = s.replace(/\@/g,	"%3G");

		s = s.replace(/\[/g,	"%5B");
		s = s.replace(/\\/g,	"%5C");
		s = s.replace(/\]/g,	"%5D");
		s = s.replace(/\^/g,	"%5E");
		s = s.replace(/\_/g,	"%5F");
		s = s.replace(/\`/g,	"%60");
		s = s.replace(/\{/g,	"%7B");
		s = s.replace(/\|/g, 	"%7C");
		s = s.replace(/\}/g,	"%7D");
		s = s.replace(/\~/g,	"%7E");

		s = s.replace(/£/g,	(UTF8 ? "%C2%A3" : "%A3") );
		s = s.replace(/§/g,	(UTF8 ? "%C2%A7" : "%A7") );
		s = s.replace(/Ä/g,	(UTF8 ? "%C3%84" : "%C4") );
		s = s.replace(/É/g,	(UTF8 ? "%C3%89" : "%C9") );
		s = s.replace(/Ö/g,	(UTF8 ? "%C3%96" : "%D6") );
		s = s.replace(/Ü/g,	(UTF8 ? "%C3%9C" : "%DC") );
		s = s.replace(/ß/g,	(UTF8 ? "%C3%9F" : "%DF") );

		s = s.replace(/à/g,	(UTF8 ? "%C3%A0" : "%E0") );
		s = s.replace(/á/g,	(UTF8 ? "%C3%A1" : "%E1") );
		s = s.replace(/â/g,	(UTF8 ? "%C3%A2" : "%E2") );
		s = s.replace(/ã/g,	(UTF8 ? "%C3%A3" : "%E3") );
		s = s.replace(/ä/g,	(UTF8 ? "%C3%A4" : "%E4") );
		s = s.replace(/å/g,	(UTF8 ? "%C3%A5" : "%E5") );
		s = s.replace(/æ/g,	(UTF8 ? "%C3%A6" : "%E6") );
		s = s.replace(/ç/g,	(UTF8 ? "%C3%A7" : "%E7") );
		s = s.replace(/è/g,	(UTF8 ? "%C3%A8" : "%E8") );
		s = s.replace(/é/g,	(UTF8 ? "%C3%A9" : "%E9") );
		s = s.replace(/ê/g,	(UTF8 ? "%C3%AA" : "%EA") );
		s = s.replace(/ì/g,	(UTF8 ? "%C3%AC" : "%EC") );
		s = s.replace(/í/g,	(UTF8 ? "%C3%AD" : "%ED") );
		s = s.replace(/î/g,	(UTF8 ? "%C3%AE" : "%EE") );
		s = s.replace(/ï/g,	(UTF8 ? "%C3%AF" : "%EF") );
		s = s.replace(/ñ/g,	(UTF8 ? "%C3%B1" : "%F1") );
		s = s.replace(/ò/g,	(UTF8 ? "%C3%B2" : "%F2") );
		s = s.replace(/ó/g,	(UTF8 ? "%C3%B3" : "%F3") );
		s = s.replace(/ô/g,	(UTF8 ? "%C3%B4" : "%F4") );
		s = s.replace(/õ/g,	(UTF8 ? "%C3%B5" : "%F5") );
		s = s.replace(/ö/g,	(UTF8 ? "%C3%B6" : "%F6") );
		s = s.replace(/ø/g,	(UTF8 ? "%C3%B8" : "%F8") );
		s = s.replace(/ù/g,	(UTF8 ? "%C3%B9" : "%F9") );
		s = s.replace(/ú/g,	(UTF8 ? "%C3%BA" : "%FA") );
		s = s.replace(/û/g,	(UTF8 ? "%C3%BB" : "%FB") );
		s = s.replace(/ü/g,	(UTF8 ? "%C3%BC" : "%FC") );
		s = s.replace(/ý/g,	(UTF8 ? "%C3%BD" : "%FD") );
		s = s.replace(/ÿ/g,	(UTF8 ? "%C3%BF" : "%FF") );

		s = s.replace(/€/g,	(UTF8 ? "%E2%82%AC" : "%80") );	// Euro-Symbol

		s = s.replace(/ /g,	"+");

		if (document.F.Suchkontext.value == "web")
			window.open(sucheWebURL + s, "_blank");
		else if (document.F.Suchkontext.value == "img")
			window.open(sucheImgURL + s, "_blank");
	}
}


function Hilfe()
{
	window.open(hilfeURL, "_blank", hilfefensterangaben);
}


function DienstAnzeigen()
{
	window.open(dienstURL, "_blank", dienstfensterangaben);
}


function SuchfeldAktivieren()
{
	if (document.F.Suchbegriff.value == defaultanzeige)
		document.F.Suchbegriff.value = "";
}


function SuchfeldDeaktivieren()
{
	if (document.F.Suchbegriff.value == "")
		document.F.Suchbegriff.value = defaultanzeige;
}


// ----- Globale Variablen -----
var dienstURL, sucheWebURL, sucheImgURL, hilfeURL, UTF8;

var defaultanzeige       = "Suchbegriff eingeben";
var hilfefensterangaben  = "width=800,height=550,left=0,top=0,resizable=yes,scrollbars=yes," +
			   "menubar=no,toolbar=no,location=no,status=no";
var dienstfensterangaben = "width=800,height=550,left=0,top=0,resizable=yes,scrollbars=yes," +
			   "menubar=yes,toolbar=no,location=yes,status=yes";

var AltavistaLogo = new Image();
var FireballLogo  = new Image();
var GoogleLogo    = new Image();
var LycosLogo     = new Image();
var MSNLogo       = new Image();
var YahooLogo     = new Image();

AltavistaLogo.src = "bild/logo-altavista.gif";
FireballLogo.src  = "bild/logo-fireball.gif";
GoogleLogo.src    = "bild/logo-google.gif";
LycosLogo.src     = "bild/logo-lycos.gif";
MSNLogo.src       = "bild/logo-msn.gif";
YahooLogo.src     = "bild/logo-yahoo.gif";