/*
Funktionsübersicht dieser Datei

 1.) SetzFocus(myObject)
 2.) strpos(str, ch)
 3.) eurprice(f)																	SINN UNKLAR - WIRD ANSCHEINEND AUCH NICHT VERWENDET
 4.) toggleUStID()
 5.) toggleLieferfelder()
 6.) applyRechAdr()
 7.) SwapImgRestore() 
 8.) SwapImage()
10.) alterError(value)																SINN UNKLAR - WIRD ANSCHEINEND AUCH NICHT VERWENDET
11.) showItems()																	ZEIGT VERMUTLICH WARENKORB AN - WIRD ANSCHEINEND AUCH NICHT VERWENDET
12.) showItemsext()																	SINN UNKLAR - WIRD VERWENDET	
13.) amendItem(itemno, newquant)
14.) removeItem(itemno) 
15.) clearBasket()
16.) clearBasket2()
17.) buyItem(newItem, newPrice, newQuantity, newKat, newWeight, maxQuantity)
18.) resetShoppingBasket()
19.) checkall(checkboxen, wert)
20.) checksach(checkboxen, sgnr)
21.) emailCheck (emailPatternString)
22.) CheckLengthSelect(feld,maxzeichen,feld1,feld2,rest)
23.) CheckLength(feld,maxzeichen,feld1,feld2,rest,feldlimit)
24.) LimitEingabe(feld,stellen,rest)
25.) ChangeTicker()
26.) PreLoadImage(aktTicker)
27.) LoadImage(aktTicker)
28.) FensterAnzeigen(das)
29.) FensterOn(das)
30.) FensterOff(das)
31.) FensterOffTimerOn(das)
32.) FensterOffTimerOff(das)
33.) $(id)
34.) selAll(idpre,start,ende,sel)
35.) EnableDisable(objekt)
36.) insertTextToId(id, text)														
37.) set_beschreibung_pos()
38.) insertTextbaustein(aTag, eTag)
39.) insertTextbausteinMasse(aTag, eTag)
40.) insertTextbaustein_direct(aTag, eTag)
41.) ZeileAusblenden(ID)
42.) setCaretPosition(ctrl, pos)
43.) AllowOnlyISBN(Ereignis)														  
44.) AllowOnlyDecimal(Ereignis) 
45.) AllowOnlyNumeric(Ereignis)
46.) AllowOnlyThis(Ereignis, Ausdruck)

Tooltip Funktionen
47.) function showit() {
48.) function showitMOZ(e) {
49.) function tagTip(text) {
50.) function unTip() {

Inputfeld-Funktionen
51.) function clearInput(id)
52.) function clearUnchanged()
53.) function resetInput(id)

Ajax-Funktionen
54.) function doRequest(cmd, request,target, startid)

*/




var forgettimer;

/*
* SetzFocus(myObject)
* Setzt den Focus auf ganz bestimmte Elemente im übergebenen Modul
* @myObject Der Modus aus der Adresszeile (z.B. massenerfassung)
* @return void
*/
function SetzFocus(myObject) 
{
	if (myObject=="massenerfassung" && document.getElementById('Gewicht')) document.getElementById('Gewicht').focus();
	if (myObject=="admin" && document.getElementById('mpass')) document.getElementById('mpass').focus();
	if (myObject=="rechnungadmin" && document.getElementById('BNr#0')) if (document.getElementById('BNr#0').type!="hidden") document.getElementById('BNr#0').focus();
}


/*
* strpos(str, ch)
* Gib die Position des gesuchten Zeichens innerhalb des Strings zurück.
* @input str Der zu durchsuchende String
* @input ch  Das zu Suchende zeichen
* @return -1 Wenn kein Treffer, sonst die Position
*/
function strpos(str, ch) 
{
	for (var i = 0; i < str.length; i++)
	if (str.substring(i, i+1) == ch) return i;
	return -1;
}

 
/*
* eurprice(f) 
* 
* @input f
* @return Formatierter Preis
*/
function eurprice(f) 
{
	f=Math.round(f*100);
	f=String(f);
	if (f.length==2) return '0,'+f;
	if (f.length==1) return '0,0'+f;

	return (f.substr(0,f.length-2))+','+f.substr(f.length-2,2);
}
 
 
/*
* toggleUStID()
* Fordert den Kunden auf, seine Umsatzsteueridentifikationsnummer zu löschen, wenn er als
* Kleinunternehmer gemeldet ist, und bereits eine Nummer eingegeben wurde.
* Außderdem wird der Kunde darauf hingewiesen, dass die Steuerverhalten der Zonen beim Speichern angepasst werden.
* @return void
*/
function toggleUStID() {
	if (document.getElementById('chbUSt').checked==true) {
	
		if (document.getElementById('editUSt').value=='') {
			document.getElementById('editUSt').readOnly=true;
			alert('Beim Überhnemen der Einstellungen werden automatisch die Steuerverhalten der Zonen angepasst.');
		} else {
			alert('Wenn Sie als Kleinunternehmer arbeiten, dann löschen Sie bitte Ihre Umsatzsteueridentifikationsnummer');
			document.getElementById('chbUSt').checked=false;
		}
	
	} else {
		document.getElementById('editUSt').readOnly=false;
	}
	
	return false;
}



/*
* toggleLieferfelder()
* Blendet Felder für abweichende Lieferadresse ein, oder aus (switch).
* @return void
*/
var sichtbar=false;
function toggleLieferfelder()
{
	sichtbar=!sichtbar;
	
	if (sichtbar==true)
	{
		wert="visible";
	} else {
		wert="hidden";
	}
	
	document.bf.lPNr.style.visibility=wert;
	document.bf.lAnrede.style.visibility=wert;
	document.bf.lTitel.style.visibility=wert;
	document.bf.lVorname.style.visibility=wert;
	document.bf.lName.style.visibility=wert;
	document.bf.lAdrzeile2.style.visibility=wert;
	document.bf.lAdrzeile3.style.visibility=wert;
	document.bf.lStrasse.style.visibility=wert;
	document.bf.lPLZ.style.visibility=wert;
	document.bf.lOrt.style.visibility=wert;
	document.bf.lLand.style.visibility=wert;
	document.bf.lEmail.style.visibility=wert;
	document.bf.lTelefon.style.visibility=wert;
	document.getElementById('applyFelder').style.visibility=wert;
}


/*
* applyRechAdr()
* Kopiert die Feldwerte der Rechnungsanschrift in die Felder der Lieferanschrift
* @return void
*/
function applyRechAdr()
{
	document.bf.lPNr.value=document.bf.PNr.value;
	document.bf.lAnrede.selectedIndex=document.bf.Anrede.selectedIndex;
	document.bf.lTitel.selectedIndex=document.bf.Titel.selectedIndex;
	document.bf.lVorname.value=document.bf.Vorname.value;
	document.bf.lName.value=document.bf.Name.value;
	document.bf.lAdrzeile2.value=document.bf.Adrzeile2.value;
	document.bf.lAdrzeile3.value=document.bf.Adrzeile3.value;
	document.bf.lStrasse.value=document.bf.Strasse.value;
	document.bf.lPLZ.value=document.bf.PLZ.value;
	document.bf.lOrt.value=document.bf.Ort.value;
	document.bf.lLand.selectedIndex=document.bf.Land.selectedIndex;
	document.bf.lEmail.value=document.bf.Email.value;
	document.bf.lTelefon.value=document.bf.Telefon.value;
}


/*
* SwapImgRestore() 
* 
* @return void
*/
function SwapImgRestore() 
{ //v2.0
  if (document.SwapImgData != null)
    for (var i=0; i<(document.SwapImgData.length-1); i+=2)
      document.SwapImgData[i].src = document.SwapImgData[i+1];
}

/*
* SwapImgRestore() 
* 
* @return void
*/
function SwapImage() 
{ //v2.0
	var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.SwapImgData;
	
	for (i=0; i < (SwapImage.arguments.length-2); i+=3) {
		objStr = SwapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
		
		if ((objStr.indexOf('document.layers[')==0 && document.layers==null) || (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
		  objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
		
		obj = eval(objStr);
		
		if (obj != null) {
		  swapArray[j++] = obj;
		  swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
		  obj.src = SwapImage.arguments[i+2];
		} 
	}
	
	document.SwapImgData = swapArray; //used for restore
}

/*
* alterError(value)
* 
* @return void
*/
function alterError(value)
{

	value=parseInt(value*100+0.5);
	if (isNaN(value) == true)
		value = eval('0');
	
	newPounds = String(value).substr(0,String(value).length-2);
	
	if (newPounds == '') {
		newPounds = '0';
	}
	
	if (isNaN(newPounds) == true)
		newPounds = eval('0');
		
	newPence = String(value).substr(String(value).length-2,2);
	
	if (isNaN(newPence) == true)
		newPence = eval('0');
		
	if (eval(newPence) <= 9) newPence='0'+newPence;
	
	if (eval(newPence) == 0) newPence='00';
	
	return(newPounds+'.'+newPence);

}



/*
* showItems() 
* Zeigt vermutlich den Warenkorb an
* @return void
*/
function showItems() 
{
	var tablerowcolor = '#F0F0F0';
	
	index = document.cookie.indexOf("TheBasket");
	countbegin = (document.cookie.indexOf("=", index) + 1);
	countend = document.cookie.indexOf(";", index);
	
	if (countend == -1) {
		countend = document.cookie.length;
	}
	
	fulllist = document.cookie.substring(countbegin, countend);
	totprice = 0;
	totsum = 0;
	tottrans = 0;
	totweight = 0;
	totkat = 0;
	document.writeln('<FORM action="bfinish.htm" target="_top">');
	document.writeln('<TABLE BORDER=0 CELLPADDING="2">');
	document.writeln('<TR BGCOLOR="#C0C0C0"><TD><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Artikel</FONT></b></TD><TD align="right"><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Menge</FONT></b></TD><TD align="right"><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Einzelpreis</FONT></b></TD><td align="right"><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Gesamtpreis</FONT></b></td></TR>');
	document.writeln('<TR BGCOLOR="F8F8F8"><TD colspan="4"><HR></TD></TR>');
	
	itemlist = 0;
	for (var i = 0; i <= fulllist.length; i++) {
		
		if (fulllist.substring(i,i+1) == '[') {
			thisitem = 1;
			itemstart = i+1;
		} else if (fulllist.substring(i,i+1) == ']') {
			itemend = i;
			theweight = fulllist.substring(itemstart, itemend);
			itemtotal = 0;
			itemtotal = (eval(theprice*thequantity));
			itemweight = (eval(theweight*thequantity));
			temptotal = itemtotal * 100;
			totprice = totprice + itemtotal;
			totweight = totweight + itemweight;
			itemlist=itemlist+1;
			
			document.write('<tr BGCOLOR="'+tablerowcolor+'"> <td><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>'+theitem+'</FONT></td>');
			document.writeln('<td align=right><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>'+thequantity+'</FONT></td><td align=right><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>'+theprice+'</FONT></td><td align=right><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>'+alterError(itemtotal)+'</FONT></td></tr>');
			document.writeln('<INPUT TYPE="hidden" NAME="BestProd#'+itemlist+'" VALUE="'+theitem+'">');
			document.writeln('<INPUT TYPE="hidden" NAME="Produkt'+itemlist+'" VALUE="'+theitem+'">');
			document.writeln('<INPUT TYPE="hidden" NAME="Gewicht'+itemlist+'" VALUE="'+theweight+'">');
			document.writeln('<INPUT TYPE="hidden" NAME="Menge'+itemlist+'" VALUE="'+thequantity+'">');
			document.writeln('<INPUT TYPE="hidden" NAME="Stückpreis'+itemlist+'" VALUE="'+theprice+'">');
			document.writeln('<INPUT TYPE="hidden" NAME="Summe'+itemlist+'" VALUE="'+alterError(itemtotal)+'">');
			
		    if (tablerowcolor == '#F0F0F0') {
		      tablerowcolor = "#F8F8F8";
		    } else {
		      tablerowcolor = "#F0F0F0";
		    }
		
		} else if (fulllist.substring(i,i+1) == '|') {
			if (thisitem==1) theitem = fulllist.substring(itemstart, i);
			if (thisitem==2) theprice = fulllist.substring(itemstart, i);
			if (thisitem==3) thequantity = fulllist.substring(itemstart, i);
			if (thisitem==4) thekat = fulllist.substring(itemstart, i);
			thisitem++;
			itemstart=i+1;
		}
	}
	
	totsum = totprice;
	tottrans = 0;
	
	if (totweight<360) { 
		tottrans = 1.45; 
	}
	else if (totweight<860) {
		tottrans = 2.00; 
	}
	else if (totweight<30000) {
		tottrans = 5.49; 
	}
	else {
		tottrans = eval(totweight / 30000 * 5.49);
	}
	
	if (totsum>300.00 && thekat==0) { tottrans = 0; }
	
	totprice = totsum + tottrans;
	
	document.writeln('<TR BGCOLOR="F8F8F8"><TD colspan="4"><HR></TD></TR>');
	document.writeln('<tr BGCOLOR="#C0C0C0"><td colspan=3><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Summe</FONT></b></td><td align=right><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>€ '+alterError(totsum)+'</FONT></b></td></tr>');
	document.writeln('<tr BGCOLOR="#C0C0C0"><td colspan=3><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Gesamtgewicht</FONT></b></td><td align=right><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>'+alterError(totweight)+' g</FONT></b></td></tr>');
	//document.writeln('<tr BGCOLOR="#C0C0C0"><td colspan=3><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>Total</FONT></b></td><td align=right><b><FONT FACE="Verdana,Arial,Helvetica" SIZE=-1>€ '+alterError(totprice)+'</FONT></b></td></tr>');
	document.writeln('<INPUT TYPE="hidden" NAME="Warenkosten" VALUE="'+alterError(totsum)+'">');
	document.writeln('<INPUT TYPE="hidden" NAME="Gesamtgewicht" VALUE="'+alterError(totweight)+'">');
	//document.writeln('<INPUT TYPE="hidden" NAME="Versandkosten" VALUE="'+alterError(tottrans)+'">');
	//document.writeln('<INPUT TYPE="hidden" NAME="Gesamtkosten" VALUE="'+alterError(totprice)+'">');
	//document.writeln('<tr><td>TEST<?php CalcVersandKosten('+alterError(totweight)+')?></td></tr>');
	document.writeln('</TABLE>');
}


/*
* showItemsext() 
* 
* @return void
*/
function showItemsext() {
	var tablerowcolor = '#F0F0F0';
	
	index = document.cookie.indexOf("TheBasket");
	countbegin = (document.cookie.indexOf("=", index) + 1);
	countend = document.cookie.indexOf(";", index);
	
	if (countend == -1) {
		countend = document.cookie.length;
	}
	
	fulllist = document.cookie.substring(countbegin, countend);
	totprice = 0;
	totsum = 0;
	tottrans = 0;
	totweight = 0;
	document.writeln('<form name="updateform">');
	document.writeln('<div align="left">');
	document.writeln('<table class="hinterlegtfull">');
	document.writeln('<tr><th class="hinterlegt">Artikel</th><th class="hinterlegt">Menge</th><th class="hinterlegt">Einzelpreis</th><th class="hinterlegt">Gesamtpreis</th><th class="hinterlegt">Aktion</th></tr>');
	
	// Nun die horizontale Linie:
	itemlist = 0;
	for (var i = 0; i <= fulllist.length; i++) {
		
		if (fulllist.substring(i,i+1) == '[') {
			itemstart = i+1;
			thisitem = 1;
		} else if (fulllist.substring(i,i+1) == ']') {
			itemend = i;
			theweight = fulllist.substring(itemstart, itemend);
			itemtotal = 0;
			itemtotal = (eval(theprice*thequantity));
			itemweight = (eval(theweight*thequantity));
			temptotal = itemtotal * 100;
			totprice = totprice + itemtotal;
			totweight = totweight + itemweight;
			itemlist=itemlist+1;
			document.write('<tr><td class="hinterlegt">'+theitem+'</td>');
			document.write('<td class="hinterlegt"><INPUT TYPE=TEXT NAME="quant'+itemlist+'" VALUE="'+thequantity+'" SIZE=3></td>');
			document.write('<td class="hinterlegt rechts">&euro; '+eurprice(theprice)+'</td>');
			document.write('<td class="hinterlegt rechts">&euro; '+eurprice(alterError(itemtotal))+'</td>');
			document.write('<td class="hinterlegt"><a href="javascript:removeItem('+itemlist+')">Entfernen</a>&nbsp;<a href="javascript:amendItem('+itemlist+',document.updateform.quant'+itemlist+'.value)">Aktualisieren</a></td></tr>');
			
			
		} else if (fulllist.substring(i,i+1) == '|') {
			if (thisitem==1) theitem = fulllist.substring(itemstart, i);
			if (thisitem==2) theprice = fulllist.substring(itemstart, i);
			if (thisitem==3) thequantity = fulllist.substring(itemstart, i);
			if (thisitem==4) thekat = fulllist.substring(itemstart, i);
			thisitem++;
			itemstart=i+1;
		}
	}
	
	totsum = totprice;
	
	document.writeln('<tr><th class="hinterlegt" colspan=3>Summe</th><td class="hinterlegt rechts">&euro; '+eurprice(alterError(totsum))+'</td></tr>');
	document.writeln('<tr><th class="hinterlegt" colspan=3>Gesamtgewicht</th><td class="hinterlegt rechts">'+Math.ceil(alterError(totweight))+' g</td></tr>');
	document.writeln('</table>');
	document.writeln('</div>');
	document.writeln('</form>');
}

/*
* amendItem(itemno, newquant) 
* Ändert die Menge des Bestellten Artikels
* @input itemno Die ID des Items
* @input newquant Die neue Menge  
* @return void
*/
function amendItem(itemno, newquant) 
{
	newItemList = null;
	itemlist = 0;

	for (var i = 0; i <= fulllist.length; i++) {
		if (fulllist.substring(i,i+1) == '[') {
			thisitem = 1;
			itemstart = i+1;
			fullstart = i+1;
		} else if (fulllist.substring(i,i+1) == ']') {
			itemend = i;
			itemlist=itemlist+1;
			theweight = fulllist.substring(itemstart, itemend);
			
			if (itemlist != itemno) {
				newItemList = newItemList+'['+fulllist.substring(fullstart, itemend)+']';
			} else {
				newItemList = newItemList + '['+theitem+'|'+theprice+'|'+newquant+'|'+thekat+'|'+theweight+']';
			}
				
		} else if (fulllist.substring(i,i+1) == '|') {
			if (thisitem==1) theitem = fulllist.substring(itemstart, i);
			if (thisitem==2) theprice = fulllist.substring(itemstart, i);
			if (thisitem==3) thequantity = fulllist.substring(itemstart, i);
			if (thisitem==4) thekat = fulllist.substring(itemstart, i);
			thisitem++;
			itemstart=i+1;
		}
	}
	index = document.cookie.indexOf("TheBasket");
	document.cookie="TheBasket="+newItemList+";expires=Tue, 2 Jun 2015 00:00:00 UTC;path=/;";
	location.reload();
}


/*
* removeItem(itemno)
* Entfernt den Artikel mit der übergebenen Itemnummer aus dem Warenkorb
* @input itemno Die ID des Items 
* @return void
*/
function removeItem(itemno) 
{
	newItemList = null;
	itemlist = 0;
	
	for (var i = 0; i <= fulllist.length; i++) {
		
		if (fulllist.substring(i,i+1) == '[') {
			itemstart = i+1;
		} else if (fulllist.substring(i,i+1) == ']') {
			itemend = i;
			theitem = fulllist.substring(itemstart, itemend);
			itemlist=itemlist+1;
			
			if (itemlist != itemno) {
				newItemList = newItemList+'['+fulllist.substring(itemstart, itemend)+']';
			}
			
		}
		
	}
	
	index = document.cookie.indexOf("TheBasket");
	document.cookie="TheBasket="+newItemList+";expires=Tue, 2 Jun 2015 00:00:00 UTC;path=/;";
	location.reload();
}

/*
* removeItem(itemno)
* Leert den Warenkorb, nach Bestätigung des Kunden
* @return void
*/
function clearBasket() 
{
	if (confirm('Möchten Sie wirklich alle Artikel aus dem Einkaufswagen entfernen?')) {
		index = document.cookie.indexOf("TheBasket");
			document.cookie="TheBasket=.";
			location.reload();
	}
}

/*
* removeItem(itemno)
* Leert den Warenkorb ohne eine Bestätigung anzufordern
* @return void
*/
function clearBasket2() {
	index = document.cookie.indexOf("TheBasket");
	document.cookie="TheBasket=.";
}


/*
* buyItem(newItem, newPrice, newQuantity, newKat, newWeight, maxQuantity)
* Legt einen neuen Artikel in den Warenkorb
* @input newItem Die ID des Artikels (Bestellnummer + Titelschnipsel)
* @input newPrice  Der Preis des Aritkels
* @input newQuantity Die Menge des Artikels
* @input newKat 
* @input newWeight Das Gewicht des Artikels
* @input maxQuantity Die Anzahl der verfügbaren Artikel
* @return void
*/
function buyItem(newItem, newPrice, newQuantity, newKat, newWeight, maxQuantity) {
	isPossible=1;
	bnrQuantity=0;
	//alert (newQuantity);
	index = document.cookie.indexOf("TheBasket");
	countbegin = (document.cookie.indexOf("=", index) + 1);
	countend = document.cookie.indexOf(";", index);
	
	if (countend == -1) {
		countend = document.cookie.length;
	}
	
	fulllist = document.cookie.substring(countbegin, countend);
	itemlist = 0;

	for (var i = 0; i <= fulllist.length; i++) {
		if (fulllist.substring(i,i+1) == '[') {
			itemstart = i+1;
			thisitem = 1;
		} else if (fulllist.substring(i,i+1) == ']') {
			itemend = i;
			itemlist=itemlist+1;
		} else if (fulllist.substring(i,i+1) == '|') {
			if (thisitem==1) theitem = fulllist.substring(itemstart, i);
			if (thisitem==2) theprice = fulllist.substring(itemstart, i);
			if (thisitem==3) thequantity = fulllist.substring(itemstart, i);
			if (thisitem==4) thekat = fulllist.substring(itemstart, i);
			if (theitem==newItem && thisitem==3)
			{
				bnrQuantity=bnrQuantity+(thequantity*1);
			}
			
			thisitem++;
			itemstart=i+1;
		}
	}
	
	if ((bnrQuantity*1)+(newQuantity*1)>maxQuantity)
	{
		alert ("Sie haben schon "+bnrQuantity+" Exemplare von \""+newItem+"\" in Ihrem Einkaufskorb.\nEs können nicht mehr als "+(maxQuantity-bnrQuantity)+" hinzugefügt werden!");
	} else {
		if (newQuantity <= 0) {
			rc = alert('Die eingegebene Menge ist inkorrekt');
		} else {
			if (confirm(newQuantity+' x '+newItem+' in den Einkaufskorb legen?')) {
				index = document.cookie.indexOf("TheBasket");
				countbegin = (document.cookie.indexOf("=", index) + 1);
				countend = document.cookie.indexOf(";", index);
				
				if (countend == -1) {
					countend = document.cookie.length;
				}
				
				var cook="TheBasket="+document.cookie.substring(countbegin, countend).toString()+"["+newItem.toString()+'|'+newPrice.toString()+"|"+newQuantity.toString()+"|"+newKat.toString()+"|"+newWeight.toString()+"];expires=Tue, 2 Jun 2015 00:00:00 UTC;path=/;";
				document.cookie=cook;
			}
		}
	}
}


/*
* resetShoppingBasket()
* Legt ein neues Cookei für den Warenkorb an, und schägt alarm,
* wenn der Kunden keinen Cookies akzeptiert
* @return void
*/
function resetShoppingBasket() {
	index = document.cookie.indexOf("TheBasket");
	document.cookie="TheBasket=.";
	
	if (document.cookie) {
	} else {
	alert('Sie haben die Verwendung von Cookies deaktiviert.\nDer Onlineshop benötigt aber unbedingt Cookies, um Ihre Bestellung zu speichern.\nBitte aktivieren Sie in Ihrem Browser die Verwendung von Cookies und laden Sie die Shopseiten neu!');
	}
}


/*
* checkall(checkboxen, wert)
* Markiert oder Demarkiert die übergebenen Checkboxen
* @input checkboxen Die Liste der zu bearbeitenden Checkboxen
* @input wert 
* @return void
*/
function checkall(checkboxen, wert)
{
	for (i=0; i<checkboxen.length; i++)
	{
		if (checkboxen[i].name.substr(0,4)=="list")
		{
			checkboxen[i].checked = wert.checked;
		}
	}
}

/*
* checksach(checkboxen, sgnr)
* Durchläuft alle übergebenen Checkboxen und Schwitcht die Checkbox, deren ID übergeben wurde
* @input checkboxen Die Liste der zu bearbeitenden Checkboxen
* @input sgnr Die ID der zu Switchenden Checkbox
* @return void
*/
function checksach(checkboxen, sgnr)
{
	for (i=0; i<checkboxen.length; i++)
	{
		if (checkboxen[i].id==sgnr)
		{
			checkboxen[i].checked = !checkboxen[i].checked;
		}
	}
}


/*
* emailCheck (emailPatternString)
* Überprüft die übergebene Email-Adresse auf Gültigkeit, und gibt Warnmeldungen an den Kunden aus,
* wenn etwas nicht stimmt.
* @input emailPatternString Die zu Prüfende Emailadresse
* @return boolean
*/
 function emailCheck (emailPatternString) {

	var emailPattern=/^(.+)@(.+)$/
	var allowedChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var allowed2Chars="\[^\\s" + allowedChars + "\]"
	var UserChars="(\"[^\"]*\")"
	var IpdomainPatternStringtern=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atomString=allowed2Chars + '+'
	var StringWord="(" + atomString + "|" + UserChars + ")"
	var UserPatternString=new RegExp("^" + StringWord + "(\\." + StringWord + ")*$")
	var domainPatternString=new RegExp("^" + atomString + "(\\." + atomString +")*$")
	var matchArray=emailPatternString.match(emailPattern)
	
	if (matchArray==null) {
		alert("Die EMail Adresse ist nicht Korrekt (@ und Punkte gesetzt?)")
		return false
	}
	
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(UserPatternString)==null) {
		alert("Der Username icht ungültig.")
		return false
	}
	
	var IPArray=domain.match(IpdomainPatternStringtern)
	
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Die IP Adresse ist ungültig!")
				return false
			}
		} 
		return true
	}
	
	var domainArrayString=domain.match(domainPatternString)
	
	if (domainArrayString==null) {
		alert("Der Domain Name ist ungültig.")
		return false
	}
	
	var atomStringPat=new RegExp(atomString,"g")
	var DomainArray=domain.match(atomStringPat)
	var len=DomainArray.length
	
	if (DomainArray[DomainArray.length-1].length<2 || DomainArray[DomainArray.length-1].length>3) {
		alert("Der Domain Name muß mit 2 oder 3 Buchstaben enden")
		return false
	}
	
	if (len<2) {
		var errString="Bitte auch den Hostnamen angeben!"
		alert(errString)
		return false
	}
}


/*
* CheckLengthSelect(feld,maxzeichen,feld1,feld2,rest)
*
* @input feld
* @input maxzeichen
* @input feld1
* @input feld2
* @input rest
* @return void
*/
function CheckLengthSelect(feld,maxzeichen,feld1,feld2,rest)
{
	maxzeichen=maxzeichen-1;
	feldzahl=maxzeichen;
	gutzahl=0;
	sel1=document.getElementById(feld1).selectedIndex;
	sel2=document.getElementById(feld2).selectedIndex;
	feldzahl=feldzahl-(document.getElementById(feld1)[sel1].text.length);
	feldzahl=feldzahl-(document.getElementById(feld2)[sel2].text.length);
	
	if (feld==feld1) NichtAktZahl=document.getElementById(feld2)[sel2].text.length;
	if (feld==feld2) NichtAktZahl=document.getElementById(feld1)[sel1].text.length;
	
	gutzahl=maxzeichen-NichtAktZahl;
	
	if (feldzahl<0)
	{
		alert("Diese Anrede - Titel - Kombination ist zu lang für das eingestellte Etikett!");
		for (i=0;i<document.getElementById(feld).options.length;i++)
		{
			if (document.getElementById(feld)[i].text.length+NichtAktZahl<maxzeichen)
			{
				document.getElementById(feld).selectedIndex=i;
				sel1=i;
				break;
			}
		}
	}
	
	feldzahl=maxzeichen;
	feldzahl=feldzahl-(document.getElementById(feld1)[sel1].text.length);
	feldzahl=feldzahl-(document.getElementById(feld2)[sel2].text.length);
	document.getElementById(rest).value=feldzahl;
}


/*
* CheckLength(feld,maxzeichen,feld1,feld2,rest,feldlimit)
*
* @input feld
* @input maxzeichen
* @input feld1
* @input feld2
* @input rest
* @input feldlimit
* @return void
*/
function CheckLength(feld,maxzeichen,feld1,feld2,rest,feldlimit)
{
	maxzeichen=maxzeichen-1;
	feldzahl=maxzeichen;
	gutzahl=0;
	feldzahl=feldzahl-(document.getElementById(feld1).value.length);
	feldzahl=feldzahl-(document.getElementById(feld2).value.length);
	
	if (feld==feld1) NichtAktZahl=document.getElementById(feld2).value.length;
	if (feld==feld2) NichtAktZahl=document.getElementById(feld1).value.length;
	
	gutzahl=maxzeichen-NichtAktZahl;
	//document.getElementById(rest).value=gutzahl;
	if (feldzahl<0) document.getElementById(feld).value=document.getElementById(feld).value.substr(0,gutzahl);

	if (feldlimit>0)
	{
		if (document.getElementById(feld1).value.length>feldlimit)
		document.getElementById(feld).value=document.getElementById(feld).value.substr(0,feldlimit);
	}
	
	feldzahl=maxzeichen;
	feldzahl=feldzahl-(document.getElementById(feld1).value.length);
	feldzahl=feldzahl-(document.getElementById(feld2).value.length);
	document.getElementById(rest).value=feldzahl;
}
 

/*
* LimitEingabe(feld,stellen,rest)
* Die Funktion überprüft, ob das Übergebene Textfeld die erlaubte Buchstabenanzahl überschreitet,
* und Schneidet den Text wenn nötig ab. Gleichzeitig kann die Anzahl der Restzeichen in einem anderen Textfeld
* ausgegeben werden.
* @input feld Das zu Prüfende Textfeld
* @input stellen Die erlaubte anzahl von Zeichen
* @input rest Das Textfeld, welches die Anzahl der restlichen Zeichen anzeigen soll
* @return void
*/
function LimitEingabe(feld,stellen,rest)
{
	feldzahl=document.getElementById(feld).value.length;
	if (feldzahl>stellen) document.getElementById(feld).value=document.getElementById(feld).value.substr(0,stellen);
	if (rest) document.getElementById(rest).value=stellen-feldzahl;
}


/*
* ChangeTicker()
* Zeigt ein neues Buch im Buchticker auf der Antiquariatsseite an.
* @return void
*/
function ChangeTicker()
{
	  //var aktTicker=(document.getElementById('BuchTickerNr').value);
	//alert (document.cookie);
	if (document.cookie.indexOf("BuchTickerNr")>=0)
	{
		index = document.cookie.indexOf("BuchTickerNr");
		countbegin = (document.cookie.indexOf("=", index) + 1);
		countend = document.cookie.indexOf(";", index);
		if (countend == -1) {
		countend = document.cookie.length;
		}
		//alert (document.cookie.substring(countbegin, countend));
		var aktTicker=Number(document.cookie.substring(countbegin, countend));
	}
	else
	{
		var aktTicker=0;
	}
	
	var TickerCount=(document.getElementById('BuchTickerCount').value);
	if (Number(aktTicker)>Number(TickerCount)) aktTicker=0;
	
	LoadImage(aktTicker);
	
	var longstring=document.getElementById('BuchTickerLoad#'+aktTicker).value;
	var broken=longstring.split("|");
	
	setContent("id", "BuchTickerAutor", null, broken[0]);
	setContent("id", "BuchTickerTitel", null, broken[1]);
	setContent("id", "BuchTickerPreis", null, broken[2]+" €");
	setContent("id", "BuchTickerBNr", null, broken[3]);
	
	document.forms['TickerBestellung'].elements['BTBNr'].value=broken[3];
	document.forms['TickerBestellung'].elements['BTGewicht'].value=broken[4];
	document.forms['TickerBestellung'].elements['BTPreis'].value=broken[5];
	aktTicker=(Number(aktTicker)+1);
	
	
	if (Number(aktTicker)>Number(TickerCount)) aktTicker=0;
	
	PreLoadImage(aktTicker);
	
	document.cookie="BuchTickerNr="+aktTicker;
	//document.getElementById('BuchTickerNr').value=aktTicker;
	setTimeout("ChangeTicker()",10000);
}


/*
* PreLoadImage(aktTicker)
* Läd das Bild für den Buckticker in ein Array, für die schnellere Anzeige
* @input aktTicker Die Nummer
* @return void
*/
function PreLoadImage(aktTicker)
{
	var longstring=document.getElementById('BuchTickerLoad#'+aktTicker).value;
	var broken=longstring.split("|");
	var buch;
	bnr=broken[4];
	pfad=broken[6];
	
	if (document.forms['TickerBestellung'])
	{
		document.images['preloadpic'].src=pfad;
	}
}



/*
* LoadImage(aktTicker)
* Läd das Bild für den Buckticker aus der Liste der Preloaded Images
* @input aktTicker Die Nummer
* @return void
*/
function LoadImage(aktTicker)
{
	var longstring=document.getElementById('BuchTickerLoad#'+aktTicker).value;
	var broken=longstring.split("|");
	var buch;
	bnr=broken[4];
	pfad=broken[6];
	
	if (document.forms['TickerBestellung'])
	{
		//if (pfad!=document.forms['TickerBestellung'].elements['PicPath'].value)
		//{
		buchbild=new Image();
		buchbild.src = pfad;
		//alert (buchbild.fileSize);
		if (buchbild.width<0) {
			buchbild.src = "bilder/empty.gif";
			document.images['buchbild'].width=0;
			document.images['buchbild'].height=0;
		} else {
			document.images['buchbild'].width=(180/buchbild.width)*buchbild.width;
			document.images['buchbild'].height=(180/buchbild.width)*buchbild.height;
			if (buchbild.width<document.images['buchbild'].width) document.images['buchbild'].width=buchbild.width;
			if (buchbild.height<document.images['buchbild'].height) document.images['buchbild'].height=buchbild.height;
		}
		
		document.forms['TickerBestellung'].elements['PicPath'].value=pfad;
		if (document.buchbild) document.images['buchbild'].src=buchbild.src;
		delete buchbild;
		//}
	}
}


/*
* FensterAnzeigen(das)
* Zeigt das Übergebene Element an, oder blednet es aus
* @input das Die ID des Elements
* @return void
*/
function FensterAnzeigen(das){
	if(document.getElementById(das).style.display=='none')
		document.getElementById(das).style.display='block';
	else document.getElementById(das).style.display='none';
}


/*
* FensterOn(das)
* Zeigt das Übergebene Element an, und setzt einen Forgettimer=1
* @input das Die ID des Elements
* @return void
*/
function FensterOn(das){
	forgettimer=1;
	document.getElementById(das).style.display='block';
}

/*
* FensterOff(das)
* Blendet das Übergebene Element aus, und setzt den Forgettimer=0
* @input das Die ID des Elements
* @return void
*/
function FensterOff(das){
	forgettimer=0;
	document.getElementById(das).style.display='none';
}

/*
* FensterOff(das)
* Zeigt das Übergebene Element an
* @input das Die ID des Elements
* @return void
*/
function FensterOffTimerOn(das)
{
	forgettimer=0;
	setTimeout ("FensterOffTimerOff('"+das+"')",100);
}

/*
* FensterOffTimerOff(das)
* Blendet das Element mit der übergebenen ID aus,
* wenn der Forgettimer=0 ist
* @input das Die ID des Elements
* @return void
*/
function FensterOffTimerOff(das)
{
	if (forgettimer==0) FensterOff(das);
}


/*
* $(id)
* Gibt das Element mit der übergebenen ID zurück.
* @input id Die ID des Elements
* @return Element
*/
function $(id)
{
	return document.getElementById(id);
}

/*
* selAll(idpre,start,ende,sel)
* Markiert oder Demarkiert, eine Bestimmte Anzahl an Elementen
* beginnend bei einer bestimmten ID. 
* @input idpre Die ID des Startelements
* @input start Der Counterstart
* @input ende Das Counterende
* @input sel Der CheckWert
* @return void
*/
function selAll(idpre,start,ende,sel)
{
	for (i=start;i<ende;i++)
	{
		$(idpre+i).checked=sel;
	}
}


/*
* EnableDisable(objekt)
* Switcht das Element mit der Angegebenen ID zwische Enabled und Disabled
* @input objekt Die ID des Elements
* @return void
*/
function EnableDisable(objekt){
	if ($(objekt).disabled)
		$(objekt).disabled = false;
	else  
		$(objekt).disabled = true;		 
}


/*
* insertTextToId(id, text)
* 
* @input id
* @input text
* @return void
*/
function insertTextToId(id, text) 
{
	var input = $(id);
	aTag=text;
	eTag='';
	input.focus();
	/* für Internet Explorer */
	
	if(typeof document.selection != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;
		/* Anpassen der Cursorposition */
		range = document.selection.createRange();
		if (insText.length == 0) {
		range.move('character', -eTag.length);
		} else {
		range.moveStart('character', aTag.length + insText.length + eTag.length);      
		}
		range.select();
	}
	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		var pos;

		if (insText.length == 0) {
			pos = start + aTag.length;
		} else {
			pos = start + aTag.length + insText.length + eTag.length;
		}
		
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	/* für die übrigen Browser */
	else
	{
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		
		while(!re.test(pos)) {
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}
		
		if(pos > input.value.length) {
			pos = input.value.length;
		}
		
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}



/*
* set_beschreibung_pos()
* 
* @return void
*/
function set_beschreibung_pos(id)
{
	if (!id) id="Beschreibung";
	bst = $(id);
	bl = bst.value.length;
	setCaretPosition(bst,bl);
}


/*
* insertTextbaustein(aTag, eTag)
* 
* @return void
*/
function insertTextbaustein(aTag, eTag, id) 
{
	if (!id) id="Beschreibung";
  var input = $(id);
  input.focus();
  insertTextbaustein_direct(aTag, eTag, id);
}

/*
* insertTextbausteinMasse(aTag, eTag)
* 
* @return void
*/
function insertTextbausteinMasse(aTag, eTag, id) 
{
 	if (!id) id="Beschreibung";
	 var input = $(id);
  input.focus();
  set_beschreibung_pos(id);
  insertTextbaustein_direct(aTag, eTag, id);
  resetfocus();
}


/*
* insertTextbaustein_direct(aTag, eTag)
* 
* @return void
*/
function insertTextbaustein_direct(aTag, eTag, id) {
	if (!id) id="Beschreibung";
  var input = $(id);
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


/*
* ZeileAusblenden(ID)
* Blendet eine Tabellenzeile aus oder ein
* @input ID Die ID der Zeile
* @input Art Die Art der Ein/asublendung (switch, einblenden, ausblenden)  
* @return void
*/
function ZeileAusblenden(ID, Art){ 
        
		ptr = document.getElementById( ID); 
        
		if (typeof(Art)=="undefined") {
			ptr.style.display=(ptr.style.display=="none") ? "table-row" : "none";
		} else if (Art=="einblenden") {
			ptr.style.display="table-row";
		} else if (Art=="ausblenden") {
			ptr.style.display= "none";
		}


} 

var zeileStatus = new Object();
function toggleZeile(id)
{
	if (zeileStatus[id]>0)
	{
		ZeileAusblenden(id,'ausblenden');
		zeileStatus[id]=0; 
		$('pfeil'+id).src = "http://www.guthschrift-systems.com/bilder/pfeildown.png";
	} else {
		ZeileAusblenden(id,'einblenden');
		zeileStatus[id]=1; 
		$('pfeil'+id).src = "http://www.guthschrift-systems.com/bilder/pfeilup.png";
	}
}


/*
* setCaretPosition(ctrl, pos)
* We set the caret position, even in selection cases, with the values returned by getCaretPosition()
* @input ctrl
* @input pos 
* @return void
*/
function setCaretPosition(ctrl, pos){
	if(ctrl.setSelectionRange)
	{
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}
	else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

/*
* AllowOnlyISBN(Ereignis)
* Diese Funktion muss über das KeyDown-Event einer Textbox aufgerufen werden, und sichert zu,
* Dass das Textfeld nur Zahlen und x,X enthält.
* @input Ereignis Hier ist immer 'event' anzugeben 
* @return Text
*/
function AllowOnlyISBN(Ereignis) {
  	return !!AllowOnlyThis(Ereignis,/[0123456789xX\b\t]/)
}


/*
* AllowOnlyDecimal(Ereignis)
* Diese Funktion muss über das KeyDown-Event einer Textbox aufgerufen werden, und sichert zu,
* Dass das Textfeld nur Zahlen , enthält.
* @input Ereignis Hier ist immer 'event' anzugeben 
* @return Text
*/
function AllowOnlyDecimal(Ereignis) {
  	return !!AllowOnlyThis(Ereignis,/[0123456789,\b\t,]/)
}


/*
* AllowOnlyDecimal(Ereignis)
* Diese Funktion muss über das KeyDown-Event einer Textbox aufgerufen werden, und sichert zu,
* Dass das Textfeld nur Zahlen enthält. 
* @input Ereignis Hier ist immer 'event' anzugeben 
* @return Text
*/
function AllowOnlyNumeric(Ereignis) {
	return !!AllowOnlyThis(Ereignis,/[0123456789\b\t]/)
}


/*
*  AllowOnlyThis(Ereignis, Ausdruck)
* Diese Funktion muss über das KeyDown-Event einer Textbox aufgerufen werden, und sichert zu,
* Dass das Textfeld nur die Zeichen des regulären Ausdrucks enthält 
* @input Ereignis Hier ist immer 'event' anzugeben 
* @input Ausdruck ein Regulärer Ausdruck.
* @return Text
*/
function AllowOnlyThis(Ereignis, Ausdruck) {
 
 
  var keyCode2 = Ereignis.keyCode ? Ereignis.keyCode : Ereignis.which;

  //alert(Ereignis.modifiers);
  
  if ((keyCode2==13) 	// Enter
  	|| (keyCode2==37)	// Links
  	||(keyCode2==39)	// Rechts
  	||(keyCode2==35)	// End
  	||(keyCode2==36)	// Home 
  	||(keyCode2==46)) {	// Entf
	  
	   		return(true);
      
  } else if (keyCode2>=96 && keyCode2<=105) {	// Nummernblock
  		return true;
  } else {
  	return !!String.fromCharCode(keyCode2).match(Ausdruck)
  }
  
 

}


function showit() {
if(drag) {
    window.setTimeout('showitMOZ(e)',10);
  document.getElementById('block').style.display='block';
  document.getElementById('block').innerHTML = distext;
  document.getElementById('block').style.left = event.x + 5 + "px";
  document.getElementById('block').style.top = event.y + 5 + "px";
}
}

function showitMOZ(e) {
if(drag) {
  document.getElementById('block').style.display='block';
  document.getElementById('block').innerHTML = distext;
  document.getElementById('block').style.left = e.pageX + 5 + "px";
  document.getElementById('block').style.top = e.pageY  + 5 + "px";
}
}

function tagTip(text) {
distext = text;
drag = true;
if (!document.all) {
  window.onmousemove=showitMOZ;
} else {
  document.onmousemove=showit;
}
}
function unTip() {
  document.getElementById('block').style.display='none';
  drag = false;
}

var LastId = 0;
var Unchanged = new Array();
function clearInput(id)
{
	if ($(id)==null) return;
	if (LastId != 0 && LastId != id)
	{
		resetInput(LastId);
	}
	
	LastId = id;

	if (!Unchanged[id]) return; 
	$(id).value="";
	$(id).style.color="#000";
	$(id).style.fontStyle="normal";
	Unchanged[id]=0;
}

function clearUnchanged()
{
	for (var i = 0; i<Felder.length; i++)
	{
		LastId = 0;
		clearInput(Felder[i]);
	}
}

function resetInput(id)
{
	if ($(id)==null) return;
	if ($(id).value == "")
	{
		Unchanged[id] = 1;
		$(id).value = FeldNamen[id];
		$(id).style.color = "#555";
		$(id).style.fontStyle = "italic";
	}
}


function toggleValue(id, value)
{
	if ($(id).value == "")
	{
		$(id).value=value;
		$(id+"icon").src = "http://www.guthschrift-systems.com/bilder/icon_sticky_in.png";
	} else {
		$(id).value="";
		$(id+"icon").src = "http://www.guthschrift-systems.com/bilder/icon_sticky.png";
	}
}


function CheckEingabe(show)
{
  isfehler=0;
  fehler="Folgende Fehler sind bei der Adresseingabe aufgetreten:\n\n";
  if (show=="neukunde")
  {
    if (document.getElementById('Email').value)
    {
      if (strpos(document.getElementById('Email').value,'@')<0) {
        isfehler=1; fehler=fehler+"- Ungültige Email-Adresse\n"; }
    }
    if (document.getElementById('Land').value<=0) {
        isfehler=1; fehler=fehler+"- Ungültiges Land\n"; }
    if (document.getElementById('Name').value.length<1) {
        isfehler=1; fehler=fehler+"- Ungültiger Name\n"; }
  }

  if (isfehler>0) {
    alert (fehler); return false; }
  return true;
}

function setCaretToEnd (el) {
  if (el.createTextRange) {
    el.focus();
    el.value += ' ';
    el.value = el.value.substr(0,el.value.length-1);
  }
}

  function textboxSelect (oTextbox, iStart) {
   switch(arguments.length) {
       case 1:
           oTextbox.select();
           break;

       case 2:
           //oRange.move("character",2);
           //oRange.text="g";
           //oRange.selectionStart=3;
           //oRange.selectionEnd=4;
           var oRange = oTextbox.createTextRange();
	  oRange.moveStart("character",iStart);
	  oRange.moveEnd("character",iStart);
           oRange.scrollIntoView();
           oRange.select();
           insertAtEnd(oTextbox,"g");
   }
  }

  function ShowNewPNr()
  {
    document.getElementById('NPNrTab').style.visibility="visible";
    document.getElementById('Anrede').style.visibility="visible";
    document.getElementById('Titel').style.visibility="visible";
    document.getElementById('Name').style.visibility="visible";
    document.getElementById('Vorname').style.visibility="visible";
    document.getElementById('Strasse').style.visibility="visible";
    document.getElementById('Land').style.visibility="visible";
    document.getElementById('PLZ').style.visibility="visible";
    document.getElementById('Ort').style.visibility="visible";
    document.getElementById('Telefon').style.visibility="visible";
    document.getElementById('Email').style.visibility="visible";
    document.getElementById('Adrzeile2').style.visibility="visible";
    document.getElementById('Adrzeile3').style.visibility="visible";
    document.getElementById('NPNrFillIn1').style.visibility="visible";
    document.getElementById('NPNrFillIn2').style.visibility="visible";
    document.getElementById('NPNrFillIn3').style.visibility="visible";
    document.getElementById('OpenNewPNr').style.visibility="hidden";
  }

  function SearchP(Shown)
  {
    SearchStr=document.getElementById('PersSearch').value;
    myDaten="";
    myDaten=myDaten+document.getElementById('PNr').value+"|";
    myDaten=myDaten+document.getElementById('LNr').value+"|";
    myDaten=myDaten+document.getElementById('Textkopf').value+"|";
    myDaten=myDaten+document.getElementById('Textfuss').value+"|";
    myDaten=myDaten+document.getElementById('AnzBPos').value+"|";
    myDaten=myDaten+document.getElementById('Lieferausnahme').checked+"|";
    myDaten=myDaten+document.getElementById('BestPF').value+"|";
    myDaten=myDaten+document.getElementById('email').value+"|";
    myDaten=myDaten+document.getElementById('lemail').value+"|";
    myDaten=myDaten+document.getElementById('RechnungZuLiefer').checked;
    if (SearchStr.length>=4 && Shown==0)
    {
      location.href="?modus=rechnungadmin&action=rechpsearch&searchstr="+SearchStr+"&Daten="+myDaten;
    }
    if (SearchStr.length<4 && Shown==1)
    {
      location.href="?modus=rechnungadmin&action=rechpsearch&searchstr2="+SearchStr+"&Daten="+myDaten;
    }
    if (SearchStr.length>4 && Shown==1)
    {
      MaxRes=document.getElementById('SearchRes').options.length;
      for (i=0; i < MaxRes; i++) {
        Element=document.getElementById('SearchRes').options[i];
        //alert (Element.value.substring(0,SearchStr.length));
        //document.getElementById('PNr').value=SearchStr.toUpperCase();
        if (Element.value.substring(0,SearchStr.length).toUpperCase()==SearchStr.toUpperCase())
        {
          document.getElementById('SearchRes').options[i].selected=true;
          i=MaxRes;
        }
      }
    }
  }

  function UpdatePNr()
  {
    ElementID=document.getElementById('SearchRes').selectedIndex;
    Element=document.getElementById('SearchRes').options[ElementID].value;
    //alert (Element);
    for (i=0; i<Element.length;i++)
    {
      Ziff=Element.substring(i,(i+1));
      //alert("Ziff "+i+": "+Ziff);
      if (Ziff=="#")
      {
        PNr=Element.substring(i+1,Element.length);
        //alert ("PNr: "+PNr);
        if (document.getElementById('NrZiel1').checked)
          document.getElementById('PNr').value=PNr;
        else
          document.getElementById('LNr').value=PNr;
      }
    }
  }


function updatedoJS()
{
  myexecute = $('doJS').value;
  eval(myexecute);
	
}

function doRequest(cmd, request,target)
{
	if (request==null) request='';
	new Ajax.Request('ajaxcall.php',
	  {
		method:'post',
		parameters:'?call='+String(cmd)+request,
		onSuccess: function(transport){
		  var response = transport.responseText || "";
		  if (target!=null)
		  {
			  $(target).innerHTML=response;
			  window.setTimeout("updatedoJS()", 3000);			  
		  }
		},
		onFailure: function(){ alert('Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut. Starten Sie ggfls. Ihren Browser neu.') }
	  });
}

