var gStoreIDs = gStoreIDs_de;
var gZips = gZips_de;

function resetGraphics() {
  // alle Store-Grafiken auf den normalen (nicht hervorgehobenen)
  // Zustand zuruecksetzen
  $("[id^=norm_meg_]").css("visibility","visible");
  $("[id^=sel_meg_]").css("visibility","hidden");	
}

function resetStoreInfos() {
  // alle Texte mit Shop-Informationen ausblenden
  $("[id^=store_descr_]").css("display","none");	
}

function showStoreInfoImg(aStoreNum) {
  // Info (Bild) ueber der Grafik des Stores anzeigen
  $("#store_descr_"+aStoreNum).css("visibility","visible");	
}

function hideStoreInfoImg() {
  // Info (Bild) ueber den Grafiken aller Stores ausblenden
  $("[id^=store_descr_]").css("visibility","hidden");	  
}

function switchLists(aCountry) {
  if (aCountry=="de") {
    gStoreIDs = gStoreIDs_de;
    gZips = gZips_de;  
  }
  if (aCountry=="at") {
    gStoreIDs = gStoreIDs_at;
    gZips = gZips_at;    
  }
}

function getMatchLen(aSubString,aString) {
  // liefert die Zahl der Zeichen in denen aSubString mit aString übereinstimmt
  var result=0;
  
  // zu durchsuchende Länge ermitteln:
  var slen=aSubString.length;
  if (aString.length<slen) {
    slen=aString.length;
  }

  // zeichenweise vergleichen:
  for (var i=0; i<slen; ++i) {
    if (aSubString[i]!=aString[i]) break;
	result++;
  }  

  return result;
}

function searchClick() {
  // Auslesen des Wertes:
  var searchVal=document.searchform_filiale.searchtext.value;
  // auf minimale Länge prüfen:
  var cMinLen=3;
  if (searchVal.length<cMinLen) {
    alert("Bitte geben Sie mindestens "+cMinLen+" Zeichen ein.");
	return false;
  }
  
  // Grafiken zurücksetzen
  resetGraphics();
  
  // Store-BEschreibungen zurücksetzen
  resetStoreInfos();
  
  // besten Treffer in der aktuellen Liste suchen:
  var bestMatchLen=0;
  var bestMatchStore="";

  for (var i=0; i<gZips.length; ++i) {
    var matchLen=getMatchLen(searchVal,gZips[i]);
	if (matchLen>bestMatchLen) {
      bestMatchLen=matchLen;
	  bestMatchStore=gStoreIDs[i];
	}
  }
  // alert("bestMatchStore: "+bestMatchStore);
  // Ergebnis anzeigen:
  if (bestMatchStore!="") {
	// Grafik des Suchtreffers umschalten:
    $("#norm_meg_"+bestMatchStore).css("visibility","hidden");
    $("#sel_meg_"+bestMatchStore).css("visibility","visible");	
	
	// Info des Suchtreffers einblenden:
	$("#store_descr_"+bestMatchStore).css("display","");	
  }
  else {
    $("#store_descr_unknown").css("display","");	
  }
  
  return false;
}

