1 2 3 function SMShop_noDataAvailable(args){ 4 var $SMS = args[0], _id = $SMS.id, _xml = null; 5 // no data available during init 6 _xml = SMSession.getSession(_id); 7 if(_xml==null) _xml = SMSession.xml.createNode(_id); 8 if(_xml!=null) $SMS.xml = _xml; 9 }; 10 11 function SMBasket_noDataAvailable(args){ 12 var $SMB = args[0], $SMS = $SMB.parent, 13 _doc = $SMS.xml.ownerDocument, _id = $SMB.id, _xml = null; 14 // no data available during init 15 _xml = $SMS.xml.appendChild(_doc.createNode(_id)); 16 if(_xml!=null) $SMB.xml = _xml; 17 }; 18 19 function SMShipMethodInfo_noDataAvailable(args){ 20 var _SMShipMethodInfo = args[0], $SMB = _SMShipMethodInfo.parent, 21 _doc = $SMB.xml.ownerDocument, _id = _SMShipMethodInfo.id, _xml = null; 22 // no data available during init 23 _xml = $SMB.xml.appendChild(_doc.createNode(_id)); 24 if(_xml!=null) _SMShipMethodInfo.xml = _xml; 25 }; 26 27 function SMPayMethodInfo_noDataAvailable(args){ 28 var _SMPayMethodInfo = args[0], $SMB = _SMPayMethodInfo.parent, 29 _doc = $SMB.xml.ownerDocument, _id = _SMPayMethodInfo.id, _xml = null; 30 // no data available during init 31 _xml = $SMB.xml.appendChild(_doc.createNode(_id)); 32 if(_xml!=null) _SMPayMethodInfo.xml = _xml; 33 }; 34 35 function SMGDiscounts_noDataAvailable(args){ 36 var _SMGDiscounts = args[0], $SMB = _SMGDiscounts.parent, 37 _doc = $SMB.xml.ownerDocument, _id = _SMGDiscounts.id, _xml = null; 38 // no data available during init 39 _xml = $SMB.xml.appendChild(_doc.createNode(_id)); 40 if(_xml!=null) _SMGDiscounts.xml = _xml; 41 }; 42 43 function SMProduct_noDataAvailable(args){ 44 var $SMP = args[0], $SMS = $SMP.shop, _id = $SMP.id, _xml = null; 45 // no data available during init 46 _xml = $SMS.xml.ownerDocument.createNode(_id); 47 if(_xml!=null){ 48 $SMP.xml = _xml; 49 }; 50 }; 51 52 function SMDiscounts_noDataAvailable(args){ 53 var _SMDiscounts = args[0], $SMP = _SMDiscounts.parent, 54 _doc = $SMP.xml.ownerDocument, _id = _SMDiscounts.id, _xml = null; 55 // no data available during init 56 _xml = $SMP.xml.appendChild(_doc.createNode(_id)); 57 if(_xml!=null) _SMDiscounts.xml = _xml; 58 }; 59 60 function SMVariants_noDataAvailable(args){ 61 var _SMVariants = args[0], $SMP = _SMVariants.parent, 62 _doc = $SMP.xml.ownerDocument, _id = _SMVariants.id, _xml = null; 63 // no data available during init 64 _xml = $SMP.xml.appendChild(_doc.createNode(_id)); 65 if(_xml!=null) _SMVariants.xml = _xml; 66 }; 67 68 function SMShop_onAfterUpdate(args){ 69 var $SMS = args[0], _id = $SMS.id, _xml = $SMS.xml; 70 // after shop update update and save session object 71 SMSession.setSession(_id, "xmlnode", _xml); 72 SMSession.save(); 73 }; 74 75 function SMBasket_onBeforeReset(args){ 76 // before resetting basket confirm 77 return(confirm("Sind Sie sicher, dass Sie Ihren Warenkorb löschen möchten?")); 78 }; 79 80 function SMBasket_onAfterReset(args){ 81 // after resetting basket reload 82 location.replace(location.href); 83 }; 84 85 function SMBasket_onBeforeAdd(args){ 86 var $SMB = args[0], $SMP = args[1], $SMS = $SMB.parent, _frm = null, 87 _elem = null, _params = new Array(), _msg = ""; 88 // before adding a product, check whether another order 89 // has been completed earlier 90 if($SMS.getAttribute(_SMAOComplete)=="true"){ 91 $SMS.reinitOrder(); 92 }; 93 return(true); 94 }; 95 96 function SMProduct_onBeforeUpdate(args){ 97 var $SMP = args[0], _index = 0, _frm = _elem = _params = null; 98 _frm = document.forms["PD" + $SMP.getAttribute(_SMAUniqueID) + "variants"]; 99 if(_frm!=null&&($SMP.variants.xml.childNodes.length()==0||$SMP.getAttribute("s-var")=="1")){ 100 _params = new Array(); 101 for(var i=0; i<_frm.elements.length; i++){ 102 _index = _frm.elements[i].selectedIndex; 103 if(_index<0) _index = 0; 104 _elem = _frm.elements[i].options[_index]; 105 _params[_params.length] = _elem.text; 106 _params[_params.length] = _elem.value; 107 }; 108 $SMP.variants.newSimpleVariant.apply($SMP.variants, _params); 109 }; 110 return(true); 111 }; 112 113 function SMProduct_onAfterUpdate(args){ 114 var $SMP = args[0], $min = $max = $amnt = 0, $update = false; 115 $min = parseInt($SMP.getAttribute(_SMAMinAmount)); 116 $max = parseInt($SMP.getAttribute(_SMAMaxAmount)); 117 $amnt = parseFloat($SMP.getAttribute(_SMAAmount)); 118 if($amnt < $min){ 119 $amnt = $min; $update = true; 120 } else if($max > 0 && $amnt > $max){ 121 $amnt = $max; $update = true; 122 }; 123 if($update){ 124 $SMP.setAttribute(_SMAAmount, $amnt);
125 $SMP.update(); 126 }; 127 }; 128 129 function SMBasket_onAfterAdd(args){ 130 var $SMB = args[0], $SMP = args[1]; 131 132 alert("Der Artikel wurde dem Warenkorb hinzugefügt!".replace(" ", " ")); 133 134 }; 135 136 function SMBasket_onItemExists(args){ 137 var $SMB = args[0], _SMNewProduct = args[1], _SMExistingProduct = args[2]; 138 // item exists in basket, return action flag 139 // * _eSMReplace : replace existing item 140 // * _eSMAdd : add to basket 141 // * _eSMCancel : cancel action 142 return(_eSMAdd); 143 }; 144 145 function SMBasket_onBeforeRemove(args){ 146 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?"; 147 // before removing a product confirm 148 $msg = $msg.replace("%d", $SMP.name); 149 $msg = $msg.replace("%n", $SMP.getAttribute(_SMACode)); 150 return(confirm($msg)); 151 }; 152 153 function SMBasket_onAfterRemove(args){ 154 // reload page after deleting a product; 155 location.replace("warenkorb.html"); 156 }; 157 158 function SMShipMethodInfo_onAfterUpdate(args){ 159 // update SMShop after recalculating the shipment costs 160 SMShop.update(); 161 }; 162 163 function SMPayMethodInfo_onAfterUpdate(args){ 164 // update SMShop after recalculating the payment costs 165 SMShop.update(); 166 }; 167 168 function SMShop_variantSelectionChanged(args){ 169 var $SMP = args[0], _form = args[1], _varset = _vartext = "", _index = 0, _elem = null; 170 _elem = document.getElementById("variant_not_found"); 171 if(_elem!=null) _elem.style.display = "none"; 172 // update product variant properties after changes occured in 173 // the variants html form 174 if($SMP.variants.xml.childNodes.length()!=0){ 175 for(var i=0; i<_form.elements.length; i++){ 176 _elem = _form.elements[i]; 177 _index = _elem.options.selectedIndex; 178 if(_index<0) _index = 0; 179 if(_varset!="") _varset += ";"; 180 if(_vartext!="") _vartext += ","; 181 _varset += _elem.options[_index].value; 182 _vartext += (_elem.options[_index].text).replace(/,/g, ","); 183 }; 184 $SMP.variants.activateByValues(_varset, _vartext); 185 $SMP.update(); 186 displayProductProperties($SMP); 187 }; 188 }; 189 190 function SMShop_onBasketGUIElemChanged(args){ 191 var $SMS = args[0], _elem = args[1], index = args[2], _form = null, _name = "", $SMP = null, _uniqueID = "", _variantID = ""; 192 // update product amount after changes occured in the 193 // basket graphical user interface 194 if(_elem!=null){ 195 _name = _elem.id.replace("PD", ""); 196 _name = _name.replace("Amount", ""); 197 if(_name.indexOf("-")){ 198 _uniqueID = _name.split("-")[0]; 199 _variantID = _name.split("-")[1]; 200 } 201 else _uniqueID = _name; 202 if(index>=0){ 203 $SMP = $SMS.basket.getProductByIndex(index); 204 } 205 else if(_variantID!=""){ 206 $SMP = $SMS.basket.getProductById(_uniqueID, _variantID); 207 } 208 else $SMP = $SMS.basket.getProductById(_uniqueID); 209 if($SMP!=null){ 210 $SMP.setAttribute(_SMAAmount, _elem.value); 211 $SMP.update(); 212 $SMS.basket.update(); 213 }; 214 }; 215 }; 216 217 function SMVariants_onAfterActivate(args){ 218 var _SMVariants = args[0]; 219 // update form controls, if any 220 _SMVariants.refreshFormControls(); 221 }; 222 223 /* sm:broker-ssl begin-edit */ 224 var useSSLForCheckout = true; 225 var sharedSSLURL = ""; 226 /* sm:broker-ssl end-edit */ 227 228 var sPHPSessionUrl = ""; 229 230 sPHPSessionUrl = (sharedSSLURL==""?SMOMAbsoluteRootURL + "/phpsession.php":""); 231 232 233 var SMFirstInit = false; 234 var SMSession = new SXMLSessionManager(sPHPSessionUrl); 235 SMFirstInit = SMSession.init("P142WYS8M3"); 236 237 var SMShop = new cSMShop("SMShop");SMShop.init(); 238 // 5.5.7 Surcharge Calculator Options 239 SMShop.calculateSurchargePerAmount = 1; // (0,1) 240 // 241 with(SMShop){ 242 // set basic data 243 setAttribute(_SMAInGross, 1); // Gross Prices Entered (0,1) 244 setAttribute(_SMAOutGross, 1); // Display Gross Prices (0,1) 245 setAttribute(_SMARoundTo, 0); // Round Final Amount (100,50,10,5,0) 246 setAttribute(_SMAMinAmount, 0); 247 regions[0] = new Array(0, "DE", "Deutschland", 19, 7, 0, 0, true, false, 0, "^DE[ ]{0,1}[0-9]{9}$"); 248 regions[1] = new Array(1, "AT", "Österreich", 20, 10, 0, 0, false, false, 4, "^AT[ ]{0,1}U[0-9]{8}$"); 249 regions[2] = new Array(2, "CH", "Schweiz", 7.6, 2, 0, 0, false, false, 1, ""); 250 regions[3] = new Array(3, "BE", "Belgium", 21, 12, 0, 0, false, false, 4, "^BE[ ]{0,1}[0-9]{9}$"); 251 regions[4] = new Array(4, "CZ", "Czech Republic", 21, 15, 0, 0, false, false, 4, "^CZ[ ]{0,1}([0-9]{8}|[0-9]{9}|[0-9]{10})$"); 252 regions[5] = new Array(5, "FR", "France", 20, 10, 0, 0, false, false, 4, "^FR[ ]{0,1}[a-zA-Z0-9]{2}[0-9]{9}$"); 253 regions[6] = new Array(6, "EL", "Greece", 24, 13, 0, 0, false, false, 4, "^EL[ ]{0,1}[0-9]{9}$"); 254 regions[7] = new Array(7, "HU", "Hungary", 27, 18, 0, 0, false, false, 4, "^HU[ ]{0,1}[0-9]{8}$"); 255 regions[8] = new Array(8, "IT", "Italy", 22, 10, 0, 0, false, false, 4, "^IT[ ]{0,1}[0-9]{11}$"); 256 regions[9] = new Array(9, "LI", "Liechtenstein", 0, 0, 0, 0, false, false, 1, ""); 257 regions[10] = new Array(10, "LU", "Luxembourg", 16, 7, 0, 0, false, false, 4, "^LU[ ]{0,1}[0-9]{8}$"); 258 regions[11] = new Array(11, "NL", "Netherlands", 21, 9, 0, 0, false, false, 4, "^NL[ ]{0,1}[0-9]{9}B[0-9]{2}$"); 259 regions[12] = new Array(12, "ES", "Spain (Festland / Baleraren)", 21, 10, 0, 0, false, false, 4, "^ES[ ]{0,1}[a-zA-Z0-9][0-9]{7}[a-zA-Z0-9]$"); 260 261 }; 262 // executed on first session init only 263 if(SMFirstInit){ 264 var SMReferrer = SMSession.xml.documentElement.getAttribute("referrer"); 265 var SMQuery = SMSession.xml.documentElement.getAttribute("query"); 266 SMShop.setAttribute("id", SMSession.xml.documentElement.getAttribute("id")); 267 SMShop.setAttribute("finit", "1"); 268 SMShop.setAttribute("session-marker", "knVONzzdnMYaJIQ4MT9Zj5pAlEEn4H7vCIC/igJ9MIZd5w=="); 269 SMShop.setAttribute("build", "5.6.3"); 270 SMShop.setAttribute("sarurl", SMOMAbsoluteRootURL); 271 if(SMReferrer!="") SMShop.setAttribute("referrer", SX_uEsc(SMReferrer)); 272 if(SMQuery!="") SMShop.setAttribute("query", SX_uEsc(SMQuery)); 273 SMShop.setAttribute("sid", fnSMRandStr(10)); 274 275 SMShop.setAttribute("finit", "0"); 276 }; 277 278 279 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", "1");setAttribute("attachSmo", "1");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", "Ingenieurbuero Oetzel");text = "info_SM|AT_umweltanalytik.com";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "contact");setAttribute("sender-name", "Ingenieurbuero Oetzel");text = "info_SM|AT_umweltanalytik.com";};with(appendChild(ownerDocument.createNode("SMEmail"))){setAttribute("scope", "newsletter");setAttribute("sender-name", "Ingenieurbuero Oetzel");text = "info_SM|AT_umweltanalytik.com";};};}; 280 var SMColors = new SXMLDom();with(SMColors){documentElement = createNode("SMColors");with(documentElement){with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main");setAttribute("value", "#ABA75F");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.light");setAttribute("value", "#B0AE6A");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "main.dark");setAttribute("value", "#000000");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt");setAttribute("value", "#808080");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.light");setAttribute("value", "#E0E0E0");};with(appendChild(ownerDocument.createNode("SMColor"))){setAttribute("key", "alt.dark");setAttribute("value", "#404040");};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", "#453F2C");};};}; 281 var SMFonts = new SXMLDom();with(SMFonts){documentElement = createNode("SMFonts");with(documentElement){with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","small");text="font-family:Verdana, sans-Serif;font-size:10px;font-weight:normal;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","medium");text="font-family:Verdana, sans-Serif;font-size:11px;font-weight:normal;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","large");text="font-family:Arial, sans-Serif;font-size:14px;font-weight:bold;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","x-large");text="font-family:Verdana, sans-serif;font-size:17px;font-weight:bold;";};with(appendChild(ownerDocument.createNode("SMFont"))){setAttribute("key","xx-large");text="font-family:Verdana, sans-serif;font-size:21px;font-weight:bold;";};};}; 282 283 var SMCfgItems = "_3CSMCfgItems_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2bic_22_3EHELADEF1MEG_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2iban_22_3EDE18520521541025003003_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2number_22_3E1025003003_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2account_X5X2owner_22_3EIngenieurb_X5C3_X5BCro_X520Oetzel_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2code_22_3E52052154_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2bank_X5X2name_22_3EKreissparkasse_X520Schwalm_X5X2Eder_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2city_22_3EMelsungen_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_22_3EDipl_X5X3_X5X2Ing_X5X3_X520Holger_X520Oetzel_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2director_X5X2label_22_3EGesch_X5C3_X5A4ftsf_X5C3_X5BChrer_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2company_X5X2name_22_3EIngenieurb_X5C3_X5BCro_X520Oetzel_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2country_X5X2name_22_3EDeutschland_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2business_22_3E05661_X5209260922_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2fax_X5X2hotline_22_3E05661_X5209260920_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2firstname_22_3EHolger_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2lastname_22_3EOetzel_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2contact_22_3Einfo_X5X6umweltanalytik_X5X3com_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2default_22_3Einfo_X5X6umweltanalytik_X5X3com_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2mail_X5X2orders_22_3E_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_3E05661_X5209260920_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2phone_X5X2hotline_22_3E05661_X5209260920_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_3EIngenieurb_X5C3_X5BCro_X520Oetzel_X520_X5X2_X520Internetshop_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2slogan_22_3ELuftreiniger,_X520Wasserfilter,_X520Analysen_X520und_X520mehr_X5X3_X5X3_X5X3_X5X3_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2name_22_3EGlogauer_X520Str_X5X3_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2street_X5X2number_22_3E15_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2tax_X5X2number_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2title_22_3EDipl_X5X3_X5X2Ing_X5X3_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2trade_X5X2number_22_3E_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2url_22_3Ewww_X5X3umweltanalytik_X5X3com_X5X4shop_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2vat_X5X2id_22_3EDE157004796_3C_X4SMCfgItem_3E_3CSMCfgItem_20key=_22provider_X5X2zip_X5X2code_22_3E34212_3C_X4SMCfgItem_3E_3C_X4SMCfgItems_3E"; 284 var SMBasketXML = null; 285 286 with(SMShop){ 287 288 deliveryTimes[11] = new Array(11, "ca.%202-3%20Wochen"); 289 deliveryTimes[12] = new Array(12, "ca.%206-12%20Werktage"); 290 deliveryTimes[13] = new Array(13, "ca.%204-8%20Werktage"); 291 deliveryTimes[14] = new Array(14, "ca.%206-10%20Wochen"); 292 deliveryTimes[15] = new Array(15, "ca.%205-10%20Werktage"); 293 deliveryTimes[16] = new Array(16, "ca.%203-6%20Werktage"); 294 deliveryTimes[17] = new Array(17, "ca.%203-5%20Werktage"); 295 deliveryTimes[1] = new Array(1, "sofort%20lieferbar"); 296 deliveryTimes[2] = new Array(2, "ca.%202-4%20Werktage"); 297 deliveryTimes[4] = new Array(4, "ca.3-4%20Wochen"); 298 deliveryTimes[7] = new Array(7, "ca.%203-7%20Tage"); 299 deliveryTimes[6] = new Array(6, "Ware%20ist%20bestellt"); 300 deliveryTimes[8] = new Array(8, "muss%20f%FCr%20Sie%20bestellt%20werden"); 301 deliveryTimes[9] = new Array(9, "ca.%201-2%20Wochen"); 302 deliveryTimes[3] = new Array(3, "Lieferzeit%20unbestimmt"); 303 deliveryTimes[5] = new Array(5, "Artikel%20nicht%20mehr%20lieferbar"); 304 deliveryTimes[10] = new Array(10, "Herstellung%20im%20Kundenauftrag"); 305 }; 306 307 // listen to window.onLoad & .onUnload events 308 window.onload = function(){ SMShop.onLoad(); }; 309 window.onunload = function(){ SMShop.onUnload(); }; 310 311 function SMOMGetQtyControl(){ 312 var _args = SMOMGetQtyControl.arguments, oProduct = _args[0], raiseEvent = ((_args[1]!=null) ? _args[1] : false), index = ((_args[2]!=null) ? _args[2] : -1); 313 if(oProduct==null){return("")}; 314 var sPkid = "PD" + null2str(oProduct.getAttribute(_SMAUniqueID)), iQtyType = null2int(oProduct.getAttribute(_SMAOQtyType)), 315 iQtyMin = null2int(oProduct.getAttribute(_SMAMinAmount)), iQtyStep = null2int(oProduct.getAttribute(_SMAOQtyStep)), 316 iQtyMax = null2int(oProduct.getAttribute(_SMAMaxAmount)), iQtyDef = null2int(oProduct.getAttribute(_SMAOQDefValue)), 317 iOptCount = null2int(oProduct.getAttribute(_SMAOQDDOptCount)), sQtyUnit = "Stk", sField = ""; 318 319 if(oProduct.getAttribute(_SMAVariantID)!=null) sPkid += '-' + oProduct.getAttribute(_SMAVariantID); 320 sPkid += "Amount"; 321 322 iQtyDef = oProduct.getAttribute(_SMAAmount); 323 iQtyDef = iQtyDef>iQtyMin?iQtyDef:iQtyMin; 324 325 sField += "<table class=\"basket-line-qty\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td nowrap>"; 326 switch(iQtyType){ 327 case 0: 328 sField += "<input class=\"addbasket-qtyfield\" id=\"" + sPkid + "\" type=\"text\" size=\"2\" value=\"" + iQtyDef + "\" onchange=\"this.value=fnSMNum(this.value);"; 329 if(raiseEvent) sField += "SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");"; 330 sField += "\""; 331 if(raiseEvent) sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\""; 332 sField += "\">"; 333 break; 334 case 1: 335 if(raiseEvent) sPkid += "IDX" + index; 336 sField += "<input class=\"addbasket-qtyfield\" id=\"" + sPkid + "\" type=\"text\" size=\"2\" value=\"" + iQtyDef + "\" onfocus=\"this.blur()\""; 337 if(raiseEvent){ 338 sField += " onchange=\"SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");\""; 339 sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\""; 340 }; 341 sField += "></td><td nowrap>"; 342 sField += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"; 343 sField += "<tr><td style=\"padding-bottom:1px;\">
343<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>"; 344 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>"; 345 sField += "</table>"; 346 break; 347 case 2: 348 sField += "<select id=\"" + sPkid + "\" class=\"addbasket-qtyfield\""; 349 if(raiseEvent){ 350 sField += " onchange=\"SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + ");\""; 351 sField += " onkeydown=\"if(window.event.keyCode==13){ this.value=fnSMNum(this.value); SMShop.base.raiseEvent('onBasketGUIElemChanged', false, null, SMShop, this, " + index + "); };\""; 352 }; 353 sField += ">"; 354 for(var i=iQtyStep; i<=parseInt(iOptCount*iQtyStep);i+=iQtyStep){ 355 sField += "<option value=\"" + i + "\""; 356 if(i==iQtyDef) sField += " selected"; 357 sField += ">" + i; 358 }; 359 sField += "</select>"; 360 break; 361 }; 362 sField += "</td></tr></table>"; 363 return(sField); 364 }; 365 366 //page:SM_RESERVED_DATA_ENTRY_SHIPMENT 367 368 // cSMShop.getCheckoutStep ( current-page-id, [previous?] ) 369 function SMGetCheckoutStep(){ 370 var backwards = arguments[1], returnId = "", usingShipToAddress = bNoCheckoutPage = false; 371 usingShipToAddress = (SMShop.getFormElement("BILLTO", "BILLTO_SHIPTO_DIFFERS") != null); 372 if(usingShipToAddress){ 373 usingShipToAddress = cbool(SMShop.getFormValue("BILLTO", "BILLTO_SHIPTO_DIFFERS", true)); 374 }; 375 switch(arguments[0]){ 376 case "SM_RESERVED_BASKET": 377 returnId = (backwards) ? "warenkorb.html" : "rechnungsadresse.html"; 378 if(backwards) bNoCheckoutPage = true; 379 break; 380 case "SM_RESERVED_DATA_ENTRY_BILLTO": 381 returnId = (backwards) ?
381"warenkorb.html" : (usingShipToAddress)
381 ? "lieferadresse.html" : "versandart.html"; 382 if(returnId == "warenkorb.html") bNoCheckoutPage = true; 383 break; 384 case "SM_RESERVED_DATA_ENTRY_SHIPTO": 385 returnId = (backwards) ? "rechnungsadresse.html" : "versandart.html"; 386 break; 387 case "SM_RESERVED_DATA_ENTRY_SHIPMENT": 388 returnId = (backwards) ? (usingShipToAddress) ? "lieferadresse.html" : "rechnungsadresse.html" : "zahlart.html"; 389 break; 390 case "SM_RESERVED_DATA_ENTRY_PAYMENT": 391 returnId = (backwards) ? "versandart.html" : "pruefen-und-senden.html"; 392 break; 393 case "SM_RESERVED_DATA_ENTRY_VERIFY": 394 returnId = (backwards) ? "zahlart.html" : "pruefen-und-senden.html"; 395 if(returnId == "index.html") bNoCheckoutPage = true; 396 break; 397 default: 398 returnId = (backwards) ? "" : "index.html"; 399 if(!backwards) bNoCheckoutPage = true; 400 }; 401 // valid for checkout? 402 if(returnId!=""){ 403 var sMsgValidity = "", lValidationCode = SMShop.validateDataForCheckout(); 404 switch(lValidationCode){ 405 case 1: 406 sMsgValidity = "Ihr Warenkorb enthält keine Einträge, bitte legen Sie mindestens einen Artikel in den Warenkorb.".replace(" ", " "); 407 alert(sMsgValidity); 408 returnId = "index.html"; 409 bNoCheckoutPage = true; 410 break; 411 case 2: 412 sMsgValidity = ("Der Mindestbestellwert wurde unterschritten. Der Mindestbestellwert beträgt " + cprimary.format(SMShop.getAttribute(_SMAMinAmount), SM_CSYMBOL + SM_CGROUP)).replace(" ", " "); 413 alert(sMsgValidity); 414 returnId = "warenkorb.html"; 415 bNoCheckoutPage = true; 416 break; 417 }; 418 } 419 else return(""); 420 // ssl 421 if(useSSLForCheckout&&SMOMAbsoluteRootURL.substring(0,7)=="http://"){ 422 if(sharedSSLURL!=""){ 423 SMOMAbsoluteRootURL = sharedSSLURL; 424 } 425 else SMOMAbsoluteRootURL = "https://" + SMOMAbsoluteRootURL.substring(7); 426 }; 427 if(SMOMAbsoluteRootURL.substring(SMOMAbsoluteRootURL.length - 1)=="/") SMOMAbsoluteRootURL = SMOMAbsoluteRootURL.substring(0,SMOMAbsoluteRootURL.length - 1); 428 429 if(bNoCheckoutPage && SMShop.getAttribute('sarurl') != ''){ 430 returnId = SMShop.getAttribute('sarurl') + "/" + returnId; 431 } else { 432 returnId = SMOMAbsoluteRootURL + "/" + returnId; 433 }; 434 435 return(returnId); 436 }; 437 438 SMCurrNoOfDecimals = 2; 439 var cprimary = new cSMCurrency("EUR", "EUR", "Euro", ",", "1,1 x", "-1,1 x", 2, ".", 3, 1 ); 440 var csecondary = new cSMCurrency("USD", "$", "United States Dollars", ",", "1,1 x", "-1,1 x", 2, ".", 3, 1.2094639753 ); 441 442 var nprimary = new cSMCurrency("kg", "kg", "kg", ",", "1,1 x", "-1,1 x", 2, "", 3, 1); 443 444 if(SMFirstInit){ 445 SMShop.basket.setAttribute("p-cur-iso", cprimary.ISO) 446 SMShop.basket.setAttribute("p-cur-symbol", cprimary.symbol) 447 }; 448 449 function formatProductBasePrice(Product){ 450 var $basePriceTemplate = ""; 451 $basePriceTemplate = "Grundpreis: %bp pro %mb %mu"; 452 if($basePriceTemplate!=""&&(Product.bpAmount!=1||Product.bpBase!=1)){ 453 $basePriceTemplate = $basePriceTemplate.replace(/%ma/g, Product.bpAmount); 454 $basePriceTemplate = $basePriceTemplate.replace(/%mu/g, Product.bpMUnit); 455 $basePriceTemplate = $basePriceTemplate.replace(/%qu/g, Product.quantityUnit); 456 $basePriceTemplate = $basePriceTemplate.replace(/%bp/g, "<strong class=\"t-em\">" + cprimary.format(Product.getPrice() / Product.bpAmount * Product.bpBase, SM_CGROUP + SM_CSYMBOL) + "</strong>"); 457 $basePriceTemplate = $basePriceTemplate.replace(/%mb/g, Product.bpBase); 458 } 459 else $basePriceTemplate = ""; 460 return($basePriceTemplate); 461 }; 462 463 function displayProductProperties(Product){ 464 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){ }; }; 465 try{ 466 $image = new Image(); 467 $image.src = Product.image; 468 } 469 catch(e){ 470 $image = null; 471 }; 472 with(document){ 473 if($image!=null&&Product.image!=""){ 474 if(getElementById("product_picture")){ 475 getElementById("product_picture").src = $image.src; 476 }; 477 }; 478 $fSetData("product_name", Product.name); 479 $fSetData("product_desc", Product.desc); 480 $fSetData("product_id", Product.getAttribute(_SMACode)); 481 $fSetData("product_ean", Product.getAttribute(_SMAEAN)); 482 $fSetData("product_weight", nprimary.format(Product.getAttribute(_SMAWeight), SM_CGROUP)); 483 $fSetData("product_original_price", cprimary.format(Product.getOriginalPrice(), SM_CGROUP + SM_CSYMBOL)); 484 $fSetData("product_difference", cprimary.format(Product.getOriginalPrice() - Product.getPrice(), SM_CGROUP + SM_CSYMBOL)); 485 $fSetData("product_price", cprimary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
486 $fSetData("product_price_seccur", csecondary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL)); 487 $fSetData("product_discounts", Product.discounts.renderHTML()); 488 $fSetData("product_base_price", formatProductBasePrice(Product)); 489 if(Product.deliveryTimeFKID!=0){ 490 $fSetData("product_delivery_caption", unescape(SMShop.deliveryTimes[Product.deliveryTimeFKID][1])); 491 }; 492 $elem = getElementById("product_delivery_img"); 493 if($elem&&Product.deliveryTimeFKID!=0){ 494 try{ 495 $image = new Image(); 496 $image.src = $elem.src.replace(/(.+\/[^\d\/]+)\d+(\.[a-z]+)/gi, "$1" + Product.deliveryTimeFKID + "$2"); 497 } 498 catch(e){ $image = null }; 499 if($image!=null) $elem.src = $image.src; 500 }; 501 }; 502 }; 503 504 /* sm:broker-url begin-edit */ 505 var SMBrokerURL = "https://www.umweltanalytik.com/shop/broker/smbiz_smartbroker.php5" 506 /* sm:broker-url end-edit */
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.