

		function SMShop_noDataAvailable(args){
		var $SMS = args[0], _id = $SMS.id, _xml = null;
			// no data available during init
			_xml = SMSession.getSession(_id);
			if(_xml==null) _xml = SMSession.xml.createNode(_id);
			if(_xml!=null) $SMS.xml = _xml;
			};

		function SMBasket_noDataAvailable(args){
		var $SMB = args[0], $SMS = $SMB.parent,
				_doc = $SMS.xml.ownerDocument, _id = $SMB.id, _xml = null;
			// no data available during init
			_xml = $SMS.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) $SMB.xml = _xml;
			};

		function SMShipMethodInfo_noDataAvailable(args){
		var _SMShipMethodInfo = args[0], $SMB = _SMShipMethodInfo.parent,
				_doc = $SMB.xml.ownerDocument, _id = _SMShipMethodInfo.id, _xml = null;
			// no data available during init
			_xml = $SMB.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) _SMShipMethodInfo.xml = _xml;
			};

		function SMPayMethodInfo_noDataAvailable(args){
		var _SMPayMethodInfo = args[0], $SMB = _SMPayMethodInfo.parent,
				_doc = $SMB.xml.ownerDocument, _id = _SMPayMethodInfo.id, _xml = null;
			// no data available during init
			_xml = $SMB.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) _SMPayMethodInfo.xml = _xml;
			};

		function SMGDiscounts_noDataAvailable(args){
		var _SMGDiscounts = args[0], $SMB = _SMGDiscounts.parent,
				_doc = $SMB.xml.ownerDocument, _id = _SMGDiscounts.id, _xml = null;
			// no data available during init
			_xml = $SMB.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) _SMGDiscounts.xml = _xml;
			};

		function SMProduct_noDataAvailable(args){
		var $SMP = args[0], $SMS = $SMP.shop, _id = $SMP.id, _xml = null;
			// no data available during init
			_xml = $SMS.xml.ownerDocument.createNode(_id);
			if(_xml!=null){
				$SMP.xml = _xml;
				};
			};

		function SMDiscounts_noDataAvailable(args){
		var _SMDiscounts = args[0], $SMP = _SMDiscounts.parent,
				_doc = $SMP.xml.ownerDocument, _id = _SMDiscounts.id, _xml = null;
			// no data available during init
			_xml = $SMP.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) _SMDiscounts.xml = _xml;
			};

		function SMVariants_noDataAvailable(args){
		var _SMVariants = args[0], $SMP = _SMVariants.parent,
				_doc = $SMP.xml.ownerDocument, _id = _SMVariants.id, _xml = null;
			// no data available during init
			_xml = $SMP.xml.appendChild(_doc.createNode(_id));
			if(_xml!=null) _SMVariants.xml = _xml;
			};

		function SMShop_onAfterUpdate(args){
		var $SMS = args[0], _id = $SMS.id, _xml = $SMS.xml;
			// after shop update update and save session object
			SMSession.setSession(_id, "xmlnode", _xml);
			SMSession.save();
			};

		function SMBasket_onBeforeReset(args){
			// before resetting basket confirm
			return(confirm("Sind Sie sicher, dass Sie Ihren Warenkorb löschen möchten?"));
			};

		function SMBasket_onAfterReset(args){
			// after resetting basket reload
			location.replace(location.href);
			};

		function SMBasket_onBeforeAdd(args){
		var $SMB = args[0], $SMP = args[1], $SMS = $SMB.parent, _frm = null,
				_elem = null, _params = new Array(), _msg = "";
			// before adding a product, check whether another order
			// has been completed earlier
			if($SMS.getAttribute(_SMAOComplete)=="true"){
				$SMS.reinitOrder();
				};
			return(true);
			};

		function SMProduct_onBeforeUpdate(args){
		var $SMP = args[0], _index = 0, _frm = _elem = _params = null;
			_frm = document.forms["PD" + $SMP.getAttribute(_SMAUniqueID) + "variants"];
			if(_frm!=null&&($SMP.variants.xml.childNodes.length()==0||$SMP.getAttribute("s-var")=="1")){
				_params = new Array();
				for(var i=0; i<_frm.elements.length; i++){
					_index = _frm.elements[i].selectedIndex;
					if(_index<0) _index = 0;
					_elem = _frm.elements[i].options[_index];
					_params[_params.length] = _elem.text;
					_params[_params.length] = _elem.value;
					};
				$SMP.variants.newSimpleVariant.apply($SMP.variants, _params);
				};
			return(true);
			};

		function SMProduct_onAfterUpdate(args){
		var $SMP = args[0], $min = $max = $amnt = 0, $update = false;
			$min = parseInt($SMP.getAttribute(_SMAMinAmount));
			$max = parseInt($SMP.getAttribute(_SMAMaxAmount));
			$amnt = parseFloat($SMP.getAttribute(_SMAAmount));
			if($amnt < $min){
				$amnt = $min; $update = true;
				} else if($max > 0 && $amnt > $max){
				$amnt = $max; $update = true;
				};
			if($update){
				$SMP.setAttribute(_SMAAmount, $amnt);
				$SMP.update();
				};
			};

		function SMBasket_onAfterAdd(args){
		var $SMB = args[0], $SMP = args[1];
			location.href = (SMOMAbsoluteBasePath + "warenkorb.htm");
			};

		function SMBasket_onItemExists(args){
		var $SMB = args[0], _SMNewProduct = args[1], _SMExistingProduct = args[2];
			// item exists in basket, return action flag
			// * _eSMReplace	: replace existing item 
			// * _eSMAdd			: add to basket
			// * _eSMCancel		: cancel action
			return(_eSMAdd);
			};

		function SMBasket_onBeforeRemove(args){
		var $SMB = args[0], $SMP = args[1], $msg = "Sind Sie sicher, dass Sie das Produkt '%d' mit der Artikelnummer '%n' aus dem Warenkorb entfernen möchten?";
			// before removing a product confirm
			$msg = $msg.replace("%d", $SMP.name);
			$msg = $msg.replace("%n", $SMP.getAttribute(_SMACode));
			return(confirm($msg));
			};

		function SMBasket_onAfterRemove(args){
			// reload page after deleting a product;
			location.replace("warenkorb.htm");
			};

		function SMShipMethodInfo_onAfterUpdate(args){
			// update SMShop after recalculating the shipment costs
			SMShop.update();
			};

		function SMPayMethodInfo_onAfterUpdate(args){
			// update SMShop after recalculating the payment costs
			SMShop.update();
			};

		function SMShop_variantSelectionChanged(args){
		var $SMP = args[0], _form = args[1], _varset = _vartext = "", _index = 0, _elem = null;
			_elem = document.getElementById("variant_not_found");
			if(_elem!=null) _elem.style.display = "none";
			// update product variant properties after changes occured in
			// the variants html form
			if($SMP.variants.xml.childNodes.length()!=0){
				for(var i=0; i<_form.elements.length; i++){
					_elem = _form.elements[i];
					_index = _elem.options.selectedIndex;
					if(_index<0) _index = 0;
					if(_varset!="") _varset += ";";
					if(_vartext!="") _vartext += ",";
					_varset += _elem.options[_index].value;
					_vartext += (_elem.options[_index].text).replace(/,/g, "&comma;");
					};
				$SMP.variants.activateByValues(_varset, _vartext);
				$SMP.update();
				displayProductProperties($SMP);
				};
			};

		function SMShop_onBasketGUIElemChanged(args){
		var $SMS = args[0], _elem = args[1], index = args[2], _form = null, _name = "", $SMP = null, _uniqueID = "", _variantID = "";
			// update product amount after changes occured in the
			// basket graphical user interface
			if(_elem!=null){
				_name = _elem.id.replace("PD", "");
				_name = _name.replace("Amount", "");
				if(_name.indexOf("-")){
					_uniqueID = _name.split("-")[0];
					_variantID = _name.split("-")[1];
					}
				else _uniqueID = _name;
				if(index>=0){
					$SMP = $SMS.basket.getProductByIndex(index);
					}
				else if(_variantID!=""){
					$SMP = $SMS.basket.getProductById(_uniqueID, _variantID);
					}
				else $SMP = $SMS.basket.getProductById(_uniqueID);
				if($SMP!=null){
					$SMP.setAttribute(_SMAAmount, _elem.value);
					$SMP.update();
					$SMS.basket.update();
					};
				};
			};

		function SMVariants_onAfterActivate(args){
		var _SMVariants = args[0];
			// update form controls, if any
			_SMVariants.refreshFormControls();
			};

		/* sm:broker-ssl begin-edit */
		var useSSLForCheckout = false;
		var sharedSSLURL = "";
		/* sm:broker-ssl end-edit */

		var sPHPSessionUrl = "";
		

		var SMFirstInit = false;
		var SMSession = new SXMLSessionManager(sPHPSessionUrl);
		SMFirstInit = SMSession.init("S262CJW1J0");

		var SMShop = new cSMShop("SMShop");SMShop.init();
		// 5.5.7 Surcharge Calculator Options
		SMShop.calculateSurchargePerAmount = 1; // (0,1)
		//
		with(SMShop){
		// set basic data
			setAttribute(_SMAInGross, 1); // Gross Prices Entered (0,1)
			setAttribute(_SMAOutGross, 1); // Display Gross Prices (0,1)
			setAttribute(_SMARoundTo, 0); // Round Final Amount (100,50,10,5,0)
			setAttribute(_SMAMinAmount, 1);
			regions[0] = new Array(0, "DE", "Deutschland", 19, 7, 0, 0, true, false, 2, "^DE[ ]{0,1}[0-9]{9}$");
			
			};
		// executed on first session init only
		if(SMFirstInit){
			var SMReferrer = SMSession.xml.documentElement.getAttribute("referrer");
			var SMQuery = SMSession.xml.documentElement.getAttribute("query");
			SMShop.setAttribute("id", SMSession.xml.documentElement.getAttribute("id"));
			SMShop.setAttribute("finit", "1");
			SMShop.setAttribute("session-marker", "knVONzzZrLXfBXK2EJZspOL/vanFa9EO581JNMU/lAUAMQ==");
			SMShop.setAttribute("build", "5.6.2");
			SMShop.setAttribute("sarurl", SMOMAbsoluteRootURL);
			if(SMReferrer!="") SMShop.setAttribute("referrer", SX_uEsc(SMReferrer));
			if(SMQuery!="") SMShop.setAttribute("query", SX_uEsc(SMQuery));
			SMShop.setAttribute("sid", fnSMRandStr(10));
			
			SMShop.setAttribute("finit", "0");
			};

		
		var SMProviderAddresses = new SXMLDom();with(SMProviderAddresses){documentElement = createNode("SMEmailService");with(documentElement){setAttribute("selfSender", "0");setAttribute("dateFormat", "d.m.Y H:i:s");setAttribute("remoteInfos", "1");setAttribute("referrer", SX_uEsc(SMSession.xml.documentElement.getAttribute("referrer")));setAttribute("adjustServerDate", "0");setAttribute("attachXml", "0");setAttribute("attachSmo", "0");setAttribute("attachOpenTrans", "0");setAttribute("attachLexware", "0");setAttribute("saveOrder", "1");setAttribute("smoEnabled", "0");setAttribute("smoHtmlCopy", "0");with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "order");setAttribute("sender-name", "BFM Sat-Shop");text = "shopbestellungen_SM|AT_bfm-satshop.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "order");setAttribute("sender-name", "BFM Sat-Shop");text = "bh06_SM|AT_bfm-satshop.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "order");setAttribute("sender-name", "BFM Sat-Shop");text = "laden_SM|AT_bfm-satshop.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "contact");setAttribute("sender-name", "BFM Sat-Shop");text = "shop-auskunft_SM|AT_bfm-satshop.de";};};};
		var SMColors = new SXMLDom();with(SMColors){documentElement = createNode("SMColors");with(documentElement){with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main");setAttribute("value", "#336699");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.light");setAttribute("value", "#D6E0EA");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.dark");setAttribute("value", "#003366");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt");setAttribute("value", "#669900");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.light");setAttribute("value", "#C1D699");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.dark");setAttribute("value", "#336600");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "background");setAttribute("value", "#FFFFFF");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "foreground");setAttribute("value", "#000000");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "hyperlink");setAttribute("value", "#003366");};};};
		var SMFonts = new SXMLDom();with(SMFonts){documentElement = createNode("SMFonts");with(documentElement){with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","small");text="font-family:Arial, Helvetica, sans-serif;font-size:10px;font-weight:normal;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","medium");text="font-family:Arial, Helvetica, sans-serif;font-size:12px;font-weight:normal;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","large");text="font-family:Arial, Helvetica, sans-serif;font-size:14px;font-weight:bold;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","x-large");text="font-family:Arial, Helvetica, sans-serif;font-size:17px;font-weight:bold;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","xx-large");text="font-family:Arial, Helvetica, sans-serif;font-size:22px;font-weight:bold;";};};};

		var SMCfgItems = "_3CSMCfgItems_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2bic_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2iban_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2number_22_3E56847_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2owner_22_3EFriedewald_X520(BFM_X520Sat_X5X2Shop)_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2code_22_3E520_X520626_X52001_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2name_22_3EVR_X520Bank_X520Schwalm_X5X2Eder_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2city_22_3EHomberg_X520_X5X4_X520Efze_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_22_3EBernd_X520Friedewald_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_X5X2label_22_3EGesch_X5C3_X5A4ftsf_X5C3_X5BChrer_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2name_22_3EBFM_X520Sat_X5X2Shop_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2country_X5X2name_22_3EDeutschland_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2business_22_3E05681_X5X4930361_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2hotline_22_3E05681_X5X4930361_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2firstname_22_3EBernd_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2lastname_22_3EFriedewald_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2contact_22_3Eshop_X5X2auskunft_X5X6bfm_X5X2satshop_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2default_22_3Eanfrage_X5X2mail_X5X6bfm_X5X2satshop_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2orders_22_3Ebestellungimshop2_X5X6bfm_X5X2satshop_X5X3de_X5X8elke2_X5X6bfm_X5X2online_X5X3com_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2support_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2webmaster_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2business_22_3E05681_X5X4930360_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2hotline_22_3E05681_X5X4930360_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2mobile_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2region_22_3EHessen_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2salutation_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2shopname_22_3EBFM_X520Sat_X5X2Shop_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2slogan_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2name_22_3EMerianstrasse_X5202_X520(Laden_X520_X5X7_X520Lager)_X520_X5X4_X520Hessenweg_X5202_X520(Verwaltung)_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2number_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2tax_X5X2number_22_3E02623605355_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2title_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2trade_X5X2number_22_3EHRB_X52010120_X520(Amtsgericht_X520Fritzlar)_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2url_22_3Ehttp:_X5X4_X5X4www_X5X3bfm_X5X2satshop_X5X3de_X5X4_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2vat_X5X2id_22_3EDE_X520220300851_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2zip_X5X2code_22_3E34576_3C_X4SMCfgItem_3E_3C_X4SMCfgItems_3E";
		var SMBasketXML = null;

		with(SMShop){
			
			deliveryTimes[51] = new Array(51, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20lieferbar%20-%20keine%20Versandf%E4hige%20Verpackung");
			deliveryTimes[58] = new Array(58, "%3CFONT%20color%3Dgreen%3E%3Cb%3ELieferung%20nur%20mit%20Vorkasse%20%28ca.2-4%20Wochen%20Lieferzeit%29");
			deliveryTimes[61] = new Array(61, "%3CFONT%20color%3Dred%3E%3Cb%3Ewegen%20Netzteilproblemen%20aus%20Angebot%20genommen%20%28Ger%E4t%20nicht%20mehr%20auf%20dem%20Markt%29");
			deliveryTimes[82] = new Array(82, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20lieferbar");
			deliveryTimes[88] = new Array(88, "%3CFONT%20color%3Dblue%3E%3Cb%3Ein%20K%FCrze%20lieferbar");
			deliveryTimes[95] = new Array(95, "%3CFONT%20color%3Dgreen%3E%3Cb%3Eab%20Versand-Lager%20sofort%20auslieferbar");
			deliveryTimes[96] = new Array(96, "%3CFONT%20color%3Dblue%3E%3Cb%3Ewir%20empfehlen%20min.75cm%20Sat-Spiegel%2C%20da%20diese%20bei%20digitalem%20Empfang%20leistungsf%E4higer%20sind%20und%20eine%20bessere%20Schlechtwetter-Reserve%20haben");
			deliveryTimes[104] = new Array(104, "%3CFONT%20color%3Dred%3E%3Cb%3Eaus%20Angebot%20genommen%2C%20da%20Qualit%E4t%20nicht%20unseren%20Anforderungen%20entspricht%20%28Innenleiter%20aus%20keinem%20reinen%20Kupfer%29");
			deliveryTimes[107] = new Array(107, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20mehr%20lieferbar%20%28ersetzt%20durch%20Nachfolgeger%E4t%2C%20siehe%20neuen%20Artikel%20in%20diesem%20Shop%29");
			deliveryTimes[110] = new Array(110, "%3CFONT%20color%3Dgreen%3E%3Cb%3EVorbestellung%20vor%20Abholung%20-%20nur%20Ladenverkauf%20-%20kein%20Versand");
			deliveryTimes[113] = new Array(113, "%3CFONT%20color%3Dgreen%3E%3Cb%3Eab%20Lager%20sofort%20auslieferbar%20%28solange%20Vorrat%29");
			deliveryTimes[116] = new Array(116, "%3CFONT%20color%3Dblue%3E%3Cb%3Eaus%20Angebot%20genommen%20-%20gleicher%20Artikel%20als%20ASTRO%20ASP%2085%20Sat-Spiegel%20sofort%20auslieferbar");
			deliveryTimes[120] = new Array(120, "%3CFONT%20color%3Dgreen%3EVerkauf%20nur%20im%20Ladengesch%E4ft%20-%20grunds%E4tzlich%20kein%20Versand%20m%F6glich%20%28Herstellervertrag%29");
			deliveryTimes[121] = new Array(121, "%3CFONT%20color%3Dblue%3E%3Cb%3Ein%20den%20n%E4chsten%20Tagen%20lieferbar");
			deliveryTimes[138] = new Array(138, "%3CFONT%20color%3Dred%3E%3Cb%3EVerkauf%20eingestellt%20-%20Defektquote%20zu%20hoch%2C%20keine%20AC%20Modul%20Funktion");
			deliveryTimes[145] = new Array(145, "%3CFONT%20color%3Dred%3E%3Cb%3EProjekt%20eingestellt");
			deliveryTimes[149] = new Array(149, "%3CFONT%20color%3Dblue%3E%3Cb%3Egeringe%20St%FCckzahl%20lieferbar");
			deliveryTimes[150] = new Array(150, "%3CFONT%20color%3Dgreen%3E%3Cb%3Esofort%20lieferbar%20%28Artikel%20auf%20Lager%20-%20Multischalter%20im%20Aussenlager%29");
			deliveryTimes[151] = new Array(151, "%3CFONT%20color%3Dgreen%3EIm%20Ladengesch%E4ft%20auf%20Lager%20-%20grunds%E4tzlich%20kein%20Versand%20m%F6glich");
			deliveryTimes[154] = new Array(154, "%3CFONT%20color%3Dgreen%3Eab%203.Quartal%202010%20im%20Ladengesch%E4ft%20auf%20Lager%20-%20grunds%E4tzlich%20kein%20Versand%20m%F6glich");
			deliveryTimes[158] = new Array(158, "%3CFONT%20color%3Dred%3E%3Cb%3EVerkauf%20kurzzeitig%20eingestellt");
			deliveryTimes[159] = new Array(159, "%3CFONT%20color%3Dblue%3E%3Cb%3EVersand%20innerhalb%206%20Werktagen");
			deliveryTimes[160] = new Array(160, "%3CFONT%20color%3Dblue%3E%3Cb%3EVersand%20innerhalb%2010%20Werktagen");
			deliveryTimes[161] = new Array(161, "%3CFONT%20color%3Dblue%3E%3Cb%3Eab%20ca.%20Ende-September/Oktober%202010%20lieferbar%20%28Herstellerangabe%29");
			deliveryTimes[162] = new Array(162, "%3CFONT%20color%3Dblue%3E%3Cb%3Eab%20ca.%20Dezember%202010%20lieferbar%20%28Herstellerangabe%29");
			deliveryTimes[4] = new Array(4, "%3CFONT%20color%3Dgreen%3E%3Cb%3Eab%20Lager%20sofort%20auslieferbar");
			deliveryTimes[5] = new Array(5, "%3CFONT%20color%3Dblue%3E%3Cb%3EVersand%20innerhalb%202%20Werktagen");
			deliveryTimes[7] = new Array(7, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20mehr%20lieferbar/vergriffen");
			deliveryTimes[10] = new Array(10, "%3CFONT%20color%3Dblue%3E%3Cb%3EVersand%20innerhalb%206%20Werktagen");
			deliveryTimes[11] = new Array(11, "%3CFONT%20color%3Dblue%3E%3Cb%3EVersand%20innerhalb%203%20Werktagen");
			deliveryTimes[12] = new Array(12, "%3CFONT%20color%3Dgreen%3E%3Cb%3Esofort%20lieferbar%20%28Artikel%20im%20Aussenlager%29");
			deliveryTimes[16] = new Array(16, "%3CFONT%20color%3Dred%3E%3Cb%3Eaus%20dem%20Angebot%20genommen");
			deliveryTimes[18] = new Array(18, "%3CFONT%20color%3Ddarkred%3E%3Cb%3Ezur%20Zeit%20nicht%20lieferbar");
			deliveryTimes[20] = new Array(20, "%3CFONT%20color%3Dindigo%3E%3Cb%3EVorbestellung%20vor%20Abholung%20%28kein%20Versand%20m%F6glich%29");
			deliveryTimes[21] = new Array(21, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20mehr%20lieferbar");
			deliveryTimes[28] = new Array(28, "%3CFONT%20color%3Dfuchsia%3E%3Cb%3Enoch%20nicht%20lieferbar");
			deliveryTimes[32] = new Array(32, "%3CFONT%20color%3Dred%3E%3Cb%3Ewegen%20Kundenbeschwerden%20und%20Reklamationen%20aus%20Angebot%20genommen");
			deliveryTimes[33] = new Array(33, "%3CFONT%20color%3Dindigo%3E%3Cb%3Enur%20auf%20Anfrage%20lieferbar");
			deliveryTimes[36] = new Array(36, "%3CFONT%20color%3Dred%3E%3Cb%3Enicht%20lieferbar%20-%20zur%20Zeit%20vergriffen");
			deliveryTimes[37] = new Array(37, "%3CFONT%20color%3Dgreen%3E%3Cb%3Eim%20Laden%20sofort%20abholbar");
			deliveryTimes[39] = new Array(39, "%3CFONT%20color%3Dred%3E%3Cb%3Ewegen%20Kundenbeschwerden%20vom%20Kauf%20abzuraten");
			deliveryTimes[40] = new Array(40, "%3CFONT%20color%3Dred%3E%3Cb%3EProduktion%20eingestellt%20-%20Artikel%20nicht%20mehr%20lieferbar");
			deliveryTimes[42] = new Array(42, "%3CFONT%20color%3Dred%3E%3Cb%3Ewegen%20Kundenbeschwerden%20aus%20Angebot%20genommen");
			deliveryTimes[44] = new Array(44, "%3CFONT%20color%3Dblue%3E%3Cb%3ENeuheit%20-%20Artikel%20noch%20nicht%20lieferbar%20-%20Termin%20unbekannt%20%28Herstellerangabe%29");
			deliveryTimes[46] = new Array(46, "%3CFONT%20color%3Dred%3E%3Cb%3Edieser%20Artikel%20ist%20nicht%20mehr%20lieferbar%20und%20wurde%20durch%20Nachfolgetyp%20ersetzt%20%28siehe%20in%20der%20Artikelgruppe%20in%20diesem%20Shop%29");
			deliveryTimes[49] = new Array(49, "%3CFONT%20color%3Dblue%3E%3Cb%3Eauf%20Anfrage");
			};

		// listen to window.onLoad & .onUnload events
		window.onload = function(){ SMShop.onLoad(); };
		window.onunload = function(){ SMShop.onUnload(); };

	function SMOMGetQtyControl(){
	var _args = SMOMGetQtyControl.arguments, oProduct = _args[0], raiseEvent = ((_args[1]!=null) ? _args[1] : false), index = ((_args[2]!=null) ? _args[2] : -1);
	if(oProduct==null){return("")};
	var sPkid = "PD" + null2str(oProduct.getAttribute(_SMAUniqueID)), iQtyType = null2int(oProduct.getAttribute(_SMAOQtyType)),
			iQtyMin = null2int(oProduct.getAttribute(_SMAMinAmount)), iQtyStep = null2int(oProduct.getAttribute(_SMAOQtyStep)),
			iQtyMax = null2int(oProduct.getAttribute(_SMAMaxAmount)), iQtyDef = null2int(oProduct.getAttribute(_SMAOQDefValue)),
			iOptCount = null2int(oProduct.getAttribute(_SMAOQDDOptCount)), sQtyUnit = "Stk", sField = "";

		if(oProduct.getAttribute(_SMAVariantID)!=null) sPkid += '-' + oProduct.getAttribute(_SMAVariantID);
		sPkid += "Amount";

		iQtyDef = oProduct.getAttribute(_SMAAmount);
		iQtyDef = iQtyDef>iQtyMin?iQtyDef:iQtyMin;

		sField += "<table class=\"basket-line-qty\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td nowrap>";
		switch(iQtyType){
			case 0:
				sField += "<input class=\"addbasket-qtyfield\" id=\"" + sPkid + "\" type=\"text\" size=\"2\" value=\"" + iQtyDef + "\" onchange=\"this.value=fnSMNum(this.value);";
				if(raiseEvent) sField += "SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");";
				sField += "\"";
				if(raiseEvent) sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\"";
				sField += "\">";
				break;
			case 1:
				if(raiseEvent) sPkid += "IDX" + index;
				sField += "<input class=\"addbasket-qtyfield\" id=\"" + sPkid + "\" type=\"text\" size=\"2\" value=\"" + iQtyDef + "\" onfocus=\"this.blur()\"";
				if(raiseEvent){
					sField += " onchange=\"SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");\"";
					sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\"";
					};
				sField += "></td><td nowrap>";
				sField += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
				sField += "<tr><td style=\"padding-bottom:1px;\"><img src=\"images/button_spinup.gif\" title=\"Bestellmenge erhöhen\" width=\"15\" height=\"8\" border=\"0\" onclick=\"fnSMSpinButtonClick('" + sPkid + "',true," + iQtyMin + "," + iQtyMax + "," + iQtyStep + ", true, " + index + ");\"></td></tr>";
				sField += "<tr><td><img src=\"images/button_spindown.gif\" title=\"Bestellmenge verringern\" width=\"15\" height=\"8\" border=\"0\" onclick=\"fnSMSpinButtonClick('" + sPkid + "',false," + iQtyMin + "," + iQtyMax + "," + iQtyStep + ", true, " + index + ");\"></td></tr>";
				sField += "</table>";
				break;
			case 2:
				sField += "<select id=\"" + sPkid + "\" class=\"addbasket-qtyfield\"";
				if(raiseEvent){
					sField += " onchange=\"SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");\"";
					sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\"";
					};
				sField += ">";
				for(var i=iQtyStep; i<=parseInt(iOptCount*iQtyStep);i+=iQtyStep){
					sField += "<option value=\"" + i + "\"";
					if(i==iQtyDef) sField += " selected";
					sField += ">" + i;
				};
				sField += "</select>";
				break;
		};
		sField += "</td></tr></table>";
		return(sField);
		};

	//page:SM_RESERVED_DATA_ENTRY_SHIPMENT

	// cSMShop.getCheckoutStep ( current-page-id, [previous?] )
	function SMGetCheckoutStep(){
	var backwards = arguments[1], returnId = "", usingShipToAddress = bNoCheckoutPage = false;
		usingShipToAddress = (SMShop.getFormElement("BILLTO", "BILLTO_SHIPTO_DIFFERS") != null);
		if(usingShipToAddress){
			usingShipToAddress = cbool(SMShop.getFormValue("BILLTO", "BILLTO_SHIPTO_DIFFERS", true));
			};
		switch(arguments[0]){
			case "SM_RESERVED_BASKET":
				returnId = (backwards) ? "warenkorb.htm" : "rechnungsadresse.htm";
				if(backwards) bNoCheckoutPage = true;
				break;
			case "SM_RESERVED_DATA_ENTRY_BILLTO":
				returnId = (backwards) ? "warenkorb.htm" : (usingShipToAddress) ? "lieferadresse.htm" : "versandart.htm";
				if(returnId == "warenkorb.htm") bNoCheckoutPage = true;
				break;
			case "SM_RESERVED_DATA_ENTRY_SHIPTO":
				returnId = (backwards) ? "rechnungsadresse.htm" : "versandart.htm";
				break;
			case "SM_RESERVED_DATA_ENTRY_SHIPMENT":
				returnId = (backwards) ? (usingShipToAddress) ? "lieferadresse.htm" : "rechnungsadresse.htm" : "zahlart.htm";
				break;
			case "SM_RESERVED_DATA_ENTRY_PAYMENT":
				returnId = (backwards) ? "versandart.htm" : "pruefen-und-senden.htm";
				break;
			case "SM_RESERVED_DATA_ENTRY_VERIFY":
				returnId = (backwards) ? "zahlart.htm" : "pruefen-und-senden.htm";
				if(returnId == "index.html") bNoCheckoutPage = true;
				break;
			default:
				returnId = (backwards) ? "" : "index.html";
				if(!backwards) bNoCheckoutPage = true;
			};
		// valid for checkout?
		if(returnId!=""){
			var sMsgValidity = "", lValidationCode = SMShop.validateDataForCheckout();
			switch(lValidationCode){
				case 1:
					sMsgValidity = "Ihr Warenkorb enthält keine Einträge, bitte legen Sie mindestens einen Artikel in den Warenkorb.".replace("&nbsp;", " ");
					alert(sMsgValidity);
					returnId = "index.html";
					bNoCheckoutPage = true;
					break;
				case 2:
					sMsgValidity = ("Der Mindestbestellwert wurde unterschritten. Der Mindestbestellwert beträgt " + cprimary.format(SMShop.getAttribute(_SMAMinAmount), SM_CSYMBOL + SM_CGROUP)).replace("&nbsp;", " ");
					alert(sMsgValidity);
					returnId = "warenkorb.htm";
					bNoCheckoutPage = true;
					break;
				};
			}
		else return("");
		// ssl
		if(useSSLForCheckout&&SMOMAbsoluteRootURL.substring(0,7)=="http://"){
			if(sharedSSLURL!=""){
				SMOMAbsoluteRootURL = sharedSSLURL;
				}
			else SMOMAbsoluteRootURL = "https://" + SMOMAbsoluteRootURL.substring(7);
			};
		if(SMOMAbsoluteRootURL.substring(SMOMAbsoluteRootURL.length - 1)=="/") SMOMAbsoluteRootURL = SMOMAbsoluteRootURL.substring(0,SMOMAbsoluteRootURL.length - 1);
		
		if(bNoCheckoutPage && SMShop.getAttribute('sarurl') != ''){
			returnId = SMShop.getAttribute('sarurl') + "/" + returnId;
		} else {
			returnId = SMOMAbsoluteRootURL + "/" + returnId;
		};
		
		return(returnId);
		};

		SMCurrNoOfDecimals = 2;
	var cprimary = new cSMCurrency("EUR", "€", "Euro", ",", "1,1 x", "-1,1 x", 2, ".", 3, 1 );
	var csecondary = new cSMCurrency("USD", "$", "United States Dollars", ",", "1,1 x", "-1,1 x", 2, ".", 3, 1.2094639753 );

	var nprimary = new cSMCurrency("g", "g", "g", ",", "1,1 x", "-1,1 x", 2, "", 3, 1);

	if(SMFirstInit){
		SMShop.basket.setAttribute("p-cur-iso", cprimary.ISO)
		SMShop.basket.setAttribute("p-cur-symbol", cprimary.symbol)
		};	

	function formatProductBasePrice(Product){
	var $basePriceTemplate = "";
		$basePriceTemplate = "Grundpreis: %bp pro %mb %mu";
		if($basePriceTemplate!=""&&(Product.bpAmount!=1||Product.bpBase!=1)){
			$basePriceTemplate = $basePriceTemplate.replace(/%ma/g, Product.bpAmount);
			$basePriceTemplate = $basePriceTemplate.replace(/%mu/g, Product.bpMUnit);
			$basePriceTemplate = $basePriceTemplate.replace(/%qu/g, Product.quantityUnit);
			$basePriceTemplate = $basePriceTemplate.replace(/%bp/g, "<strong class=\"t-em\">" + cprimary.format(Product.getPrice() / Product.bpAmount * Product.bpBase, SM_CGROUP + SM_CSYMBOL) + "</strong>");
			$basePriceTemplate = $basePriceTemplate.replace(/%mb/g, Product.bpBase);
			}
		else $basePriceTemplate = "";
		return($basePriceTemplate);
		};

	function displayProductProperties(Product){
	var $image = null, $elem = null, $basePriceTemplate = "", $fSetData = function(){ var $elem = null; try{ $elem = document.getElementById(arguments[0]); if($elem!=null) $elem.innerHTML = arguments[1]; } catch(e){ }; };
		try{
			$image = new Image();
			$image.src = Product.image;
			}
		catch(e){
			$image = null;
			};
		with(document){
			if($image!=null&&Product.image!=""){
				if(getElementById("product_picture")){
					getElementById("product_picture").src = $image.src;
					};
				};
			$fSetData("product_name", Product.name);
			$fSetData("product_desc", Product.desc);
			$fSetData("product_id", Product.getAttribute(_SMACode));
			$fSetData("product_ean", Product.getAttribute(_SMAEAN));
			$fSetData("product_weight", nprimary.format(Product.getAttribute(_SMAWeight), SM_CGROUP));
			$fSetData("product_original_price", cprimary.format(Product.getOriginalPrice(), SM_CGROUP + SM_CSYMBOL));
			$fSetData("product_difference", cprimary.format(Product.getOriginalPrice() - Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
			$fSetData("product_price", cprimary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
			$fSetData("product_price_seccur", csecondary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
			$fSetData("product_discounts", Product.discounts.renderHTML());
			$fSetData("product_base_price", formatProductBasePrice(Product));
			if(Product.deliveryTimeFKID!=0){
				$fSetData("product_delivery_caption", unescape(SMShop.deliveryTimes[Product.deliveryTimeFKID][1]));
				};
			$elem = getElementById("product_delivery_img");
			if($elem&&Product.deliveryTimeFKID!=0){
				try{
					$image = new Image();
					$image.src = $elem.src.replace(/(.+\/[^\d\/]+)\d+(\.[a-z]+)/gi, "$1" + Product.deliveryTimeFKID + "$2");
					}
				catch(e){ $image = null };
				if($image!=null) $elem.src = $image.src;
				};
			};
		};

	/* sm:broker-url begin-edit */
	var SMBrokerURL = "http://www.bfm-satshop.de/broker/smbiz_smartbroker.php"
	/* sm:broker-url end-edit */
