

function PAYPAL_doPay(oPayForm, bShowWaitForPay){
	var sFormTarget = 'PaymentTerminal';
	var oWin = null;



	var products = SMShop.basket.xml.selectNodes(_SMPrd), product = null;

	var ObsoleteElement = document.getElementsByName("item_name")[0];
	oPayForm.removeChild(ObsoleteElement);
	ObsoleteElement = document.getElementsByName("amount")[0];
	oPayForm.removeChild(ObsoleteElement);
	ObsoleteElement = document.getElementsByName("no_shipping")[0];
	oPayForm.removeChild(ObsoleteElement);

	for(var i=1; i < products.length() + 1; i++){
		product = new cSMProduct();
		product.init(products.item(i-1));

		if (bd_isIE) var InputElementItemName = document.createElement('<input name="item_name_' + i + '" />');
		else {
			var InputElementItemName = document.createElement('input');
			InputElementItemName.name = 'item_name_' + i;
		}
		InputElementItemName.setAttribute("value", product.name);
		InputElementItemName.type = "hidden";
		oPayForm.appendChild(InputElementItemName);

		if (bd_isIE) var InputElementItemNumber = document.createElement('<input name="item_number_' + i + '" />');
		else {
			var InputElementItemNumber = document.createElement('input');
			InputElementItemNumber.name = 'item_number_' + i;
		}
		InputElementItemNumber.setAttribute("value", product.getAttribute("cde"));
		InputElementItemNumber.type = "hidden";
		oPayForm.appendChild(InputElementItemNumber);

		if (bd_isIE) var InputElementItemAmount = document.createElement('<input name="amount_' + i + '" />');
		else {
			var InputElementItemAmount = document.createElement('input');
			InputElementItemAmount.name = 'amount_' + i;
		}
		InputElementItemAmount.setAttribute("value", product.getPrice(true, true));
		InputElementItemAmount.type = "hidden";
		oPayForm.appendChild(InputElementItemAmount);

		if (bd_isIE) var InputElementQuantity = document.createElement('<input name="quantity_' + i + '" />');
		else {
			var InputElementQuantity = document.createElement('input');
			InputElementQuantity.name = 'quantity_' + i;
		}
		InputElementQuantity.setAttribute("value", product.getAttribute(_SMAAmount));
		InputElementQuantity.type = "hidden";
		oPayForm.appendChild(InputElementQuantity);
	};

	/* Payment Charge as own item */

	if (bd_isIE) var InputElementItemName = document.createElement('<input name="item_name_' + i + '" />');
	else {
		var InputElementItemName = document.createElement('input');
		InputElementItemName.name = 'item_name_' + i;
	}
	InputElementItemName.setAttribute("value", "Zahlartgebühren");
	InputElementItemName.type = "hidden";
	oPayForm.appendChild(InputElementItemName);

	if (bd_isIE) var InputElementItemNumber = document.createElement('<input name="item_number_' + i + '" />');
	else {
		var InputElementItemNumber = document.createElement('input');
		InputElementItemNumber.name = 'item_number_' + i;
	}
	InputElementItemNumber.setAttribute("value", "001");
	InputElementItemNumber.type = "hidden";
	oPayForm.appendChild(InputElementItemNumber);

	var SMPricePayment = new cSMPrice();
	SMPricePayment.decode(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAPrice));

	if (bd_isIE) var InputElementItemAmount = document.createElement('<input name="amount_' + i + '" />');
	else {
		var InputElementItemAmount = document.createElement('input');
		InputElementItemAmount.name = 'amount_' + i;
	}
	InputElementItemAmount.setAttribute("value", SMPricePayment.gross);
	InputElementItemAmount.type = "hidden";
	oPayForm.appendChild(InputElementItemAmount);

	if (bd_isIE) var InputElementQuantity = document.createElement('<input name="quantity_' + i + '" />');
	else {
		var InputElementQuantity = document.createElement('input');
		InputElementQuantity.name = 'quantity_' + i;
	}
	InputElementQuantity.setAttribute("value", "1");
	InputElementQuantity.type = "hidden";
	oPayForm.appendChild(InputElementQuantity);

	var SurCharge = "";
	var SMPriceShipment = new cSMPrice();
	SMPriceShipment.decode(SMShop.basket.shipMethodInfo.xml.getAttribute(_SMAPrice));
	SurCharge = SMPriceShipment.gross;

	if (bd_isIE) var InputElementHandlingCart = document.createElement('<input name="handling_cart" type="hidden"/>');
	else {
		var InputElementHandlingCart = document.createElement('input');
		InputElementHandlingCart.name = 'handling_cart';
	}
	InputElementHandlingCart.setAttribute("value", SurCharge);
	InputElementHandlingCart.type = "hidden";
	oPayForm.appendChild(InputElementHandlingCart);


	oWin = new SMPopup();
	with(oWin){
		targetName = sFormTarget;
		locationReplace = true;
		showScroll = true;
		showModal = false;
		pWidth = 800;
		pHeight = 560;
		openPage();
	};

	with(oPayForm){
		action = 'https://www.paypal.com/de/cgi-bin/webscr';
		target = sFormTarget;
		submit();
	};

	return(bShowWaitForPay);
};

function PAYPAL_setFieldValue(fieldName, fieldValue){
	switch(fieldName){
		case 'business':
			fieldValue = 'info@gummistiefelstore.de'; break;
		case 'item_name':
			fieldValue = SMShop.getAttribute("sid"); break;
		case 'currency_code':
			fieldValue = 'EUR'; break;
		case 'amount':
			var oAmount = new cSMPrice();
			oAmount.decode(SMShop.basket.getAttribute(_SMAFinalSum));
			fieldValue = cprimary.format(oAmount.gross, SM_CNOFORMAT);
			break;

		case 'cmd':
			fieldValue = '_cart'; break;
	
		case 'return':
			fieldValue = SM_PAGEURL_POPPAY_SUCCESS; break;
		case 'cancel_return':
			fieldValue = SM_PAGEURL_POPPAY_CANCEL; break;
	
		case 'image_url':
			fieldValue = 'http://www.gummistiefelstore.de/paypal_image/gummistiefel_store4.gif'; break;
		case 'cs':
			fieldValue = '0'; break;
		case 'email':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_EMAIL"); break;
		case 'first_name':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_FIRSTNAME"); break;
		case 'last_name':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_LASTNAME"); break;
		case 'address1':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_STREET_1"); break;
		case 'address2':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_STREET_2"); break;
		case 'city':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_CITY"); break;
		case 'state':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_COUNTRY"); break;
		case 'zip':
			fieldValue = SMShop.getFormValue("BILLTO", "BILLTO_POSTCODE"); break;
	};
	return(fieldValue);
};

function PAYPAL_beforeSendOrder(params, cancel){
	return(cancel);
};

function PAYPAL_removePayFormFields(){
	return(true);
};

function PAYPAL_setForwardPayformFieldNames(){
	var sFields = ''; // semicolon separated string with paymethods formfields to show in ordermail
	return(sFields);
};

function PAYPAL_setResponseQueryCaptions(param){
	var sCaption = '';
	switch(param.toLowerCase()){
		case 'transid': sCaption = 'Transaktionsnr.'; break;
		default: sCaption = param;
	};
	return(sCaption);
};
