
function isPayform(oForm){
	var retval = false;
	for(var i=0;i<oForm.elements.length;i++){
		if(oForm.elements[i].name == 'SMPAYMETHOD_SELECTOR'){
			retval = true;
			break;
		};
	};
	return(retval);
};

function setActiveForm(formname){
	formname = formname?formname:document.forms[0].name;
	for(var i=0;i<document.forms.length;i++){
		if(isPayform(document.forms[i])){
			if(document.forms[i].name == formname){
				document.forms[i].SMPAYMETHOD_SELECTOR.checked = true;
			} else {
				document.forms[i].SMPAYMETHOD_SELECTOR.checked = false;
			};
		};
	};
};

function totalPayMethodCount(){
	var formCount = 0;
	for(var i=0;i<document.forms.length;i++){
		if(isPayform(document.forms[i])){
			formCount++;
		};
	};
	return(formCount);
};

function hideExclMethods(){
	var relCountryCode = '';
	var relShipToCountryCode = '';
	var relBillToCountryCode = SMShop.getFormValue('BILLTO','BILLTO_COUNTRY', true).toUpperCase();
	var usingShipToAddress = (SMShop.getFormElement("BILLTO", "BILLTO_SHIPTO_DIFFERS") != null);
	var relSelectedItemId = SMShop.getActivePayMethodId();
	var exclMethods = oSMPayMethods.exclMethods, arrExcl = null;
	var sId = '', bAdd = true, sRelId = sSelectFormName = '';
	var iActiveCount = totalPayMethodCount();
	var sErrDesc = getVar('errdesc');

	if(usingShipToAddress){
		usingShipToAddress = cbool(SMShop.getFormValue("BILLTO", "BILLTO_SHIPTO_DIFFERS", true));
	};
	if(usingShipToAddress){
		relShipToCountryCode = SMShop.getFormValue('SHIPTO','SHIPTO_COUNTRY', true).toUpperCase();
	};

	if(sErrDesc.length > 0){
		$('SMPAYERRDESC').innerHTML = sErrDesc;
		$('SMPAYERRDESC').style.display = '';
	} else {
		$('SMPAYERRDESC').style.display = 'none';
	};
	for(var pkid in m_exclPayMethodRegions){
		if(isNaN(pkid)) continue;
		if(usingShipToAddress && oSMPayMethods.payMethods[pkid].isShipCountryBased){
			relCountryCode = relShipToCountryCode;
		} else {
			relCountryCode = relBillToCountryCode;
		};

		if((m_exclPayMethodRegions[pkid].toUpperCase() + ',').indexOf(relCountryCode + ',') > -1){
			arrExcl = exclMethods.split(','); bAdd = true;
			for(var i=0;i<arrExcl.length;i++){
				if(parseInt(arrExcl[i]) == parseInt(pkid)){
					bAdd = false; break;
				};
			};
			if(bAdd){
				if(exclMethods.length > 0) exclMethods += ',';
				exclMethods += pkid.toString();
			};
		};
	};

	if(exclMethods.length > 0){
		arrExcl = exclMethods.split(',');
		for(var j=0;j<arrExcl.length;j++){
			sId = 'SMPAYMETHOD' + arrExcl[j];
			if($(sId)){
				$(sId).style.display = 'none';
				iActiveCount--;
			};
		};
	};

	if(iActiveCount > 0){
		for(var i=0;i<document.forms.length;i++){
			if(isPayform(document.forms[i])){
				sRelId = 'SMPAYMETHOD' + document.forms[i].SMPAYMETHOD_SELECTOR.value;
				if($(sRelId)){
					if($(sRelId).style.display != 'none'){
						sSelectFormName = document.forms[i].name;
						break;
					};
				};
			};
		};
		if(relSelectedItemId.length > 0){
			sRelId = 'SMPAYMETHOD' + relSelectedItemId;
			if($(sRelId)){
				if($(sRelId).style.display != 'none'){
					sRelId = 'SMPAYMETHOD_SELECTOR' + relSelectedItemId;
					if($(sRelId)){
						sSelectFormName = $(sRelId).form.name.toString();
					};
				};
			};
		};
		setActiveForm(sSelectFormName);
	} else {
		if($('SMPAYACTION')){
			$('SMPAYACTION').style.display = 'none';
		};
		if($('SMPAYNOTE')){
			$('SMPAYNOTE').style.display = '';
		};
	};
};

function SMPayMethods_saveRedirect(){
	var oSelectedForm = null, sId = '';
	var oActiveMethod = null, sVerify = '';

	for(var i=0;i<document.forms.length;i++){
		if(isPayform(document.forms[i])){
			if(document.forms[i].SMPAYMETHOD_SELECTOR.checked){
				oSelectedForm = document.forms[i];
				sId = document.forms[i].SMPAYMETHOD_SELECTOR.value;
				oActiveMethod = oSMPayMethods.payMethods[sId];
				oActiveMethod.payForm = oSelectedForm;
				break;
			}
		}
	};

	sVerify = 'SMFRMVerify_' + oSelectedForm.name;
	if(window[sVerify] != null){
		if(window[sVerify]() == false){
			return(false);
		};
	};

	if(SMShop.setPayMethod(oActiveMethod)){
		location.href = SMGetCheckoutStep('SM_RESERVED_DATA_ENTRY_PAYMENT', false);
	};
	return(false);
};

function SMPayMethods_goBack(){
	location.href = SMGetCheckoutStep('SM_RESERVED_DATA_ENTRY_PAYMENT', true);
};

function SMPayMethods(){
	var SMPrice = new cSMPrice(), totalPrice = 0;
	SMPrice.decode(SMShop.basket.getAttribute(_SMADSubTotal));

	this.payMethods = new Array();
	this.exclMethods = SMShop.getActiveShipMethodExclusions();
	this.relTotalPrice = SMShop.getAttribute(_SMAOutGross)!="1" ? SMPrice.net : SMPrice.gross;

	this.addPayMethod = SMPayMethods_addMethod;
	this.addExclMethod = SMPayMethods_addExclMethod;
};

function SMPayMethod(){
	this.id = '';
	this.publicId = '';
	this.name = '';
	this.desc = '';
	this.thumb = '';
	this.chargeType = 0;
	this.chargeValue = 0;
	this.taxkey = 0;
	this.payForm = null;
	this.isShipCountryBased = false;
};

function SMPayMethods_addExclMethod(pkid){
	var arrExcl = null, bAdd = true;
	arrExcl = this.exclMethods.split(',');
	for(var i=0;i<arrExcl.length;i++){
		if(parseInt(arrExcl[i]) == parseInt(pkid)){
			return;
		};
	};
	if(this.exclMethods.length > 0) this.exclMethods += ',';
	this.exclMethods += pkid.toString();
};

function SMPayMethods_addMethod(values){
	var arr = values.split(';');
	var sOrderValue = arr[7];
	var arrOrderValue = null;
	var fromValue = maxValue = 0;

	if(sOrderValue.length > 0){
		arrOrderValue = sOrderValue.split(',');
		fromValue = parseFloat(arrOrderValue[0]);
		maxValue = parseFloat(arrOrderValue[1]);
		if(this.relTotalPrice < fromValue || (maxValue > 0 && this.relTotalPrice > fromValue && this.relTotalPrice > maxValue)){
			this.addExclMethod(arr[0].toString());
			return;
		};
	};

	var oMethod = new SMPayMethod();
	oMethod.id = SX_uEsc(arr[0]);
	oMethod.name = SX_uEsc(arr[1]);
	oMethod.desc = SX_uEsc(arr[2]);
	oMethod.thumb = SX_uEsc(arr[3]);
	oMethod.chargeType = parseFloat(arr[4]);
	oMethod.chargeValue = parseFloat(arr[5]);
	oMethod.taxkey = parseInt(arr[6]);
	oMethod.publicId = SX_uEsc(arr[8]);
	oMethod.isShipCountryBased = cbool(arr[9]);

	this.payMethods[arr[0].toString()] = oMethod;

};

var m_exclPayMethodRegions = new Array();
var oSMPayMethods = new SMPayMethods();

oSMPayMethods.addPayMethod('1;Vorkasse;_3Cspan_20style=_22color:darkgreen_22_3E3_25_20Skonto!_20_3C_X4span_3EWenn_20wir_20Ihren_20Auftrag_20best_C3_A4tigen,_20teilen_20wir_20Ihnen_20unsere_20Bankverbindung_20mit_X3_20Die_20Lieferung_20erfolgt_20nach_20Eingang_20der_20Zahlung_X3;;1;-3;1;;PM_X201001;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};m_exclPayMethodRegions[8] = 'CZ,PL,PT,SK';oSMPayMethods.addPayMethod('8;Kreditkarte;Wir_20akzeptieren_20VisaCard,_20MasterCard_20und_20AmericanExpress_X3_20Ihre_20Kreditkarte_20wird_20bei_20Lieferung_20belastet_X3_20Unser_20Bestellvorgang_20sowie_20die_20_C3_9Cbertragung_20Ihrer_20Daten_20erfolgt_20SSL_X2verschl_C3_BCsselt_X3;;0;0;1;;P_X201009;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};m_exclPayMethodRegions[2] = 'AT,CH,BE,CA,CZ,DK,FI,FR,EL,IE,IT,LU,NL,PL,SE,GB,US';oSMPayMethods.addPayMethod('2;Nachnahme_20(nur_20in_20D);Bezahlen_20Sie_20die_20Rechnung_20bei_20Erhalt_20der_20Ware_20per_20Nachnahme_20bei_20Ihrem_20DHL_X2Paketboten!_20Das_20_C3_9Cbermittlungsentgelt_20in_20H_C3_B6he_20von_20EUR_202,00_20ist_20enthalten_20und_20muss_20bei_20Entgegenahme_20des_20Pakets_20nicht_20zus_C3_A4tzlich_20entrichtet_20werden_X3_20Nur_20in_20Deutschland_20verf_C3_BCgbar_X3;;0;5.949999809265137;1;;PM_X201002;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};oSMPayMethods.addPayMethod('13;PayPal;PayPal_20ist_20der_20Online_X2Zahlungsservice,_20mit_20dem_20Sie_20in_20Online_X2Shops_20sicher,_20einfach_20und_20schnell_20bezahlen_20_E2_80_93_20und_20das_20kostenlos_X3_20Ihre_20Bank_X2_20oder_20Kreditkartendaten_20sind_20nur_20bei_20PayPal_20hinterlegt_X3_20(Separates_20Terminalfenster);;0;0;1;;P_X201014;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};m_exclPayMethodRegions[7] = 'BE,CA,CZ,DK,FI,FR,EL,IE,IT,LU,NL,PL,PT,SK,SE,GB,US';oSMPayMethods.addPayMethod('7;Sofort_C3_BCberweisung_20(nur_20in_20D,_20CH,_20A);sofort_C3_BCberweisung_X3de_20ist_20ein_20neues_20und_20T_C3_9CV_X2zertifiziertes_20Online_X2Zahlungssystem_20auf_20Basis_20des_20bew_C3_A4hrten_20Online_X2Bankings_20mit_20PIN_X2_X4TAN_X2Eingabe_20zur_20sicheren_20und_20schnellen_20Abwicklung_20Ihrer_20Online_X2K_C3_A4ufe_X3_20(Separates_20Terminalfenster);;1;-2;1;;P_X201008;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};oSMPayMethods.addPayMethod('5;Rechnung;_3Cspan_20style=_22color:darkred_22_3EBeh_C3_B6rden_20und_20Pfarrgemeinden_20_3C_X4span_3E_20k_C3_B6nnen_20bei_20uns_20bequem_20gegen_20Rechnung_20bestellen_X3_20_3Cspan_20style=_22color:darkred_22_3EFirmenkunden_3C_X4span_3E_20kontaktieren_20uns_20bitte_20vorher,_20ob_20eine_20Order_20gegen_20Rechnug_20m_C3_B6glich_20ist_X3;;0;0;1;;PM_X201005;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};oSMPayMethods.addPayMethod('11;Rechnung_20mit_20Kunden_X2ID;Als_20Vorzugskunde_20geben_20Sie_20bitte_20Ihre_20Kunden_X2ID_20ein,_20die_20wir_20Ihnen_20bei_20einer_20fr_C3_BCheren_20Bestellung_20mitgeteilt_20haben_X3;;1;-3;1;;P_X201012;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};oSMPayMethods.addPayMethod('10;Iclear;Einfach_20und_20sicher_20einkaufen_20mit_20dem_20kostenlosen_20iclear_20Treuhandservice_X3_20iclear_20gibt_20Ihnen_20die_20Sicherheit_20einer_20geregelten_20Abwicklung_X3_20Einfach_20kostenlos_20anmelden_20und_20in_20mehreren_20tausend_20Online_X2Shops_20sicher_20einkaufen_X3_20(Separates_20Terminalfenster);;0;0;1;;P_X201011;0');if(SMShop.basket.payMethodInfo.xml.getAttribute(_SMAUniqueID)==""){SMShop.setPayMethod(oSMPayMethods.payMethods[(1).toString()]);};