
function suche( begriff ){
  closedetails();
  $("suchbegriff").value = begriff;
  $("firmenliste").innerHTML = "<div>Suche l&auml;uft, bitte warten ...</div>";
  $("lagerliste").innerHTML = "<div>Suche l&auml;uft, bitte warten ...</div>";

  clearTimeout( suchtimeout );
  begriff = begriff.replace(/'/,"");
  suchtimeout = setTimeout("suche_firma('"+begriff+"');suche_lager('"+begriff+"');",100);
  if(!resultson) toggle_results($("ergebnisse_h").firstChild);
}

function suche_create_div( href, text, highlight ){
	var nd = document.createElement("div");
	var lnk = document.createElement("a");
	lnk.href=href;
	lnk.appendChild(document.createTextNode(text));
	if( highlight ){
		nd.style.backgroundColor="#eee";
	}
	nd.appendChild(lnk);
	return nd;
}

function suche_firma( begriff ){
  var lbegriff = begriff.toLowerCase();
  removeAllChildren($("firmenliste"));
  j_genau = 0; j_ungenau = 0 ; n= 0;
  var firmenliste_genau = Array();
  var firmenliste_ungenau = Array();
  for( i in fs ){
    if( f[fs[i]].toLowerCase().indexOf(lbegriff) == 0 || 
		(lbegriff.length > 2 && f[fs[i]].toLowerCase().indexOf(" "+lbegriff) > -1 ) ){
		firmenliste_genau[firmenliste_genau.length] = suche_create_div( "javascript:zeigefirma("+fs[i]+")",f[fs[i]],j_genau );
		j_genau = 1 - j_genau; n++;
    } else if( begriff.length > 2 && f[fs[i]].toLowerCase().indexOf(lbegriff) > -1 ) {
		firmenliste_ungenau[firmenliste_ungenau.length] = suche_create_div( "javascript:zeigefirma("+fs[i]+")",f[fs[i]],j_ungenau );
		j_ungenau = 1 - j_ungenau; n++;
    }
  }
  $("firmencnt").innerHTML = n+" ";
  if( begriff ){
	 if( firmenliste_genau.length>0 ){
		if( firmenliste_ungenau.length>0 ){
			var nd = document.createElement("div");
			nd.innerHTML = "<i style=\"font-weight:bold\">Genaue Treffer:</i>";
			$("firmenliste").appendChild(nd);
		}
		for( i in firmenliste_genau )
			$("firmenliste").appendChild(firmenliste_genau[i]);
	 }
	 if( firmenliste_ungenau.length>0 ){
		var nd = document.createElement("div");
		nd.innerHTML = "<i style=\"font-weight:bold\">Ungefähre Treffer:</i>";
		$("firmenliste").appendChild(nd);
		for( i in firmenliste_ungenau )
			$("firmenliste").appendChild(firmenliste_ungenau[i]);
	 }
    $("firmenexpl").firstChild.nodeValue = "zu „"+begriff+"“";
  }
  else{
    $("firmenexpl").firstChild.nodeValue = " ";
	 for( i in firmenliste_genau )
		$("firmenliste").appendChild(firmenliste_genau[i]);
  }
}

function suche_lager( begriff ){
  var lbegriff = begriff.toLowerCase();
  removeAllChildren($("lagerliste"));
  j_genau = 0; j_ungenau = 0 ; n= 0;
  var lagerliste_genau = Array();
  var lagerliste_ungenau = Array();

  for( i in ls ){
    if( l[ls[i]][0].toLowerCase().indexOf(lbegriff) == 0 || 
		 (lbegriff.length > 2 && l[ls[i]][0].toLowerCase().indexOf(" "+lbegriff) > -1 ) ){
		lagerliste_genau[lagerliste_genau.length] = suche_create_div( "javascript:lagerlink("+ls[i]+")",l[ls[i]][0],j_genau );
		j_genau = 1 - j_genau; n++;
    } else if( begriff.length > 2 && 
			(l[ls[i]][0].toLowerCase().indexOf(lbegriff) > -1 || l[ls[i]][2].toLowerCase().indexOf(lbegriff) > -1 ) ){
		lagerliste_ungenau[lagerliste_ungenau.length] = suche_create_div( "javascript:lagerlink("+ls[i]+")",l[ls[i]][0],j_ungenau ); 
		j_ungenau = 1 - j_ungenau; n++;
    }
  }

  $("lagercnt").innerHTML = n+" ";

  if( begriff ){
	 if( lagerliste_genau.length>0 ){
		if( lagerliste_ungenau.length>0 ){
			var nd = document.createElement("div");
			nd.innerHTML = "<i style=\"font-weight:bold\">Genaue Treffer:</i>";
			$("lagerliste").appendChild(nd);
		}
		for( i in lagerliste_genau )
			$("lagerliste").appendChild(lagerliste_genau[i]);
	 }
	 if( lagerliste_ungenau.length>0 ){
		var nd = document.createElement("div");
		nd.innerHTML = "<i style=\"font-weight:bold\">Ungefähre Treffer:</i>";
		$("lagerliste").appendChild(nd);
		for( i in lagerliste_ungenau )
			$("lagerliste").appendChild(lagerliste_ungenau[i]);
	 }
    $("lagerexpl").firstChild.nodeValue = "zu „"+begriff+"“";
  }
  else{
    $("lagerexpl").firstChild.nodeValue = " ";
	 for( i in lagerliste_genau )
		$("lagerliste").appendChild(lagerliste_genau[i]);
  }
}

function closedetails(){
  $("lagerdetails").style.left="-5000px";
  detailakt = 0;
  $("mapimages").style.display="block";
  if( akthigh ) akthigh.style.display="none";
  $("zacke").style.display="none";
}

function zeigefirma( nr ){
  closedetails();
  removeAllChildren($("lagerliste"));
  j = 0; n= 0;
  for( i in fl[nr] ){
    nd = document.createElement("div");
    lnk = document.createElement("a");
    lnk.href="javascript:lagerlink("+fl[nr][i]+");";
    lnk.appendChild(document.createTextNode(l[fl[nr][i]][0]));
    nd.appendChild(lnk);
    if( j == 1 ){
      nd.style.backgroundColor="#eee";
    }
    $("lagerliste").appendChild(nd);
    j = 1 - j; n++;
  }
  if( n == 0 ){
    $("lagercnt").innerHTML = "Kein";
    $("lagerliste").innerHTML = "<div><em>Der Betrieb hat nachweislich Zwangsarbeiter beschäftigt. Die genauen Lagerstandorte sind jedoch unbekannt.</em></div>";
  } else {
    $("lagercnt").innerHTML = n;
  }
  $("lagerexpl").firstChild.nodeValue = "von „"+f[nr]+"“";
}

function lagerlink( nr ){
  zeigelager( nr );
  fahrzulager( nr );
}

function zeigelager( nr ){
  $("lagerdetails_h").childNodes.item(1).nodeValue=l[nr][0];
  if( l[nr][2] ){
    $("lagerdetails_typ").style.display="block";
    $("lagerdetails_typ").innerHTML=l[nr][2];
  } else {
    $("lagerdetails_typ").style.display="none";
  }
  if( lf[nr] ){
    var frm = "";
    for( i in lf[nr] ){
      frm += f[lf[nr][i]]+"<br />";
    }
    $("ldfirmen").style.display="block";
    $("ldfirmen_h").style.display="block";
    $("ldfirmen").innerHTML = frm;
  }
  else{
    $("ldfirmen").style.display="none";
    $("ldfirmen_h").style.display="none";
  }
  if( l[nr][4] ){
    $("ldweiteres").style.display="block";
    $("ldweiteres_h").style.display="block";
    $("ldweiteres").firstChild.nodeValue = l[nr][4]; }
  else{
    $("ldweiteres").style.display="none";
    $("ldweiteres_h").style.display="none";
  }
  if( l[nr][3] ){
    $("ldzeit").style.display="block";
    $("ldzeit_h").style.display="block";
    $("ldzeit").firstChild.nodeValue = l[nr][3];
  }
  else{
    $("ldzeit").style.display="none";
    $("ldzeit_h").style.display="none";
  }
  if( l[nr][5] ){
    $("ldquellen").style.display="block";
    $("ldquellen_h").style.display="block";
    $("ldquellen").firstChild.nodeValue = l[nr][5];
  }
  else{
    $("ldquellen").style.display="none";
    $("ldquellen_h").style.display="none";
  }
  $("lagerdetails_p").style.height = ""
      +(($("lagerdetails").clientHeight
        -$("lagerdetails_typ").offsetHeight
        -$("lagerdetails_h").offsetHeight))+"px";
  detailakt = 1;
}


function hilfe(){
  wirbetrachtendieweissewand = 1;
  $("weissewand").innerHTML = $("hilfe").innerHTML;
  $("weissewand").style.display="block";
  $("help").childNodes.item(0).className ="";
  $("help").childNodes.item(1).className ="akt";
  $("help").childNodes.item(2).className ="";
}

function impressum(){
  wirbetrachtendieweissewand = 1;
  $("weissewand").innerHTML = $("impressum").innerHTML;
  $("weissewand").style.display="block";
  $("help").childNodes.item(0).className ="";
  $("help").childNodes.item(1).className ="";
  $("help").childNodes.item(2).className ="akt";
}

function start(){
  wirbetrachtendieweissewand = 0;
  $("weissewand").style.display="none";
  $("help").childNodes.item(0).className ="akt";
  $("help").childNodes.item(1).className = "";
  $("help").childNodes.item(2).className ="";
}

function toggle_img( s, ison ){
  if( ison ){
    s.firstChild.src="data/pfeilus.gif"; 
  }
  else{
    s.firstChild.src="data/pfeilrs.gif"; 
  }
}

function toggle_qbox( s ){
  qboxon = 1 - qboxon;
  toggle_img( s, qboxon ); 
  $("qbox").style.display=qboxon?"block":"none";
}

function toggle_zoom( s ){
  zoomon = 1 - zoomon;
  toggle_img( s, zoomon ); 
  $("zoom").style.display=zoomon?"block":"none";
}

function toggle_legend( s ){
  legendon = 1 - legendon;
  toggle_img( s, legendon ); 
  $("legend").style.display=legendon?"block":"none";
}

function toggle_results( s ){
  resultson = 1 - resultson;
  toggle_img( s, resultson );
  if(!resultson){
	$("firmenliste_h").style.display="none";
	$("firmenliste").style.display="none";
	$("lagerliste_h").style.display="none";
	$("lagerliste").style.display="none";
  } else {
	$("firmenliste_h").style.display="block";
	$("firmenliste").style.display="block";
	$("lagerliste_h").style.display="block";
	$("lagerliste").style.display="block";
	$('lagerliste').style.height = (winheight-findPos($('lagerliste'))[1]-$('footer').clientHeight) + "px";
  }
}

function mover( s ){
  var src = s.firstChild.src.substr(s.firstChild.src.lastIndexOf("/")+1);
  if( src.indexOf("a_") == -1 ) s.firstChild.src = "data/a_"+src;
}

function mout( s ){
  var src = s.firstChild.src.substr(s.firstChild.src.lastIndexOf("/")+1);
  if( src.indexOf("a_") == 0 ) s.firstChild.src = "data/"+src.substr(2);
}

