/*
--------------------------------------------------
shop to date 3

Autor:    Thomas Müller
          MultiMüller GmbH
Datei:    shop2date.js
Funktion: JavaScript-Funktionen
--------------------------------------------------
*/

// Klassen

function classProduct() {
	this.uid="";
	this.id="";
	this.quantity=0;
	this.caption="";
	this.price=0;
	this.originalprice=-1;
	this.vat=0;
	this.url="";
	this.unit="";
	this.noship="";
	this.weight=0;
	this.actualpriceone=0;
	this.actualpriceall=0;
	this.rebatefrom=new Array;
	this.rebateprice=new Array;
	this.status=0;
	this.minimum=0;
	this.maximum=0;
	this.variationa="";
	this.variationb="";
}

function classVariation() {
	this.id="";
	this.price=0;
	this.originalprice=-1;
	this.weight=0;
	this.rebatefrom=new Array;
	this.rebateprice=new Array;
	this.status=0;
}

function classShippingMethod() {
	this.uid="";
	this.caption="";
	this.info="";
	this.vat=0;
	this.free=0;
	this.price=new Array;
	this.weight=new Array;
	this.actualprice=0;
}

function classPaymentMethod() {
	this.uid="";
	this.caption="";
	this.info="";
	this.pregateway="";
	this.postgateway="";
	this.email="";
	this.price=0;
	this.vat=0;
	this.free=0;
	this.actualprice=0;
	this.noship=0;
	this.parameter=new Array;
	this.version=0;
}
	

function classVat() {
	this.percent=0;
	this.amount=0;
}

// Funktionen

function sortVat(a,b) {	
// Sortier-Funktion für Prozent
	
	return a.percent-b.percent;
}

function toInt(value) {
// Einen Strin in Null umwandel, NaN umgehen

	if (isNaN(value)) {
		return 0;
	}
	else {
		return parseInt(value);
	}
}

function format(num) {
// Als Währung formatieren
	
	num = Math.round(num*100);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+"."+num.substring(num.length-(4*i+3));
	return (num + "," + cents);
}

function formatweight(num) {
// Als Gewicht formatieren
	
	num = Math.round(num*1000);
	cents = num%1000;
	num = Math.floor(num/1000).toString();
	cents="000"+cents.toString();
	cents=cents.substr(cents.length-3,cents.length);
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+"."+num.substring(num.length-(4*i+3));
	return (num + "," + cents);
}

function htmlChars(myText) {
// Entfernt böse HTML-Zeichen

	myText=myText.replace(/&/g,"&amp;");
	myText=myText.replace(/"/g,"&quot;");
	myText=myText.replace(/'/g,"&#039;");
	myText=myText.replace(/</g,"&lt;");
	myText=myText.replace(/>/g,"&gt;");
	return myText;
}

function iclearChars(myText) {
// Entfernt böse Zeichen für iClear

	myText=myText.replace(/&/g," ");
	myText=myText.replace(/"/g," ");
	myText=myText.replace(/'/g," ");
	myText=myText.replace(/:/g," ");
	myText=myText.replace(/#/g," ");
	myText=myText.replace(/%/g," ");
	return myText;
}


function setCookie(myvalue) {
// Einen Cookie setzen
	var expires= new Date();
	expires.setFullYear(expires.getFullYear()+1);
	document.cookie="s2dm="+escape(myvalue)+"; expires="+expires.toGMTString()+"; path=/";
}

function getCookie() {
// Einen Cookie lesen
	var pos=document.cookie.indexOf("s2dm=");
		
	if (pos != -1) {
		var start=pos+5;
		var ende=document.cookie.indexOf(";", start);

		if (ende == -1) ende = document.cookie.length;
		var myvalue=document.cookie.substring(start, ende);
	
		myvalue=unescape(myvalue)
		return myvalue;
	} 
}

function setMemo(mycaption, myurl) {
// Dem Merkzetteln einen Eintrag hinzufügen
	
	var myvalue=new String();
	var mymemo=getMemo();
	var mymax;
		
	myvalue=myurl+"|||"+mycaption;
	
	mymax=mymemo.length;
	if (mymax>9) mymax=9;
	
	for (i=0;i<mymax;i++) {
		if (mymemo[i][0]!=myurl) {
			myvalue+="||||"+mymemo[i][0]+"|||";
			myvalue+=mymemo[i][1];
		}
	}
			
	setCookie(myvalue);
}

function getMemo() {
// Den Array mit dem Merkzettel liefern

	var mymemo = new Array();
	var myvalue = getCookie();
		
	if (myvalue != null && myvalue !="") {
		mymemo=myvalue.split("||||");
		for (i=0;i<mymemo.length;i++) {
			mymemo[i]=mymemo[i].split("|||");
		}
	}
	return mymemo;
}

function clearCookie() {
	
	if (confirm("Wollen Sie Ihren Merkzettel wirklich löschen?")) {
		setCookie("");
		location.reload()
	}

}

function memoShow() {
// Den Merkzetteln anzeigen

	var mymemo=getMemo();
	
	if (mymemo.length==0) {
		document.write("<p>Es befinden sich keine Produkte auf Ihrem Merkzettel.</p>");
	} else {
		document.write("<table width='100%' cellpadding='2'>");
		for (i=0;i<mymemo.length;i++) {
			document.write("<tr><td align='left' class='s2d'>");
			document.write("<a class='s2d' href='"+mymemo[i][0]+"'>");
			document.write(mymemo[i][1]);
			document.write("</td></tr>");
		}
		document.write("<tr>");		
		document.write("<td class='s2d' align='right'><br><a href='#' onclick='clearCookie();return false;'><img src='images/pbclmemo.gif' width='160' height='29' alt='' border='0'></a></td>");
		document.write("</table>");	
		document.write("<p><br>Auf dem Merkzettel können Sie Artikel unverbindlich vormerken, um sich diese bei einem späteren Besuch des Shops nochmals anzusehen. Klicken Sie auf einen Eintrag, um ihn anzuzeigen. Damit der Merkzettel funktioniert, müssen Sie Cookies aktiviert haben.</p>");	
	}
}

function addMemo(myproduct, myurl) {
// Merken

	var mymessage="Das Produkt \"[c]\" wurde auf Ihrem Merkzettel eingetragen.";
	mymessage=mymessage.replace(/\[c\]/g,myproduct);
	alert(mymessage);
	setMemo(myproduct, myurl);
}

function basketPut(myproduct, myquantity) {
// Ins Körbchen legen
	
	var found;
	var i;
	var message;
	
	myquantity=toInt(myquantity);
	
	// Lieferbar?
	
	if (myproduct.status==0) {
		alert("Die von Ihnen gewählte Variante ist nicht lieferbar. Bitte wählen Sie eine andere Kombination von Eigenschaften.");
	}
	else {
		// Nicht null!
		if (myquantity<=0) {
			alert("Bitte geben Sie eine gültige Anzahl ein.");
		}
		else {
			message="Wollen Sie [n] [u] \"[c]\" in den Warenkorb legen?";
			message=message.replace(/\[n\]/,myquantity);
			message=message.replace(/\[u\]/,myproduct.unit);
			message=message.replace(/\[c\]/,myproduct.caption);
	
			if (confirm(message)) {
				found=-1
				for (var i=0; i<parent.basket.length; i++) {
					if ((parent.basket[i].uid==myproduct.uid) && (parent.basket[i].variationa==myproduct.variationa) && (parent.basket[i].variationb==myproduct.variationb)) {
						found=i;
					}
				}
				if (found==-1) {
					found=parent.basket.length;
					parent.basket[found]=new classProduct;
				}
				parent.basket[found].quantity+=parseFloat(myquantity);
				parent.basket[found].uid=myproduct.uid;
				parent.basket[found].id=myproduct.id;
				parent.basket[found].unit=myproduct.unit;
				parent.basket[found].caption=myproduct.caption;
				parent.basket[found].price=myproduct.price;
				parent.basket[found].vat=myproduct.vat;
				parent.basket[found].weight=myproduct.weight;
				parent.basket[found].url=myproduct.url;
				parent.basket[found].noship=myproduct.noship;
				parent.basket[found].minimum=myproduct.minimum;
				parent.basket[found].maximum=myproduct.maximum;
				parent.basket[found].variationa=myproduct.variationa;
				parent.basket[found].variationb=myproduct.variationb;
			
				for (var i=1;i<=5;i++) {
					parent.basket[found].rebatefrom[i]=myproduct.rebatefrom[i];
					parent.basket[found].rebateprice[i]=myproduct.rebateprice[i];
				}
			
				// Maximum und Minumum checken
				if ((parent.basket[found].quantity>parent.basket[found].maximum) && (parent.basket[found].maximum!=0)) {
					message="Die Höchstbestellmenge des Produktes \"[c]\" beträgt [n] [u] - die Bestellmenge wurde automatisch angepasst.";
					message=message.replace(/\[n\]/,parent.basket[found].maximum);
					message=message.replace(/\[u\]/,parent.basket[found].unit);
					message=message.replace(/\[c\]/,parent.basket[found].caption);
					alert(message);
					parent.basket[found].quantity=parent.basket[found].maximum;
				}
				if ((parent.basket[found].quantity<parent.basket[found].minimum) && (parent.basket[found].minimum!=0)) {
					message="Die Mindestbestellmenge des Produktes \"[c]\" beträgt [n] [u] - die Bestellmenge wurde automatisch angepasst.";
					message=message.replace(/\[n\]/,parent.basket[found].minimum);
					message=message.replace(/\[u\]/,parent.basket[found].unit);
					message=message.replace(/\[c\]/,parent.basket[found].caption);
					alert(message);
					parent.basket[found].quantity=parent.basket[found].minimum;
				}
			}
		}
	}
}
	
function basketShow() {
// Körbchen anzeigen

	var sum,i,j,found,vatsum;
	var vat = new Array;
	
	sum=0;
	vatsum=0;
		
	for (i=0;i<parent.basket.length;i++) {
		sum+=parent.basket[i].quantity;
	}
	
	updateActualPrice();
	
	if (sum==0)	{
		// leer
		
		document.write("<p>Der Warenkorb ist leer</p>");
	}
	else {
		// Überschrift zeigen
	
		sum=0;
		document.write("<form name='basketform' onsubmit='reCalc();location.reload();return false;'>");
		document.write("<table width='100%' cellpadding='2'>");
		document.write("<tr>");
		document.write("<td align='left' colspan='3' class='s2d'><strong>Anzahl</strong></td>");
		document.write("<td width='100%' class='s2d'><strong>Bezeichnung</strong></td>");
				document.write("<td nowrap align='right' class='s2d'><strong>Einzelpreis</strong></td>");
		document.write("<td nowrap align='right' class='s2d'><strong>Gesamtpreis</strong></td>");
		document.write("</tr>");
		document.write("<tr>");
		
		// Positionen
		
		for (i=0;i<parent.basket.length;i++) {
			if (parent.basket[i].quantity!=0) {
				document.write("<tr>");
				document.write("<td><a href='#' onclick='deleteItem("+i+");return false;'><img src='images/ptrsh.gif' width='12' height='16' alt='' border='0'></a></td>");
				document.write("<td><input type='text' class='s2d' size='3' maxlength='5' value='"+parent.basket[i].quantity+"' name="+i+"></td>");
				document.write("<td class='s2d'>"+htmlChars(parent.basket[i].unit)+"&nbsp;</td>");
				document.write("<td width='100%' class='s2d'><a class='s2d' href='"+parent.basket[i].url+"'>"+htmlChars(parent.basket[i].caption)+"</a></td>");
								document.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceone)+" EUR</td>");
				document.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceall)+" EUR</td>");
				document.write("</tr>");
				sum+=parent.basket[i].actualpriceall;
				
				// Ust rechnen
				
				addVat(vat,parent.basket[i].vat,parent.basket[i].actualpriceall);
				
			}
		}
		
		// Abstand
		document.write("<tr>");
					document.write("<td colspan='6' align='left' class='s2d'></td>");		
				document.write("</tr>");
		
		// USt. ausgeben
		vat.sort(sortVat);
		
					
			// Ust
		
			for (i=0;i<vat.length;i++) {
				document.write("<tr>");
				document.write("<td colspan='5' align='right' class='s2d'>"+vat[i].percent+"% USt.:</td>");
				document.write("<td nowrap align='right' class='s2d'>"+format(vat[i].amount)+" EUR</td>");
				document.write("</tr>");
			}	
			
			// Endbetrag
			
			document.write("<tr>");
						document.write("<td colspan='4' align='left' class='s2d'><input type='image' name='calc' src='images/prcb.gif' border='0' onclick='reCalc();location.reload();return false;'></td>");
						document.write("<td align='right' class='s2d'><strong>Endsumme:</strong></td>");
			document.write("<td nowrap align='right' class='s2d'><strong>"+format(sum)+" EUR</strong></td>");
			document.write("</tr>");
				
		// Navigation
		
		document.write("</table>");
		document.write("</form>");
	
		document.write("<table width='100%' cellpadding='2'>");
		document.write("<tr>");		
		document.write("<td align='left'><a href='./index.html'><img src='images/psmb.gif' width='160' height='29' alt='' border='0'></a></td>");
		document.write("<td align='right'><a onclick='reCalc();return true;' href='s2dship.html'><img src='images/pcob.gif' width='160' height='29' alt='' border='0'></a></td>");
		document.write("</tr>");		
		document.write("</table>");	
	}
}

function addVat(vat,rate,price) {
// USt addieren
	
	var j,found;
	
	if ((rate!=0) && (price!=0)) {

		found=-1;
		for (j=0;j<vat.length;j++) {
			if (vat[j].percent==rate) {
				found=j;
			}
		}
					
		if (found==-1) {
			found=vat.length;
			vat[found]=new classVat;
			vat[found].percent=rate;
			vat[found].amount=0;
		}				
					vat[found].amount+=price/(100+rate)*rate;
			}
}

function updateActualPrice() {
// Tatsächliche Preise im Korb aktualisieren

	for (var i=0;i<parent.basket.length;i++) {
		parent.basket[i].actualpriceone=parent.basket[i].price;
		
		// Rabattstaffel erreicht?
		
		for (var j=0;j<=5;j++) {
			if (parent.basket[i].rebatefrom[j]!=0) {
				if ((parent.basket[i].quantity)>=(parent.basket[i].rebatefrom[j])) {
					parent.basket[i].actualpriceone=parent.basket[i].rebateprice[j];
				}
			}
		}
		
		parent.basket[i].actualpriceall=parent.basket[i].actualpriceone*parent.basket[i].quantity;
	}
	
}

function reCalc() {
// Korb anhand Formular aktualisieren

	var j,i,message;

	for (i=0;i<document.basketform.elements.length;i++) {
		if (document.basketform.elements[i].type=="text") {
			j=parseInt(document.basketform.elements[i].name);
			parent.basket[j].quantity=Math.abs(toInt(document.basketform.elements[i].value));
			
			// Minumum und Maximum
			if ((parent.basket[j].quantity>parent.basket[j].maximum) && (parent.basket[j].maximum!=0) && (parent.basket[j].qunatity!=0)) {
				message="Die Höchstbestellmenge des Produktes \"[c]\" beträgt [n] [u] - die Bestellmenge wurde automatisch angepasst.";
				message=message.replace(/\[n\]/,parent.basket[j].maximum);
				message=message.replace(/\[u\]/,parent.basket[j].unit);
				message=message.replace(/\[c\]/,parent.basket[j].caption);
				alert(message);
				parent.basket[j].quantity=parent.basket[j].maximum;
			}
			if ((parent.basket[j].quantity<parent.basket[j].minimum) && (parent.basket[j].minimum!=0) && (parent.basket[j].qunatity!=0)) {
				message="Die Mindestbestellmenge des Produktes \"[c]\" beträgt [n] [u] - die Bestellmenge wurde automatisch angepasst.";
				message=message.replace(/\[n\]/,parent.basket[j].minimum);
				message=message.replace(/\[u\]/,parent.basket[j].unit);
				message=message.replace(/\[c\]/,parent.basket[j].caption);
				alert(message);
				parent.basket[j].quantity=parent.basket[j].minimum;
			}

		}
	}
}

function deleteItem(id) {
// Element aus Korb entfernen

	var message;
	
	message="Wollen Sie das Produkt \"[c]\" wirklich aus dem Warenkorb löschen?";
	message=message.replace(/\[c\]/,parent.basket[id].caption);

	if (confirm(message)) { 
		parent.basket[id].quantity=0;
		location.reload();
	}
}

function defineShippingMethods() {
// Versand-Methoden definieren

	if (parent.shippingmethod.length==0)
	{
			parent.shippingmethod[1] = new classShippingMethod;
		parent.shippingmethod[1].caption="Versicherter Versand";
		parent.shippingmethod[1].info="Nur bei Vorauskasse und vollständiger Bezahlung.  Im Inland mit Hermes Versand. Bei Versand von Fancy Canvas in Rollen ist der Preis von 6,20 € pro Paket. und  Bei Lieferungen ins Ausland fallen die tatsächlichen Versandkosten an.";
		parent.shippingmethod[1].uid="53084296bb0ee6a37";
		parent.shippingmethod[1].free=0;
		parent.shippingmethod[1].vat=19;
					parent.shippingmethod[1].price[1]=4.2;				
			parent.shippingmethod[1].weight[1]=1.9;				
					parent.shippingmethod[1].price[2]=6.2;				
			parent.shippingmethod[1].weight[2]=10;				
					parent.shippingmethod[1].price[3]=0;				
			parent.shippingmethod[1].weight[3]=0;				
					parent.shippingmethod[1].price[4]=0;				
			parent.shippingmethod[1].weight[4]=0;				
					parent.shippingmethod[1].price[5]=0;				
			parent.shippingmethod[1].weight[5]=0;				
					parent.shippingmethod[2] = new classShippingMethod;
		parent.shippingmethod[2].caption="Auslandsversand";
		parent.shippingmethod[2].info="Hermes Paket versichert 14,00 €";
		parent.shippingmethod[2].uid="53084297100766702";
		parent.shippingmethod[2].free=0;
		parent.shippingmethod[2].vat=19;
					parent.shippingmethod[2].price[1]=14;				
			parent.shippingmethod[2].weight[1]=2;				
					parent.shippingmethod[2].price[2]=1690;				
			parent.shippingmethod[2].weight[2]=10;				
					parent.shippingmethod[2].price[3]=0;				
			parent.shippingmethod[2].weight[3]=0;				
					parent.shippingmethod[2].price[4]=0;				
			parent.shippingmethod[2].weight[4]=0;				
					parent.shippingmethod[2].price[5]=0;				
			parent.shippingmethod[2].weight[5]=0;				
					parent.shippingmethod[3] = new classShippingMethod;
		parent.shippingmethod[3].caption="Nachmahme";
		parent.shippingmethod[3].info="Bei Nachnahme fallen zusätzlich die Nachmahme - Gebühren von 4,00 € an. ";
		parent.shippingmethod[3].uid="53084296e80d5cd01";
		parent.shippingmethod[3].free=0;
		parent.shippingmethod[3].vat=19;
					parent.shippingmethod[3].price[1]=4;				
			parent.shippingmethod[3].weight[1]=0;				
					parent.shippingmethod[3].price[2]=0;				
			parent.shippingmethod[3].weight[2]=0;				
					parent.shippingmethod[3].price[3]=0;				
			parent.shippingmethod[3].weight[3]=0;				
					parent.shippingmethod[3].price[4]=0;				
			parent.shippingmethod[3].weight[4]=0;				
					parent.shippingmethod[3].price[5]=0;				
			parent.shippingmethod[3].weight[5]=0;				
					parent.shippingmethod[4] = new classShippingMethod;
		parent.shippingmethod[4].caption="unversicherter Versand";
		parent.shippingmethod[4].info="Versand mit der Deutschen Post bis 500g. keine Wolle Volumenvliese und Fancy Canvas";
		parent.shippingmethod[4].uid="5308429a380fae001";
		parent.shippingmethod[4].free=0;
		parent.shippingmethod[4].vat=19;
					parent.shippingmethod[4].price[1]=2.5;				
			parent.shippingmethod[4].weight[1]=.5;				
					parent.shippingmethod[4].price[2]=0;				
			parent.shippingmethod[4].weight[2]=0;				
					parent.shippingmethod[4].price[3]=0;				
			parent.shippingmethod[4].weight[3]=0;				
					parent.shippingmethod[4].price[4]=0;				
			parent.shippingmethod[4].weight[4]=0;				
					parent.shippingmethod[4].price[5]=0;				
			parent.shippingmethod[4].weight[5]=0;				
				}
}

function shippingShow() {
// Versand-Methoden anzeigen

	var i,j,sum,totalweight, totalprice, found;
	
	defineShippingMethods();
	updateActualPrice();
	
	sum=0;
	totalweight=0;
	totalprice=0;
	found=false;
	
	for (i=0;i<parent.basket.length;i++) {
		sum+=parent.basket[i].quantity;
		totalweight+=parent.basket[i].weight*parent.basket[i].quantity;
		totalprice+=parent.basket[i].actualpriceall;
	}	
	
	if (sum==0)	{
		document.write("<p>Der Warenkorb ist leer</p>");
	}
	else {
		document.write("<form name='shippingform'>");
		document.write("<table width='100%' cellpadding='2'>");
		for (i=1;i<parent.shippingmethod.length;i++) {
			
			parent.shippingmethod[i].actualprice=-1;
						
			if (parent.shippingmethod[i].weight[1]==0) {
				// Nur ein Preis
				parent.shippingmethod[i].actualprice=parent.shippingmethod[i].price[1];
			}
			else {
				// Preis nach Gewicht
				for (j=parent.shippingmethod[i].weight.length;j>0;j--) {
					if (parent.shippingmethod[i].weight[j]!=0) {
						if (totalweight<=parent.shippingmethod[i].weight[j]) {
							parent.shippingmethod[i].actualprice=parent.shippingmethod[i].price[j];
						}
					}
				}
			}
			// Versandkostenfrei?
			if ((totalprice>=parent.shippingmethod[i].free) && (parent.shippingmethod[i].free!=0) && (parent.shippingmethod[i].actualprice!=-1)) {
				parent.shippingmethod[i].actualprice=0;
			}
			
			// Nicht erlaubte Methode?			
			for (j=0;j<parent.basket.length;j++) {
				if (parent.basket[j].quantity!=0) {
					if (parent.basket[j].noship.indexOf(parent.shippingmethod[i].uid)!=-1)
  					parent.shippingmethod[i].actualprice=-1;
				}
			}
			// GGf Auswahl löschen
			if ((parent.shippingmethod[i].actualprice==-1) && (i==parent.selectedshippingmethod)) {
				parent.selectedshippingmethod=-1;
			}
		}
		for (i=1;i<parent.shippingmethod.length;i++) {		
			// Anzeigen
			if (parent.shippingmethod[i].actualprice!=-1) {
				found=true;

				// Wenn nichts gewählt, erstes wählen
				if (parent.selectedshippingmethod==-1) {
					parent.selectedshippingmethod=i
				}
				document.write("<tr>");
				document.write("<td class='s2d'><input type='radio' ")
				if (i==parent.selectedshippingmethod) {
					document.write("checked ");
				}
				document.write("onclick='setShipping();' name='method' value='"+i+"'></td>");
				document.write("<td class='s2d' width='100%'><strong>"+parent.shippingmethod[i].caption+"</strong><br></td>");
				document.write("<td align='right' nowrap class='s2d'><strong>")
				if (parent.shippingmethod[i].actualprice!=0) {
					document.write(format(parent.shippingmethod[i].actualprice)+" EUR");
				} else {
					document.write("kostenlos");
				} 
				document.write("</strong></td>");
				document.write("</tr>");
				if (parent.shippingmethod[i].info!="") {
					document.write("<tr>");
					document.write("<td></td>");
					document.write("<td class='s2d' width='100%'>"+parent.shippingmethod[i].info+"<br><br></td>");
					document.write("<td></td>");
					document.write("</tr>");
				}
			}
		}
		
		// Gewicht zeigen
		if (found) {		
			if (totalweight>0) {
				document.write("<tr>");
				document.write("<td></td>");
				document.write("<td class='s2d'><br>Gesamtgewicht: "+formatweight(totalweight)+" kg<br><br></td>");
				document.write("<td></td>");
				document.write("</tr>");
			}
		} else {
			document.write("<tr>");
			document.write("<td></td>");
			document.write("<td class='s2d'><br>Es konnte keine geeignete Versandart ermittelt werden, weil das Gesamtgewicht zu hoch ist oder die von Ihnen ausgewählten Artikel nicht in einer einzigen Lieferung versendet werden können.<br><br></td>");
			document.write("<td></td>");
			document.write("</tr>");
		}
		
		// Navigation unten
		document.write("</table>");
		document.write("</form>");		
		
		document.write("<table width='100%' cellpadding='2'>");
		document.write("<tr>");		
		document.write("<td align='left'><a href='s2dbskt.html'><img src='images/pbskt.gif' width='160' height='29' alt='' border='0'></a></td>");
		if (found) {	
			document.write("<td align='right'><a href='s2dpayment.html'><img src='images/pcob.gif' width='160' height='29' alt='' border='0'></a></td>");
		}
		document.write("</tr>");		
		document.write("</table>");
	}
}

function setShipping() {
// Versand-Methode einstellen

	var i;
	parent.selectedshippingmethod=-1;
	for (i=0;i<document.shippingform.method.length;i++) {
		if (document.shippingform.method[i].checked) {
			parent.selectedshippingmethod=document.shippingform.method[i].value;
		}
	}
}

function definePaymentMethods() {
// Bezahl-Methoden definieren

	if (parent.paymentmethod.length==0)
	{
			parent.paymentmethod[1] = new classPaymentMethod;
		parent.paymentmethod[1].caption="Vorauskasse";
		parent.paymentmethod[1].info="Überweisen Sie den Rechnungsbetrag auf unser Konto: Kto: 348171704 BLZ: 762 200 73 Hypovereinsbank Fürth. Bitte beachten Sie die Versandkosten  bei Ihrer Überweisung zu berücksichtigen. Ihr Auftrag wird sofort nach Erhalt des Überweisungsbetrages versandt.";
		parent.paymentmethod[1].pregateway="Ihre Bestellung wurde in unser Shopsystem übermittelt. Wir haben zu Ihrer Sicherheit ein verschlüsselt übertragenes Fenster geöffnet, in das Sie Ihre Adressdaten eintragen können. Sobald diese eingegeben und bestätigt wurden, ist die Bestellung abgeschlossen. Vielen Dank für Ihren Besuch in unserem Shop.";
		parent.paymentmethod[1].postgateway="Vielen Dank. Ihre Bestellung wurde entgegengenommen. Sie erhalten in Kürze eine Bestätigungsmail. Bitte überweisen Sie den Rechnungsbetrag ( vollständig) auf unser Konto. Unsere Bankverbindung ist: Konto 348 171 704 BLZ 762 200 73 Hypoverinsbank Fürth";
		parent.paymentmethod[1].email="Vielen Dank für Ihre Bestellung. Bitte überweisen Sie den Rechnungsbetrag auf unser Konto. Unsere Bankverbindung ist: Konto 348 171 704 BLZ 762 200 73 Hypoverinsbank Fürth";
		parent.paymentmethod[1].noship="";
		parent.paymentmethod[1].uid="53084296a810c3101";
		parent.paymentmethod[1].price=0;
		parent.paymentmethod[1].vat=19;
		parent.paymentmethod[1].free=0;
		parent.paymentmethod[1].parameter[0]="";
		parent.paymentmethod[1].parameter[1]="";
		parent.paymentmethod[1].parameter[2]="";
		parent.paymentmethod[1].parameter[3]="";
		parent.paymentmethod[1].parameter[4]="";
		parent.paymentmethod[1].parameter[5]="";
		parent.paymentmethod[1].version="shop2dateversion10";
			parent.paymentmethod[2] = new classPaymentMethod;
		parent.paymentmethod[2].caption="Nachnahme";
		parent.paymentmethod[2].info="Bezahlen Sie bequem und sicher per Nachnahme bei Erhalt der Ware.";
		parent.paymentmethod[2].pregateway="Ihre Bestellung wurde in unser Shopsystem übermittelt. Wir haben zu Ihrer Sicherheit ein verschlüsselt übertragenes Fenster geöffnet, in das Sie Ihre Adressdaten eintragen können. Sobald Sie diese eingegeben und bestätigt haben, ist die Bestellung abgeschlossen. Vielen Dank für Ihren Besuch in unserem Shop.";
		parent.paymentmethod[2].postgateway="Vielen Dank. Ihre Bestellung wurde entgegengenommen. Sie erhalten in Kürze eine Bestätigungsmail.";
		parent.paymentmethod[2].email="Vielen Dank für Ihre Bestellung. Bitte beachten Sie, dass ggf. zusätzlich zum Rechnungsbetrag weitere Nachnahme-Gebühren vom Versandunternehmen erhoben werden.";
		parent.paymentmethod[2].noship="53084297100766702";
		parent.paymentmethod[2].uid="53084296a810cb402";
		parent.paymentmethod[2].price=4;
		parent.paymentmethod[2].vat=19;
		parent.paymentmethod[2].free=0;
		parent.paymentmethod[2].parameter[0]="";
		parent.paymentmethod[2].parameter[1]="";
		parent.paymentmethod[2].parameter[2]="";
		parent.paymentmethod[2].parameter[3]="";
		parent.paymentmethod[2].parameter[4]="";
		parent.paymentmethod[2].parameter[5]="";
		parent.paymentmethod[2].version="shop2dateversion10";
			parent.paymentmethod[3] = new classPaymentMethod;
		parent.paymentmethod[3].caption="PayPal";
		parent.paymentmethod[3].info="Bezahlen Sie mit Ihrem PayPal Konto.";
		parent.paymentmethod[3].pregateway="Ihre Bestellung wurde in unser Shopsystem übermittelt. Wir haben zu Ihrer Sicherheit ein verschlüsselt übertragenes Fenster geöffnet, in das Sie Ihre Adress- und Zahlungsdaten eintragen können. Sobald diese eingegeben und bestätigt wurden, ist die Bestellung abgeschlossen. Vielen Dank für Ihren Besuch in unserem Shop.";
		parent.paymentmethod[3].postgateway="Vielen Dank. Ihre Bestellung wurde entgegengenommen. Klicken Sie jetzt auf 'Mit PayPal bezahlen', um die Bestellung abzuschließen. Bitte beachten Sie, dass ohne diesen letzten Schritt Ihre Bestellung nicht ausgeführt werden kann.";
		parent.paymentmethod[3].email="Vielen Dank für Ihre Bestellung.";
		parent.paymentmethod[3].noship="53084297100766702 53084296e80d5cd01 5308429a380fae001";
		parent.paymentmethod[3].uid="5308429c6c0fbd708";
		parent.paymentmethod[3].price=0;
		parent.paymentmethod[3].vat=16;
		parent.paymentmethod[3].free=0;
		parent.paymentmethod[3].parameter[0]="paypal";
		parent.paymentmethod[3].parameter[1]="info@stoffgalerie-petry.com";
		parent.paymentmethod[3].parameter[2]="DE";
		parent.paymentmethod[3].parameter[3]="EUR";
		parent.paymentmethod[3].parameter[4]="";
		parent.paymentmethod[3].parameter[5]="";
		parent.paymentmethod[3].version="shop2dateversion10";
		}
}


function paymentShow() {
// Bezahl-Methoden anzeigen

	var i,j, totalprice;
	
	definePaymentMethods();
	updateActualPrice();
	
	sum=0;
	totalprice=0;
	
	for (i=0;i<parent.basket.length;i++) {
		sum+=parent.basket[i].quantity;
		totalprice+=parent.basket[i].actualpriceall;
	}	
	
	if (sum==0)	{
		document.write("<p>Der Warenkorb ist leer</p>");
	}
	else {
		document.write("<form name='paymentform'>");
		document.write("<table width='100%' cellpadding='2'>");
		for (i=1;i<parent.paymentmethod.length;i++) {
			
			parent.paymentmethod[i].actualprice=parent.paymentmethod[i].price;
						
			// Versandkostenfrei?
			if ((totalprice>=parent.paymentmethod[i].free) && (parent.paymentmethod[i].free!=0)) {
				parent.paymentmethod[i].actualprice=0;
			}
			
			// Nicht erlaubte Methode?			
			if (parent.selectedshippingmethod!=-1) {
				if (parent.paymentmethod[i].noship.indexOf(parent.shippingmethod[parent.selectedshippingmethod].uid)!=-1) {
  					parent.paymentmethod[i].actualprice=-1;
				}
			}
			
			// GGf Auswahl löschen
			if ((parent.paymentmethod[i].actualprice==-1) && (i==parent.selectedpaymentmethod)) {
				parent.selectedpaymentmethod=-1;
			}
		}
		for (i=1;i<parent.paymentmethod.length;i++) {		
			// Anzeigen
			if (parent.paymentmethod[i].actualprice!=-1) {
				// Wenn nichts gewählt, erstes wählen
				if (parent.selectedpaymentmethod==-1) {
					parent.selectedpaymentmethod=i;
				}
				document.write("<tr>");
				document.write("<td class='s2d'><input type='radio' ")
				if (i==parent.selectedpaymentmethod) {
					document.write("checked ");
				}
				document.write("onclick='setPayment();' name='method' value='"+i+"'></td>");
				document.write("<td class='s2d' width='100%'><strong>"+parent.paymentmethod[i].caption+"</strong><br></td>");
				document.write("<td align='right' nowrap class='s2d'><strong>");
				if (parent.paymentmethod[i].actualprice!=0) {
					document.write(format(parent.paymentmethod[i].actualprice)+" EUR");
				} else {
					document.write("kostenlos");
				}
				document.write("</strong></td>");
				document.write("</tr>");
				if (parent.paymentmethod[i].info!="") {
					document.write("<tr>");
					document.write("<td></td>");
					document.write("<td class='s2d' width='100%'>"+parent.paymentmethod[i].info+"<br><br></td>");
					document.write("<td></td>");
					document.write("</tr>");
				}
			}
		}
		
		// Navigation unten
		document.write("</table>");
		document.write("</form>");		
	
		document.write("<table width='100%' cellpadding='2'>");
		document.write("<tr>");		
		document.write("<td align='left'><a href='s2dship.html'><img src='images/pbskt.gif' width='160' height='29' alt='' border='0'></a></td>");
		document.write("<td align='right'><a href='s2dsummary.html'><img src='images/pcob.gif' width='160' height='29' alt='' border='0'></a></td>");
		document.write("</tr>");		
		document.write("</table>");		
	}
}

function setPayment() {
// Bezahl-Methode einstellen

	var i;
	parent.selectedpaymentmethod=-1;
	for (i=0;i<document.paymentform.method.length;i++) {
		if (document.paymentform.method[i].checked) {
			parent.selectedpaymentmethod=document.paymentform.method[i].value;
		}
	}
}

function summaryShow() {
// Zusammenfassung zeigen
	summaryShowEx(false);
}

function summaryShowEx(newwindow) {
// Zusammenfassung oder Bestellformular zeigen

	var sum, i, j, found, vatsum, shippingcost, totalweight;
	var vat = new Array;

	var shippingcaption="";
	var paymentcaption="";
	
	var shopaddress="Allgemeine Geschäftsbedingungen und gesetzliche Hinweise <br>für den Online-Shop Stoffgalerie Petry <br>(Stand: 27.10.2011)<br><br>1. Anbieterkennzeichnung:<br>Firma Stoffgalerie Petry <br>Inhaber Gerda Petry <br>90459 Nürnberg, Humboldtstraße 135 <br>Tel: 0911-433 33 66 info@stoffgalerie-petry.com<br>www.stoffgalerie-petry.com<br>St.NR: 240/257/81461<br>Ust-ID: DE813632108<br><br>2. Vertragsgrundlage<br><br>a) Die nachstehenden Allgemeinen Geschäftsbedingungen regeln die Vertragsbedingungen zwischen der Firma Stoffgalerie Petry (Verkäufer) und dem Kunden (Verbraucher i. S. d. § 13 BGB oder Unternehmer i. S. d. § 14 BGB) des Onlineshops Stoffgalerie Petry, soweit nicht einzelne Bestimmungen ausdrücklich nur für Verbraucher oder nur für Unternehmer gelten. <br><br>Die Allgemeinen Geschäftsbedingungen finden in der zum Zeitpunkt des Vertragsschlusses gültigen Fassung für alle Warenlieferungsverträge Anwendung, die unter ausschließlicher Verwendung von Fernkommunikationsmitteln zustande gekommen sind. Abweichende AGB des Kunden gelten nur, wenn ihre Anwendung ausdrücklich vereinbart wurde.<br>c) Die Vertragssprache ist deutsch. Es gilt das Recht der Bundesrepublik Deutschland.<br><br><br><br>3. Angebot, Zustandekommen und Speicherung des Vertrages<br><br>Angaben auf unserer Website stellen unverbindliche Angebote zur Abgabe einer Bestellung dar. Der Kaufvertrag kommt nach dem Eingang der verbindlichen Bestellung des Kunden durch schriftliche Vertragsbestätigung bei Vorkasse, ansonsten durch die Zusendung der Ware, zustande. Die automatische Bestätigung des Bestelleingangs stellt keine Annahme des Vertragsangebotes dar. Kommt ein Kaufvertrag nicht spätestens 2 Wochen nach Bestelleingang zustande, gilt das Kaufangebot als abgelehnt.<br>b) Zur Abgabe Ihrer verbindlichen Bestellung und zur Korrektur von Eingabefehlern vor Bestellung sind folgende technische Schritte erforderlich: z. B. „... Artikel in den Warenkorb legen ... bevor Sie den Button ‚Bestellung abschließen’ drücken sehen Sie eine komplette Bestellübersicht und haben die Möglichkeit einzelne Artikel zu löschen oder sonstige Berichtigungen (z. B. in der Rechnungs- oder Lieferanschrift) vorzunehmen. ... Erst mit dem Drücken des Buttons ‚Bestellung abschließen’ ist der Bestellvorgang abgeschlossen.<br><br>c) Die Daten Ihrer Bestellung und der Vertragstext werden von uns nicht in einer für Sie nachträglich noch zugreifbaren Form gespeichert. Sollten Sie Ihre Bestelldaten dokumentieren wollen, empfehlen wir Ihnen, diese vor Abgabe der verbindlichen Bestellung zu kopieren, auszudrucken oder sonst wie zu speichern.<br><br>4. Bezahlung, Auslieferung<br>a) Soweit nicht etwas anderes vereinbart wurde, erfolgt die Lieferung einer bestellten Ware ausschließlich gegen Vorkasse oder gegen Nachnahme. Bei Vorkasse ist die Zahlung innerhalb von 8 Tagen nach Vertragsschluss zu leisten.<br><br>b) Die Auslieferung erfolgt spätestens 5 Werktage nach Zahlungseingang, soweit in der Artikelbeschreibung nicht ausdrücklich eine hiervon abweichende Lieferzeit genannt ist oder ausdrücklich eine andere Lieferzeit vereinbart worden ist.<br><br>c) Der Verkäufer übernimmt kein Beschaffungsrisiko und behält sich vor, im Fall fehlender oder nicht rechtzeitiger Selbstbelieferung vom Vertrag zurückzutreten. Dies gilt nur für den Fall, dass der Verkäufer dies nicht zu vertreten hat und er insbesondere zur Erfüllung der Verbindlichkeit aus dem Vertrag zuvor ein kongruentes Deckungsgeschäft abgeschlossen hat. Der Verkäufer wird den Kunden unverzüglich über fehlende oder verspätete Selbstbelieferung informieren und ggf. das Rücktrittsrecht ausüben. Im Fall des Rücktritts sind bereits empfangene Leistungen unverzüglich zurückzugewähren.<br><br>5. Widerrufsbelehrung<br>Widerrufsrecht<br><br>Sie können Ihre Vertragserklärung innerhalb von 14 Tagen ohne Angabe von Gründen in Textform (z. B. Brief, Fax, E-Mail) oder – wenn Ihnen die Sache vor Fristablauf überlassen wird – auch durch Rücksendung der Sache widerrufen. Die Frist beginnt nach Erhalt dieser Belehrung in Textform, jedoch nicht vor Eingang der Ware beim Empfänger (bei der wiederkehrenden Lieferung gleichartiger Waren nicht vor Eingang der ersten Teillieferung) und auch nicht vor Erfüllung unserer Informationspflichten gem. Artikel 246 § 2 i. V. m. § 1 Abs. 1 und 2 EGBGB sowie unserer Pflichten gemäß § 312g Abs. 1 Satz 1 BGB i. V. m. Artikel 246 § 3 EGBGB. Zur Wahrung der Widerrufsfrist genügt die rechtzeitige Absendung des Widerrufs oder der Sache. Der Widerruf ist zu richten an: <br>Firma Stoffgalerie Petry <br>Inhaber Gerda Petry <br>90459 Nürnberg, Humboldtstraße 135 <br>info@stoffgalerie-petry.com<br>Widerrufsfolgen<br><br>Im Falle eines wirksamen Widerrufs sind die beiderseits empfangenen Leistungen zurückzugewähren und ggf. gezogene Nutzungen (z. B. Zinsen) herauszugeben. Können Sie uns die empfangene Leistung sowie Nutzungen (z. B. Gebrauchsvorteile) nicht oder teilweise nicht oder nur in verschlechtertem Zustand zurückgewähren bzw. herausgeben, müssen Sie uns insoweit Wertersatz leisten. Für die Verschlechterung der Sache und für gezogene Nutzungen müssen Sie Wertersatz nur leisten, soweit die Nutzungen oder die Verschlechterung auf einen Umgang mit der Sache zurückzuführen ist, der über die Prüfung der Eigenschaften und der Funktionsweise hinausgeht.Unter „Prüfung der Eigenschaften und Funktionsweise“ versteht man das Testen und Ausprobieren der jeweiligen Ware, wie es etwa im Ladengeschäft möglich und üblich ist. Paketversandfähige Sachen sind auf unsere Gefahr zurückzusenden. Sie haben die regelmäßigen Kosten der Rücksendung zu tragen, wenn die gelieferte Ware der bestellten entspricht und wenn der Preis der zurückzusendenden Sache einen Betrag von 40,00 € nicht übersteigt oder wenn Sie bei einem höheren Preis der Sache zum Zeitpunkt des Widerrufs noch nicht die Gegenleistung oder eine vertraglich vereinbarte Teilzahlung erbracht haben. Andernfalls ist die Rücksendung für sie kostenfrei. Nicht paketversandfähige Sachen werden bei Ihnen abgeholt. Verpflichtungen zur Erstattung von Zahlungen müssen innerhalb von 30 Tagen erfüllt werden. Die Frist beginnt für Sie mit der Absendung Ihrer Widerrufserklärung oder der Sache, für uns mit deren Empfang.<br><br>Ende der Widerrufsbelehrung<br>Bei Produkten und Waren, die nach Ihrer Spezifikation hergestellt oder eindeutig auf Ihre persönlichen Bedürfnisse zugeschnitten wurden, besteht kein Widerrufsrecht.<br><br>Das Widerrufsrecht gilt nicht, wenn Sie bei Abschluss des Vertrages in Ausübung Ihrer gewerblichen oder selbstständigen beruflichen Tätigkeit handeln.<br><br>6. Rücksendung<br><br>a) Wir bitten Sie, etwaige Rücksendungen ausreichend zu frankieren / und versichert (z. B. als Postpaket) an uns zurückzusenden. Der Versand über die von uns angeregte Versandart ist freiwillig und alternativ jede andere Versandart zulässig.<br><br>b) Bei Ausübung des Widerrufsrechts haben Sie die regelmäßigen Kosten der Rücksendung zu tragen, wenn die gelieferte Ware der bestellten entspricht und wenn der Preis der zurückzusendenden Sache einen Betrag von 40,00 € nicht übersteigt oder wenn Sie bei einem höheren Preis der Sache zum Zeitpunkt des Widerrufs noch nicht die Gegenleistung oder eine vertraglich vereinbarte Teilzahlung erbracht haben. Andernfalls ist die Rücksendung für Sie kostenfrei.<br><br>7. Gewährleistung, Kundendienst, Bildschirmdarstellung<br><br>a) Bei Vorliegen eines Sachmangels gelten die gesetzlichen Mängelansprüche, soweit nicht in b) und c) abweichendes geregelt ist.<br><br>b) Für Verbraucher verjähren beim Kauf von gebrauchten Sachen die Mängelansprüche nach einem Jahr. <br><br>Für Unternehmer verjähren Mängelansprüche für Neuwaren nach einem Jahr, für gebrauchte Sachen ist die Gewährleistung ausgeschlossen.<br><br>c) Ausgenommen von der Fristverkürzung für die Geltendmachung von Gewährleistungsansprüchen sind jeweils die in § 309 Nr. 7 a und b BGB aufgeführten Schadenersatzansprüche.<br><br>d) Daneben eventuell bestehende Herstellergarantien richten sich nach den vom Hersteller jeweils genannten und in der Produktbeschreibung abgedruckten Garantiebedingungen. Daraus resultierende Ansprüche sind gegenüber dem Hersteller geltend zu machen. Gesetzliche Verbraucherrechte aus Gewährleistung werden durch Garantiezusagen nicht eingeschränkt.<br><br>e) Unser Kundendienst steht Ihnen in Nürnberg Humboldtstraße 135 am MO, DI und DO von 10.00 bis 14:00 Uhr am Telefon 0911-4333366 sowie vor Ort in Nürnberg Humboldtstraße 135 zur Verfügung.<br><br>f) Die zur Beschreibung der Produkte verwendeten Fotos sind Beispielfotos, welche der Veranschaulichung dienen. Es wird darauf hingewiesen, dass je nach Bildschirmqualität und gewählter Bildschirmdarstellung Farben und Größen unterschiedlich dargestellt werden. Maßgeblich ist die jeweilige Artikelbeschreibung<br><br>g) Irrtum und Druckfehler sind vorbehalten.<br><br>8. Preise<br><br>Alle Preise sind in Euro (€) angegeben und beinhalten die gesetzliche Mehrwertsteuer. Die Preise gelten ausschließlich für Bestellungen im Onlineshop.<br>Zu den Produktpreisen kommen die jeweiligen Verpackungs-/Versandkosten gem. Artikelbeschreibung und bei Nachnahme die Nachnahmegebühr hinzu.<br>9. Versandkosten<br><br>Der Versand erfolgt grundsätzlich nur in die unter „Verpackung und Versand“, genannten Länder. Es gelten die jeweils genannten Verpackungs-/Versandkosten, welche wir Ihnen hier noch einmal zusammengestellt haben:<br>Deutschland mit Hermes versicherter Versand 4,20 €<br>Deutschland unversicherter Versand Deutsche Post bis 500g 2,50 €<br>Österreich mit Hermes versicherter Versand 14,00 €<br><br>Die Höhe von Nachnahmegebühren richtet sich nach den jeweiligen Tarifen der Deutschen Post (zur Zeit: 4,00 €).<br>10. Eigentumsvorbehalt<br><br>Die verkaufte Ware bleibt bis zur vollständigen Bezahlung im Eigentum der Firma Stoffgalerie Petry. Der Kunde ist bis zum Erwerb des Eigentums nicht berechtigt, rechtsgeschäftlich über die Ware zu verfügen. Er verpflichtet sich, den Verkäufer umgehend in Kenntnis zu setzten, wenn Dritte Rechte an der Ware geltend machen.<br><br>11. Gerichtsstandsvereinbarung<br>a) Ist der Vertragspartner ein Kaufmann, eine juristische Person des öffentlichen Rechts oder ein öffentlich-rechtliches Sondervermögen, wird als ausschließlicher Gerichtsstand unser Geschäftssitz Nürnberg für alle Ansprüche, die sich aus oder auf Grund dieses Vertrages ergeben, vereinbart. <br>b)  Ziffer 11 a) gilt auch gegenüber Personen, die keinen allgemeinen Gerichtsstand in Deutschland haben, oder Personen, die nach Abschluss des Vertrages ihren Wohnsitz oder gewöhnlichen Aufenthaltsort nach außerhalb von Deutschland verlegt haben, oder deren Wohnsitz oder gewöhnlicher Aufenthaltsort im Zeitpunkt der Klageerhebung nicht bekannt ist.<br><br>12. Datenschutz<br><br>a) Wir erheben, verarbeiten und speichern Ihre personenbezogenen Daten ausschließlich in dem für die Ausführung der Verträge erforderlichen und gesetzlich zulässigen Umfang. Eine Weitergabe Ihrer Daten an Dritte oder eine Nutzung zu anderen Zwecken erfolgt nicht, es sei denn, Sie haben eingewilligt oder wir sind hierzu gesetzlich verpflichtet. <br><br>b) Nur mit Ihrer vorherigen, separat erklärten, Einwilligung nutzen wir Ihre personenbezogenen Daten für Marketingmaßnahmen, d. h. für die Versendung von Kundeninformationen, Newsletter und Werbung aus unserem Haus.<br><br>c) Sie können der Verarbeitung und Nutzung der mit Ihrer Einwilligung bei uns für Zwecke gem. b) gespeicherten Daten jederzeit widersprechen, durch Erklärung gegenüber Stoffgalerie Petry, Humboldtstraße 135, 90459 Nürnberg. Wir werden die Daten dann nicht weiter nutzen und löschen.<br>13. Disclaimer<br><br>Als Dienstanbieter sind wir für die eigenen Inhalte unseres Shops verantwortlich. Bei Verlinkungen auf fremde Inhalte (Internetseiten anderer Anbieter) handelt es sich um dynamische Verweisungen. Wir haben bei jeder erstmaligen Verknüpfung die Inhalte solcher Seiten daraufhin überprüft, ob durch sie eine mögliche zivil- oder strafrechtliche Verantwortlichkeit ausgelöst wird. Eine lückenlose Überwachung der verlinkten Inhalte ist nicht möglich. Wenn aber festgestellt wird oder Anhaltspunkte dafür vorliegen, dass ein verlinktes Angebot eine zivil- oder strafrechtliche Verantwortung auslöst, werden wir die Verlinkung auf eine solche Seite sofort aufheben.";
	
	sum=0;
	vatsum=0;
	shippingcost=0;
	totalweight=0;
	
	if (newwindow) {
		// Neues Fenster zum Ausdrucken
	
		mywindow=open("","printwindow","left=10,top=10,width=600,height=550,status=yes,scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes");
		mydoc=mywindow.document;
		
		mydoc.write("<html><head><title>Bestellformular</title></head></html>");
		mydoc.write("<body>");

		mydoc.write("<style>");
		mydoc.write("td.s2d {font-size:10pt; font-family : Arial, Helvetica, sans-serif;} ");
		mydoc.write("h1.s2d {font-family: Arial, Helvetica, sans-serif; font-size: 20pt; font-weight : bold; margin-top : 0pt; margin-bottom : 0pt;} ");
		mydoc.write("</style>");
		
		mydoc.write("<table width='100%' cellpadding='5' cellspacing='3' border='0'>");
		mydoc.write("<tr><td class='s2d'><h1 class='s2d'>Bestellformular</h1></td></tr>");
		mydoc.write("<tr><td class='s2d'>"+parent.paymentmethod[parent.selectedpaymentmethod].email+"<br></td></tr>");

		mydoc.write("<tr><td class='s2d'><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Name:</strong><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Adresse:</strong><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>PLZ und Ort:</strong><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Telefonnummer:</strong><br></td></tr>");

		mydoc.write("<tr><td class='s2d'><br></td></tr>");
		
		switch (parent.paymentmethod[parent.selectedpaymentmethod].parameter[0]) {
			case "printdebit":
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kontonummer:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Bankleitzahl:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kreditinstitut:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kontoinhaber:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d'><br></td></tr>");
				break;
			case "printcreditcard":
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kartentyp (bitte ankreuzen): "+parent.paymentmethod[parent.selectedpaymentmethod].parameter[1]+"</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kartennummer:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Karteninhaber:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Gültig bis:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d'><br></td></tr>");
				break;
			case "printcreditcardcvc":
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kartentyp (bitte ankreuzen): "+parent.paymentmethod[parent.selectedpaymentmethod].parameter[1]+"</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Kartennummer:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>CVV/CVC-Nummer:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Karteninhaber:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Gültig bis:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d'><br></td></tr>");
				break;
		}

		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Datum, Ort, Unterschrift:</strong><br></td></tr>");		
		mydoc.write("<tr><td class='s2d'><br></td></tr>");

		mydoc.write("</table>");
	}
	else {
		mydoc=document;
	}
	
	// Überschrift

	mydoc.write("<table width='100%' cellpadding='2'>");
	mydoc.write("<tr>");
	mydoc.write("<td align='left' colspan='2' class='s2d'><strong>Anzahl</strong></td>");
	mydoc.write("<td width='100%' class='s2d'><strong>Bezeichnung</strong></td>");
		mydoc.write("<td nowrap align='right' class='s2d'><strong>Einzelpreis</strong></td>");
	mydoc.write("<td nowrap align='right' class='s2d'><strong>Gesamtpreis</strong></td>");
	mydoc.write("</tr>");
	mydoc.write("<tr>");
	
	// Positionen
	
	for (i=0;i<parent.basket.length;i++) {
		if (parent.basket[i].quantity!=0) {
			mydoc.write("<tr>");
			mydoc.write("<td class='s2d'>"+parent.basket[i].quantity+"</td>");
			mydoc.write("<td class='s2d'>"+htmlChars(parent.basket[i].unit)+"&nbsp;</td>");
			mydoc.write("<td width='100%' class='s2d'>"+htmlChars(parent.basket[i].caption));
						if ((newwindow) && (parent.basket[i].id!="")) {
				mydoc.write(" ["+htmlChars(parent.basket[i].id)+"]");
			}
						mydoc.write("</td>");
						mydoc.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceone)+" EUR</td>");
			mydoc.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceall)+" EUR</td>");
			mydoc.write("</tr>");
			
			sum+=parent.basket[i].actualpriceall;
			totalweight+=parent.basket[i].weight*parent.basket[i].quantity;

			// Ust rechnen
			addVat(vat,parent.basket[i].vat,parent.basket[i].actualpriceall);
		}
	}
	
	// Abstand

	mydoc.write("<tr>");
			mydoc.write("<td colspan='5' align='left' class='s2d'></td>");		
		mydoc.write("</tr>");
	
	// Versandkosten
	
	i=parent.selectedshippingmethod;
	if (i!=-1) {
		shippingcaption=parent.shippingmethod[i].caption;
		if (parent.shippingmethod[i].actualprice!=0) {
			shippingcost=parent.shippingmethod[i].actualprice;
			addVat(vat, parent.shippingmethod[i].vat, parent.shippingmethod[i].actualprice);
		}
	}	

	i=parent.selectedpaymentmethod;
	if (i!=-1) {
		paymentcaption=parent.paymentmethod[i].caption;
		if (parent.paymentmethod[i].price!=0) {
			shippingcost+=parent.paymentmethod[i].actualprice;
			addVat(vat, parent.paymentmethod[i].vat, parent.paymentmethod[i].actualprice);
		}
	}	
	
	sum+=shippingcost;
		
	mydoc.write("<tr>");
			mydoc.write("<td colspan='4' align='right' class='s2d'>Versandkosten:</td>");
		mydoc.write("<td nowrap align='right' class='s2d'>"+format(shippingcost)+" EUR</td>");
	mydoc.write("</tr>");

	// Abstand

	mydoc.write("<tr>");
			mydoc.write("<td colspan='5' align='left'></td>");		
		mydoc.write("</tr>");
	
	
	// Ust zeigen	
	vat.sort(sortVat);

			for (i=0;i<vat.length;i++) {
			mydoc.write("<tr>");
			mydoc.write("<td colspan='4' align='right' class='s2d'>"+vat[i].percent+"% USt.:</td>");
			mydoc.write("<td nowrap align='right' class='s2d'>"+format(vat[i].amount)+" EUR</td>");
			mydoc.write("</tr>");
		}	

		mydoc.write("<tr>");
		mydoc.write("<td colspan='6' align='left'></td>");		
		mydoc.write("</tr>");

		mydoc.write("<tr>");
		mydoc.write("<td colspan='4' align='right' class='s2d'><strong>Endsumme:</strong></td>");
		mydoc.write("<td nowrap align='right' class='s2d'><strong>"+format(sum)+" EUR</strong></td>");
		mydoc.write("</tr>");
			
	mydoc.write("</table>");
	mydoc.write("</form>");
	
	mydoc.write("<table cellpadding='2'>");

	mydoc.write("<tr>");
	mydoc.write("<td nowrap class='s2d'>Gewünschte Versandart: </td>");
	mydoc.write("<td nowrap class='s2d'>"+shippingcaption+"</td>");
	mydoc.write("</tr>");
	
	if (totalweight>0) {
		mydoc.write("<tr>");
		mydoc.write("<td nowrap class='s2d'>Gesamtgewicht: </td>");
		mydoc.write("<td nowrap class='s2d'>"+formatweight(totalweight)+" kg</td>");
		mydoc.write("</tr>");
	}

	mydoc.write("<tr>");
	mydoc.write("<td nowrap class='s2d'>Gewünschte Zahlungsweise: </td>");
	mydoc.write("<td nowrap class='s2d'>"+paymentcaption+"</td>");
	mydoc.write("</tr>");
	
	mydoc.write("<tr>");
	mydoc.write("<td nowrap class='s2d' colspan='2'><br></td>");
	mydoc.write("</tr>");

	mydoc.write("</table>");	
		
	if (newwindow) {
		mydoc.write("<table cellpadding='2' width='100%'><tr><td class='s2d' align='center'><br>"+shopaddress+"</td></tr></table>");
		mydoc.write("</body>");
		mydoc.write("</html>");
		mydoc.close();
	}
	else {
		mydoc.write("<table cellpadding='2' width='100%'>");
		mydoc.write("<tr><td class='s2d'><p>Bitte überprüfen Sie Ihre Eingaben. Sie können diese durch Klicken auf \"Zurück\" korrigieren. Wenn alle Eingaben richtig sind, klicken Sie auf \"Weiter\".</p>");
						mydoc.write("</td></tr>");		
		mydoc.write("<form name='formagb'><tr><td class='s2d'><input type='checkbox' name='checkagb' value='1'><strong>Ich habe die AGB zur Kenntnis genommen.</strong><br><br></td></tr></form>");
		mydoc.write("</table>");

		// Jetzt das versteckte Transfer-Formular
		
		switch (parent.paymentmethod[parent.selectedpaymentmethod].parameter[0]) {
			case "iclear":
				// iClear-Modus
		
				mydoc.write("<form name='orderform' action='https://www.iclear.de/servlets/GenBuyTool' method='post' target='orderwindow'>");
				mydoc.write("<input type='hidden' name='ShopID' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[1]+"'>");
				mydoc.write("<input type='hidden' name='BasketID' value='shop to date order'>");
				mydoc.write("<input type='hidden' name='Currency' value='EUR'>");
				j=0;
				
				var products="";
			
				// Produkt-Schleife
			
				for (i=0;i<parent.basket.length;i++) {
					if (parent.basket[i].quantity!=0) {
						j++;
						products+=iclearChars(parent.basket[i].caption)+"::";
						products+=iclearChars(parent.basket[i].id)+"::";
						products+=parent.basket[i].quantity+"::";
													products+=parent.basket[i].actualpriceone/(parent.basket[i].vat/100+1)+"::";
 							products+=parent.basket[i].actualpriceone+"::";
												products+=parent.basket[i].vat+":::";
					}
				}
			
				// Versandart als Produkt

				j++;
				products+=iclearChars("Gewünschte Versandart "+shippingcaption)+"::";
				products+="::";
				products+="1::";
									products+=shippingcost/(parent.shippingmethod[parent.selectedshippingmethod].vat/100+1)+"::";
					products+=shippingcost+"::";
								products+=parent.shippingmethod[parent.selectedshippingmethod].vat+":::";

				mydoc.write("<input type='hidden' name='Products' value='"+products+"'>");
				mydoc.write("<input type='hidden' name='ProductIndex' value='"+j+"'>");
				mydoc.write("</form>");
				break;

			default:
				// Normal-Modus
		
				mydoc.write("<form name='orderform' action='http://wa1343.ml11.de/gateway.php' method='post' target='orderwindow'>");
				j=0;
				for (i=0;i<parent.basket.length;i++) {
					if (parent.basket[i].quantity!=0) {
						j++;
						mydoc.write("<input type='hidden' name='PUID"+j+"' value='"+parent.basket[i].uid+"'>");
						mydoc.write("<input type='hidden' name='PPID"+j+"' value='"+htmlChars(parent.basket[i].id)+"'>");
						mydoc.write("<input type='hidden' name='PQNT"+j+"' value='"+parent.basket[i].quantity+"'>");
						mydoc.write("<input type='hidden' name='PUNT"+j+"' value='"+htmlChars(parent.basket[i].unit)+"'>");
						mydoc.write("<input type='hidden' name='PCAP"+j+"' value='"+htmlChars(parent.basket[i].caption)+"'>");
						mydoc.write("<input type='hidden' name='PPRI"+j+"' value='"+parent.basket[i].actualpriceone+"'>");
						mydoc.write("<input type='hidden' name='PVAT"+j+"' value='"+parent.basket[i].vat+"'>");
						mydoc.write("<input type='hidden' name='PRVA"+j+"' value='"+parent.basket[i].variationa+"'>");
						mydoc.write("<input type='hidden' name='PRVB"+j+"' value='"+parent.basket[i].variationb+"'>");
					}
				}
				mydoc.write("<input type='hidden' name='OPAY' value='"+htmlChars(paymentcaption)+"'>");
				mydoc.write("<input type='hidden' name='OSHP' value='"+htmlChars(shippingcaption)+"'>");
				mydoc.write("<input type='hidden' name='OCUR' value='EUR'>");
				mydoc.write("<input type='hidden' name='OB2B' value=''>");
				mydoc.write("<input type='hidden' name='OSPR' value='"+shippingcost+"'>");
				mydoc.write("<input type='hidden' name='OSPV' value='"+parent.shippingmethod[parent.selectedshippingmethod].vat+"'>");
				mydoc.write("<input type='hidden' name='OWGT' value='"+totalweight+"'>");
				mydoc.write("<input type='hidden' name='OTOT' value='"+(sum+vatsum)+"'>");
				mydoc.write("<input type='hidden' name='OTVT' value='"+vatsum+"'>");
				mydoc.write("<input type='hidden' name='GVER' value='"+parent.paymentmethod[parent.selectedpaymentmethod].version+"'>");
				mydoc.write("<input type='hidden' name='GPR0' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[0]+"'>");
				mydoc.write("<input type='hidden' name='GPR1' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[1]+"'>");
				mydoc.write("<input type='hidden' name='GPR2' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[2]+"'>");
				mydoc.write("<input type='hidden' name='GPR3' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[3]+"'>");
				mydoc.write("<input type='hidden' name='GPR4' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[4]+"'>");
				mydoc.write("<input type='hidden' name='GPR5' value='"+parent.paymentmethod[parent.selectedpaymentmethod].parameter[5]+"'>");
				mydoc.write("<input type='hidden' name='GMSP' value='"+htmlChars(parent.paymentmethod[parent.selectedpaymentmethod].postgateway)+"'>");
				mydoc.write("<input type='hidden' name='GMSE' value='"+htmlChars(parent.paymentmethod[parent.selectedpaymentmethod].email)+"'>");
				mydoc.write("<input type='hidden' name='GSAD' value='"+htmlChars(shopaddress)+"'>");
				mydoc.write("<input type='hidden' name='GNEW' value='1'>");
				mydoc.write("<input type='hidden' name='GTSI' value=''>");
				mydoc.write("</form>");
		}
		mydoc.write("<table width='100%' cellpadding='2'>");
		mydoc.write("<tr>");		
		mydoc.write("<td align='left'><a href='s2dpayment.html'><img src='images/pbskt.gif' width='160' height='29' alt='' border='0'></a></td>");
		mydoc.write("<td align='right'><a href='' onclick='submitOrder();return false;'><img src='images/pcob.gif' width='160' height='29' alt='' border='0'></a></td>");
		mydoc.write("</tr>");		
		mydoc.write("</table>");

	}
}

function completeShow() {
	
	// Abschlußscreen zeigen

	document.write("<p>"+parent.paymentmethod[parent.selectedpaymentmethod].pregateway+"<br><br><br></p>");
	document.write("<table width='100%' border='0' cellpadding='0' cellspacing='0'>");
	document.write("<tr>");
	document.write("<td align='left'><a href='s2dsummary.html'><img src='images/pbskt.gif' width='160' height='29' alt='' border='0'></a></td>");
	document.write("<td align='right'><a onclick='parent.basket.length=0;return true;' href='./index.html'><img src='images/psmb.gif' width='160' height='29' alt='' border='0'></a></td>");
	document.write("<tr>");
	document.write("</table>");
}

function submitOrder() {

	// Bestellung absenden
	
	if (!document.formagb.checkagb.checked) {
		alert("Bitte lesen Sie unsere AGB und markieren Sie das Feld \"Ich habe die AGB zur Kenntnis genommen\", bevor Sie fortfahren.")
	}
	else {

		switch (parent.paymentmethod[parent.selectedpaymentmethod].parameter[0]) {
		case "printdebit":
		case "printcod":
		case "printcheque":
		case "printremittance":
		case "printcreditcard":
		case "printcreditcardcvc":
		case "printinvoice":
			summaryShowEx(true);	
			self.location="s2dcomplete.html";
			break;
		default:
			var mywindow=window.open("","orderwindow","left=10,top=10,width=600,height=550,status=yes,scrollbars=yes");
			mywindow.focus();
			document.orderform.submit();
			self.location="s2dcomplete.html";
		}
	}
}


