//JE teilweise kopiert aus shop/addartikel.ascx

ns4 = (document.layers)? true:false

function displayDetail(id){
//document.all[id].style.display="inline";
document.getElementById(id).style.display="inline";
}//displayDetail
function nodisplayDetail(id){
//document.all[id].style.display="none";
document.getElementById(id).style.display="none";
}//nodisplayDetail
function show(id) {
	if(ns4) document.layers[id].visibility = "show";
	else document.getElementById(id).style.visibility = "visible";
}//show
function hide(id) {
	if(ns4) document.layers[id].visibility = "hide";
	else document.getElementById(id).style.visibility = "hidden";
}//hide



function checkSession(close)
{
  var ret = true;
  try {
    ret = P2Service.get("ADNshop").ADNcheckSession();
  } catch (e) {
    ret = false;
  } // try  
  return ret;
}//checkSession

function insertBasketPos(aktuGuID,artikel, menge, cfg, isart) 
{
//diese fkt wird nur aus shopping.js aufgerufen
  var ret = true;
  var posid;
  var goBack,pickObj,sUrl,id;
  var stat;

  if(!checkSession()) return;

  try {
    //stat = P2Service.get("shop").getBskSatus();
    stat = P2Service.get("ADNshop").getBskSatus();
    if(stat != "2" && stat != "3"){
    alert('stat ' + stat);
      P2Service.get("ADNshop").ADNactiveBasket(aktuGuID);
      stat = P2Service.get("ADNshop").getBskSatus();
      alert('stat2 ' + stat);
      }
    if(stat == "2" || stat == "3")
    {
      //posid = P2Service.get("shop").insertBasketPos(artikel, menge, isart); // id
      var mydebug = false;
      if(artikel == "3203190003")
      {
        mydebug = true;
      }
      posid = P2Service.get("ADNshop").insertBasketPos(aktuGuID,artikel, menge, isart); // id
      if(!posid) {
      	alert('Artikel nicht gefunden!');
        ret = false;
      } // if
      if(typeof(posid) == "string" && mydebug)
      {
        alert(aktuGuID);
        alert(posid);
      }
    } else {
      alert('Warenkorb gesperrt!');
      ret = false;
    } // if
  } catch (e) {
    ret = false;
    askException(e);
  } // try
  // DEBUG: alert("ID: " + posid + ";CFG: " + cfg);
  if(posid && cfg != "0" && cfg != null) {
    openConfig(posid);
  } // if
  return ret;
}//insertBasketPos


function Bildwechsel(BildName,Bildobjekt) {
  window.document.getElementById(BildName).src = Bildobjekt.src;
}//Bildwechsel

function showHotelAnAbreise(anreiseDiv,hotel) {
  //alert(document.getElementById('hotel').value);
  if(document.getElementById(hotel).value == 'kein Hotel'){
  nodisplayDetail(anreiseDiv);
  }
  else{
    displayDetail(anreiseDiv);
    }
}//showHotelAnAbreise

function ausEinKlappen(KlassifNr){
  var arrayanzeige = "";
  var BildName = KlassifNr.replace(/wert/,"img");
	var bildPfad = document.getElementById(BildName).src;
	var bildPfad2 = bildPfad;
	//bildchen wechseln (obere Ebene):
	if(bildPfad.lastIndexOf("plusRot.gif") == "-1"){//es ist kein "plusRot.gif" in der anzeige, also ein minusRot.gif //obere Ebene
	  if(bildPfad.lastIndexOf("plusNOHATKIND.gif") == "-1"){//kein Bildwechsel wenn punkte (het keine kind)
	    Bildwechsel(BildName,plus);
	  }
	} else {
	  Bildwechsel(BildName,minu);
	}
	//bildchen ein oder ausblenden:
	//alert(bildPfad.lastIndexOf("plusRot.gif"));
	for(var i = 0; i < imgNameSpeicher2.length ; i++){
	  var diesImage = KlassifNr;	
	  if(imgNameSpeicher2[i][0].slice(0,diesImage.length) == diesImage){//richtiger mother-Knoten
	  
	    if(imgNameSpeicher2[i][0].length == (diesImage.length + 2))//nur direkte unterebene
	    {
  	    if(bildPfad.lastIndexOf("plusRot.gif") == "-1"){//es ist kein "plusRot.gif" in der anzeige, also ein minusRot.gif//untermenu ausblenden
  	        document.getElementById(imgNameSpeicher2[i][0]).style.display = 'none';
  	      } else {
  	        document.getElementById(imgNameSpeicher2[i][0]).style.display = 'inline';
  	      }
	    }
	    //beim einklappen auch die unter-untermenues einklappen
	    if(bildPfad2.lastIndexOf("plusRot.gif") == "-1"){//es ist kein "plusRot.gif" in der anzeige, also ein minusRot.gif//untermenu ausblenden
	      if(imgNameSpeicher2[i][0].length > KlassifNr.length){//nur Unterknoten
	      //if(imgNameSpeicher2[i][0] == "wert01070201"){alert('wert01070201' + 'aaa' + imgNameSpeicher2[i][0].length);}
	      //if(imgNameSpeicher2[i][0] == "wert010702"){alert(KlassifNr + ' ' + KlassifNr.length);}
	        if(imgNameSpeicher2[i][0].slice(0,KlassifNr.length) == KlassifNr){//nur Unterknoten mit der richtigen mom
	          document.getElementById(imgNameSpeicher2[i][0]).style.display = 'none';
            //bild auf plus stellen (wenn kids vorhanden)
            var BildName = imgNameSpeicher2[i][0].replace(/wert/,"img");
	          var bildPfad = document.getElementById(BildName).src;
	          if(bildPfad.lastIndexOf("plusNOHATKIND.gif") == "-1"){
	            Bildwechsel(BildName,plus);
	          }
	          // /bild auf plus stellen
	        }
	      }
	    }
	    // /beim einklappen auch die unter-untermenues einklappen
	  }
	}//for
}//ausEinKlappen

function AllesAusklappen(){
  for(var i = 0; i < imgNameSpeicher2.length ; i++){
    document.getElementById(imgNameSpeicher2[i][0]).style.display = 'inline';
    var BildName = imgNameSpeicher2[i][0].replace(/wert/,"img");
    if(imgNameSpeicher2[i][1] == "1"){
      window.document.getElementById(BildName).src = minu.src;
    }
    else{
      window.document.getElementById(BildName).src = pukt.src;
    }
  }//for i
}//AllesAusklappen

//schaltet parallele Ebenen sichtbar
function GeschwisterSichtbarSchalten(KlassifNr){
  if(KlassifNr.length > 2){//damit kein error
    //var mom = KlassifNr.substring(0,KlassifNr.length-2)
    for(var i = 0; i < imgNameSpeicher2.length; i++){
      var anzKlassif = imgNameSpeicher2[i][0].replace(/wert/,"");
      if((anzKlassif.length == KlassifNr.length) && ((anzKlassif.substring(0,anzKlassif.length-2)) == (KlassifNr.substring(0,KlassifNr.length-2)))){//dies sind nur die Geschwister
        var diesImage = KlassifNr;	
          document.getElementById(imgNameSpeicher2[i][0]).style.display = 'inline';
          var BildName = imgNameSpeicher2[i][0].replace(/wert/,"img");
          if(imgNameSpeicher2[i][1] == "1"){
            window.document.getElementById(BildName).src = plus.src;
          }
          else{
            window.document.getElementById(BildName).src = minu.src;
          }
      }
    }//for i
  }
}//GeschwisterSichtbarSchalten

//klappt eine bestimmte KlassifEbene aus
function KlassifAusKlappen(KlassifNr){
  var elem = null;
  var KlassifNrLength = KlassifNr.length;
  for(var i = 2; i < (KlassifNrLength + 2) ; i = (i + 2)){
    var KlassifNrShow = 'wert' + KlassifNr.substring(0,i);
    //if(i == KlassifNrLength){//nur auf der einen Ebene
      GeschwisterSichtbarSchalten(KlassifNr.substring(0,i));
    //}
    var BildName = KlassifNrShow.replace(/wert/, "img");
    elem = document.getElementById(KlassifNrShow);
    if(elem != null) elem.style.display = 'inline';
    if(i != KlassifNrLength && document.getElementById(BildName) != null){
      document.getElementById(BildName).src = minu.src;
    }
  }//for i
}//KlassifAusKlappen



//klappt alles ein bis auf oberste Ebene ein (oberste Ebene als KlassifNr uebergeben)
function AllesEinklappen(KlassifNr){
  for(var i = 0; i < imgNameSpeicher2.length; i++){
    document.getElementById(imgNameSpeicher2[i][0]).style.display = 'none';
    //bild auf plus stellen
    var BildName = imgNameSpeicher2[i][0].replace(/wert/,"img");
	  var bildPfad = document.getElementById(BildName).src;
	  if(bildPfad.lastIndexOf("plusNOHATKIND.gif") == "-1"){
	    Bildwechsel(BildName,plus);
	  }
	  // /bild auf plus stellen
  }//for i
  KlassifNr = "wert" + KlassifNr;
  document.getElementById(KlassifNr).style.display = 'inline';
}//AllesEinklappen

//klappt alles ein , aber die angeebene ebene + unterebenen wird ausgeklappt
function AllesEinklappenUnterAus(KlassifNr){
  for(var i = 0; i < imgNameSpeicher2.length; i++){
    document.getElementById(imgNameSpeicher2[i][0]).style.display = 'none';
    //bild auf plus stellen
    var BildName = imgNameSpeicher2[i][0].replace(/wert/,"img");
	  var bildPfad = document.getElementById(BildName).src;
	  if(bildPfad.lastIndexOf("plusNOHATKIND.gif") == "-1"){
	    Bildwechsel(BildName,plus);
	  }
	  // /bild auf plus stellen
  }//for i
  KlassifNr = "wert" + KlassifNr;
  document.getElementById(KlassifNr).style.display = 'inline';
  ausEinKlappen(KlassifNr);
}//AllesEinklappenUnterAus



function Fensterhoehe () {
  if(window.innerHeight) {
    return window.innerHeight;
  } else if(document.body && document.body.offsetHeight) {
    return document.body.offsetHeight;
  } else {
    return 0;
  }
}//Fensterhoehe



/** liest die menge aus und gibt diese zurueck
	inputName = value des input-Feldes
  */ 
function ADNgetvalue(inputName) {
	var menge = 1;
	var myValue = document.getElementById(inputName).value;
	myValue = parseInt(myValue);
	if(isNaN(myValue))
	{
	  menge = 1;
	}
	else if(myValue == '')
	{
	  menge = 1;
	}
	else
	{
	  menge = myValue;
	}
	return menge;
}//ADNgetvalue

//teil der funktion, die im WA die menge aendert, mehr in step=9
//inputName = name/id des stueck-input Feldes
//position = p2plus WA-position
function basketChangeAmount(inputName,position) {
	var menge = ADNgetvalue(inputName);
	//hier webservice aufrufen
	document.location.href = "defaultseite.aspx?menuid=107&step=9&menuopen=menubtt&position=" + position + "&menge=" + menge;
}//basketChangeAmount



function basketChangeAmountW20(aktuGuID,basket,inputName,position,posID) {//nur wa
	//var menge = ADNgetvalue(inputName);
	var basketPos = new Array(4);
	var sWALizenzNummer = "";
	
	
	var preis = inputName.replace(/art_/,"preis_");
  var gespreis = inputName.replace(/art_/,"gespreis_");
  var waLizNr = "waLizNr_" + posID;
  
	if(typeof(document.getElementById(waLizNr)) != 'undefined'){
	  sWALizenzNummer = document.getElementById(waLizNr).value;
	}

	//baskezpos aktualiesieren:
	//var stringe = P2Service.get("ADNshop").waPosAktualisierenW20(aktuGuID,basket,position,menge)

	var stringBasketPos = P2Service.get("ADNshop").updateBasketPosW20(aktuGuID,posID,sWALizenzNummer)
	//kommaListeInArray
	var j = 0;
	/*while((stringe.indexOf(",") != -1) && (j < 4)){
	  basketPos[j] = stringe.substr(0,stringe.indexOf(","));
	  //alert(wert);
	  stringe = stringe.substring(stringe.indexOf(",")+1,stringe.length)
	  j++;
	}*/

  //basketpos anzeige aktualiesieren:  
  
  
  if(typeof(document.getElementById(inputName)) != 'undefined'){
    //document.getElementById(inputName).value = basketPos[2];
  }
  if(typeof(document.getElementById(preis)) != 'undefined'){
	  //document.getElementById(preis).firstChild.data = basketPos[1];
	}
	if(typeof(document.getElementById(gespreis)) != 'undefined'){
	  //document.getElementById(gespreis).firstChild.data = basketPos[0];
	}
	if((typeof(document.getElementById(waLizNr)) != 'undefined') && (stringBasketPos.substring(0,3) !='err')){
	  document.getElementById(waLizNr).value = sWALizenzNummer;
	}
}//basketChangeAmountW20

function ADNreload(uri,menuopen)
{
  var myUri = uri;
  //alert(uri);
  //myUri = "defaultseite.aspx" + myUri;
  if(menuopen != "default"){
    myUri = myUri.replace(/menuopen/, "");
    myUri = myUri.replace(/&menuopen=ADNloginbtt/, "");
    myUri = myUri.replace(/&menuopen=wabtt/, "");
  
    if(menuopen == "menubtt"){myUri = myUri + "&menuopen=menubtt";}
    if(menuopen == "ADNloginbtt"){myUri = myUri + "&menuopen=ADNloginbtt";}
    if(menuopen == "wabtt"){myUri = myUri + "&menuopen=wabtt";}
    } 
  location.href=myUri;
}//ADNreload


function ADNaddToBasketDefau(artikelnr,uri,aktuGuID)
{
  var menge = 1;
  var folgeArtikel = false;
  ADNaddToBasket(artikelnr,uri,menge,folgeArtikel,aktuGuID);
}//ADNaddToBasketDefau

/** fuegt einen Artikel in den Warenkorb.
  * Falls der Artikel nur ueber eine andere Nummer bestellbar ist, wird diese geladen	
  */  
function ADNaddToBasket(artikelnr, uri, menge, folgeArtikel,aktuGuID)
{ 
  P2Service.get("ADNshop").ADNactiveBasket(aktuGuID);
  if(!folgeArtikel){
    var inputName = "art_" + artikelnr;
    menge = ADNgetvalue(inputName);
  }
  var bestellartikel = null;
  var newurl;
  var lager;
  //var menge;
  var ret;
  var cfg;
  //alert(artikelnr + "  " + menge);
  if(!checkSession(true)) return;
	if(menge == "")
	{
	  menge == "0";
	} // if
	// Artikel zum Warenkorb hinzufuegen:
	try {
	  //cfg = P2Service.get("shop").checkConfig(artikelnr); // 0,1,2
	  //cfg = P2Service.get("ADNshop").checkConfigW20(aktuGuID,artikelnr);
	  cfg = null;
  	ret = insertBasketPos(aktuGuID,artikelnr, menge, cfg, true); // bool
	} catch(e) {
	  alert("Es gab einen Fehler beim Hinzuf" + unescape("%FC") + "gen des Artikels " + artikelnr + " zum Warenkorb.");
	} // try
  //location.reload();//laedt seite erneut damit kl wa aktualisiert
  if((!folgeArtikel) && (ret)){
    uri = uri.replace(/&showFolge=1/, "");
    //alert(uri + " uri");
    //ADNreload(uri, "wabtt");//laedt seite erneut damit kl wa aktualisiert + wa in menu aktivieren
    miniWaAktualisieren(aktuGuID);
    alert("Der Artikel " + artikelnr + " wurde in den Warenkorb gelegt.");
  }
}//ADNaddToBasket


function ADNaddSeveralToBasket(a,b,uri,zwingend,aktuGuID)
{
  //var mengeAkt = document.getElementById('art_' + artNr).value;
  //zwingend = true heist nur das jetzt zwingende artikel in den WA gelegt werden koennen, aber nicht das dieser artikel auch zwingende artikel hat
  show('warteMes');
  var sB = 0;
  hauptartikel = "";
  if(!zwingend){
    for(var i = 0; i < b.length; ++i){
	    //alert(b[i][0]);//artname
	    //alert(b[i][1]);//artNr
	    //alert(b[i][2]);//org art menge
	    var artikelnr = b[i][1];
	    var feldname = "popUpartNr_" + b[i][1];
	        

	    if(i == 0){//hauptartikel
	      var inputName = "art_" + artikelnr;
        menge = ADNgetvalue(inputName);
        hauptartikel = b[i][0];
        hauptartikelNr = b[i][1];
	    }
	    else{
	      var menge = b[i][2];
	    }

      //i> 0 nicht den hauptartikel nochmal
      //alert(b[i][2] + " " + b[i][3])
	    if(( menge > 0) && (i > 0) && (b[i][3])){
	    //alert(artikelnr +  " several");
	    uri = uri.replace(/&showFolge=1/,"");
	      ADNaddToBasket(artikelnr,uri,menge,true,aktuGuID)
	      //alert(artikelnr +  " several2");
	    }
    }//for i
    alert("Zusatzartikel zu Artikel " + hauptartikelNr + " wurden in den Warenkorb gelegt.");
    uri = uri.replace(/&showFolge=1/,"");
    ADNreload(uri ,"wabtt");//laedt seite erneut damit kl wa aktualisiert + wa in menu aktivieren
  }//if
  else{
    for(var i = 0; i < a.length; ++i){
    //alert(i);
	    //alert(a[i][0]);//artname
	    //alert(a[i][1]);//artNr
	    //alert(a[i][2]);//org art menge
	    var artikelnr = a[i][1];
	    var feldname = "popUpartNr_" + a[i][1];
	      

	    if(i == 0){//hauptartikel
	      var inputName = "art_" + artikelnr;
        menge = ADNgetvalue(inputName);
        hauptartikel = a[i][0];
        hauptartikelNr = b[i][1];
	    }
	    else{
	      var menge = a[i][2];
	    }

	    if( menge > 0){
	      ADNaddToBasket(artikelnr,uri,menge,true,aktuGuID)
	      //alert(artikelnr +  " several2");
	    }
    }//for i
    alert("Der Artikel " + hauptartikelNr + " wurde in den Warenkorb gelegt.");
    if(b.length > 1){
    uri = uri + "&showFolge=1";
  }
  ADNreload(uri,"wabtt");//laedt seite erneut damit kl wa aktualisiert + wa in menu aktivieren
}//else zwingend
    //show('folgeart');
}//ADNaddSeveralToBasket


function ADNaddSeveralToBasketListe(a,uri,hauptArtNr)
{
  var inputName = "art_" + hauptArtNr;
  var hauptMenge = ADNgetvalue(inputName);
  ADNaddToBasket(hauptArtNr,uri,hauptMenge,true,aktuGuID) 
  for(var i = 0; i < a.length; ++i)
  {
    if((a[i][3]) == hauptArtNr)
    {
	    var menge = eval(a[i][2] * hauptMenge);	
	    var artikelnr = a[i][1];   
	    ADNaddToBasket(artikelnr,uri,menge,true,aktuGuID)
	  }
	}//for i
  alert("Der Artikel " + hauptArtNr + " wurde in den Warenkorb gelegt.");
  ADNreload(uri,"wabtt");//laedt seite erneut damit kl wa aktualisiert + wa in menu aktivieren
}//ADNaddSeveralToBasketListe


function mengeFolgeartikelKorr(b)//optional
{
  //alert('1323');
  //!!!+++ 'halten' wird noch nicht mit beruecksichtigt
  var hauptmenge = 1;
  for(var i = 0; i < b.length; ++i){
    var artikelnr = b[i][1];
	  var feldname = "popUpartNr_" + b[i][1];
  	
	  if(i == 0){//hauptartikel
	    var inputName = "art_" + artikelnr;
      menge = ADNgetvalue(inputName);
      hauptmenge = menge;
      }
	  else{
	    var menge = document.getElementById(feldname).value;
	    b[i][2] = eval(menge * hauptmenge);//menge in array aendern
	    document.getElementById("popUpartNr_" + artikelnr).value = eval(menge * hauptmenge);//menge in popupWindow aendern
	  }
	}//for i
	//for(var i = 0; i < b.length; ++i){    
	    //alert (b[i][2]);
	  //}//for i
}//mengeFolgeartikelKorr

function mengeFolgeartikelKorrA(a)//zwingend
{
  //alert('1323');
  //!!!+++ 'halten' wird noch nicht mit beruecksichtigt
  var hauptmenge = 1;
  for(var i = 0; i < a.length; ++i){
    var artikelnr = a[i][1];
	  var feldname = "popUpartNr_" + a[i][1];
  	
	  if(i == 0){//hauptartikel
	    var inputName = "art_" + artikelnr;
      menge = ADNgetvalue(inputName);
      hauptmenge = menge;
      }
	  else{
	    var menge = a[i][2];
	    a[i][2] = eval(menge * hauptmenge);//menge in array aendern
	    //document.getElementById("popUpartNr_" + artikelnr).value = eval(menge * hauptmenge);//menge in popupWindow aendern
	  }
	}//for i
	//for(var i = 0; i < b.length; ++i){    
	    //alert (b[i][2]);
	  //}//for i
}//mengeFolgeartikelKorrA



function mengeFolgeartikelKorrC(b)//zwingend
{
  //!!!+++ 'halten' wird noch nicht mit beruecksichtigt
  for(var i = 0; i < b.length; ++i){
    var artikelnr = b[i][1];
	  var feldname = "popUpartNrCheck_" + b[i][1];
  	
	  if(i == 0){//hauptartikel
      }
	  else{
	  //document.getElementById(feldname).value = "off";
	  //alert(document.getElementById(feldname).checked + "\n"+ feldname);
	    b[i][3] = document.getElementById(feldname).checked;
	  }
	}//for i
}//mengeFolgeartikelKorrC



/** gibt den mengen-, kunden-, und datumsspezifischen Preis aus.
    		
function getMengenPreis()
{
  var ret;
  var clientvar;
  var menge = document.all.menge.value;
  if(!checkSession(true)) return;

  if(menge == "" || menge <= 0) {
	  menge = 1;
	  document.all.menge.value = P2LF.Format_Number(menge);
	} // if

  ret = getMengenPreis2(menge);
  if(ret != "") {
    clientvar = '<%=artnr%>' + "|" + P2LF.Format_Number(menge) + "|" + ret;
    nlsInfo("V_ARTQUANPRICE", clientvar);
  } // if
} // getMengenPreis


/** 
  * liefert den mengen-, kunden-, und datumsspezifischen Preis
  * fuer getMengenPreis().
  * @param menge: Menge, fuer den der Preis berechnet werden soll
  * @return String: Preis, Waehrung / Mengeneinheit	
  * @exception exept: catcht Fehler in der Preisauskunft
  /  		
function getMengenPreis2(menge)
{
  var prw = "";
  var mePreis;

  menge = P2LF.Scan_Number(menge);
  //if("<%=Session["adresse"]%>" != "000000") {
	  try {
      //  25.10.2002 MPI: geaenderte Parameter beim WebService preisAdresse(). 
  	  mePreis = P2Service.get("shop").preisAdresse('<%=artnr%>', menge, date);
  	  mePreis = xmlToObject(mePreis);
 	    if(!mePreis) {
		    throw ("V_NOPRICE");
		  } else {
  		  prw = P2LF.Format_Number(parseFloat(mePreis.stkErloes)) + " " + mePreis.zielWaehrung;
		  } // if
	  } catch (e) {
	    askException(e);
	  } // try
  //} else {
    //nlsInfo("V_NOPRICEANONYM");
  //} // if

  return prw;
} // function getMengenPreis

*/




//in mail-Teststellung:
function isGFI(selValue){
//alert(selValue);
var td1prodA = 'td1prod' + selValue;
var td1prodB = 'td2prod' + selValue;
//diese fkt muss noch herstAbhaengig gem werden
if(selValue == '15'){
  document.getElementById('td1prod').style.display = 'none';
  document.getElementById('td1prod15').style.display = 'inline';
  document.getElementById('td2prod').style.display = 'none';
  document.getElementById('td2prod15').style.display = 'inline';
  document.getElementById('ekDaten').style.display = 'inline';
}
else{
  document.getElementById('td1prod').style.display = 'inline';  
  document.getElementById('td1prod15').style.display = 'none';
  document.getElementById('td2prod').style.display = 'inline';  
  document.getElementById('td2prod15').style.display = 'none';
  document.getElementById('ekDaten').style.display = 'inline';  
}
}//isGFI

function isEmail(s){
  var i; // Zaehler;
  var sLength; // String-Laenge
  if((s == null) || (s.length == 0)) {
    return true;
  } // if  
  // is s whitespace?
  if(isWhitespace(s)) {
    return false;
  } // if 
  // there must be >= 1 character before @, so we
  // start looking at character position 1 
  // (i.e. second character)
  i = 1;
  sLength = s.length;
  // look for @
  while ((i < sLength) && (s.charAt(i) != "@")){
   i++;
  } // while
  if((i >= sLength) || (s.charAt(i) != "@")) {
   return false;
  } else {
   i += 2;
  } // if
  // look for .
  while ((i < sLength) && (s.charAt(i) != ".")) { 
    i++;
  } // while
  // there must be at least one character after the .
  if((i >= sLength - 1) || (s.charAt(i) != ".")) {
    return false;
  } else {
    return true;
  } // if
}//isEmail


function kommaListeInArray(kommaListe,zeilen){
if(zeilen == null){zeilen = 100;}
	var j = 0;
	var myArray = new Array();
	var ausstieg = false;
	//myArray[0] = kommaListe.indexOf(",");
	while((!ausstieg) && (j < zeilen)){
	  myArray[j] = kommaListe.substr(0,kommaListe.indexOf(","));
	  
	  kommaListe = kommaListe.substring(kommaListe.indexOf(",")+1,kommaListe.length)
	  //alert(kommaListe);
	  j++;//auch notausstieg
	  if(kommaListe.indexOf(",") == -1){	  
	  myArray[j] = kommaListe;//letzer wert ohne komma
	  ausstieg = true;
	  }
	}
	//alert(myArray);
	return myArray;
}//kommaListeInArray


function formatDezimal(preis){
	preis = preis.replace(/,/, "\.");	
	if(isNaN(preis)) {
	  if(preis != '---'){
	    alert(preis + "preis ist keine Zahl!");
	  }
	}
	else{
	  var iKomma = preis.indexOf("\.");
	  var vorKomma = preis.substr(0,iKomma);
	  var nachwert = '00';
  	
  	
	  if(iKomma == -1){
		  nachwert = '00';
	  }
	  else if(preis.substr(iKomma + 1).length == 1)
	  {
		  nachwert = preis.substr(iKomma + 1,1) + '0';
	  }
	  else if(preis.substr(iKomma + 1).length > 1)
	  {
		  nachwert = preis.substr(iKomma + 1,2);
	  }   
  	
	    //wenn preis ohne ,-stelle uebertragen wird(bei glatten Preisen)
	    var vorKomma2 = '';
    	
	    if(preis.indexOf('.') == -1){vorKomma2 = preis;}
    	
	    //1000er pkt 
	    var zaehler = 0;
	    for(var ij = 0; ij < vorKomma.length; ij++){
		    zaehler++;
    			
			    vorKomma2 = vorKomma.substring(vorKomma.length-ij-1,vorKomma.length-ij) + vorKomma2;
			    if(zaehler == 3){
				    zaehler = 0;
				    vorKomma2 = '.' + vorKomma2;				
			    }
		    }//for ij
	    if(vorKomma2.substring(0,1) == "."){vorKomma2 = vorKomma2.substring(1);}//bei vielfachen von 3	
	    //var zeilePreis = Number(preis);*/
	    preis = vorKomma2 + ',' + nachwert;


	}


	return(preis);
}//formatDezimal


function myOnmouseover(){
  // Hole den Event
  var evt = (evt) ? evt : ((window.event) ? window.event : "");//ie/firefox
  var source = evt.srcElement;

  var text = document.getElementById(source.id).title;
  return overlib(text);
}//myOnmouseover

function myOnmouseout(){
  // Hole den Event
  var evt = (evt) ? evt : ((window.event) ? window.event : "");//ie/firefox
  var source = evt.srcElement;

  nd() ;
  return true;
}//myOnmouseout

function neueWaZeile(id,menge,preis,artnr,imgWeiss,overlib){

      if(isNaN(preis)) {
      alert(preis + "preis ist keine Zahl!");
      }
      if(isNaN(menge)) {
        alert("menge ist keine Zahl!");
      }
      var zeilePreis = Number(preis);
      var zeileMenge = Number(menge);
      var zeileGesPreis = eval(zeilePreis * zeileMenge);
      var sZeileGesPreis = zeileGesPreis.toString();
      //sZeileGesPreis = sZeileGesPreis.replace(/\./, ",");
      sZeileGesPreis = formatDezimal(sZeileGesPreis);

    var wert = document.getElementById('miniWaTbody');
    var newtr = document.createElement("tr"); 

    //1. td:
    var newtd = document.createElement("td"); 

    var tdValign = document.createAttribute("Valign");
    tdValign.nodeValue = "TOP";
    newtd.setAttributeNode(tdValign);
    
    var tdId = document.createAttribute("id");
    tdId.nodeValue = id;
    newtd.setAttributeNode(tdId);
    
    var tdTitle = document.createAttribute("title");
    tdTitle.nodeValue = overlib;
    newtd.setAttributeNode(tdTitle);
    
    var tdBordertop = document.createAttribute("border-top");
    tdBordertop.nodeValue = "solid 1px #ffffff";
    newtd.setAttributeNode(tdBordertop);
      

    newtd.onmouseover = myOnmouseover;
    newtd.onmouseout = myOnmouseout;
    
    newtd.appendChild(document.createTextNode(menge + " St" + unescape("%FC") + "ck\n\n" + artnr));
    

    wert.appendChild(newtr); 
    newtr.appendChild(newtd); 

    //-------------------2. td:
    var newtd2 = document.createElement("td");
    newtr.appendChild(newtd2);
    var tdValign2 = document.createAttribute("Valign");
    tdValign2.nodeValue = "TOP";
    newtd2.setAttributeNode(tdValign2);
    var tdAlign2 = document.createAttribute("align");
    tdAlign2.nodeValue = "right";
    newtd2.setAttributeNode(tdAlign2);
    var tdWidth2 = document.createAttribute("width");
    tdWidth2.nodeValue = "65px";
    newtd2.setAttributeNode(tdWidth2);
    var tdNowrap2 = document.createAttribute("nowrap");
    tdNowrap2.nodeValue = "44";//muss mit wert gefuellt sein damit er anzeigt
    newtd2.setAttributeNode(tdNowrap2);
    var tdID2 = document.createAttribute("id");
    tdID2.nodeValue = "waMiniTd" + id;
    var tdID2_id = "waMiniTd" + id;
    newtd2.setAttributeNode(tdID2);

    /*var tdBordertopcolor = document.createAttribute("border-top-color");
    tdBordertopcolor.nodeValue = "#ffffff";
    newtd2.setAttributeNode(tdBordertopcolor);
    var tdBordertopstyle = document.createAttribute("border-top-style");
    tdBordertopstyle.nodeValue = "solid";
    newtd2.setAttributeNode(tdBordertopstyle);
    var tdBordertopwidth = document.createAttribute("border-top-width");
    tdBordertopwidth.nodeValue = "1px";
    newtd2.setAttributeNode(tdBordertopwidth);*/
    

    newtd2.appendChild(document.createTextNode(unescape("%u20AC") + " " + sZeileGesPreis));//€-Zeichen:  unescape("%u20AC") + " " + 

    newtr.appendChild(newtd);
    newtr.appendChild(newtd2);
    
    
    //----- tr mit weisser trennlinie:
    var newtr3 = document.createElement("tr"); 

    var newtd3 = document.createElement("td"); 
    
    var tdColspan = document.createAttribute("colspan");
    tdColspan.nodeValue = "2";
    newtd3.setAttributeNode(tdColspan);
    
    var imgLinie = document.createElement("img");
   
    var imgScr = document.createAttribute("src");
    imgScr.nodeValue = imgWeiss;
    imgLinie.setAttributeNode(imgScr);
    
    var imgWidth = document.createAttribute("width");
    imgWidth.nodeValue = "173";
    imgLinie.setAttributeNode(imgWidth);
    
    var imgHeight = document.createAttribute("height");
    imgHeight.nodeValue = "1";
    imgLinie.setAttributeNode(imgHeight);
        
    newtd3.appendChild(imgLinie);
   
    wert.appendChild(newtr3);
    newtr3.appendChild(newtd3);
    
   //alert(miniWaTbody.innerHTML);
}//neueWaZeile

function waGesPreis(gesPreis,aktuMiniWaNrTxt,aktuGuID){
  
  //waLeer ausblenden
  var waLeer = document.getElementById('waLeer');
  if(gesPreis >= 0){
  try{
    if(typeof(document.getElementById('waLeer')) != 'undefined'){
      document.getElementById('waLeer').style.display = 'none';
    }
    }
    catch(e){var ert = '';}
  }
  
  //preis auffrischen:
  if(typeof(document.getElementById('waMiniSum')) != 'undefined'){
      //var ptextPreis = document.createTextNode(gesPreis);
      gesPreis = P2Service.get("ADNshop").ADNFormatCurW20(aktuGuID,gesPreis,'noCur');
      document.getElementById('waMiniSum').firstChild.data = unescape("%u20AC") + " " + gesPreis;
    }
    
    //aktuMiniWaNr aktualisieren
    if(typeof(document.getElementById('aktuMiniWaNr')) != 'undefined'){
            
      var KnotenaktuMiniWaNr = document.getElementById('aktuMiniWaNrInner');
      document.getElementById('aktuMiniWaNr').removeChild(KnotenaktuMiniWaNr);
      
      var wertMiniWaNr = document.getElementById('aktuMiniWaNr');
      var newInnerspan = document.createElement("span");
      var innerspan = document.createAttribute("id");
      innerspan.nodeValue = 'aktuMiniWaNrInner';
      newInnerspan.setAttributeNode(innerspan);
      newInnerspan.appendChild(document.createTextNode(aktuMiniWaNrTxt));

      wertMiniWaNr.appendChild(newInnerspan);
 
     //alert(aktuMiniWaNr.innerHTML):
    
    }
}//waGesPreis  

function miniWaAktualisieren(aktuGuID){
  var imgPath = P2Service.get("ADNshop").sysconfStringBereichW20(aktuGuID,'IMGPATH','ADNSHOP');
  var cacheAktualisieren = P2Service.get("ADNshop").aktuCacheBasketW20(aktuGuID);
  var basketArr = P2Service.get("ADNshop").getBasketW20(aktuGuID);
  var basketArray = kommaListeInArray(basketArr);
  //alert(basketArray);
  
  //waMiniBasket aktualisieren:
  var basketNr = basketArray[2] + '\n';
  var gesPreis = 0;  
  var imgWeiss = imgPath + '/pixel/weissPix.gif';
  
  
  
  //waMiniBasket Positionen aktualisieren:

  //loeschen + erneuern, falls vorhanden
  try{
    var Knoten = document.getElementById('miniWaTbody');
    document.getElementById('miniWaTable').removeChild(Knoten);
  }
  catch(e){var dgfc = '';}
    var wert = document.getElementById('miniWaTable');
    var newtbody = document.createElement("tbody");
    var tableTbody = document.createAttribute("id");
    tableTbody.nodeValue = 'miniWaTbody';
    newtbody.setAttributeNode(tableTbody);
    wert.appendChild(newtbody);
  
 var hinweisComplBasket = false;
 //alert(basketArr);
  for(var i = 0; i < basketArray[0]; i++){
    var basketPosArr = P2Service.get("ADNshop").getBasketPosW20(aktuGuID,String(i));
    var basketPosArray = kommaListeInArray(basketPosArr); 
    neueWaZeile('minibasketPos' + i,basketPosArray[0],basketPosArray[4],basketPosArray[1],imgWeiss,basketPosArray[5]);
    //neueWaZeile('z2','2.00','44.56','72014440',imgWeiss,'AppSense Applic4354534534534 fr Desktop/Laptop');
     if(isNaN(basketPosArray[4])) {
        alert("basketPosArray[4] ist keine Zahl!");
      }
      if(isNaN(gesPreis)) {
        alert("gesPreis ist keine Zahl!");
      }
      var zeilePreis = Number(basketPosArray[4]);
      var zeileMenge = Number(basketPosArray[0]);
      var zeileGesPreis = eval(zeilePreis * zeileMenge);
    gesPreis = eval(zeileGesPreis + gesPreis);
    if(i > 15){//stopp anzeige MiniBasket
      hinweisComplBasket = true;
      break;
    }
  }//for i
    //wa leer:
    if((basketArray[0] == '0') || (basketArray[0] == ''))
    {
      document.getElementById('waLeer').style.display = 'inline';
      innerHTMLAllg('aktuMiniWaNrInner','');
      waGesPreis(gesPreis,'',aktuGuID);      
    }
    else{
      waGesPreis(gesPreis,basketNr,aktuGuID);
    }
      
    //mehr als 15 artikel:
    if(hinweisComplBasket == true)
    {
      document.getElementById('trHinweisComplBasket').style.display = 'inline';
    }
    
    switchMenu('wabtt');
}//miniWaAktualisieren


function waRechAdrAktualisierenMitNr(aktuGuID,reNr){
 
  var rechAdr = "";
	
	if(reNr == 'noReNr'){
	  if(typeof(document.getElementById('selRech')) != 'undefined'){
      rechAdr = document.getElementById('selRech').value;
    }
  }
  else{rechAdr = reNr;}
  
  var sTemp968 = P2Service.get("ADNshop").rechLiefInCacheW20(aktuGuID,rechAdr,'leer'); // cache Aktualiesieren
  var sKommaListe = P2Service.get("ADNshop").rechAusCacheW20(aktuGuID); // cache auslesen
  
  var basketArray = kommaListeInArray(sKommaListe);
  
  //var adr = basketArray[0];  
  //var REFIRMA1 = basketArray[2];
  //var RENAME = basketArray[1];
  //var RESTRASSE = basketArray[6];
  //var REPLZ = basketArray[7];
  //var REORT = basketArray[8];
  //var REFirma2 = basketArray[3];
  //var REFirma3 = basketArray[4];
  //var REAbteilung = basketArray[5];
  //var RELAND = basketArray[9];
 
  
  var rechAdreArray = new Array(2);
  rechAdreArray[0] = new Array('Name:','Firmenname 1:','Firmenname 2:','Firmenname 3:','Abteilung:','Stra' + unescape("%DF") + 'e:','Plz:','Ort:');
  rechAdreArray[1] = new Array(basketArray[1],basketArray[2],basketArray[3],basketArray[4],basketArray[5],basketArray[6],basketArray[7],basketArray[8]);
  

//RechnungTop-adresse updaten
if(typeof(document.getElementById('waTopReAdr')) != 'undefined'){

//alert(typeof(document.getElementById('waTopReAdrChild')));
if(typeof(document.getElementById('waTopReAdrChild')) != 'undefined'){




  var Knoten = document.getElementById('waTopReAdrChild');
  
  
  
  
  document.getElementById('waTopReAdr').removeChild(Knoten);
}


var wert = document.getElementById('waTopReAdr');
    var newSpan = document.createElement("span");
    var spanTag = document.createAttribute("id");
    spanTag.nodeValue = 'waTopReAdrChild';
    newSpan.setAttributeNode(spanTag);
    
    var newB = document.createElement("b");
    var waTopReAdr = "RECHNUNGSADRESSE:\n";
    newB.appendChild(document.createTextNode(waTopReAdr));
        
    newSpan.appendChild(document.createElement("br"));
    newSpan.appendChild(newB);
    newSpan.appendChild(document.createElement("br"));
    
    var waTopReAdr2 = "";//REFIRMA1
     if(basketArray[2].length > 2){
      waTopReAdr2 = basketArray[2];
      newSpan.appendChild(document.createTextNode(waTopReAdr2));
      newSpan.appendChild(document.createElement("br"));
      }
      
      var waTopReAdr3 = "";//RENAME
      if(basketArray[1].length > 2){
      waTopReAdr3 = basketArray[1];
      newSpan.appendChild(document.createTextNode(waTopReAdr3));
      newSpan.appendChild(document.createElement("br"));
      }
    
    newSpan.appendChild(document.createTextNode(basketArray[6]));//RESTRASSE
    newSpan.appendChild(document.createElement("br"));
    
    var waTopReAdr4 = basketArray[7] + " " +  basketArray[8];
    newSpan.appendChild(document.createTextNode(waTopReAdr4));//REPLZ + REORT
    newSpan.appendChild(document.createElement("br"));
    
    wert.appendChild(newSpan);
    //alert(document.getElementById('waTopReAdr').innerHTML);
}
// /RechnungTop-adresse updaten


  //Hauptadresse updaten               
  var jStart = 0;
  for(var i = 0; i < 8; i++){//alle platzhalter durchlaufen
    var platzhaltername0 = 'rechPlatzhalter' + i + '0';
    var platzhaltername1 = 'rechPlatzhalter' + i + '1';
    if(typeof(document.getElementById(platzhaltername0)) != 'undefined'){
      document.getElementById(platzhaltername0).firstChild.data = '';
    }
    if(typeof(document.getElementById(platzhaltername1)) != 'undefined'){
      document.getElementById(platzhaltername1).firstChild.data = '';
    }
    for(var j = jStart; j< rechAdreArray[0].length; j++){//rechAdreArray durchlaufen
      if(rechAdreArray[1][j].length > 2){
        if(typeof(document.getElementById(platzhaltername0)) != 'undefined'){
          document.getElementById(platzhaltername0).firstChild.data = rechAdreArray[0][j];
          }
          if(typeof(document.getElementById(platzhaltername1)) != 'undefined'){
          document.getElementById(platzhaltername1).firstChild.data = rechAdreArray[1][j];
          }
          jStart = j+1;
          break;
       }
    }//for j
  }//for i
  //Hauptadresse updaten  
  
}//waRechAdrAktualisierenMitNr

function waRechAdrAktualisieren(aktuGuID){
    waRechAdrAktualisierenMitNr(aktuGuID,'noReNr');
}//waRechAdrAktualisieren



function waLiefAdrAktualisieren(aktuGuID,manuellAutom){
 
  var liefAdr = "";
	
	if(typeof(document.getElementById('selLief')) != 'undefined'){
    liefAdr = document.getElementById('selLief').value;
  }
  if(manuellAutom == "auto"){//ueberDropdownBox
    var sTemp968 = P2Service.get("ADNshop").rechLiefInCacheW20(aktuGuID,'leer',liefAdr);// cache Aktualiesieren
  }
  var sKommaListe = P2Service.get("ADNshop").liefAusCacheW20(aktuGuID); // cache auslesen
  
  var basketArray = kommaListeInArray(sKommaListe);
  
  //var adr = basketArray[0];  
  //var LFIRMA1 = basketArray[2];
  //var LENAME = basketArray[1];
  //var LSTRASSE = basketArray[6];
  //var LPLZ = basketArray[7];
  //var LORT = basketArray[8];
  //var LFirma2 = basketArray[3];
  //var LFirma3 = basketArray[4];
  //var LAbteilung = basketArray[5];
  //var LLAND = basketArray[9];
  //rechAdreArray[0] = new Array('Firmenname 1:','Firmenname 2:','Firmenname 3:','Abteilung:','Stra' + unescape("%DF") + 'e:','Plz:','Ort:');
  //rechAdreArray[1] = new Array(basketArray[2],basketArray[3],basketArray[4],basketArray[5],basketArray[6],basketArray[7],basketArray[8]);
  

//LieferTopAdresse updaten
if(typeof(document.getElementById('waTopLiAdr')) != 'undefined'){
var Knoten = document.getElementById('waTopLiAdrChild');
document.getElementById('waTopLiAdr').removeChild(Knoten);

var wert = document.getElementById('waTopLiAdr');
    var newSpan = document.createElement("span");
    var spanTag = document.createAttribute("id");
    spanTag.nodeValue = 'waTopLiAdrChild';
    newSpan.setAttributeNode(spanTag);
    
    var newB = document.createElement("b");
    var waTopLiAdr = "LIEFERADRESSE:\n";
    newB.appendChild(document.createTextNode(waTopLiAdr));
        
    newSpan.appendChild(document.createElement("br"));
    newSpan.appendChild(newB);
    newSpan.appendChild(document.createElement("br"));
    
    var waTopLiAdr2 = "";//LFIRMA1
     if(basketArray[2].length > 2){
      waTopLiAdr2 = basketArray[2];
      newSpan.appendChild(document.createTextNode(waTopLiAdr2));
      newSpan.appendChild(document.createElement("br"));
      }
      
      var waTopLiAdr3 = "";//LNAME
      if(basketArray[1].length > 2){
      waTopLiAdr3 = basketArray[1];
      newSpan.appendChild(document.createTextNode(waTopLiAdr3));
      newSpan.appendChild(document.createElement("br"));
      }
    
    newSpan.appendChild(document.createTextNode(basketArray[6]));//LSTRASSE
    newSpan.appendChild(document.createElement("br"));
    
    var waTopLiAdr4 = basketArray[7] + " " +  basketArray[8];
    newSpan.appendChild(document.createTextNode(waTopLiAdr4));//LPLZ + LORT
    newSpan.appendChild(document.createElement("br"));
    
    wert.appendChild(newSpan);
    //alert(document.getElementById('waTopLiAdr').innerHTML);
}
// /LieferTopAdresse updaten


  //Hauptadresse updaten
    if(typeof(document.getElementById('LNAME')) != 'undefined'){
      document.getElementById('LNAME').value = basketArray[1];
    }
    if(typeof(document.getElementById('LFirma')) != 'undefined'){
      document.getElementById('LFirma').value = basketArray[2];
    }
    if(typeof(document.getElementById('LFirma2')) != 'undefined'){
      document.getElementById('LFirma2').value = basketArray[3];
    }
    if(typeof(document.getElementById('LFirma3')) != 'undefined'){
      document.getElementById('LFirma3').value = basketArray[4];
    }
    if(typeof(document.getElementById('LAbteilung')) != 'undefined'){
      document.getElementById('LAbteilung').value = basketArray[5];
    }    
    if(typeof(document.getElementById('LSTRASSE')) != 'undefined'){
      document.getElementById('LSTRASSE').value = basketArray[6];
    }
    if(typeof(document.getElementById('LLAND')) != 'undefined'){
      document.getElementById('LLAND').value = basketArray[9];
    }
    if(typeof(document.getElementById('LPLZ')) != 'undefined'){
      document.getElementById('LPLZ').value = basketArray[7];
    }
    if(typeof(document.getElementById('LORT')) != 'undefined'){
      document.getElementById('LORT').value = basketArray[8];
    }
  //Hauptadresse updaten */ 
  
}//waLiefAdrAktualisieren

//schreibt liefAdr bei manueller Eingabe
function waLiefManuell(aktuGuID,feldName){

  if(typeof(document.getElementById(feldName)) != 'undefined'){
      var feldWert = document.getElementById(feldName).value;
      P2Service.get("ADNshop").liefManuellW20(aktuGuID,feldName,feldWert);
      waLiefAdrAktualisieren(aktuGuID,'manuell');
      }
}//waLiefManuell


//######################################################

//die folgenden js-Arrays speichern die entspr. daten solange man auf der selben seite mit w20 navigiert
//bei einen seitenwechsel oder beim Aktualisieren (F5) werden sie neu geladen

//speichert die  werte fuer klassifebene zwischen () //siehe auch kommentar oben
var klassifArr = new Array();
var klassifHash = new Array();

function klassifCache(klassifID){
  var cacheerneuern = false;
  if(klassifArr[klassifID] == null){cacheerneuern = true;}
  else{
   if(klassifArr[klassifID].length < 1){cacheerneuern = true};
  }
  if(cacheerneuern){
      var klassif = P2Service.get("ADNshop").klassifEbenenW20(klassifID,sMeineUri,sNummer);
      var klassifArr2 = klassif.split("adnZeilenEnde");
      //alert(klassif);      
            
      klassifArr[klassifID] = new Array();
      for(var i = 0; i < klassifArr2.length; i++){
        //klassifArr[klassifID][i] = klassifArr2[i];
        var klassifArr3 = klassifArr2[i].split("adnWertEnde");
        klassifArr[klassifID][i] = new Array();
        
        //ablegen in object (hash-like) damit direkt ueber artikelnr ansprechbar
        var varname = klassifArr3[0];
        if(typeof(klassifHash[varname]) != 'object'){
            klassifHash[varname] = new Object();
            klassifHash[varname][0] = varname;
            klassifHash[varname][1] = klassifArr3[1];
            klassifHash[varname][2] = klassifArr3[2];
            
            }
            
        for(var k = 0; k < klassifArr3.length; k++){
          klassifArr[klassifID][i][k] = klassifArr3[k];
        }//for k
      }//for i
    }//cacheerneuern
  return klassifArr[klassifID];
}// /klassifCache
//klassifEbene(klassifID)[x][0]== klassifNr 
//klassifEbene(klassifID)[x][1]== klassifBezeichnung (zB klassifEbene(30)[0][1] = 'Packeteer serie 7000')
//klassifEbene(klassifID)[x][0]== kinder der klassif als string (muss noch mit split geteilt werden)

      
function shopOnchange1(){
  // Hole den Event
  var evt = (evt) ? evt : ((window.event) ? window.event : "");//ie/firefox
  var source = evt.srcElement;

  var klassifID = document.getElementById(source.id).value;
  shopNavi2(klassifID);
}//shopOnchange1

function shopOnchangeBeri(){
  // Hole den Event
  var evt = (evt) ? evt : ((window.event) ? window.event : "");//ie/firefox
  var source = evt.srcElement;

  var mappingid = document.getElementById(source.id).value;
  //+++304 erstzen:
  location.href = "defaultseite.aspx?menuid=304&herst=" + mappingid + "&menuopen=menubtt";
}//shopOnchangeBeri


  
function buildSelectShop(klassifID,vollKlassif){
//fuer cache nur die ersten beiden Ziffern verwenden!
  var noKids = false;
  var dieseKlassifID = klassifID.substr(0,2);
  var klassifEbene = klassifCache(dieseKlassifID);
  var daddyKlassifebene = dieseKlassifID;
  var menuid = menuauslesen('mapping',dieseKlassifID)[7];
  var divshopNaviListInner = document.getElementById('shopNaviListInner');//wieder holen

  if(klassifID.length > 2){
    daddyKlassifebene = klassifID.substr(0,(klassifID.length - 2));
  }
  
  var selectBox = document.createElement("select");
       
    //id
    var selID = document.createAttribute("id");
    selID.nodeValue = 'shopSel' + klassifID;
    selectBox.setAttributeNode(selID);
    
    //class
    var selClass = document.createAttribute("class");
    selClass.nodeValue = 'shopSelClass';
    selectBox.setAttributeNode(selClass);
    //alert(klassifHash[klassifID]);
    var kinder =  klassifHash[klassifID][2].split(",");
    
    //array wird bei leer mit 1 leeren Zelle gegeben:
    if(kinder.length == 1){
      if(kinder[0].length < 2){noKids = true;}
    }
    

    if(noKids){
      var menuid = menuauslesen('mapping',dieseKlassifID)[7];
      var alink1318 = "defaultSeite.aspx?menuid=" + menuid + "&listeKlassivNr=" + klassifID + "&step=listeKlassivNr";
      //alert(link);
      //document.location.href = link;
      var ebName =  klassifHash[klassifID][1];
      
          
      //aktueller Link
      divshopNaviListInner.appendChild(document.createElement("br"));
      var span1326 = buildSpan('span1326');
      span1326.appendChild(document.createTextNode('Es gibt keine tiefere Ebene. Benutzen Sie den folgenden Link:'));
      divshopNaviListInner.appendChild(span1326);
      divshopNaviListInner.appendChild(document.createElement("br"));
      var span1327 = buildSpan('span1327');
      var href1327 = "defaultSeite.aspx?menuid=" + menuid + "&listeKlassivNr=" + klassifID + "&step=listeKlassivNr";
      var linkAuswahl = buildA('alink1329',href1327,'','');
      linkAuswahl.appendChild(document.createTextNode(ebName + ' anzeigen'));
      span1327.appendChild(linkAuswahl);
      divshopNaviListInner.appendChild(span1327);
      divshopNaviListInner.appendChild(document.createElement("br"));
      divshopNaviListInner.appendChild(document.createElement("br"));
      return document.createElement("&nbsp");//sonst Fehler , da er nichts zurueckliefert
    }
    else{
        //general option field
        var optionBox1 = document.createElement("option");
        var optValue = document.createAttribute("value");
        optValue.nodeValue = klassifID;
        optionBox1.setAttributeNode(optValue);
        optionBox1.appendChild(document.createTextNode("Bitte waehlen Sie eine Ebene aus"));
        selectBox.appendChild(optionBox1);
        
        //one up
        var optionBox2 = document.createElement("option");
        var optValue = document.createAttribute("value");
        optValue.nodeValue = daddyKlassifebene;
        optionBox2.setAttributeNode(optValue);
        optionBox2.appendChild(document.createTextNode("Eine Ebene nach oben"));
        selectBox.appendChild(optionBox2);
        
      for(var i = 0; i < kinder.length; i++){
        //option
        var kindID = kinder[i];
        var kindname = klassifHash[kindID][1];
        var optionBox = document.createElement("option");
        var optValue = document.createAttribute("value");        
        optValue.nodeValue = kindID;
        optionBox.setAttributeNode(optValue);
        
                
        var laenge = klassifID.length + 2;
        var teilstringVonVoll = '';//vollKlassif;
        if(vollKlassif.length >= klassifID.length + 2){
          teilstringVonVoll = vollKlassif.substr(0,laenge);
        }
        
        optionBox.appendChild(document.createTextNode(kindname));
        selectBox.appendChild(optionBox);
        
        
      }//for i
      
      //onChange
      //selectBox.onmouseup = shopOnchange1;
      selectBox.onchange = shopOnchange1;
      
      //Link unterste Ebene
      if(klassifID == vollKlassif){
        var link = "defaultSeite.aspx?menuid=" + menuid + "&listeKlassivNr=" + klassifID + "&step=listeKlassivNr";
        //document.getElementById('a1355').href = link;
        var linkAuswahl = buildA('a1355',link,'','');
        var ebNameX =  klassifHash[klassifID][1];
        linkAuswahl.appendChild(document.createTextNode(ebNameX + ' anzeigen'));
        divshopNaviListInner.appendChild(linkAuswahl);
        divshopNaviListInner.appendChild(document.createElement("br"));
        divshopNaviListInner.appendChild(document.createElement("br"));
      }

      return selectBox;
    }//if noKids

}//buildSelectShop

function shopNavi2(klassifID){
//fuer cache nur die ersten beiden Ziffern verwenden!
  var dieseKlassifID = klassifID.substr(0,2);
  var klassifEbene = klassifCache(dieseKlassifID);
  
    
    //inhalt shopNaviList loeschen, damit bei aktualisieren nicht doppelt:  
    var divshopNaviList = document.getElementById('shopNaviList');
    var divshopNaviListInner = document.getElementById('shopNaviListInner');  
    divshopNaviList.removeChild(divshopNaviListInner);
    divshopNaviList.appendChild(buildDiv('shopNaviListInner',''));
    divshopNaviListInner = document.getElementById('shopNaviListInner');//wieder holen
    
     
    
    //aktueller Link
    divshopNaviListInner.appendChild(document.createElement("br"));
    divshopNaviListInner.appendChild(document.createElement("br"));
    //var linkAuswahl = buildA('a1355','','','');
    //linkAuswahl.appendChild(document.createTextNode('Diese Ebene anzeigen'));
    //divshopNaviListInner.appendChild(linkAuswahl);
    //divshopNaviListInner.appendChild(document.createElement("br"));
    //divshopNaviListInner.appendChild(document.createElement("br"));
   
    //select boxen bauen
    for(var i = 0; i < klassifID.length; i = (i + 2)){
      var teilKlassifID = klassifID.substr(0,i + 2);
      //alert(anzeige);
      divshopNaviListInner.appendChild(document.createElement("br"));
      divshopNaviListInner.appendChild(document.createElement("br"));
      divshopNaviListInner.appendChild(buildSelectShop(teilKlassifID,klassifID));
    }//for i
    
    //selected setzen
    for(var i = 0; i < klassifID.length; i = (i + 2)){
    if(klassifID.length > 2){
      var teilKlassifID = klassifID.substr(0,i + 2);
      var teilKlassifID2 = klassifID.substr(0,i + 4);
      if(teilKlassifID != klassifID){
        document.getElementById('shopSel' + teilKlassifID).value = teilKlassifID2;
        }
      }
    }//for i
    
    //alert(divshopNaviListInner.innerHTML);  

}//shopNavi2

function shopHerstBericht(){
    //inhalt divshopHerstBericht loeschen, damit bei aktualisieren nicht doppelt:  
    var divshopHerstBericht = document.getElementById('shopHerstBericht');
    var divshopHerstBerichtInner = document.getElementById('shopHerstBerichtInner');  
    divshopHerstBericht.removeChild(divshopHerstBerichtInner);
    divshopHerstBericht.appendChild(buildDiv('shopHerstBerichtInner',''));
    divshopHerstBerichtInner = document.getElementById('shopHerstBerichtInner');//wieder holen
    
    menuCache();
    
    var selectBoxBeri = document.createElement("select");       
    //id
    var selID = document.createAttribute("id");
    selID.nodeValue = 'shopSelBeri';
    selectBoxBeri.setAttributeNode(selID);
    divshopHerstBerichtInner.appendChild(selectBoxBeri);
    
    for(var i = 0; i < menuArrShop.length; i++){
      var optName = menuauslesen('mapping',menuArrShop[i])[1];//name aus menueben-shop
      
      var optionBox = document.createElement("option");
      var optValue = document.createAttribute("value");        
      optValue.nodeValue = menuArrShop[i];//mapping-nr
      optionBox.setAttributeNode(optValue);
      optionBox.appendChild(document.createTextNode(optName));
      selectBoxBeri.appendChild(optionBox);
    }//for i
    
    selectBoxBeri.onchange = shopOnchangeBeri;

}// /shopHerstBericht

//schaltet Citrix rubriken(aka)
function rubrikEinblenden(ein,aus){
	for (var i = 0; i < aus.length; i++){
		if(typeof(document.getElementById(aus[i])) == 'object'){
			document.getElementById(aus[i]).style.display = 'none';
		}
		//alert(typeof(document.getElementById('citgrup' + aus[i])));
		if((typeof(document.getElementById('citgrup' + aus[i])) == 'object') && (document.getElementById('citgrup' + aus[i]) != null)){
		//alert(document.getElementById('citgrup' + aus[i]));
			//document.getElementById('citgrup' + aus[i]).style.color = 'black';
			document.getElementById('citgrup' + aus[i]).className = 'semiAKTIV2';
		}
	}
	if((typeof(document.getElementById(ein)) == 'object') &&(document.getElementById(ein) != null)){
	  document.getElementById(ein).style.display = 'inline';
	}
	if(typeof(document.getElementById('citgrup' + ein)) == 'object'){
	  //document.getElementById('citgrup' + ein).style.color = 'white';
	  document.getElementById('citgrup' + ein).className = 'semiAKTIV22';
	}
}//rubrikEinblenden