Source: https://catch.app/itm/v1%7C132172705656%7C0/Komplett-Set-Faszienrolle-Balance-Roll-Fitnessrolle-Blackroll-alternative-Yoga?category=479
Timestamp: 2019-03-24 23:37:04
Document Index: 1294559

Matched Legal Cases: ['§ 27', '§ 27', 'Art. 6', 'Art.\n6', 'Art. 6', 'Art. 6', 'Art. 6', 'Art. 6', 'Art. 6', 'Art. 6', 'Art. 13', 'Art. 6', 'Art. 6', 'Art. 6', 'Art. 15', 'Art. 16', 'Art. 17', 'Art. 18', 'Art. 21', 'Art. 20', 'Art. 7', 'Art. 77', 'Art. 21', 'Art. 6']

bul_gmbh (5984)
Vollständige Informationen Telefon: 015143248888
E-Mail: info@bl-handel.de
Bul_gmbH Inhaber: Kevin Bavendiek & Robert Lehmann, Rouen Kamp 20, 49439 Steinfeld, Deutschland
Umsatzsteuer-Identifikationsnummer: DE 291874100
Die Widerrufsfrist beträgt 60 Tage ab dem Tag an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die Waren in Besitz genommen haben bzw. hat.
Um Ihr Widerrufsrecht auszuüben, müssen Sie uns (B & L Handelsgesellschaft mbH, vertreten durch Herrn Kevin Bavendiek und Herrn Robert Lehmann, Bahnhofstraße 20, 49439 Steinfeld, Telefon: 0151/43248888, E-Mail: info@bl-handel.de) mittels einer eindeutigen Erklärung (z.B. ein mit der Post versandter Brief oder E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist.
Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten haben, einschließlich der Lieferkosten (mit Ausnahme der zusätzlichen Kosten, die sich daraus ergeben, dass Sie eine andere Art der Lieferung als die von uns angebotene, günstigste Standardlieferung gewählt haben), unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei uns eingegangen ist. Für diese Rückzahlung verwenden wir dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet. Wir können die Rückzahlung verweigern, bis wir die Waren wieder zurückerhalten haben oder bis Sie den Nachweis erbracht haben, dass Sie die Waren zurückgesandt haben, je nachdem, welches der frühere Zeitpunkt ist.
Sie haben die Waren (originalverpackt und unbeschädigt) unverzüglich und in jedem Fall spätestens binnen 1. Monat ab dem Tag, an dem Sie uns über den Widerruf dieses Vertrags unterrichten, an uns zurückzusenden oder zu übergeben. Die Frist ist gewahrt, wenn Sie die Waren vor Ablauf der Frist von 60 Tagen absenden.
Für Rücksendungen aus Deutschland tragen wir die unmittelbaren Kosten der Rücksendung der Waren.
Die Kosten für Rücksendungen aus dem Ausland (international) trägt der Käufer.
Allgemeine Geschäftsbedingungen für dieses Angebot Allgemeine Geschäftsbedingungen für den eBay-Account „Smellfree24“.
Bavendiek Lehmann
Registernummer: HRB 209534
Umsatzsteuer-Identifikationsnummer gem. § 27a UStG: DE 299231132
Vertretungsberechtigter Geschäftsführer: Kevin Bavendiek , Robert Lehmann
Mobil: 0151/43248888 (R.L.) - 0151/23449792 (K.B.) - E-Mail: info@bl-Handel.de
a) Nachfolgende Allgemeine Geschäftsbedingungen gelten vorbehaltlich einer abweichenden Vereinbarung für alle Verkäufe, Lieferungen und Leistungen des Verkäufers unter dem eBay-Account „Smellfree24“ gegenüber dem Kunden. Mit der Absendung / Abgabe seiner Bestellung erkennt der Kunde Geltung und Inhalt dieser AGB an.
Über die Regelungen dieser AGB hinaus gelten ausschließlich die gesetzlichen Bestimmungen sowie die eBay-Verhaltensrichtlinien (http://pages.ebay.de/help/policies/user-agreement.html), sofern diese AGB nicht durch Individualvereinbarung ganz oder teilweise abbedungen worden sind.
-	Verbraucher ist dabei jede natürliche Person, die ein Rechtsgeschäft zu Zwecken abschließt, die überwiegend weder ihrer gewerblichen noch selbstständigen beruflichen Tätigkeit zugerechnet werden können.
-	Unternehmer ist dabei jede natürliche oder juristische Person oder Personengesellschaft, die das Rechtsgeschäft in Ausübung ihrer gewerblichen oder selbstständigen Tätigkeit abschließt.
Eingabefehler können korrigiert werden, bis der Kunde auf den Button "bieten"; "kaufen" oder "Preis vorschlagen" klickt. Danach ist eine Korrektur nicht mehr möglich und die Erklärung verbindlich. Soweit der Kunde eine Eingabe korrigieren möchte besteht die Möglichkeit im Rahmen der „Zurück Schaltfläche“ des Browsers die Daten mittels Maus und Tastatur neu einzugeben oder den Vorgang durch Schließen des Fensters insgesamt abzubrechen und zu einem späteren Zeitpunkt erneut zu beginnen.
Verbrauchern (Definition vgl. Ziffer 1b) steht nach den fernabsatzrechtlichen Regelungen ein Widerrufsrecht zu.
Der Verbraucher hat das Recht, die Vertragserklärung nach Maßgabe der folgenden Belehrung zu widerrufen:
Widerrufsrecht Sie haben das Recht, binnen 1. Monat ohne Angabe von Gründen diesen Vertrag zu widerrufen.
Die Widerrufsfrist beträgt 1. Monat ab dem Tag an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die Waren in Besitz genommen haben bzw. hat.
Um Ihr Widerrufsrecht auszuüben, müssen Sie uns B & L Bavendiek Lehmann, Handelsgesellschaft mbH ,Bahnhofstraße 20 ,49439 Steinfeld ,Registergericht: Amtsgericht Oldenburg , Registernummer: HRB 209534 ,Umsatzsteuer-Identifikationsnummer gem. § 27a UStG: DE 299231132, Vertretungsberechtigte Geschäftsführer: Kevin Bavendiek , Robert Lehmann mittels einer eindeutigen Erklärung (z.B. ein mit der Post versandter Brief oder E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist.
Sie haben die Waren unverzüglich und in jedem Fall spätestens 1. Monat ab dem Tag, an dem Sie uns über den Widerruf dieses Vertrags unterrichten, an uns zurückzusenden oder zu übergeben. Die Frist ist gewahrt, wenn Sie die Waren vor Ablauf der Frist von 1. Monat absenden.
- An : B & L , Bavendiek Lehmann Handelsgesellschaft mbH vertreten durch Herrn Kevin Bavendiek und Herrn Robert Lehmann, Bahnhofstraße 20, 49439 Steinfeld, E-Mail: info@Bl-Handel.de):
a) Es werden nur die im Rahmen der jeweiligen Angebote angegebenen Zahlungsarten akzeptiert. Dies sind im Einzelnen: PayPal, Barzahlung bei Abholung, Nachnahme oder Überweisung.
b) Sofern eine Vorauszahlung vereinbart ist, verpflichtet sich der Kunde den jeweiligen Kaufpreis nebst anfallenden Versandkosten innerhalb von 10 Tagen nach Erhalt der Zahlungsaufforderung zu zahlen.
a) Soweit mit dem Kunden nichts anderes vereinbart wurde, wird die gekaufte Ware auf dem Versandwege an die vom Kunden jeweils hinterlegte Lieferanschrift versendet. Eine Selbstabholung ist für den Kunden nur nach vorherige Absprache und Bestätigung durch den Verkäufer möglich.
b) Die gekauften Artikel werden innerhalb von 2 Werktagen nach Zahlungseingang versendet.
B&L Bavendiek Lehmann Handelsgesellschaft mbH
Geschäftsführer: Robert Lehmann, Kevin Bavendiek
Telefon: 05492 / 960586-0
Des Weiteren weisen wir darauf hin, dass auch eBay selbst Daten erhebt. Die entsprechende
Datenschutzerklärung finden Sie unter: https://pages.ebay.de/help/policies/privacy-policy.html
2. Erhebung und Speicherung personenbezogener Daten sowie Art und Zweck der
Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten
Verarbeitungszweck einholen, ist stets Art. 6 Abs. 1 S. 1 lit. a DSGVO. Soweit die Verarbeitung
personenbezogener Daten zur Erfüllung eines Vertrags (Versendung von Ware, Erbringung von
Dienstleistungen), dessen Vertragspartei Sie sind, erforderlich ist, so beruht die Verarbeitung auf Art.
6 Abs. 1 S. 1 lit. b DSGVO. Vorstehende Rechtsgrundlage gilt auch für den Fall der Durchführung
vorvertraglicher Maßnahmen (z.B. Anfragen zur unseren Produkten oder Leistungen).
Unterliegt unser Unternehmen einer rechtlichen (gesetzlichen) Verpflichtung, durch welche eine
Verarbeitung von personenbezogenen Daten erforderlich wird und die ihre Grundlage im Unionsrecht
oder Recht des Mitgliedstaates, dem wir unterliegen, hat, so basiert die Verarbeitung auf Art. 6 Abs. 1
S. 1 lit. c DSGVO. Des Weiteren kann die Verarbeitung auf Art. 6 Abs. 1 S. 1 lit. d DSGVO beruhen,
wenn lebenswichtige Interessen betroffen sind (Gefahr für Leib und Leben und/oder Katastrophen).
Außerdem kann Rechtsgrundlage für die Verarbeitung personenbezogener Daten der Art. 6 Abs. 1 S.
1 lit. f DSGVO sein. In diesem Fall werden wir Ihnen unser berechtigtes Interesse gem. Art. 6 Abs. 1
S. 1 lit. f DSGVO noch gesondert mitteilen.
Wenn Sie mit uns einen Fernabsatzvertrag schließen, beispielsweise indem Sie ein Produkt von uns
kaufen, erfolgt die Datenverarbeitung nach Art. 6 Abs. 1 S. 1 lit. b DSGVO. Zudem haben wir ein
legitimes Interesse nach Art. 6 Abs. 1 S. 1 lit. f DSGVO an einer Bonitätsprüfung. Die von Ihnen im
Rahmen des Vertragsschlusses bzw. bei der Registrierung anzugebenen Daten, insbesondere Name,
Anschrift und E-Mail-Adresse, sind für die Erfüllung und Abwicklung des Vertrages erforderlich. Der
Vertrag kann ohne sie nicht durchgeführt werden. Hierauf werden Sie nach Art. 13 Abs. 2 lit e DSGVO
ausdrücklich hingewiesen. Die Daten werden auch an Dritte weitergegeben (Ziff. 3), sofern dies
zwingend erforderlich ist (z.B. Versanddienstleister).
Die Registrierungsdaten werden solange gespeichert, wie der Account besteht. Wird dieser gelöscht,
werden auch die Account-Daten gelöscht. Alle Daten zum Vertragsschluss werden bis zum Ende der
Verjährungsfrist gespeichert. Längstens werden die Daten bis zum Ablauf der gesetzlichen
Aufbewahrungsfrist (z.B. handels-und steuerrechtliche Aufbewahrungsfristen) gespeichert. Sollten
diese bereits vorher nicht mehr zu den oben genannten Zwecken erforderlich sein, werden sie
Ihre persönlichen Daten werden grundsätzlich nicht an Dritte weitergeleitet. Eine Weiterleitung erfolgt
nur in folgenden Fällen:
Sie haben eine ausdrückliche Einwilligung nach Art. 6 Abs. 1 S. 1 lit. a DSGVO zur
Weiterleitung an Dritte gegeben;
Die Weitergabe ist nach Art. 6 Abs. 1 S. 1 lit. f DSGVO zur Wahrung unserer berechtigten
Interessen oder der eines Dritten, insbesondere zur Geltendmachung Ausübung oder
Verteidigung von Rechtsansprüchen, erforderlich und Sie haben kein überwiegendes
schutzwürdiges Interesse an der Nichtweitergabe Ihrer Daten;
Die Daten werden nach Art. 6 Abs. 1 S. 1 lit. b DSGVO für die Abwicklung von
Vertragsverhältnissen mit Ihnen weitergeleitet. Eine Weitergabe Ihrer personenbezogenen
Daten an Dritte erfolgt in diesem Fall ausschließlich an die im Rahmen der
Vertragsabwicklung beteiligten Dienstleistungspartner, wie das mit der Lieferung beauftragte
Logistik-Unternehmen (z.B. DHL), das mit Zahlungsangelegenheiten beauftragte Kreditinstitut
und das für die Buchhaltung zuständige Serviceunternehmen (z.B. Easybill), sofern dies zur
Vertragserfüllung und Abwicklung zwingend erforderlich ist. In den Fällen der Weitergabe an
Dritte beschränkt sich der Umfang der weitergegebenen Daten auf das im Rahmen der
Vertragsabwicklung erforderliche Minimum.
Durch die neue Datenschutzgrundverordnung sind Ihre Rechte erheblich erweitert worden. Diese
werden im Folgenden aufgezählt und unter Nennung der gesetzlichen Grundlage kurz erläutert.
Auskunft, Art. 15 DSGVO: Sie haben das Recht, Auskunft über Ihre von uns verarbeiteten
personenbezogenen Daten zu verlangen. Dazu gehören beispielsweise Informationen über
Verarbeitungszwecke, die Kategorie der personenbezogenen Daten, die Kategorien von
Speicherdauer, das Bestehen eines Rechts auf Berichtigung, Löschung, Einschränkung der
Verarbeitung oder Widerspruch, das Bestehen eines Beschwerderechts, die Herkunft ihrer
Daten, sofern diese nicht bei uns erhoben wurden, sowie über das Bestehen einer
Informationen zu deren Einzelheiten;
Recht auf Berichtigung, Art. 16 DSGVO: Sie können unverzüglich die Berichtigung unrichtiger
oder Vervollständigung Ihrer bei uns gespeicherten personenbezogenen Daten verlangen;
Recht auf Löschung („Recht auf Vergessenwerden“), Art. 17 DSGVO: Sie haben einen
Anspruch auf Löschung Ihrer bei uns gespeicherten personenbezogenen Daten, soweit nicht
Recht auf Einschränkung der Verarbeitung, Art. 18 DSGVO: Sie können verlangen, dass die
Verarbeitung Ihrer personenbezogenen Daten eingeschränkt wird. Voraussetzung ist, dass
die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie
aber deren Löschung ablehnen und wir die Daten nicht mehr benötigen, Sie jedoch diese zur
Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen oder Sie
gemäß Art. 21 DSGVO Widerspruch (Ziff. 6) gegen die Verarbeitung eingelegt haben;
Recht auf Datenübertragung, Art. 20 DSGVO: Sie können verlangen, dass Sie Ihre
und maschinenlesebaren Format erhalten oder sie an einen anderen Verantwortlichen
übermittelt werden;
Widerruf der Einwilligung, Art. 7 Abs. 3 DSGVO: Sie können Ihre einmal erteilte Einwilligung
jederzeit gegenüber uns widerrufen. Dies hat zur Folge, dass wir die Datenverarbeitung, die
auf dieser Einwilligung beruhte, für die Zukunft nicht mehr fortführen dürfen. Die
Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung wird
dadurch jedoch nicht berührt;
Beschwerderecht, Art. 77 DSGVO: Sie haben das Recht auf Beschwerde bei einer
Aufsichtsbehörde, wenn Sie der Ansicht sind, dass die Verarbeitung Ihrer
personenbezogenen Daten gegen die datenschutzrechtliche Vorschriften verstößt. In der
Ihnen steht außerdem ein Widerspruchsrecht nach Art. 21 DSGVO zu. Dies gilt für Ihre
personenbezogenen Daten, die auf Grundlage von berechtigten Interessen gemäß Art. 6 Abs. 1 S. 1
lit. e oder f DSGVO verarbeitet werden, und soweit dafür für einen Widerspruch gegen die
Verarbeitung vorliegen, die sich aus Ihrer besonderen Situation ergeben. Richtet sich der Widerspruch
gegen Direktwerbung, haben Sie ein uneingeschränktes Widerspruchsrecht, auch ohne Angabe einer
besonderen Situation.
Ihr Widerspruchsrecht und auch Ihre weiteren Rechte können Sie beispielsweise per E-Mail an
info@bl-handel.de geltend machen.
Uns ist es wichtig, Ihre Daten zu schützen. Daher ergreifen wir geeignete technische und
organisatorische Sicherheitsmaßnahmen, um Ihre Daten gegen zufällige oder vorsätzliche
Ebenso kann es erforderlich sein, diese Datenschutzerklärung der Weiterentwicklung unserer
Angebote oder die der Verkaufsplattform eBay anzupassen oder sie aufgrund geänderter rechtlicher
Vorgaben zu aktualisieren. Die jeweils aktuelle Datenschutzerklärung finden Sie zu Zwecken des
Abrufs und Ausdrucks in jedem unserer Angebote unter dem Punkt „Allgemeine
Geschäftsbedingungen für dieses Angebot“.
4260374691723
', infinite: true, slidesToShow: 5, slidesToScroll: 5, responsive: [ { breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4 } } ] }); //event listener for clicks on miniimages in desktop mode. Also set the first mini image as selected on startup var lastClicked = $('#container-0'); var miniImage = $('.mini-image-container'); miniImage.click(function () { if($('.slick-track').css('transition').indexOf("transform") === -1){ onImageClick(parseInt($(this).attr('id').replace('container-', '')), "click"); } }); miniImage.mousedown(function () { changedBySelectorOrMini = true; }); $('.product-image').mousedown(function () { changedBySelectorOrMini = false; }); $('.slick-arrow').mousedown(function () { changedBySelectorOrMini = false; }); /**Set the color of the feedback according to its value*/ if (sellerRating) { if (sellerRating > 95) { $('.feedback').css('color', '#55930e'); } else if (sellerRating > 90) { $('.feedback').css('color', '#f4d442'); } else { $('.feedback').css('color', '#ed1212'); } } var items = [{"id":"v1|132172705656|0","price":{"amount":"34.95","currency":"EUR","display_price":"34,95\u00a0\u20ac"},"quantity":10,"sold_quantity":2265,"quantity_type":"MORE_THAN","attr":{"Ausl\u00e4ndisches Produkt":"Nein","Angebotspaket":"Nein","Marke":"Balance Roll","Modifizierter Artikel":"Nein","Herstellernummer":"Faszienrolle","Herstellungsland und -region":"Deutschland","EAN":"4260374691723"},"energy_efficiency_class":"","unit_pricing_measure":"","unit_price":{"value":"","currency":""},"enabled_for_guest_checkout":true,"marketing_price":{"discount_percentage":null,"original_price":{"value":null,"currency":null,"display_price":""},"discount_amount":{"value":null,"currency":null,"display_price":""}},"unit_price_display":"","images":["https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/RrkAAOSwT-FZAc3x\/$_57.JPG?set_id=8800005007","https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/dGsAAOSwqpha1EB1\/$_57.JPG?set_id=8800005007","https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/cTMAAOSwX61ZAc4C\/$_57.JPG?set_id=8800005007","https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/nd4AAOSwtGlZAc4J\/$_57.JPG?set_id=8800005007","https:\/\/i.ebayimg.com\/00\/s\/NjQyWDYxNw==\/z\/SSAAAOSweI9a1EBh\/$_57.JPG?set_id=8800005007"]}]; var configurableAttributeCount = 0; var selectedValues = {}; var selectors = $('.attribute-select'); /** * set price for the item that matches the selected attributes and show it over * the buy-button. If not all attributes are selected, show the lowest price */ var resetValueArray = { "price": $('#price').html(), "uvp":$('.uvp').html(), "unitPrice":$('.unit-price').html(), "discount":$('.discount').html() }; function setPrice() { if (arrayLength(selectedValues) === configurableAttributeCount) { for (var b = 0; b < items.length; b++) { if (itemValid(items[b], selectedValues)) { $('#price').html(items[b]['price']['display_price']); $('#variantPrice').val(items[b]['price']['amount']); if(items[b]['unit_price']['value']){ $('.unit-price').html(items[b]['unit_price_display']); } if(items[b]['marketing_price']['discount_percentage']){ $('.discount').html('Sie sparen' + ' ' + items[b]['marketing_price']['discount_amount']['display_price'] + ' (-' + parseFloat(items[b]['marketing_price']['discount_percentage']).toFixed(0) + ' %)') } if(items[b]['marketing_price']['original_price']['value']){ $('.uvp').html('' + items[b]['marketing_price']['original_price']['display_price'] + ''); } } } } else { $('#price').html(resetValueArray.price); $('#variantPrice').val(34.95); $('.uvp').html(resetValueArray.uvp); $('.unit-price').html(resetValueArray.unitPrice); $('.discount').html(resetValueArray.discount); } } var selectorBuildArray = []; var optionAvailable = []; var imageArray = [{"imageArray":{"imgUrl":"https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/RrkAAOSwT-FZAc3x\/$_57.JPG?set_id=8800005007"}},{"imageArray":{"imgUrl":"https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/dGsAAOSwqpha1EB1\/$_57.JPG?set_id=8800005007"}},{"imageArray":{"imgUrl":"https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/cTMAAOSwX61ZAc4C\/$_57.JPG?set_id=8800005007"}},{"imageArray":{"imgUrl":"https:\/\/i.ebayimg.com\/00\/s\/MTAwMFgxMDAw\/z\/nd4AAOSwtGlZAc4J\/$_57.JPG?set_id=8800005007"}},{"imageArray":{"imgUrl":"https:\/\/i.ebayimg.com\/00\/s\/NjQyWDYxNw==\/z\/SSAAAOSweI9a1EBh\/$_57.JPG?set_id=8800005007"}}]; /**set the item-attributes, that interact with the images*/ var configAttributes = null; var validPictureChangeAttributes = ['Size', 'Width', 'Character', 'Fabric', 'Modell', 'Model', 'Style', 'Art', 'Motiv', 'Style', 'style', 'Design', 'design', 'Letter', 'kind', 'Select', 'Pattern', 'Fassung' ,'fassung', 'Land', 'land', 'Variante', 'Auswahl', 'Designauswahl', 'Variante wählen', 'Product Shape', 'Paw Patrol', 'Variation']; var colorVariants = ['Color', 'Colour', 'Colors', 'Colours', 'Main Color', 'Main Colour', 'Main Colors', 'Main Colours', 'Frame Colour' , 'Farbe', 'Farben', 'FARBE', 'farbe', 'farben', 'FarbeID', 'Haupt farbe', 'Farbe wählen', 'Farbauswahl', 'Farbe-Color']; if (configAttributes !== null) { for (var x = 0; x < colorVariants.length; x++) { if ( [colorVariants[x]] !== undefined) { validPictureChangeAttributes = colorVariants; break; } } } /** * if an item variant id is supplied in the url, the corresponding item attributes are selected */ var startingItemId = "v1|132172705656|0"; const itemVariant = startingItemId.split('|').pop(); if(itemVariant !== "0") { idInput.val(startingItemId); for(var i = 0; i < items.length; i++){ if(items[i]['id'] === startingItemId){ $.each(items[i]['attr'], function (attr, value) { if (configAttributes !== null) { if(configAttributes[attr] !== undefined){ $('[id="attr-' + attr.replace(/\s/g, "-").toLowerCase() + '"]').val(value); } } }); break; } } } /** * set item-id in the form-input if there are no selectable attributes for that item * if there are, check if all attributes are selected and set the corresponding item */ if (configurableAttributeCount === 0) { if (items) { idInput.val(items[0].id); if (items[0].id) { $('.buy-button').removeClass('disabled'); } else { $('.buy-button').addClass('disabled'); } } }else { var callingSelector = 0; $.each(selectors, function (index, element) { var selector = $(element); if(selector.val() === ''){ selectedValues = {}; return false; }else{ selector.attr('data-selected', 'selected'); selectedValues[selector.attr('title')] = selector.val(); if(validPictureChangeAttributes.indexOf(element.title) !== -1 && imageArray !== null){ callingSelector = index; } } }); if(arrayLength(selectedValues) === configurableAttributeCount){ selectorHandler(selectors[callingSelector], true); } } //set value of qty select to 1 as default $('#qty').val('1'); // disable buy button if item out of stock var itemLimit = 10; if (itemLimit == 0) { $('.buy-button').addClass('disabled'); } /** * get the length of an associative array * * @param array - the array whose length we want to know * @return int - length of array */ function arrayLength(array) { var count = 0; for (var value in array) { count++; } return count; } /** * deletes characters from a string that would otherwise provoke an error * * @param string - The string that should be correctified * @return string - The correctified String */ function correctifyString(string) { return string.split('"').join(''); } /** * goes through the selected attributes and checks the item attributes against them * * @param item - item array with its properties * @param valueArray - the properties in an associative array which a valid item must have * @return boolean - true if item is valid, false if not */ function itemValid(item, valueArray) { for (var selectedTitle in valueArray) { if (correctifyString(item.attr[selectedTitle]) != valueArray[selectedTitle]) { return false; } } return true; } var changedBySelectorOrMini = false; $('#image-carousel').on('beforeChange', function(event, slick, currentSlide, nextSlide){ if(!changedBySelectorOrMini){ onImageClick(nextSlide, "imageCarousel"); } }); /** * clicking on mini-images makes them the bigger product-image * * @param index - the position of the image in the carousel * * @param calledFromSelector - bool: specifies if this function was called because the user used a selector * */ var lastIndex = 0; function onImageClick(index, typeOfCall) { $('#image-carousel').slick('slickGoTo', index); $('#container-' + lastIndex).removeClass('mini-image-selected'); $('#container-' + index).addClass('mini-image-selected'); lastIndex = index; if(typeOfCall === "selector" || typeOfCall === "imageCarousel"){ $('#thumbnail-image-carousel').slick('slickGoTo', index); } if(typeOfCall === "click" || typeOfCall === "imageCarousel"){ setValue(index); } } /** * set the color-selector to the color of the selected mini-image. Will delete all options * from that selector and add all back * * @param listIndex - int: index of the image container that was clicked on */ function setValue(listIndex) { $.each(selectors, function (index, element) { var selector = $(element); if (validPictureChangeAttributes.indexOf(selector.attr('title')) !== -1) { deleteOptions(selector, ''); for (var a = 0; a < items.length; a++) { addOptions(items[a], selector); } if (imageArray[listIndex]['imageArray']['attributes'] && optionAvailable[imageArray[listIndex]['imageArray']['attributes'][selector.attr('title')]]) { selector.val(correctifyString(imageArray[listIndex]['imageArray']['attributes'][selector.attr('title')])); } else { selector.val(''); } selectorHandler(selector[0], false); } }); } /**checks if the selected attributes exist in the imageArray*/ function imageAttributeCheck(imageArray) { for (var key in imageArray) { if ($.inArray(key, validPictureChangeAttributes) !== -1) { if (correctifyString(imageArray[key]) && selectedValues[key] && correctifyString(imageArray[key]) === selectedValues[key]) { return true; } } } return false; } /** * checks if there is an option in the selector with the given value * * @param options - a collection of options from one selector * @param value - the value that should be searched for in the options * @return boolean - true if the option exists, false if not */ function checkOptionExisting(options, value) { var optionExists = false; $.each(options, function (index, element) { var option = $(element); if (value == option.attr('value')) { optionExists = true; } }); return optionExists; } /** * add attributes from an item as options to a selector * * @param item - array of one items with its properties * @param selector - the selector where the item properties should be * appended as options */ function addOptions(item, selector) { var itemAttr; for (itemAttr in item.attr) { if (itemAttr === selector.attr('title')) { if (!(checkOptionExisting(selector.children(), correctifyString(item.attr[itemAttr])))) { if (optionAvailable[item.attr[itemAttr]]) { selector.append('' + item.attr[itemAttr] + ''); } else { selector.append('' + item.attr[itemAttr] + ' [nicht mehr vorrätig]'); } } } } } /** * remove all options except - Select - from one or multiple selectors * * @param selectorContainer - jquery object: the selectors whose options should be deleted * @param noDeleteSelector - string: title of the selector whose options shouldnt be deleted */ function deleteOptions(selectorContainer, noDeleteSelector) { $.each(selectorContainer, function (index, element) { var selector = $(element); if (!(selector.attr('title') === noDeleteSelector)) { var options = selector.children(); $.each(options, function (index, element) { var option = $(element); if (option.attr('value') !== "") { option.remove(); } }); } }); } /** * if all configurable attributes are selected, set the number of available items to the * amount if the selected item. also sets the qty selector to the amount available if its * lower than limit */ function setAvailable() { for (var z = 0; z < items.length; z++) { if (arrayLength(selectedValues) === configurableAttributeCount) { if (itemValid(items[z], selectedValues)) { var limit = 10; var qtySelect = $('select[name=qty]'); var selectedAmount = qtySelect.val(); deleteOptions(qtySelect, ''); if (items[z]['quantity'] < 10) { limit = items[z]['quantity'] } qtySelect.append('Qty'); for (var i = 1; i <= limit; i++) { qtySelect.append('' + i + ''); } qtySelect.val(selectedAmount > limit ? limit : selectedAmount); if (items[z]['quantity_type'] === 'MORE_THAN') { if (items[z]['quantity'] < 10) { $('#number-of-available, #mobile-number-of-available').html( 'Mehr als' + ' ' + items[z]['quantity'] + ' ' + 'quantity' ); } else { $('#number-of-available, #mobile-number-of-available').html( 'Mehr als' + ' ' + '10' + ' ' + 'quantity' ); } } else if (items[z]['quantity_type'] === 'EXACT') { if (items[z]['quantity'] !== 1) { $('#number-of-available, #mobile-number-of-available').html(items[z]['quantity'] + ' ' + 'verfügbar' ); } else { $('#number-of-available, #mobile-number-of-available').html('1 verfügbar') } } } } } } /** * Check if all item-attributes are chosen, then set the id of the fitting item * as value of the id input field and change the item image, else set its value to empty */ function setItemId() { var correctImageFound = false; if (arrayLength(selectedValues) === configurableAttributeCount) { for (var a = 0; a < arrayLength(items); a++) { if (itemValid(items[a], selectedValues)) { idInput.val(items[a].id); $('.buy-button').removeClass('disabled'); for (var i = 0; i < imageArray.length; i++) { if(correctImageFound){ break; } if (imageArray[i]['imageArray']['attributes'] !== undefined) { for(var j = 0; j < imageArray[i]['imageArray']['attributes']['itemId'].length; j++){ if(imageArray[i]['imageArray']['attributes']['itemId'][j] === items[a].id){ correctImageFound = true; onImageClick(i, "selector"); break; } } } } break; } } } else { idInput.val(''); $('.buy-button').addClass('disabled'); buttonClicked = 0; showMessage = 0; } } /** * if the attribute from the selector is set, set the selector to this attribute * else set it to default * Needed because every selection deletes and readds all the options which * causes the value to reset */ function setSelectorValue() { $.each(selectors, function (index, element) { var selector = $(element); if (selectedValues[selector.attr('title')] !== null) { if (checkOptionExisting(selector.children(), selectedValues[selector.attr('title')])) { selector.val(selectedValues[selector.attr('title')]); } } else { selector.val(''); } }); } /** * if user clicks on buy button and not all attributes are selected -> highlight * attribute selectors that are not set */ var buttonClicked = 0, showMessage = 0; $('.buy-button.disabled').on('click', function(event) { if ($('.buy-button').hasClass('disabled')) { event.preventDefault(); } if (buttonClicked == 0) { $.each(selectors, function (index, element) { var selector = $(element); if ( selector.attr('data-selected') == 'unselected') { $(this).css('border-color', 'red'); if (showMessage == 0) { $('.selector-wrapper').append('
'); showMessage = 1; push2dataLayer({ 'event': 'variantError', 'errorMessage': selector.attr('title') }); } } }); buttonClicked = 1; } }); /**call the selectorHandler if the user selects something in a selector*/ selectors.change(function () { changedBySelectorOrMini = true; selectorHandler(this, true); }); /**disables attributes of selectors when an attribute is selected and it is out of stock*/ function disableOptions() { $.each(selectedValues, function (key, value) { $.each(selectorBuildArray[key][value], function (attrName, attrValueArray) { $.each(attrValueArray, function (attrValue, available) { if (attrValue.indexOf('"') >= 0) { attrValue = correctifyString(attrValue); } var option = $('select[title="' + attrName + '"] > option[value="' + attrValue + '"]'); if (option.is(':enabled')) { option.attr('disabled', !available); } if (option.is(':disabled') && !(option.html()).includes('[nicht mehr vorrätig]')) { option.html(option.html() + ' [nicht mehr vorrätig]'); } }); }); }); } /** * handles the selection of the item variants. Deletes all options if a option is * selected and adds only the ones corresponding to the already selected ones */ function selectorHandler(selector, calledFromSelector) { var callSelectorTitle = selector.title; var callSelectorValue = selector.value; /**save selected values in associative array*/ if (!(callSelectorValue === '')) { selectedValues[callSelectorTitle] = callSelectorValue; } else { delete selectedValues[callSelectorTitle]; } /** * if selectorHandler was called by selecting a value, and that value was a type that should * change the image, go to the first Image associated with that value * if it was not, reset the selectedValues and the data tag in the selectors */ if (calledFromSelector) { if (validPictureChangeAttributes.indexOf(callSelectorTitle) !== -1 && imageArray !== null) { for (var i = 0; i < imageArray.length; i++) { if (imageArray[i]['imageArray']['attributes'] !== undefined) { if (imageAttributeCheck(imageArray[i]['imageArray']['attributes'])) { onImageClick(i, "selector"); break; } } } } } else { selectedValues = {}; if (callSelectorValue !== '') { selectedValues[callSelectorTitle] = callSelectorValue; } $.each(selectors, function (index, element) { var jElm = $(element); jElm.attr('data-selected', 'unselected'); }); } /** * if the calling selector was set to a value, set its html attribute 'data-selected' * to selected */ if (callSelectorValue !== '') { $(selector).attr('data-selected', 'selected'); if (buttonClicked !== 0) { $(selector).css('border-color', '#E3E3E3'); $('.no-option-selected').remove(); } } else { $(selector).attr('data-selected', 'unselected'); } deleteOptions(selectors, callSelectorTitle); /**add all options that fit the selected ones to all selectors*/ $.each(selectors, function (index, element) { var selector = $(element); var selectedValuesExclusive = $.extend({}, selectedValues); var selectorTitle = selector.attr('title'); var selectorData = selector.attr('data-selected'); if (selectedValuesExclusive[selectorTitle] !== null) { delete selectedValuesExclusive[selectorTitle]; } if (selectorData === 'unselected') { for (var a = 0; a < items.length; a++) { if (itemValid(items[a], selectedValues)) { addOptions(items[a], selector); } } } else { if (selectorTitle !== callSelectorTitle) { for (var b = 0; b < items.length; b++) { if (itemValid(items[b], selectedValuesExclusive)) { addOptions(items[b], selector); } } } } }); disableOptions(); setSelectorValue(); setPrice(); setAvailable(); setItemId(); } }); })(jQuery); // faceboook pixel & gAds integration(s) fbq('track', 'ViewContent', { content_name: 'Komplett Set Faszienrolle Balance Roll Fitnessrolle Blackroll alternative Yoga', content_ids: ['v1|132172705656|0'], content_type: 'product', value: 34.95, currency: 'EUR' }); // i-ways GTM tracking helper push2dataLayer({ ecomm_prodid: 'v1|132172705656|0', ecomm_pagetype: 'ViewContent', ecomm_totalvalue: 34.95, ecomm: { ecomm_prodid: 'v1|132172705656|0', ecomm_pagetype: 'ViewContent', ecomm_totalvalue: 34.95 } }); $('form').on('submit', function (e) {//e.preventDefault(); if ($('#qty').val() === '0') { $('#qty').val('1'); } var data = {"auctTitl":"Komplett Set Faszienrolle Balance Roll Fitnessrolle Blackroll alternative Yoga","brand":"Balance Roll","category":179800,"currency_code":"EUR","id":"132172705656","dimension4":null,"dimension5":"Y","dimension6":"Y","dimension7":"Y","dimension8":"N","dimension9":"N","dimension10":"Y","dimension11":2,"dimension12":60,"dimension13":"eBayPlus|DHL Paket","dimension14":"DE","dimension15":"new","dimension16":"bul_gmbh","dimension17":"v1|132172705656|0","itemVrtnId":"v1|132172705656|0","list":"Product","metric1":2,"metric2":3,"metric3":60,"metric4":"5.0","metric5":0,"name":"Komplett Set Faszienrolle Balance Roll Fitnessrolle Blackroll alternative Yoga","price":0,"quantity":10,"slrId":"bul_gmbh","variant":""}; data.dimension17 = data.itemVrtnId = $('#item-id-input').val(); data.price = parseFloat($('#variantPrice').val()); data.quantity = parseFloat($('#qty').val()); pushEcommerce('addToCart', [processProductData(data)]); fbq('track', 'AddToCart', { content_name: 'Komplett Set Faszienrolle Balance Roll Fitnessrolle Blackroll alternative Yoga', content_ids: ['v1|132172705656|0'], contents: [ { 'id': 'v1|132172705656|0', 'quantity': $('#qty').val(), 'item_price': 34.95 } ], content_type: 'product', value: 34.95, currency: 'EUR' }); // i-ways GTM tracking helper push2dataLayer({ ecomm_prodid: 'v1|132172705656|0', ecomm_pagetype: 'AddToCart', ecomm_totalvalue: 34.95, ecomm: { ecomm_prodid: 'v1|132172705656|0', ecomm_pagetype: 'AddToCart', ecomm_totalvalue: 34.95 } }); }); // Alert message design if scrolled $(window).scroll(function(){ var scrolled = $(window).scrollTop(); var heightOrangeMessage = parseInt($('.orange-message').css('height')); if ( scrolled >= heightOrangeMessage ) { $('.to-many-items-alert .alert.alert-danger.alert-dismissable').css('z-index', 9); } else { $('.to-many-items-alert .alert.alert-danger.alert-dismissable').css('z-index', ''); } });