

		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.php");
			};

		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
			alert("Dieses Produkt befindet sich bereits im Warenkorb, die Produktdaten werden aktualisiert!".replace("&nbsp;", " "));return(_eSMReplace);
			};

		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.php");
			};

		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("H194AYM7M8");

		var SMShop = new cSMShop("SMShop");SMShop.init();
		// 5.5.7 Surcharge Calculator Options
		SMShop.calculateSurchargePerAmount = 0; // (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, 0);
			regions[0] = new Array(0, "DE", "Deutschland", 19, 0, 0, 0, true, false, 0, "^DE[ ]{0,1}[0-9]{9}$");
			regions[1] = new Array(1, "AT", "Österreich", 20, 10, 0, 0, false, false, 2, "^AT[ ]{0,1}U[0-9]{8}$");
			regions[2] = new Array(2, "CH", "Schweiz", 7.6, 2, 0, 0, false, false, 1, "");
			regions[3] = new Array(3, "BE", "Belgium", 21, 12, 0, 0, false, false, 2, "^BE[ ]{0,1}[0-9]{9}$");
			regions[4] = new Array(4, "BA", "Bosnia and Herzegovina", 0, 0, 0, 0, false, false, 0, "");
			regions[5] = new Array(5, "BG", "Bulgaria", 20, 0, 0, 0, false, false, 2, "^BG[ ]{0,1}([0-9]{9}|[0-9]{10})$");
			regions[6] = new Array(6, "HR", "Croatia", 0, 0, 0, 0, false, false, 0, "");
			regions[7] = new Array(7, "CZ", "Czech Republic", 19, 5, 0, 0, false, false, 2, "^CZ[ ]{0,1}([0-9]{8}|[0-9]{9})|[0-9]{10})$");
			regions[8] = new Array(8, "DK", "Denmark", 16, 0, 0, 0, false, false, 2, "^DK[ ]{0,1}[0-9]{8}$");
			regions[9] = new Array(9, "EE", "Estonia", 18, 1, 3, 5, false, false, 2, "^EE[ ]{0,1}[0-9]{9}$");
			regions[10] = new Array(10, "FI", "Finland", 22, 17, 0, 0, false, false, 2, "^FI[ ]{0,1}[0-9]{8}$");
			regions[11] = new Array(11, "FR", "France", 19.6, 5.5, 0, 0, false, false, 2, "^FR[ ]{0,1}[a-zA-Z0-9]{2}[0-9]{9}$");
			regions[12] = new Array(12, "GE", "Georgia", 0, 0, 0, 0, false, false, 0, "");
			regions[13] = new Array(13, "EL", "Greece", 18, 8, 0, 0, false, false, 2, "^EL[ ]{0,1}[0-9]{9}$");
			regions[14] = new Array(14, "HU", "Hungary", 25, 12, 0, 0, false, false, 2, "^HU[ ]{0,1}[0-9]{8}$");
			regions[15] = new Array(15, "IS", "Iceland", 24.5, 0, 0, 0, false, false, 0, "");
			regions[16] = new Array(16, "IE", "Ireland", 21, 10, 0, 0, false, false, 2, "^IE[ ]{0,1}[0-9][0-9a-zA-Z][0-9]{5}[a-zA-Z]$");
			regions[17] = new Array(17, "IT", "Italy", 20, 9, 0, 0, false, false, 2, "^IT[ ]{0,1}[0-9]{11}$");
			regions[18] = new Array(18, "LI", "Liechtenstein", 0, 0, 0, 0, false, false, 1, "");
			regions[19] = new Array(19, "LU", "Luxembourg", 15, 0, 0, 0, false, false, 2, "^LU[ ]{0,1}[0-9]{8}$");
			regions[20] = new Array(20, "MC", "Monaco", 0, 0, 0, 0, false, false, 0, "");
			regions[21] = new Array(21, "NL", "Netherlands", 19, 6, 0, 0, false, false, 2, "^NL[ ]{0,1}[0-9]{9}B[0-9]{2}$");
			regions[22] = new Array(22, "NO", "Norway", 24, 0, 0, 0, false, false, 2, "");
			regions[23] = new Array(23, "PL", "Poland", 22, 7, 0, 0, false, false, 2, "^PL[ ]{0,1}[0-9]{10}$");
			regions[24] = new Array(24, "PT", "Portugal", 19, 4, 5, 0, false, false, 2, "^PT[ ]{0,1}[0-9]{9}$");
			regions[25] = new Array(25, "SK", "Slovakia", 19, 10, 0, 0, false, false, 2, "^SK[ ]{0,1}[0-9]{10}$");
			regions[26] = new Array(26, "SI", "Slovenia", 20, 8.5, 0, 0, false, false, 2, "^SI[ ]{0,1}[0-9]{8}$");
			regions[27] = new Array(27, "ES", "Spain", 16, 7, 0, 0, false, false, 2, "^ES[ ]{0,1}[a-zA-Z0-9][0-9]{7}[a-zA-Z0-9]$");
			regions[28] = new Array(28, "SE", "Sweden", 25, 12, 0, 0, false, false, 2, "^SE[ ]{0,1}[0-9]{10}01$");
			regions[29] = new Array(29, "GB", "United Kingdom", 17.5, 1, 3, 5, false, false, 2, "^GB[ ]{0,1}([0-9]{9}|[0-9]{12})$");
			regions[30] = new Array(30, "C1", "sonstige Länder", 0, 0, 0, 0, false, false, 0, "");
			regions[31] = new Array(31, "C2", "Estland", 20, 0, 0, 0, false, false, 0, "");
			regions[32] = new Array(32, "C3", "Lettland", 21, 0, 0, 0, false, false, 0, "");
			regions[33] = new Array(33, "C4", "Litauen", 19, 0, 0, 0, false, false, 0, "");
			regions[34] = new Array(34, "C5", "Rumänien", 19, 0, 0, 0, false, false, 0, "");
			regions[35] = new Array(35, "C6", "Serbien", 20, 0, 0, 0, false, false, 0, "");
			
			};
		// 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", "knVONzzD6FHujhtihMjcdMWXGblFC3HQZ0prsbEFLafkug==");
			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", "1");setAttribute("smoHtmlCopy", "1");with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "order");setAttribute("sender-name", "SCHALLTEC GmbH");text = "info_SM|AT_schalltec.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "order");setAttribute("sender-name", "SCHALLTEC GmbH");text = "auftrag_SM|AT_schalltec-shop.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "contact");setAttribute("sender-name", "SCHALLTEC GmbH");text = "info_SM|AT_schalltec.de";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "newsletter");setAttribute("sender-name", "SCHALLTEC GmbH");text = "newsletter_SM|AT_schalltec-shop.de";};};};
		var SMColors = new SXMLDom();with(SMColors){documentElement = createNode("SMColors");with(documentElement){with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main");setAttribute("value", "#83948F");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.light");setAttribute("value", "#97ADA6");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.dark");setAttribute("value", "#53625E");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt");setAttribute("value", "#83948F");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.light");setAttribute("value", "#E5EAE9");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.dark");setAttribute("value", "#404E4A");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "background");setAttribute("value", "#FFFFFF");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "foreground");setAttribute("value", "#404E4A");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "hyperlink");setAttribute("value", "#404E4A");};};};
		var SMFonts = new SXMLDom();with(SMFonts){documentElement = createNode("SMFonts");with(documentElement){with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","small");text="font-family:Tahoma, Helvetica, sans-serif;font-size:10px;font-weight:normal;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","medium");text="font-family:Tahoma, Helvetica, sans-serif;font-size:11px;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:Tahoma, Helvetica, sans-serif;font-size:17px;font-weight:bold;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","xx-large");text="font-family:Tahoma, Helvetica, sans-serif;font-size:21px;font-weight:bold;";};};};

		var SMCfgItems = "_3CSMCfgItems_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2bic_22_3EPBNKDEFF_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2iban_22_3EDE33_X5204401_X5200046_X5200428_X5201094_X52066_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2number_22_3E428_X520109_X520466_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2owner_22_3ESchalltec_X520GmbH_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2code_22_3E440_X520100_X52046_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2name_22_3EPostbank_X520Dortmund_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2city_22_3EM_X5C3_X5B6rfelden_X5X2Walldorf_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_22_3EIngo_X520Stauch_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_X5X2label_22_3EGesch_X5C3_X5A4ftsf_X5C3_X5BChrer_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2name_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2country_X5X2name_22_3EGermany_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2business_22_3E06105_X520_X5X2_X52097_X52068_X520333_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2hotline_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2firstname_22_3EIngo_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2lastname_22_3EStauch_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2contact_22_3EinfoQschalltec_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2default_22_3EinfoQschalltec_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2orders_22_3Einfo_X5X6schalltec_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2support_22_3EsupportQschalltec_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2webmaster_22_3EanfrageQschalltec_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2business_22_3E06105_X520_X5X2_X52097_X52068_X52030_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2hotline_22_3E0800_X520_X5X2_X520200_X5201313_X52054_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_3EHerr_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2shopname_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2name_22_3EWaldecker_X520Stra_X5C3_X59Fe_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2number_22_3E8_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2tax_X5X2number_22_3E07_X5X2244_X5X20398_X5X24_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2title_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2trade_X5X2number_22_3EDarmstadt_X520HRB_X52055106_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2url_22_3Ehttp:_X5X4_X5X4www_X5X3schalltec_X5X2shop_X5X3de_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2vat_X5X2id_22_3EDE_X520814069329_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2zip_X5X2code_22_3ED_X5X264546_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2slogan_22_3E_3C_X4SMCfgItem_3E_3C_X4SMCfgItems_3E";
		var SMBasketXML = null;

		with(SMShop){
			
			deliveryTimes[18] = new Array(18, "null");
			deliveryTimes[20] = new Array(20, "M%E4rz%202010");
			deliveryTimes[1] = new Array(1, "sofort%20lieferbar");
			deliveryTimes[2] = new Array(2, "auf%20Anfrage");
			deliveryTimes[3] = new Array(3, "muss%20f%FCr%20Sie%20bestellt%20werden");
			deliveryTimes[4] = new Array(4, "sofort");
			deliveryTimes[5] = new Array(5, "3%20-%205%20Tage");
			deliveryTimes[6] = new Array(6, "3-5%20Tage");
			deliveryTimes[7] = new Array(7, "3%20-%205%20%20Tage");
			deliveryTimes[8] = new Array(8, "7%20Tage");
			deliveryTimes[9] = new Array(9, "ca.%2014%20Tage");
			deliveryTimes[10] = new Array(10, "10%20Tage");
			deliveryTimes[11] = new Array(11, "5%20-%207%20Tage");
			deliveryTimes[12] = new Array(12, "2-3%20Tage");
			deliveryTimes[13] = new Array(13, "3%20Tage");
			deliveryTimes[14] = new Array(14, "7%20-%2010%20Tage");
			deliveryTimes[15] = new Array(15, "ca.%205-7%20Tage");
			deliveryTimes[16] = new Array(16, "2%20Tage");
			deliveryTimes[17] = new Array(17, "ca.%204%20Wochen");
			deliveryTimes[19] = new Array(19, "AUSVERKAUFT");
			};

		// 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.php" : "rechnungsadresse.htm";
				if(backwards) bNoCheckoutPage = true;
				break;
			case "SM_RESERVED_DATA_ENTRY_BILLTO":
				returnId = (backwards) ? "warenkorb.php" : (usingShipToAddress) ? "lieferadresse.htm" : "versandart.htm";
				if(returnId == "warenkorb.php") 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.htm") bNoCheckoutPage = true;
				break;
			default:
				returnId = (backwards) ? "" : "index.htm";
				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.htm";
					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.php";
					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("kg", "kg", "kg", ",", "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.ultraschall-brillenreiniger.de/broker/smbiz_smartbroker.php5"
	/* sm:broker-url end-edit */
