﻿var searchresult_global = new Array();
var lastSearchresult = "";


function search()
{
	var searchresult = new Array();
	var searchstring = Trim(document.formSearch.fieldSearchstring.value);
	var source = document.formSearch.source.value

	document.getElementById("searchresult").innerHTML = "<br />"

	if(searchstring != "")
	{
		searchstring = searchstring.toLowerCase();
		if(searchstring == "tk")
		{
			searchstring = "techniker krankenkasse"
		}
		if(searchstring.length > 2)
		{
			searchstring = searchstring.replace("&", "&amp;");
			for(var i = 1; i < Krankenkassen.length; i++)
			{
  			//if(Krankenkassen[i]["Suchbegriff"].lastIndexOf(searchstring) > -1)
  			if(Krankenkassen[i]["Suchbegriff"].toLowerCase().lastIndexOf(searchstring) > -1)
  			{
					searchresult.push(i);
  			}
			}
			if(searchresult.length == 0)
			{
				document.getElementById("searchresult").innerHTML = "Zu Ihrer Eingabe '" + document.formSearch.fieldSearchstring.value + "' konnte keine Krankenkasse gefunden werden.";
			}
			else
			{
				if(source == "table")
				{
					searchresult_global = searchresult;
				}
				if(searchresult.length == 1)
				{
					if(source == "table")
					{
						hide(0);
					}
					else
					{
						markLine(Krankenkassen[searchresult[0]]["Sprungmarke"]);
						lastSearchresult = Krankenkassen[searchresult[0]]["Sprungmarke"];
						window.location.href = window.location.href.substr(0, window.location.href.lastIndexOf(".htm") + 4) + "#" + Krankenkassen[searchresult[0]]["Sprungmarke"];
					}
				}
				else
				{
					var feedback = "Ihre Suche nach '" + document.formSearch.fieldSearchstring.value + "' ergab " + searchresult.length + " Treffer. Bitte wählen Sie aus: ";
					for(var i = 0; i < searchresult.length; i++)
					{
						//feedback = feedback + '<a href="' + window.location.href.substr(0, window.location.href.lastIndexOf(".htm") + 4) + "#" + Krankenkassen[searchresult[i]]["Sprungmarke"] + '">' + Krankenkassen[searchresult[i]]["Anzeigename"].replace(searchstring, "<span style=\'background-color: red;\'>" + searchstring + "</span>") + '</a>';
						if(source == "table")
						{
							feedback = feedback + '<a href="javascript:hide(' + i + ');">' + Krankenkassen[searchresult[i]]["Anzeigename"] + '</a>';
						}
						else
						{
							feedback = feedback + '<a href="' + window.location.href.substr(0, window.location.href.lastIndexOf(".htm") + 4) + "#" + Krankenkassen[searchresult[i]]["Sprungmarke"] + '" onclick="markLine(\'' + Krankenkassen[searchresult[i]]["Sprungmarke"] + '\'); lastSearchresult = \'' + Krankenkassen[searchresult[i]]["Sprungmarke"] + '\'">' + Krankenkassen[searchresult[i]]["Anzeigename"] + '</a>';
						}
						if(i < searchresult.length - 1)
						{
							feedback = feedback + ', ';
						}
					}
					document.getElementById("searchresult").innerHTML = feedback;
				}
			}
		}
		else
		{
			document.getElementById("searchresult").innerHTML = "Bitte geben Sie mindestens 3 Zeichen ein!";
		}
	}
}


function hide(pointer)
{
	//if(browser("opera"))
	//if(browser("safari"))
	//if(browser("firefox"))
	//if(browser("chrome"))
	if(browser("firefox") || browser("MSIE"))
	{
		if(browser("firefox"))
		{
			document.getElementById("gesetzliche").style.visibility = "collapse";
			document.getElementById("Ersatzkassen").style.visibility = "collapse";
			document.getElementById("AOKen").style.visibility = "collapse";
			document.getElementById("Innungskrankenkassen").style.visibility = "collapse";
			document.getElementById("BKK").style.visibility = "collapse";
			document.getElementById("weitere").style.visibility = "collapse";
			document.getElementById("private").style.visibility = "collapse";
		}
		else
		{
			document.getElementById("gesetzliche").style.display = "none";
			document.getElementById("Ersatzkassen").style.display = "none";
			document.getElementById("AOKen").style.display = "none";
			document.getElementById("Innungskrankenkassen").style.display = "none";
			document.getElementById("BKK").style.display = "none";
			document.getElementById("weitere").style.display = "none";
			document.getElementById("private").style.display = "none";
		}

		for(var i = 1; i < Krankenkassen.length; i++)
		{
			if(i == searchresult_global[pointer])
			{
				lastSearchresult = i;
				if(browser("firefox"))
				{
					document.getElementById(i).style.visibility = "visible";
				}
				else
				{
					document.getElementById(i).style.display = "block";
				}
			}
			else
			{
				if(browser("firefox"))
				{
					document.getElementById(i).style.visibility = "collapse";
				}
				else
				{
					document.getElementById(i).style.display = "none";
				}
			}
		}
	}
	else
	{
		window.location.href = window.location.href.substr(0, window.location.href.lastIndexOf(".htm") + 4) + "#" + Krankenkassen[searchresult_global[0]]["Sprungmarke"];
	}

}


function markLine(krankenkasse)
{
	var sprunkmarke = "";

	if(krankenkasse != "")
	{
		sprunkmarke = krankenkasse;
	}
	else
	{
		if(window.location.hash != "" && window.location.hash != undefined && window.location.hash != null)
		{
			sprunkmarke = window.location.hash.substr(1);
		}
	}

	if(sprunkmarke != "")
	{
		if(lastSearchresult != "")
		{
			document.getElementById(lastSearchresult).style.backgroundColor = "transparent";
			document.getElementById(lastSearchresult).style.border = "none";
			document.getElementById(lastSearchresult).style.padding = "0px";
		}

		document.getElementById(sprunkmarke).style.backgroundColor = "#FFF7B2";
		document.getElementById(sprunkmarke).style.border = "solid 1px black";
		document.getElementById(sprunkmarke).style.padding = "3px";
	}
}


function browser(name)
{
	var agent = navigator.userAgent.toLowerCase();
	if(agent.indexOf(name.toLowerCase()) > -1)
	{
		return true;
	}
	return false;
}

