/*
--------------------------------------------------
shop to date

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="";
	this.vat =19;
}

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("Do you really want to delete your memo?")) {
		setCookie("");
		location.reload()
	}

}

function memoShow() {
// Den Merkzetteln anzeigen

	var mymemo=getMemo();
	
	if (mymemo.length==0) {
		document.write("<p>There are no products on your memo.</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='180' height='25' alt='' border='0'></a></td>");
		document.write("</table>");	
		document.write("<p><br>On the memo you can put products for observation, and you can look at them again at later visits of this shop. Click on an entry to display the product. In order for the memo to work, you need to have Cookies activated.</p>");	
	}
}

function addMemo(myproduct, myurl) {
// Merken

	var mymessage="The product \"[c]\" has been added to your memo.";
	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("Your chosen option is not deliverable. Please choose a different combination.");
	}
	else {
		// Nicht null!
		if (myquantity<=0) {
			alert("Please enter a valid number.");
		}
		else {
			message="Do you want to add [n] [u] \"[c]\" to your shopping cart?";
			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="The maximum order quantity of the product \"[c]\" beträgt [n] [u] - the order amount has been adjusted automatically.";
					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="The minimum order quantity of the product \"[c]\" beträgt [n] [u] - the order amount has been adjusted automatically.";
					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;
				}
			  location.href= "../s2dbskt.html"
			}
		}
	}
}
	
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("<table align='center' width='80%'><tr class ='title'>Shopping cart<br><br></tr>");
		document.write("<tr><img src='./picts/paragraph-line.jpg' width='100%' height='3'><br><br></tr>");
		document.write("<tr class='s2d'>Your shopping cart is empty</tr></table>");
	}
	else {
		// Überschrift zeigen
	
		sum=0;
		document.write("<table width='80%'  align ='center'>");
		document.write("<tr class='title'>Shopping cart<br></tr>");
		//document.write("<tr><td><img src='./picts/paragraph-line.jpg' width='100%' height='3'></td></tr>");
		//document.write("<tr>");
		//document.write("<td class='s2d'><br>According to german fiscal laws, the purchaser is not charged by taxes (19% Mehrwertsteuer ~ TVA) in case the purchaser is or represents a ");
		//document.write("company resident outside of Germany, regardless whether in or outside of European Union.<br><br>");
		//document.write("In all other cases, i.e. if the purchaser<br></td>");
		//document.write("</tr>");
		//document.write("<tr><td class='s2d'><br>* is resident in Germany<br><br>");
		//document.write("* or is resident outside of Germany, but not a company, but a private client,<br></td></tr>");
		//document.write("<tr><td class='s2d'><br>then the purchaser is obliged to pay 19% tax (Mehrwertsteuer ~ TVA) in addition to the base price.<br><br> ");
		//document.write("Later on, during the purchase order process, there will be opportunity to declare whether you purchase in the name of a company resident outside of Germany or not.<br><br></td></tr>");
		document.write("<tr><td><img src='./picts/paragraph-line.jpg' width='100%' height='3'></td></tr>");
		document.write("</table>");
		
		document.write("<form name='basketform' onsubmit='reCalc();location.reload();return false;'>");
		document.write("<table width='80%'  align='center'>");
		document.write("<tr>");
		document.write("<td align='left' colspan='3' class='s2d'><strong>Quantity</strong></td>");
		document.write("<td nowrap class='s2d'><strong>Item</strong></td>");
//inserting single price without tax
		document.write("<td nowrap align='right' class='s2d'><strong>Price</strong></td>");
		document.write("<td nowrap align='right' class='s2d'><strong>Price+tax</strong></td>");
		document.write("<td nowrap align='right' class='s2d'><strong>Subtotal</strong></td>");
//inserting without tax
                document.write("<td nowrap align='right' class ='s2d'><strong>Subtotal+tax</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' nowrap>"+htmlChars(parent.basket[i].unit)+"&nbsp;</td>");
				document.write("<td nowrap 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(100*parent.basket[i].actualpriceone/119)+" &euro;</td>");
				document.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceone)+" &euro;</td>");
				document.write("<td nowrap align='right' class='s2d'>"+format(100*parent.basket[i].actualpriceall/119)+" &euro;</td>");
				document.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceall )+" &euro;</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);
		
					
				
			
			// Endbetrag
			
			document.write("<tr>");
			document.write("<td></td>");
			document.write("<td></td><td></td><td></td><td></td>");
			document.write("<td align='right' class='s2d'><strong>Total:</strong></td>");
			document.write("<td nowrap align='right' class='s2d'><strong>"+format(100*sum/119)+" &euro;</strong></td>");
			document.write("<td nowrap align='right' class ='s2d'><strong>" + format(sum)+" &euro; </strong></td>");
			document.write("</tr>");
			
			// Ust
		
			for (i=0;i<vat.length;i++) {
				document.write("<tr>");
				document.write("<td></td>");				
				document.write("<td colspan='5' align='right' class='s2d'><strong>Cont. TVA:</strong></td>");
				document.write("<td nowrap align='right' class='s2d'><strong>"+format(vat[i].amount)+" &euro;</strong></td>");
				document.write("<td>&nbsp;</td>");
				document.write("</tr>");
			}	
		// Navigation
		
		document.write("</table>");
		document.write("</form>");
	
		document.write("<table width='80%' cellpadding='2' cellspacing='3' align='center'>");
		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 colspan='4' align='left'><a href='./index.html'><img src='images/psmb.gif' width='180' height='25' alt='' border='0' ></a></td>");
		document.write("<td align='right'><a onclick='reCalc();return true;' href='s2dship.html'><img src='images/cash_off.gif' width='180' height='25' alt='' border='0'></a></td>");
		document.write("<td></td>");
		document.write("</tr>");
		document.write("<tr></tr>");		
		document.write("</table>");
		
        document.write("<table width='80%' cellpadding='2' align='center'>");
		document.write("<tr><td><img src='./picts/paragraph-line.jpg' width='100%' height='3'></td></tr>");
		document.write("<tr>");
		document.write("<td class='s2d'><span class='subtitle'><br>Payment method and number of items</span><br><br>Orders containing just one piece of just one article can either be paid by credit card or by debit note.<br><br>");
		document.write("Orders containing <strong>several articles or several pieces of an article</strong>, for technical reasons can be paid by <strong>debit note </strong>only.<br><br>");
		document.write("On credit card payment, orders can be processed mechanically by machine, so that you are going to receive your purchased registration key <strong>within a few minutes</strong> after ordering, around the clock, 24 hours a day, 7 days a week.<br><br>");
		document.write("On debit note payment, orders are personally processed as soon as possible by our employees - on weekdays this usually takes 1 to 3 hours, in the weekend the waiting period can last more that 24 hours in worst case. On the other hand, on orders containing several pieces or articles (debit note), we offer <strong>quantity discount</strong>.<br><br>");
		document.write("If you prefer credit card payment on orders containing several pieces or articles in spite of this, then we recommend to treat this one order containing several pieces as several orders containing one piece each only.<br><br>");
		document.write("German banks do not allow <strong>debit charge procedures from outside of Germany</strong>. So in case you or your company are not resident in Germany, debit note payment will be replaced by usual money transfer between banks. Please be aware that your bank will charge you for this money transfer by between 10 and 25 €.<br><br></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="The maximum order quantity of the product \"[c]\" beträgt [n] [u] - the order amount has been adjusted automatically.";
				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="The minimum order quantity of the product \"[c]\" beträgt [n] [u] - the order amount has been adjusted automatically.";
				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="Do you really want to remove \"[c]\" from your shopping cart?";
	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="Send by eMail";
		parent.shippingmethod[1].info=""
//"kostenloser Download der Demoversion, dann Umwandlung der Demoversion zur Vollversion durch Online-Kauf des Registrierungsschlüssels";
		parent.shippingmethod[1].uid="50034694560f0b301";
		parent.shippingmethod[1].free=0;
		parent.shippingmethod[1].vat=0;
					parent.shippingmethod[1].price[1]=0;				
			parent.shippingmethod[1].weight[1]=0;				
					parent.shippingmethod[1].price[2]=0;				
			parent.shippingmethod[1].weight[2]=0;				
					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="Download im Internet";
		//parent.shippingmethod[2].info="kostenloser Download der Demoversion, dann Umwandlung der Demoversion zur Vollversion durch Online-Kauf des Registrierungsschlüssels";
		//parent.shippingmethod[2].uid="50034694560f0b301";
		//parent.shippingmethod[2].free=0;
		//parent.shippingmethod[2].vat=0;
		//			parent.shippingmethod[2].price[1]=0;				
		//	parent.shippingmethod[2].weight[1]=0;				
		//			parent.shippingmethod[2].price[2]=0;				
		//	parent.shippingmethod[2].weight[2]=0;				
		//			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;				
				}
}

function shippingShow() {
// Versand-Methoden anzeigen

	var i,j,sum,totalweight, totalprice;
	
	defineShippingMethods();
	updateActualPrice();
	
	sum=0;
	totalweight=0;
	totalprice=0;
	
	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("<table align='center' width='60%'><tr class ='title'>Shipping options<br><br></tr>");
		document.write("<tr><img src='./picts/paragraph-line.jpg' width='100%' height='3'><br><br></tr>");
		document.write("<tr class='s2d'>Your shopping cart is empty</tr></table>");
	}
		else {
	   
		document.write("<form name='shippingform'>");
		document.write("<table width='60%' cellpadding='2' align='center'>");
		document.write("<tr class='title'>Shipping options</tr>");
		document.write("<tr><br><img src='./picts/paragraph-line.jpg' width='100%' height='3'><br></tr>");
		
		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) {
				// 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' readonly ")
				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)+" &euro;");
				} else {
					document.write("no shipping costs");
				} 
				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 (totalweight>0) {
			document.write("<tr>");
			document.write("<td></td>");
			document.write("<td class='s2d'><br>Total weight: "+formatweight(totalweight)+" kg<br><br></td>");
			document.write("<td></td>");
			document.write("</tr>");
		}
		
		// Navigation unten
		document.write("</table>");
		document.write("</form>");		
	
		document.write("<table width='60%' cellpadding='2' align='center'>");
		document.write("<tr>");		
		document.write("<td align='left'><a href='s2dbskt.html'><img src='images/pbskt.gif' width='180' height='25' alt='' border='0'></a></td>");
		document.write("<td align='right'><a href='s2dpayment.html'><img src='images/pcob.gif' width='180' height='25' 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="Credit card via Worldpay";
			parent.paymentmethod[1].info="Pay safe via Credit card.";
			parent.paymentmethod[1].pregateway="Your order has been sent to our shopsystem. For your security an encrypted window will be opened, in which you please write your name and address. After the confirmation the order is complete. Thank you for buying in our shop.";
			parent.paymentmethod[1].postgateway="Thank you, we have received your order. Clicking button \"Enter credit card data\" at the very bottom of this form is going to take you to our partner WorldPay´s dialog forms entitled \"Secure Payment\". Please enter your credit card data there; note that your order can not be processed without this last step.";
			parent.paymentmethod[1].email="Thank you for your order.";
			parent.paymentmethod[1].noship="";
			parent.paymentmethod[1].uid="50034694711000701";
			parent.paymentmethod[1].price=0;
			parent.paymentmethod[1].vat=19;
			parent.paymentmethod[1].free=0;
			parent.paymentmethod[1].parameter[0]="worldpay";
			parent.paymentmethod[1].parameter[1]="86262";
			parent.paymentmethod[1].parameter[2]="100";
			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="Debit note";
			parent.paymentmethod[2].info="Pay by debit note collected from your bank account.";
			parent.paymentmethod[2].pregateway="Your order was transmitted to our shop system. For the sake of your security we have opened an encoded transmission window, in which you can fill in your address and payment data. As soon as you have entered and confirmed this data, your order is finalized. Thank you very much for your visit in our shop.";
			parent.paymentmethod[2].postgateway="Thank you very much. Your order was accepted. You are going to receive a confirmation by eMail soon.";
			parent.paymentmethod[2].email="Thank you very much for your order. As requested, the invoice amount will be debited from your bank account.";
			parent.paymentmethod[2].noship="";
			parent.paymentmethod[2].uid="500346947d0d22301";
			parent.paymentmethod[2].price=0;
			parent.paymentmethod[2].vat=19;
			parent.paymentmethod[2].free=0;
			parent.paymentmethod[2].parameter[0]="debit";
			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";
		}
}


function paymentShow() {
// Bezahl-Methoden anzeigen

	var i,j, totalprice;
	
	definePaymentMethods();
	updateActualPrice();
	
	sum=0;
	totalprice=0;
	productnumber=0;
	prodIdx=0;
	for (i=0;i<parent.basket.length;i++) {
		sum+=parent.basket[i].quantity;
		totalprice+=parent.basket[i].actualpriceall;
		productnumber+=parent.basket[i].quantity;
		if ( parent.basket[i].quantity > 0 )
		{
		 prodIdx = prodIdx +1;
		}
	}	
	
	if (sum==0)	{
		document.write("<table align='center' width='80%'><tr class ='title'>Payment method<br><br></tr>");
		document.write("<tr><img src='./picts/paragraph-line.jpg' width='100%' height='3'><br><br></tr>");
		document.write("<tr class='s2d'>Your shopping cart is empty</tr></table>");
	}
	else {
	document.write("<table width='65%' cellpadding='2' align='center'>");
		document.write("<tr class='title'><td>Payment method</td></tr>");
		document.write("<tr><td><br><img src='./picts/paragraph-line.jpg' width='100%' height='3'></td></tr>");
		document.write("<tr>");
		document.write("<td class='s2d' ><span class='subtitle'><br>Payment method and number of items</span><br><br>Orders containing just one piece of just one article can either be paid by credit card or by debit note.<br><br>");
		document.write("Orders containing <strong>several articles or several pieces of an article</strong>, for technical reasons can be paid by <strong>debit note</strong> only.<br><br>");
		document.write("On credit card payment, orders can be processed mechanically by machine, so that you are going to receive your purchased registration key <strong>within a few minutes</strong> after ordering, around the clock, 24 hours a day, 7 days a week.<br><br>");
		document.write("On debit note payment, orders are personally processed as soon as possible by our employees - on weekdays this usually takes 1 to 3 hours, in the weekend the waiting period can last more that 24 hours in worst case. On the other hand, on orders containing several pieces or articles (debit note), we offer <strong>quantity discount</strong>.<br><br>");
		document.write("If you prefer credit card payment on orders containing several pieces or articles in spite of this, then we recommend to treat this one order containing several pieces as several orders containing one piece each only.<br><br></td>");
		document.write("</tr>");
		document.write("<tr><td><img src='./picts/paragraph-line.jpg' width='100%' height='3'></td></tr>");		
		document.write("</table>");
		document.write("<form name='paymentform'>");
		document.write("<table width='65%' cellpadding='2' align='center'>");
		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;
			}
		}
    	  if (prodIdx>1)
		  {
		    if (parent.paymentmethod[2].actualprice!=-1) {
				// Wenn nichts gewählt, erstes wählen
				//if (parent.selectedpaymentmethod==-1) {
				//	parent.selectedpaymentmethod=i;
				//}
				parent.selectedpaymentmethod = 2; 
				document.write("<tr>");
				document.write("<td class='s2d'><input type='radio' checked ")				
				document.write("onclick='setPayment();' name='method' value='"+2+"'></td>");
				document.write("<td class='s2d' nowrap><strong>"+parent.paymentmethod[2].caption+"</strong><br></td>");
				document.write("<td align='right' nowrap class='s2d'><strong>");
				if (parent.paymentmethod[2].actualprice!=0) {
					document.write(format(parent.paymentmethod[2].actualprice)+" &euro;");
				} else {
					document.write("free of charge");
				}
				document.write("</strong></td>");
				document.write("</tr>");
				if (parent.paymentmethod[2].info!="") {
					document.write("<tr>");
					document.write("<td></td>");
					document.write("<td class='s2d' nowrap>"+parent.paymentmethod[2].info+"<br><br></td>");
					document.write("<td></td>");
					document.write("</tr>");
				}
			}
		  }
		  else{    
		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' nowrap><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)+" &euro;");
				} else {
				   document.write("free of charge");				   				   
				}
				document.write("</strong></td>");
				document.write("</tr>");
				if (parent.paymentmethod[i].info!="") {
					document.write("<tr>");
					document.write("<td></td>");
					document.write("<td class='s2d' nowrap>"+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='65%' cellpadding='2' align='center'>");		
		document.write("<tr>");		
		document.write("<td align='left'><a href='s2dship.html'><img src='images/pbskt.gif' width='180' height='25' alt='' border='0'></a></td>");
		document.write("<td align='right'><a href='s2dsummary.html'><img src='images/pcob.gif' width='180' height='25' 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="DriverLab S.R.L.<br>E7, 27<br>68159 Mannheim<br><br>Tel.: 0621 / 316512<br>E-Mail: info@driverlab.de";
	
	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>Order form</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='80%' cellpadding='5' cellspacing='3' border='0'>");
		mydoc.write("<tr><td class='s2d'><h1 class='s2d'>Order form</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>Address:</strong><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>ZIP and city:</strong><br></td></tr>");
		mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Phone number:</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>Account number:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Bank code:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Bank:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Account holder:</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>Card type (please tick): "+parent.paymentmethod[parent.selectedpaymentmethod].parameter[1]+"</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Card number:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Cardholder's name:</strong><br></td></tr>");
				mydoc.write("<tr><td class='s2d' style='border-bottom: 1px solid #000000;' solid;'><strong>Expiration date:</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>Date, City, Signature:</strong><br></td></tr>");		
		mydoc.write("<tr><td class='s2d'><br></td></tr>");

		mydoc.write("</table>");
	}
	else {
		mydoc=document;
	}
	
	// Überschrift

	mydoc.write("<table  cellpadding='1' width='80%' align='center'>");
	mydoc.write("<tr class='title'>Summary<br><br></tr>");
	mydoc.write("<tr><br><img src='./picts/paragraph-line.jpg' width='100%' height='3'><br><br></tr>");
	mydoc.write("<tr>");
	mydoc.write("<td align='left' colspan='2' class='s2d'><strong>Quantity</strong></td>");
	mydoc.write("<td  class='s2d'><strong>Item</strong></td>");
	//single price without vat
    mydoc.write("<td nowrap align='right' class='s2d'><strong> Price</strong></td>");
	mydoc.write("<td nowrap align='right' class='s2d'><strong>Price+tax</strong></td>");
	//total price without vat	
	mydoc.write("<td nowrap align='right' class='s2d'><strong>Subtotal</strong></td>");
	mydoc.write("<td nowrap align='right' class='s2d'><strong>Subtotal+tax</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 nowrap class='s2d'>"+htmlChars(parent.basket[i].unit)+"&nbsp;</td>");
			mydoc.write("<td nowrap class='s2d'>"+htmlChars(parent.basket[i].caption)+"</td>");
			//price without vat
			mydoc.write("<td nowrap align='right' class='s2d'>"+format(100*parent.basket[i].actualpriceone/119)+" &euro;</td>");
		    mydoc.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceone)+" &euro;</td>");
			//total price without vat
			mydoc.write("<td nowrap align='right' class='s2d'>"+format(100*parent.basket[i].actualpriceall/119)+" &euro;</td>");
			mydoc.write("<td nowrap align='right' class='s2d'>"+format(parent.basket[i].actualpriceall)+" &euro;</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></td>");
		mydoc.write("<td colspan='4' align='right' class='s2d'><strong>Total:</strong></td>");
		//total without vat
		mydoc.write("<td nowrap align='right' class='s2d'><strong>"+format(100*sum/119)+" &euro;</strong></td>");	
		mydoc.write("<td nowrap align='right' class='s2d'><strong>"+format(sum)+" &euro;</strong></td>");
		mydoc.write("</tr>");
			
	mydoc.write("<tr>");
        mydoc.write("<td></td>");			
		mydoc.write("<td colspan='4' align='right' class='s2d'>Shipping rates:</td>");
		mydoc.write("<td nowrap align='right' class='s2d'>"+format(shippingcost)+" &euro;</td>");
		mydoc.write("<td></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></td>");
			mydoc.write("<td colspan='4' align='right' class='s2d'><strong>Cont. TVA:</strong></td>");
			mydoc.write("<td nowrap align='right' class='s2d'><strong>"+format(vat[i].amount)+" &euro;</strong></td>");
			mydoc.write("<td></td>");
			mydoc.write("</tr>");
		}
		

		mydoc.write("<tr>");
		mydoc.write("<td colspan='6' align='left'></td>");		
		mydoc.write("</tr>");

	
			
	mydoc.write("</table>");
	mydoc.write("</form>");
	
	mydoc.write("<table cellpadding='2' align='center' width='80%'>");

	mydoc.write("<tr>");
	mydoc.write("<td nowrap class='s2d'>Delivery type: </td>");
	mydoc.write("<td nowrap class='s2d'>"+shippingcaption+"</td>");
	mydoc.write("<td width='80%'></td>");
	mydoc.write("</tr>");
	
	if (totalweight>0) {
		mydoc.write("<tr>");
		mydoc.write("<td nowrap class='s2d'>Total weight: </td>");
		mydoc.write("<td nowrap class='s2d'>"+formatweight(totalweight)+" kg</td>");		
		mydoc.write("</tr>");
	}

	mydoc.write("<tr>");
	mydoc.write("<td nowrap class='s2d'>Payment type: </td>");
	mydoc.write("<td nowrap class='s2d'>"+paymentcaption+"</td>");
	mydoc.write("<td width='80%'></td>");
	mydoc.write("</tr>");
	
	//mydoc.write("<img src='../picts/paragraph-line.jpg'>");
	mydoc.write("</table>");	
	
		
	if (newwindow) {   	   
		mydoc.write("<table cellpadding='2' align='center' width='80%'><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' align='center' width='80%'>");
		//text explaining the tax outside Germany
      	mydoc.write("<tr><td class='s2d'><span class='subtitle'><br>Corporate center and TVA<br></span><br>According to german fiscal laws, the purchaser does not have to be charged by taxes (19% Mehrwertsteuer ~ TVA)");
        mydoc.write(" in case the purchaser is or represents a company resident outside of Germany, regardless whether in or outside of European Union.<br><br>");
        mydoc.write("In all other cases, i.e. if the purchaser<br><br>");
		mydoc.write("<ul><li>is resident in Germany<br><br></li><li> or is resident outside of Germany, but not a company, but a private client,</li></ul>");
        mydoc.write("then the purchaser is obliged to pay 19% Mehrwertsteuer (~ TVA) in addition to the base price.<br><br>");
        mydoc.write("Please select now whether you purchase in the name of a company outside of Germany or not. By selecting an option, you confirm that your statement is true.");
 		mydoc.write(" Without selecting any of these two options, your order can not be processed. </td></tr>");
		//checkboxes fo tax or not
  mydoc.write("<form name='formtva'> <tr><td class='s2d' nowrap><input type='checkbox'  name='without_tva' onclick='off_button(0)'><strong>Company outside of Germany</strong></td></tr>");		
		mydoc.write("<tr><td class='s2d' nowrap><input type='checkbox'   name='with_tva' onclick='off_button(1)'><strong>All other cases</strong><br><br></td></tr>");		
		mydoc.write("<tr>");
	    mydoc.write("<br><br><br><img src='../picts/paragraph-line.jpg' width='100%' height='3'>");
    mydoc.write("</tr>");
		mydoc.write("</form>");
		        
		//mydoc.write("<table cellpadding='2' >");
		//mydoc.write("<tr><td><img src='../picts/paragraph-line.jpg'></td></tr>");
		mydoc.write("<tr><td class='s2d' width='100%' ><img src='../picts/paragraph-line.jpg' width='100%' height='3'><span class='subtitle'><br><br>Terms and conditions<br></span><br>Please check your inputs. You can correct them by clicking \"Back\". When all inputs are correct, click \"Continue\".");							
							mydoc.write("<br><br>Our general terms and conditions apply. You can inspect them any time in menu <a class='s2d' href=\"agb.html\">Terms and conditions</a>.");
				mydoc.write("</td></tr>");		
		mydoc.write("<form name='formagb'><tr><td class='s2d'><input type='checkbox' name='checkagb' value='1'><strong>I have read and accepted your terms and conditions.</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='&euro;'>");
				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("Delivery type "+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='https://driverlab.de/EnglGateway/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+"'>");
				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=''>"); 
				mydoc.write("<input type='hidden' name='GTSI' value=''>");
				mydoc.write("</form>");
		}
		mydoc.write("<table width='80%' cellpadding='2' align='center'>");

                // Bianca 16.05.2006
		//put here the lines needed to add the text you want
		//table row
		mydoc.write("<tr>");		
		mydoc.write("<td>&nbsp;</td>");
		//put here the text you want
		mydoc.write("<td align='left' width='180'><font color=\"#FF0000\"> Please keep the <strong>CTRL key pressed</strong> while clicking button \"Continue\"!</td>");
		mydoc.write("</tr>");
		// end of Bianca 16.05.2006

		mydoc.write("<tr>");		
		mydoc.write("<td align='left'><a href='s2dpayment.html'><img src='images/pbskt.gif' width='180' height='25' alt='' border='0'></a></td>");
		mydoc.write("<td align='right'><a href='' onclick='submitOrder();return false;'><img src='images/pcob.gif' width='180' height='25' 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='60%' border='0' cellpadding='0' cellspacing='0' align='center'>");
	document.write("<tr class='title'>Finish order<br><br><img src='../picts/paragraph-line.jpg' width='100%' height='3'><br></tr>");
	document.write("<tr class='s2d'><br>"+parent.paymentmethod[parent.selectedpaymentmethod].pregateway+"<br><br><br></tr>");
	document.write("<tr>");
	document.write("<td align='left'><a href='s2dsummary.html'><img src='images/pbskt.gif' width='180' height='25' 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='180' height='25' alt='' border='0'></a></td>");
	document.write("<tr>");
	document.write("</table>");
}

function submitOrder() {

	// Bestellung absenden
	if ((!document.formtva.without_tva.checked)&&(!document.formtva.with_tva.checked)) {
	 alert("Please select whether you are a company outside Germany or not before continuing");
	 return false;
	 }
	else{
	if (!document.formagb.checkagb.checked) {
		alert("Please read our terms and conditions and tick the field \"I have read and accepted your terms and conditions \" before you continue.");
		return false;
	}
	else {
   	    sum = 0.00;
	    for (i=0;i<parent.basket.length;i++) {
		if (parent.basket[i].quantity!=0) {
            sum+=parent.basket[i].actualpriceall;}}
		if ( document.formtva.without_tva.checked == true )	
 		{
		  document.orderform.OTOT.value= 100*sum/119;}		  
		else {		  
		  document.orderform.OTOT.value= sum}
		switch (parent.paymentmethod[parent.selectedpaymentmethod].parameter[0]) {
		case "printdebit":
		case "printcod":
		case "printcheque":
		case "printremittance":
		case "printcreditcard":
		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";
		}
	}
	}
}
	function off_button( nType ){
		    var withoutTVA= document.formtva.without_tva;
		    var withTVA = document.formtva.with_tva;
		    if ( nType ==0 ){			
   		           document.formtva.without_tva.checked =true; 
				   document.formtva.with_tva.checked =false;
			}	  
			if ( nType== 1) {
			       document.formtva.without_tva.checked = false;
				   document.formtva.with_tva.checked = true;
			}	  
		}
