Towel hooks | LAUFEN Bathrooms (2024)

What type of product are you looking for?

Shelves

Magnifying mirrors

Glass holders

Lights

WC paper holders

Containers

Soap dishes

Soap dispensers

Toilet brush holders

Towel holders

Towel hooks

Towel racks

Trays

Stools

Racks

Decoration

Waste bins

Grab rails

Complements for accessories

Towel hooks (0)

sort by

Back to top

Back to filters

'; } html += '

'; bardiv.innerHTML = html; var products = 0, productsDiv = document.querySelectorAll('[id^="productDiv"]'); if (productsDiv) {products = productsDiv.length;} span.innerHTML = texts.nextLabel1 + ' ' + products + ' ' + texts.nextLabel2 + ' ' + maxProducts + ' ' + texts.nextLabel3; if (productListCurrentLastPage < productListCurrentMaxPage) {productListShowElement(div);} else {productListHideElement(div);} } var ndiv = document.getElementById('productsNumberDiv'); if (ndiv) {ndiv.innerHTML = texts.nextLabel4 + ' ' + maxProducts + ' ' + texts.nextLabel3;} } function productListUpdateSelectedFiltersBar(selected) { var h1 = document.getElementById('selectedFiltersH1'); if (h1) { if (selected) { if(selected.includes("{N}") || selected.includes("{T}")){ var infoArray = selected.split("||"); //selected.replace(' {N} '+infoArray[2], ''); var containerNoveltyTopSales = selected; h1.innerHTML = infoArray[0]; }else{ h1.innerHTML = selected; } productListShowElement(h1); } else { productListHideElement(h1); } } } function productListUpdateSortingCombo(field, order) { var combo = document.getElementById('productSortCombo'); if ((combo)&&(field)&&(order)) { var selected = field + '|' + order; for (var i=0;i

0) ? ' (' + cat.count + ')' : '');} var check = document.getElementById('categoryCheck' + cat.code); if (check) {check.checked = cat.checked;} } } function productListUpdateFilterGroups(groups, update, hasProducts, texts) { var section = document.getElementById('filtersSection'); if (section) { var highlighted = document.getElementById('highlightedFilterGroupsUL'), more = document.getElementById('moreFilterGroupsUL'); if ((groups)&&(groups.length)) { for (var i=0;i ' + group.selected.selectedMin + ')'; } else if (group.selected.selectedMax) { selected += ' ( < ' + group.selected.selectedMax + ')'; } } } if (selected) { span.innerHTML = selected; productListShowElement(span); } else { productListHideElement(span); } } } } function productListGetFilterGroupHTML(group, texts) { var code = group.code, name = group.name, description = group.description, selected = '', highlighted = group.highlighted, display = group.displayType, menuClass = '', addRow = true, isSearch = false; if (group.selected) { if (group.selected.selectedNumber) { selected = texts.some + ' (' + group.selected.selectedNumber + ')'; } else if (group.selected.selectedString) { selected = group.selected.selectedString; if ((group.selected.selectedMin)&&(group.selected.selectedMax)) { selected += ' (' + group.selected.selectedMin + ' - ' + group.selected.selectedMax + ')'; } else if (group.selected.selectedMin) { selected += ' ( > ' + group.selected.selectedMin + ')'; } else if (group.selected.selectedMax) { selected += ' ( < ' + group.selected.selectedMax + ')'; } } } var html = ''; if (highlighted) { if (display == 'THUMBNAILS') {menuClass = 'menu-image-filter';} else if (display == 'MAC') {menuClass = 'menu-material-filter';} else if (display == 'ICONS') {menuClass = 'menu-finish-filter';} else if (display == 'CHECKS') {menuClass = 'menu-colleccion-filter';} else if (display == 'RANGES') {menuClass = 'menu-measures-filter'; addRow = false;} else if (display == 'SEARCH') {menuClass = 'menu-material-filter'; isSearch = true;} html += '

' + '

' + '

' + '' + name + '' + '' + '

' + '

' + '

'; if (description) {html += '

' + description + '

';} if (addRow) {html += '

';} html += '

' + '

'; } else { if (display == 'RANGES') {menuClass = 'menu-price-filter-2';} else if (display == 'ICONS') {menuClass = 'menu-cubetas-filter';} else if (display == 'SEARCH') {menuClass = 'menu-price-filter-2';} else { var hasDescription = false; if ((group.filters)&&(group.filters.length)) { for (var i=0;i' + '' + name + '' + '

' + '

' + '

'; if (description) {html += '

' + description + '

';} html += '

'; html += '

'; } return html; } function addBtnFilter(filterGroups ){var options = document.getElementById('options'); var groupColeccion = filterGroups[0] for (var j = 0; j < filterGroups.length; j++) { var colections = filterGroups[j].filters;if (filterGroups[j].code == "167562") { for (var i = 0; i < colections.length; i++) { var code = colections[i].code; var name = colections[i].name; var opt = document.getElementById("Op"+ code); if(colections[i].checked){ if(!opt){ options.innerHTML +='' + name + '' } }else{ if(opt){ options.removeChild(opt); } } } } }} function onProductBtnFilter(code){ $("#filterCheck" + code ).prop('checked', false); onProductListFilterChanged(code); } function productListUpdateFilter(group, filter) { if ((filter)&&(filter.code)) { $('#filterDiv' + filter.code).data('count', filter.count); var active = ((filter.count > 0)||(group.conditionType == 'OR')) && (!filter.blocked), checked = filter.checked; if (active) {$('#filterActiveDiv' + filter.code).addClass('active');} else {$('#filterActiveDiv' + filter.code).removeClass('active');} $('#filterCheck' + filter.code).attr('disabled', !active);//$('#filterCheck' + filter.code).attr('checked', checked); if (checked) { $('#filterCheck' + filter.code).prop('checked', true); $('#filterCheckedDiv' + filter.code).addClass('active'); } else { $('#filterCheck' + filter.code).prop('checked', false); $('#filterCheckedDiv' + filter.code).removeClass('active'); } $('#filterSpan' + filter.code).html(filter.name + ((filter.count > 0) ? ' (' + filter.count + ')' : '')); $('#filterDisabledDiv' + filter.code).attr('disabled', !active); if (filter.ranged) { $('#filterP' + filter.code).html(filter.name); var allValues = $('#filterSliderDiv' + filter.code).data('array'), currency = (filter.code == 'PRICE') ? ' ' + document.currencySymbol : ''; var $rangeDiv = $('#rangeDiv' + filter.code); $rangeDiv.find('.slider').slider({'disabled' : false}); $rangeDiv.find('.slider').slider('values', [allValues.indexOf(filter.selectedMinValue), allValues.indexOf(filter.selectedMaxValue)]);//$rangeDiv.find('.slider').slider('option', 'min', filter.minValue);//$rangeDiv.find('.slider').slider('option', 'max', filter.maxValue); $rangeDiv.find('.min-input').val(filter.selectedMinValue); $rangeDiv.find('.max-input').val(filter.selectedMaxValue); if (filter.restrictedValues) { if (currencyBeforePrice){ var mintext = productListTexts.lessThan + ' ' + currency + filter.minValue; var maxtext = productListTexts.moreThan + ' ' + currency + filter.maxValue; } else { var mintext = productListTexts.lessThan + ' ' + filter.minValue + currency; var maxtext = productListTexts.moreThan + ' ' + filter.maxValue + currency; } $rangeDiv.find('.min-range-text').html(mintext); $rangeDiv.find('.max-range-text').html(maxtext); var text = productListGetRangedLabel(filter.minValue, filter.maxValue, filter.selectedMinValue, filter.selectedMaxValue, currency,currencyBeforePrice); $rangeDiv.find('.range-d').html(text); } else { if (currencyBeforePrice){ $rangeDiv.find('.min-range-text').html(currency +filter.minValue); $rangeDiv.find('.max-range-text').html(currency +filter.maxValue); var text = currency + filter.selectedMinValue + ' - ' + currency + filter.selectedMaxValue; $rangeDiv.find('.range-d').html(text); } else { $rangeDiv.find('.min-range-text').html(filter.minValue + currency); $rangeDiv.find('.max-range-text').html(filter.maxValue + currency); var text = filter.selectedMinValue + currency + ' - ' + filter.selectedMaxValue + currency; $rangeDiv.find('.range-d').html(text); } } } else { $('#filterP' + filter.code).html(filter.name + ((filter.count > 0) ? ' (' + filter.count + ')' : '')); } } } function productListGetFilterHTML(group, filter, texts) { var html = '', code = filter.code, count = filter.count, active = ((count > 0) || (group.conditionType == 'OR')) && (!filter.blocked), checked = filter.checked, image = filter.image, name = filter.name, description = filter.description; if (group.highlighted) { if (group.displayType == 'SEARCH') { html += '

' + '

' + '

' + '' + '' + '

' + '

' + '

'; } else if (group.displayType == 'THUMBNAILS') { html += '

' + '

' + '

'; if (image) { html += '

' + '

' + '

'; } html += '

' + name + ((count > 0) ? ' (' + count + ')' : '') + '

' + '

'; } else if (group.displayType == 'MAC') { html += ''; } else if (group.displayType == 'ICONS') { html += '

' + '' + '' + name + ((count > 0) ? ' (' + count + ')' : '') + '' + '

'; } else if (group.displayType == 'CHECKS') { html += '

' + '' + '' + name + ((count > 0) ? ' (' + count + ')' : '') + '' + '

'; } else if (group.displayType == 'RANGES') { productListRangedToInitialize.push(code); var mintext = filter.minValue, maxtext = filter.maxValue, currency = (code == 'PRICE') ? ' ' + document.currencySymbol : '', rtext = filter.selectedMinValue + currency + ' - ' + filter.selectedMaxValue + currency; if (filter.currencyBeforePrice) { rtext = currency + filter.selectedMinValue + + ' - ' + currency + filter.selectedMaxValue; } if (filter.restrictedValues) { //TODO: a?adir la propiedad de mercado de currency anted de precio if (filter.currencyBeforePrice) { mintext = productListTexts.lessThan + ' ' + currency + filter.minValue; maxtext = productListTexts.moreThan + ' ' + currency + filter.maxValue; } else { mintext = productListTexts.lessThan + ' ' + filter.minValue + currency; maxtext = productListTexts.moreThan + ' ' + filter.maxValue + currency; } rtext = productListGetRangedLabel(filter.minValue, filter.maxValue, filter.selectedMinValue, filter.selectedMaxValue, currency,filter.currencyBeforePrice); } html += '

' + '

' + '

' + '

'; if (image) {html += 'Towel hooks | LAUFEN Bathrooms (3)';} html += '

' + name + '

' + '

' + '

' + '' + rtext + '' + '' + '

' + '

' + '' + '' + '

' + '

' + '

' + '

' + '' + mintext + '' + '' + '

' + '

' + '' + maxtext + '' + '' + '

'; } } else { if (group.displayType == 'SEARCH') { html += '

' + '

' + '

' + '' + '' + '

' + '

' + '

'; } else if (group.displayType == 'RANGES') { productListRangedToInitialize.push(code); var mintext = filter.minValue, maxtext = filter.maxValue, currency = (code == 'PRICE') ? document.currencySymbol : '', rtext = filter.selectedMinValue + currency + ' - ' + filter.selectedMaxValue + currency; if (filter.currencyBeforePrice) { rtext = currency + ' ' + filter.selectedMinValue + ' - ' + currency + filter.selectedMaxValue ; } if (filter.restrictedValues) { if (filter.currencyBeforePrice) { mintext = productListTexts.lessThan + ' ' + currency + filter.minValue; maxtext = productListTexts.moreThan + ' ' + currency + filter.maxValue; } else { mintext = productListTexts.lessThan + ' ' + filter.minValue + currency; maxtext = productListTexts.moreThan + ' ' + filter.maxValue + currency; } rtext = productListGetRangedLabel(filter.minValue, filter.maxValue, filter.selectedMinValue, filter.selectedMaxValue, currency,filter.currencyBeforePrice); } html += '

' + '

' + '

' + '

'; if (image) {html += 'Towel hooks | LAUFEN Bathrooms (4)';} html += '

' + name + '

'; if (description) {html += '

' + description + '

';} html += '

' + '

' + '' + rtext + '' + '' + '

' + '

' + '' + '' + '

' + '

' + '

' + '

' + '' + mintext + '' + '' + '

' + '

' + '' + maxtext + '' + '' + '

'; } else if (group.displayType == 'ICONS') { html += '

' + '' + '

' + '' + '

'; } else { var hasDescription = false; if ((group.filters)&&(group.filters.length)) { for (var i=0;i

' + '

' + '' + '

' + '' + '

'; } else { html += ''; } } } return html; } function productListAddProductsParryware(products, before, texts) { var productsDiv = document.getElementById('productListDiv'); if (productsDiv) { if ((products) && (products.length)) { var noResultsDiv = document.getElementById('noResultsDiv'); if (noResultsDiv) { noResultsDiv.parentNode.removeChild(noResultsDiv); } var beforeDiv = null; if ((before) && (productsDiv.childNodes.length)) { beforeDiv = productsDiv.childNodes[0]; } let cuantity = document.getElementById('cuantity'); let cuantitym = document.getElementById('cuantitym'); if (cuantity) {cuantity.innerHTML = products.length;} if (cuantitym) {cuantitym.innerHTML ='(' + products.length + ')';} for (var i = 0; i < products.length; i++) { var product = products[i], div = document.createElement('DIV'); if (product.type == 'ProductRender') { div.setAttribute('id', 'productDiv' + product.code); div.setAttribute('class', 'col-6 col-md-6 col-lg-4 mb-3 m-2-col'); div.setAttribute('data-url', product.url); div.innerHTML = productListGetProductParrywareHTML(product, texts); productsDiv.insertBefore(div, beforeDiv); productCard.activateCard($('#productDiv' + product.code.replace(/\./g, '\\\$&') + ' .product-card')); } } } else { var filtersSection = document.getElementById('filtersSection'); if (filtersSection) { productsDiv.innerHTML = '

' + texts.noResults + '

'; } else { var anclaProductList = document.getElementById('anclaProductList'); if (anclaProductList) { anclaProductList.style.display = 'none'; } } } } }function productListAddProducts(products, before, texts) {var productsDiv = document.getElementById('productListDiv');if (productsDiv) {if ((products)&&(products.length)) {var noResultsDiv = document.getElementById('noResultsDiv');if (noResultsDiv) {noResultsDiv.parentNode.removeChild(noResultsDiv);}var beforeDiv = null;if ((before)&&(productsDiv.childNodes.length)) {beforeDiv = productsDiv.childNodes[0];}for (var i=0;i

';}} }function productListGetPurchaseGuideCardHTML(product) {var html = '

';if ((product.videoUrl)&&(product.videoImage)) {html += '

'; html += '

';html +='

'; html += '

';html += '

';html += '

';html += '

';html += '';html += '

';html += '

';html += '

';html += '

';html += '

';} else if (product.image) {html += '

'; html += '

';html +='

';}html += '

';if (product.themeText) {if (product.themeUrl) {html += '

' + product.themeText + '

';} else {html += '

' + product.themeText + '

';}}if (product.title) {html += '

' + product.title + '

';}if (product.content) {html += '

' + product.content + '

';}html += '

';html += '

';if ((product.buttonText)&&(product.buttonUrl)) {html += '' + product.buttonText + '';}html += '

'; return html;} function productListGetProductParrywareHTML(product, texts) { var code = product.code, displayCode = ((product.displayCode) ? product.displayCode : code), finished = null, first = null, productUrl = product.url, fselected = false; if ((product.finisheds)&&(product.finisheds.length)) { for (var i=0;i

'; html += '

'; html += '

' + ((product.category && !isTaps) ? product.category : product.name) +'

'; html += '
'; return html; } function productListGetProductHTML(product, texts) { let isCosmic = false; let isLaufenISH = true; let isCelite = false; let isEcommerce = false; let isRoca = false; let isShowPrice = false; let isAlape = false; var codeDiv = product.code.replaceAll(".",""); var code = product.code, displayCode = ((product.displayCode) ? product.displayCode : code), finished = null, first = null, isSupramodel = product.isSupramodel, isBundle = product.isBundle, isDiscontinued = product.isDiscontinued, productUrl = product.url, r3url = product.r3url, fselected = false, rrpText = product.rrpText, rrpLabel = product.rrpLabel, priceTextNoSub = product.priceTextNoSub, normalPrice = product.normalPrice, hoverImage = product.hoverImage, hoverimagefinished = hoverImage, containsNovelty = product.containsNovelty, containsTopSales = product.containsTopSales; if ((product.finisheds)&&(product.finisheds.length)) { for (var i=0;iNew'; } } html += '

'+'

' ; if (isCosmic){ html += '

' + '

    '; if (discountPercentage!== undefined && discountPercentage!== null && discountPercentage!== ''){ html += '' ; } html += ''; html += '

' + '

'; }else{ html += '

' + // '

    ' + // '' + // '

' + '

'; } if (!isSupramodel) {html += '';} html += '

' + ''; if (isLaufenISH) { if (hoverImage) {html += '';} } if (isCosmic){ if (hoverimagefinished) {html += '';} }else { html += ''; } html += ''; html +='

'; var showActionsOnOver = false; var purchase = ((finishedUrl != null)&&(finishedUrl != '')&&(!finishedDiscontinued)); var favText = (finishedFavorite) ? texts.removeFavorite : texts.addFavorite; var favIcon = (finishedFavorite) ? '/icons/favon-18.svg' : '/icons/favoff-18.svg'; var cmpText = (finishedComparator) ? texts.removeComparator : texts.addComparator; var cmpIcon = (finishedComparator) ? '/icons/comparador_on-18.svg' : '/icons/comparador_off-18.svg'; var is100Shoppers = false; var iconCardIs100Shoper = 'https://www.laufen.com/o/laufen-theme/images/icons/carrito.svg'; var iconlocationIs100Shoper = 'https://www.laufen.com/o/laufen-theme/images/icons/mapa.svg'; //TODO Cambio si es 100Shoppers is100Shoppers = false; if (showActionsOnOver) { if(is100Shoppers){ html += '

'; html += ''; html += ''; html += 'Buy online'; html += ''; }else{ html += '

' + '' + texts.viewProduct + ''; html += ''; } html += '

' if (!isSupramodel) { html += '

' + '

    '; if (r3url) { html += '
  • ' + '' + ''+ '' + '
  • '; } html += '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (6)' + '' + '
  • ' + '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (7)' + '' + '
  • ' + '

' + '

'; } } html += '

'; if (isLaufenISH) { html += '

';} var htmllistMatTech = ''; if ((product.finisheds)&&(product.finisheds.length)) { if(product.finisheds.length >= 1){ var listMatTech = product.finisheds[0].listMatTech; var listMatTechStr =''; if(listMatTech){ listMatTechStr = listMatTech.toString(); } htmllistMatTech = technologiesMaterialsRenderPList(listMatTechStr); } } if (isRoca) { html += '

'; html += '

'; html += '

'; html += '

'; } if (product.category) { html += '

'; var selected = false; if (isRoca) { html += '

'; } html += '

' + product.category + '

'; if (isRoca) { html += '

'; } html += '

'; } if (isLaufenISH) { if (!isSupramodel) { html += '

' + '

    '; if (r3url) { html += '
  • ' + '' + ''+ '' + '
  • '; } html += '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (9)' + '' + '
  • ' + '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (10)' + '' + '
  • ' + '

' + '

'; } html += '

'; } html += '

' + '' + finishedDescription + ''; if ((!isSupramodel)&&(!isBundle)) { if ((isAlape) && (displayCode!=null) && (displayCode!="") && (displayCode.trim().startsWith("VA"))) { displayCode = displayCode.replace("VA",""); } html += '' + texts.referenceLabel + ': ' + displayCode + ''; } html += '' + htmllistMatTech + ''; html += '

'; if (product.dimensions) { } html += '

'; if ((product.finisheds)&&(product.finisheds.length)) { for (var i=0;i

'; let colors_displayed = i+1; if ((isLaufenISH || isAlape)&&(colors_displayed === 5)&&(product.finisheds.length > 5)){ html += '+' + (product.finisheds.length - colors_displayed) + ''; break; } if (isCosmic && colors_displayed === 3 && product.finisheds.length > 3) { var numberRemainingFinishes = product.finisheds.length-colors_displayed; if (numberRemainingFinishes > 0 ) { html += ' +'+ numberRemainingFinishes +' '; } break; } } } } html += '

'; html += '

'; if ((product.dimensions)&&(product.dimensions !== '1 x 1 x 1')) { html += '

' + product.dimensions + '

'; } html += '

'; if(!isCelite){ if (isCosmic){ html += '

'; if((!isEcommerce)&&(isShowPrice)&&((finished.pricePrefix !== undefined)&&(finished.pricePrefix !== null)&&(finished.pricePrefix !== ''))){ html += '

'+ finished.pricePrefix + '

'; html += ''; html += 'Towel hooks | LAUFEN Bathrooms (11)

'; $(document).ready(function() { $('[data-toggle="popover"]').popover(); }); } var classPriceCosmic = (typeof finishedPriceStrikethrough !== "undefined")?"price-red":""; html += '

'; html += '

'; if(typeof finishedPriceStrikethrough !== "undefined"){ html += '

'; } html += '

'; if (product.extendedDescription) { html += '

' + product.extendedDescription + '

' } }else{ if(typeof finishedPriceStrikethrough !== "undefined"){html += '

';} if (!finished || !finished.showPrettyPrices) { html += '

'; }else{ html += '

'; html += '

'; } if(typeof finishedPrice !== "undefined"){ if(typeof finishedPriceStrikethrough === "undefined"){ html += '

' + '' + finishedPrice + '' + '

'; html += '

'; }else{ html += '

'; } var financingPriceP = getFinancingPriceP(finishedPrice); if(financingPriceP.finalShare != '0'){ html += '

' + 'ou ' + financingPriceP.numShare + 'x de R$ ' + financingPriceP.finalShare + ' sem juros' + '

'; } } } html += '

'; html += '

'; if (finished && finished.showPrettyPrices) { html += '

' + '

'; if (finishedPricePrefix) {html += finishedPricePrefix + ': ';} html += '

' + ''; if (finishedPriceStrikethrough) {html += finishedPriceStrikethrough;} html += ''; html += ''; if (finished.price) {html += finished.price;} html += ''; html += '

'; } html += '

'; // TODO: formularios html += '

'; if (isLaufenISH) { html += '

' + '

' + '

' + '

' + '' + texts.viewProduct + ''; }else{ html += '

' + '

'; if(is100Shoppers){ html += '

'; html += '

'; html += ''; html += ''; html += 'Buy online'; html += ''; }else{ if (isCosmic) { html += '

'; html += '

'; if (purchase && isEcommerce){ html += '' + texts.buyNow + '' ; }else{ html += '' + texts.viewProduct + '' ; } } else { html += '

'; html += '

'; html += '' + texts.viewProduct + ''; } } } if(!is100Shoppers){ if (!isCosmic) { html += ''; }else{ html += ''; } } html += '

' + '

'; if (!isLaufenISH) { if(is100Shoppers){ html += '

'; }else{ html += '

'; } if (!isSupramodel) { html += '

' + '

    '; if (r3url) { html += '
  • ' + '' + ''+ '' + '
  • '; } html += '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (13)' + '' + '
  • ' + '
  • ' + '' + 'Towel hooks | LAUFEN Bathrooms (14)' + '' + '
  • ' + '

' + '

'; } html += '

'; } html += '

'; html += '

'; html += '

'; return html; } function productListGetNotificationData(code, notificationIcon, notificationText, texts, typeUrl) { var data = {}; var imageDiv = document.getElementById('productImageDiv' + code); if ((imageDiv)&&(imageDiv.style.backgroundImage)) { data.image = imageDiv.style.backgroundImage.slice(4, -1).replace(/['"]/g, ''); } var collectionName = '', collectionUrl = '', productName = '', productUrl = '', productReference = '', finishedName = '', finishedImage = '', productDimensions = '', productPrice = '', finishedPriceStrikethrough = '', rrpLabel = '', priceTextNoSub = ''; var collectionLink = document.getElementById('productCollectionLink' + code); if (collectionLink) { collectionName = collectionLink.innerHTML; collectionUrl = collectionLink.href; } var productLink = document.getElementById('productLink2' + code); if (productLink) { productName = productLink.innerHTML; productUrl = productLink.href; } var productSpan = document.getElementById('productCodeSpan' + code); if (productSpan) {productReference = productSpan.innerHTML;} var sku = productListSelectedFinisheds[code]; if (sku) { var finishedButton = document.getElementById('finishedButton' + sku); if (finishedButton) { finishedName = finishedButton.title; if (finishedButton.childNodes.length > 0) { finishedImage = finishedButton.childNodes[0].style.backgroundImage.slice(4, -1).replace(/['"]/g, ''); } } } var productSizeP = document.getElementById('productSizeP' + code); if (productSizeP) {productDimensions = productSizeP.innerHTML;} var productPriceP = document.getElementById('productPriceP' + code); if ((productPriceP)&&($(productPriceP).is(":visible"))) {productPrice = productPriceP.innerHTML;} var finishedPriceStrikethroughP = document.getElementById('priceStrikethroughBlack' + code); if (finishedPriceStrikethroughP) {finishedPriceStrikethrough = finishedPriceStrikethroughP.text;} var rrpLabelP = document.getElementById('rrpLabel' + code); if (rrpLabelP) {rrpLabel = rrpLabelP.text;} var priceTextNoSubP = document.getElementById('priceBlue' + code); if (priceTextNoSubP) {priceTextNoSub = priceTextNoSubP.text;} data.content = ''; if (collectionName) { data.content += '

' + '' + collectionName + '' + '

'; } if (productName) { data.content += '

' + '' + productName + '' + '

'; } if (productReference) { data.content += '

' + productReference + '

'; } if (finishedName) { data.content += '

' + '

' + '' + '

' + '

'; } data.content += '

'; if (productDimensions) {data.content += '

' + productDimensions + '

';} // if (productPrice) {data.content += '

' + productPrice + '

';} if (productPrice) {data.content += '

' + productPrice + '

';} data.content += '

'; // data.content += '

' +// '

';// if (rrpLabel) {data.content += rrpLabel + ': ';}// data.content += '

' +// '';// if (finishedPriceStrikethrough) {data.content += finishedPriceStrikethrough;}// data.content += '';// data.content += '';// if (priceTextNoSub) {data.content += priceTextNoSub;}// data.content += '';// data.content += '

'; data.icon = ''; if (notificationIcon) {data.icon += 'Towel hooks | LAUFEN Bathrooms (15)';} if (notificationText) {data.icon += '' + notificationText + '';} data.url = typeUrl; data.text = texts.goToProduct; return data; } function productListShowNotification(code, icon, action, texts, typeUrl) { var data = productListGetNotificationData(code, icon, action, texts, typeUrl); displayNotification(data.image, data.content, data.icon, data.url, data.text); } function productListChangeFavoriteButton(code, sku, favorite, texts) { var button = document.getElementById('finishedButton' + sku); if (button) { button.dataset.favorite = favorite; button.setAttribute('data-favorite', favorite); } var favoriteLink = document.getElementById('productFavoriteLink' + code); if (favoriteLink) { var favText = (favorite) ? texts.removeFavorite : texts.addFavorite; favoriteLink.title = favText; } var favoriteIcon = document.getElementById('productFavoriteIcon' + code); if (favoriteIcon) { var favIcon = (favorite) ? '/icons/favon-18.svg' : '/icons/favoff-18.svg'; favoriteIcon.setAttribute('src', texts.imagesPath + favIcon); } updateHeaderFavoritesIcon(favorite) } function productListChangeComparatorButton(code, sku, comparator, texts) { var button = document.getElementById('finishedButton' + sku); if (button) { button.dataset.comparator = comparator; button.setAttribute('data-comparator', comparator); } var comparatorLink = document.getElementById('productComparatorLink' + code); if (comparatorLink) { var cmpText = (comparator) ? texts.removeComparator : texts.addComparator; comparatorLink.title = cmpText; } var comparatorIcon = document.getElementById('productComparatorIcon' + code); if (comparatorIcon) { var cmpIcon = (comparator) ? '/icons/comparador_on-18.svg' : '/icons/comparador_off-18.svg'; comparatorIcon.setAttribute('src', texts.imagesPath + cmpIcon); } updateHeaderComparatorIcon(comparator) } function technologiesMaterialsRenderPList(materialsTechnologies){ var lista = ''; if(materialsTechnologies && materialsTechnologies != ''){ lista = materialsTechnologies; } var htmlRender = ''; if(lista != ''){ var arrayTM = lista.split(","); for(var i=0;i

'+arrayTM[i]+''; } } return htmlRender; } function productListChangeFinished(button, texts) { let isCosmic = false; let isCelite = false; let isAlape = false; var code = button.dataset.product, description = button.dataset.description, sku = button.dataset.sku, dsku = button.dataset.dsku, image = button.dataset.image, price = button.dataset.price, pricePrefix = button.dataset.priceprefix, favorite = (button.dataset.favorite == 'true'), comparator = (button.dataset.comparator == 'true'), novelty = (button.dataset.novelty == 'true'), topsales = (button.dataset.topsales == 'true'), discontinued = (button.dataset.discontinued == 'true'), purchaseUrl = button.dataset.url, purchaseUrlText = button.dataset.urltext, rrpText = button.dataset.rrptext, rrpLabel = button.dataset.rrplabel, priceTextNoSub = button.dataset.pricetextnosub, alt = button.dataset.alt, priceStrikeThrough = button.dataset.pricestrikethrough, showPrettyPrices = button.dataset.showprettyprice, video = button.dataset.urlvideo, divLabels = button.dataset.divlabels, listMatTech = button.dataset.listmattech, imagehoverfinished = button.dataset.imagehoverfinished; $("#"+divLabels).html(technologiesMaterialsRenderPList(listMatTech)); if ((code)&&(sku)) { var parent = button.parentNode; for (var child of parent.childNodes) { if (child.dataset.sku == sku) {child.className = 'fondo selected';} else if (child.classList.contains("color-overflow")) {/* skip color-overflow indicator */} else if (child.className.match("btn-plus") && isCosmic){child.className = 'btn-plus';} else {child.className = 'fondo';} } var imageDiv = document.getElementById('productImageDiv' + code), priceP = document.getElementById('productPriceP' + code), codeSpan = document.getElementById('productCodeSpan' + code), rrpLabelP = document.getElementById('rrpLabel' + code), priceStrikethroughBlackP = document.getElementById('priceStrikethroughBlack' + code), priceBlueP = document.getElementById('priceBlue' + code), onlinePriceWrapperDiv = document.getElementById('js-online-price-wrapper' + code), imageHoverDiv = document.getElementById('productImageDivHover' + code); if ((imageDiv)&&(image)) { imageDiv.style.backgroundImage = 'url(' + image + ')'; imageDiv.title = alt; } if ((imageHoverDiv)&&(imagehoverfinished)){imageHoverDiv.style.backgroundImage = 'url(' + imagehoverfinished + ')';} if (priceP) { if ((price)&&(price !== undefined)&&(!discontinued)) { //priceP.innerHTML = pricePrefix + ' : ' + price + ''; if(!isCelite){ if (isCosmic){ priceP.innerHTML = '' + price + ''; productListShowElement(priceP); }else{ priceP.innerHTML = pricePrefix + ' : ' + price + ''; productListShowElement(priceP); } }else{ var contentPrice = priceP.parentNode; if(priceStrikeThrough && (priceStrikeThrough !== 'undefined')){ contentPrice.innerHTML = ''; var discountPercentage = getDiscountPercentage (priceStrikeThrough,price); contentPrice.innerHTML += ''; contentPrice.innerHTML += ''; }else if(typeof price !== "undefined"){ contentPrice.innerHTML = '

' + '' + price + '' + '

'; contentPrice.innerHTML += ''; } if(typeof price !== "undefined"){ var financingPriceP = getFinancingPriceP(price); if(financingPriceP.finalShare != '0'){ contentPrice.innerHTML += '

' + 'ou ' + financingPriceP.numShare + 'x de R$ ' + financingPriceP.finalShare + ' sem juros' + '

'; } } priceP = document.getElementById('productPriceP' + code); productListShowElement(priceP); } } else { productListHideElement(priceP); } } var videoLink = document.getElementById('productVideoLink' + code); if (videoLink) { if (video) { videoLink.dataset.video = video; videoLink.style.display = 'block'; } else { videoLink.dataset.video = ''; videoLink.style.display = 'none'; } } if (showPrettyPrices === 'true') { if (priceP && rrpLabel && rrpText) {priceP.innerHTML = rrpLabel + ' : ' + rrpText + ''; productListShowElement(priceP);} if (rrpLabelP && pricePrefix) {rrpLabelP.innerHTML = pricePrefix + ": ";} if (priceStrikethroughBlackP) { if (priceStrikeThrough && (priceStrikeThrough!= 'undefined')) { priceStrikethroughBlackP.innerHTML = priceStrikeThrough; priceStrikethroughBlackP.style.display = 'inline'; priceBlueP.style.display = 'block' } else { priceStrikethroughBlackP.style.display = 'none'; priceBlueP.style.display = 'inline' } } if (priceBlueP && priceTextNoSub) {priceBlueP.innerHTML = priceTextNoSub;} if (onlinePriceWrapperDiv) {onlinePriceWrapperDiv.style.display = 'block';} } else { if (onlinePriceWrapperDiv) {onlinePriceWrapperDiv.style.display = 'none';} } if ((isAlape) && (dsku!=null) && (dsku!="") && (dsku.trim().startsWith("VA"))) { dsku = dsku.replace("VA",""); } if ((codeSpan)&&(sku != 'PUB')) {codeSpan.innerHTML = texts.referenceLabel + ': ' + dsku;} var productDiv = document.getElementById('productDiv' + code); if (productDiv) { var baseUrl = productDiv.dataset.url; if (baseUrl) { var url = productListSetURLParameter(baseUrl, 'sku', sku); var a1 = document.getElementById('productLink1' + code); if (a1) {a1.href = url;} var a2 = document.getElementById('productLink2' + code); if (a2) { a2.href = url; a2.innerHTML = ((description) ? description : ''); } var a3 = document.getElementById('productLink3' + code); if (a3) { a3.href = url; if (isCosmic){ a3.className = (!discontinued) && (purchaseUrl) && (isEcommerce) ? "cart-btn" : "ver"; } } } } var a4 = document.getElementById('productLink4' + code); if (a4) { if (!isCosmic) { a4.style.display = (((discontinued) || (!purchaseUrl)) ? 'none' : ''); } a4.href = purchaseUrl; a4.title = purchaseUrlText; }// var noveltyLi = document.getElementById('productNoveltyLi' + code);// if (noveltyLi) {noveltyLi.style.display = ((novelty) ? '' : 'none');} var noveltySpan = document.getElementById('productNoveltySpan' + code); if (noveltySpan) {noveltySpan.style.display = ((novelty) ? '' : 'none');} var topsalesSpan = document.getElementById('productTopSalesSpan' + code); if (topsalesSpan) {topsalesSpan.style.display = ((topsales) ? '' : 'none');} var discontinuedDiv = document.getElementById('productDiscontinuedDiv' + code); if (discontinuedDiv) {discontinuedDiv.style.display = ((discontinued) ? '' : 'none');} productListChangeFavoriteButton(code, sku, favorite, texts); productListChangeComparatorButton(code, sku, comparator, texts); productListSelectedFinisheds[code] = sku; } } function getDiscountPercentage (priceOld , priceNew) { priceOld = priceOld.replace(/[^0-9,]+/g, ""); priceOld = parseFloat(priceOld.replace(/,/g,".")); priceNew = priceNew.replace(/[^0-9,]+/g, ""); priceNew = parseFloat(priceNew.replace(/,/g,".")); let percentageDiscount = null; if (priceOld !== 0 && priceNew !== priceOld && priceNew !== 0) { percentageDiscount = (((100 * ( priceNew - priceOld) / priceOld)) ).toFixed(); } return percentageDiscount; } function productListChangeFavorite(code, texts) { var sku = productListSelectedFinisheds[code]; if (sku) { var data = {}; data[texts.namespace + 'resourceAction'] = 'resourceSetFavorite'; data[texts.namespace + 'resourceSku'] = sku; $.ajax({ url : texts.resourceURL, method : 'post', data : data }).done(function(result) { if (result.success) { productListChangeFavoriteButton(code, sku, result.favorite, texts); var text = (result.favorite) ? texts.favoriteAdded : texts.favoriteRemoved; var icon = (result.favorite) ? 'favon-18.svg' : 'favoff-18.svg' productListShowNotification(code, icon, text, texts, 'https://www.laufen.com/user-area?section=favorites'); } }); } } function productListChangeComparator(code, texts) { var sku = productListSelectedFinisheds[code]; if (sku) { var data = {}; data[texts.namespace + 'resourceAction'] = 'resourceSetComparator'; data[texts.namespace + 'resourceSku'] = sku; $.ajax({ url : texts.resourceURL, method : 'post', data : data }).done(function(result) { if (result.success) { productListChangeComparatorButton(code, sku, result.comparator, texts); var text = (result.comparator) ? texts.comparatorAdded : texts.comparatorRemoved; var icon = (result.comparator) ? 'comparador_on-18.svg' : 'comparador_off-18.svg' productListShowNotification(code, icon, text, texts, 'https://www.laufen.com/user-area?section=comparator'); } }); } } function productListGetInsertBefore(websort, container) { if ((websort)&&(container)&&(container.childNodes)&&(container.childNodes.length)) { for (var i=0;i 0) { post = current.substring(index); current = current.substring(0, index).trim(); } var tokens = current.split(' - '), name = tokens[0].trim(); current = name + ((filtersTitle) ? ' - ' + filtersTitle : '') + ((post) ? ' ' + post : ''); if (document.title != current) {document.title = current;} } } function productListSetURLParameter(url, name, value) { var index = url.indexOf('?'); if (index > 0) { var body = url.substring(0, index), query = url.substring(index); index = query.indexOf(name + '='); if (index >= 0) { var index2 = query.indexOf('&', index); if (index2 < 0) {index2 = query.indexOf('#', index)} query = query.substring(0, index + name.length + 1) + value + ((index2 > 0) ? query.substring(index2) : ''); url = body + query; } else { index = url.indexOf('#'); if (index >= 0) {url = url.substring(0, index) + '&' + name + '=' + value + url.substring(index);} else {url += '&' + name + '=' + value;} } } else { index = url.indexOf('#'); if (index >= 0) {url = url.substring(0, index) + '?' + name + '=' + value + url.substring(index);} else {url += '?' + name + '=' + value;} } return url; } function productListShowElement(obj) { var isCelite = false; if(isCelite){ if (obj.classList.contains('price')) { var contentPrice = obj.parentNode var children = contentPrice.childNodes; if(contentPrice.children.length > 3){ for (var i = 0; i < contentPrice.children.length; i++) { contentPrice.children[i].removeAttribute('Style', 'display:none'); } }else{ for (var i = 1; i < contentPrice.children.length; i++) { contentPrice.children[i].removeAttribute('Style', 'display:none'); } } }else{ $(obj).show(); } }else{ $(obj).show(); } } function productListHideElement(obj) { var isCelite = false; if(isCelite){ if (obj.classList.contains('price')) { var contentPrice = obj.parentNode var children = contentPrice.childNodes; for (var i = 0; i < contentPrice.children.length; i++) { contentPrice.children[i].setAttribute('Style', 'display:none'); } }else{ $(obj).hide(); } }else{ $(obj).hide(); } } function productListURL(url) { var result = {}; if (url) { var index = url.indexOf('://'); if (index >= 0) { if (index > 0) {result.protocol = url.substring(0, index);} url = (index + 3 < url.length) ? url.substring(index + 3) : ''; } else {result.protocol = 'http';} index = url.indexOf('#'); if (index >= 0) { if (index + 1 < url.length) {result.anchor = url.substring(index + 1);} url = url.substring(0, index); } index = url.indexOf('?'); if (index >= 0) { if (index + 1 < url.length) {result.params = url.substring(index + 1);} url = url.substring(0, index); } index = url.indexOf('/'); if (index >= 0) { if (index > 0) {result.domain = url.substring(0, index);} result.path = url.substring(index); } else {result.domain = url;} } return result; } function productListURLAddParameter(urlobj, name, value) { if (urlobj.params) { var tokens = urlobj.params.split('&'), added = false; for (var i=tokens.length - 1;i>=0;i--) { var index = tokens[i].indexOf('='); if ((index > 0)&&(tokens[i].substring(0, index) == name)) { if (value) {tokens[i] = name + '=' + value;} else {tokens.splice(i, 1);} added = true; } } if ((value)&&(!added)) {tokens.push(name + '=' + value);} urlobj.params = tokens.join('&'); } else if (value) {urlobj.params = name + '=' + value;} } function productListURLAsString(urlobj) { var url = urlobj.protocol + '://'; if (urlobj.domain) {url += urlobj.domain;} if (urlobj.path) {url += urlobj.path;} if (urlobj.params) {url += '?' + urlobj.params;} if (urlobj.anchor) {url += '#' + urlobj.anchor;} return url; } function triggerModal(url) { $('#imgModalMedidas').attr("src", url); $('#modalMedida').modal({ show: true }); } function getFinancingPriceP(finalPrice ){ finalPrice = finalPrice.replace(/[^0-9,]+/g, ""); finalPrice = parseFloat(finalPrice .replace(/,/g,".")); var numShareMax = 10; var shareMin = 15; var minPrice = 31; var numShare = 0; var finalShare = 0; var share = 0; var i = 1; var found = false; if(finalPrice > minPrice){ while((i <= numShareMax) && !found ){ share = (finalPrice / i).toFixed(2); if(share > shareMin){ numShare = i; finalShare = (share).toString().replace(".",","); }else{ found=true; } i++; } } return {numShare, finalShare } } function showPopover(){ $(document).ready(function() { $('body').on('click', function(e) { $('[data-toggle=popover]').each(function() { // hide any open popovers when the anywhere else in the body is clicked if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) { $(this).popover('hide'); } }); }); }); $(document).ready(function() { $('.manualinputlabel').click(function(e) { $('.popover-body').append(''); $(this).popover(); }); $(document).click(function(e) { if (e.target.id == "popovercloseid") { $('.manualinputlabel').popover('hide'); } }); }); }
Towel hooks | LAUFEN Bathrooms (2024)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Barbera Armstrong

Last Updated:

Views: 6208

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Barbera Armstrong

Birthday: 1992-09-12

Address: Suite 993 99852 Daugherty Causeway, Ritchiehaven, VT 49630

Phone: +5026838435397

Job: National Engineer

Hobby: Listening to music, Board games, Photography, Ice skating, LARPing, Kite flying, Rugby

Introduction: My name is Barbera Armstrong, I am a lovely, delightful, cooperative, funny, enchanting, vivacious, tender person who loves writing and wants to share my knowledge and understanding with you.