// gEl('aladeclasa').classList.add('geta'); // gEl('aladeclasa').classList.remove('geta'); //mobile function gEl(id){ return document.getElementById(id); } function gElClass(clasa){ return document.getElementsByClassName(clasa); } let burger = gEl('hamburger') if(burger) burger.addEventListener('click', function() { if(this.classList.contains('close')){ closeMenu(this) }else{ openMenu(this) } }); function openMenu(t){ t.classList.add('close'); gEl('nav').classList.add('navVisible'); gEl('gender').classList.add('navVisible'); gEl('body').classList.add('hideOverflow'); } function closeMenu(t){ t.classList.remove('close'); gEl('nav').classList.remove('navVisible'); gEl('gender').classList.add('navVisible'); gEl('body').classList.remove('hideOverflow'); if(!t.classList.contains('close')){ gEl('gender').classList.remove('navVisible'); gEl('nav').classList.remove('navsubmenu'); Array.from(gElClass('subMenu')).forEach(elem => elem.style.display = "none"); Array.from(gElClass('subnavs')).forEach(elem => elem.style.display = "block"); Array.from(gElClass('aparent')).forEach(elem => elem.style.display = ""); } } let ocart = gEl('openCart') if(ocart) ocart.addEventListener('click', function() { refreshCart(); gEl('cartBox').classList.add('cartShow'); gEl('nav').classList.remove('navVisible'); gEl('gender').classList.remove('navVisible'); gEl('body').classList.remove('hideOverflow'); gEl('hamburger').classList.remove('close'); }); let ccart = gEl('closeCart'); if(ccart) ccart.addEventListener('click', function() { gEl('cartBox').classList.remove('cartShow'); }); Array.from(gElClass('aparent')).forEach(elem => { if(window.innerWidth < 1080){ elem.addEventListener('click', function(e) { e.stopPropagation(); e.preventDefault(); displaySubMenu(this); }); } }) Array.from(gElClass('backMenu')).forEach(elem => { if(window.innerWidth < 1080){ elem.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); restoreSubMenu(this); }); } }) function restoreSubMenu(t){ let sbc = t.attributes['data-subchild'].value; gEl('auleu-'+sbc).style.display = 'flex'; Array.from(gElClass('subnavs')).forEach(subs=>{ // let sbid = subs.attributes['data-subchilds'].value; //if(sbc != sbid){ subs.style.display = 'block'; //} }); gEl('subSubNav'+sbc).style.display = 'none'; gEl('nav').classList.remove('navsubmenu'); } function displaySubMenu(t){ let sbc = t.attributes['data-subchilds'].value; gEl('auleu-'+sbc).style.display = 'none'; Array.from(gElClass('subnavs')).forEach(subs=>{ let sbid = subs.attributes['data-subchilds'].value; if(sbc != sbid){ subs.style.display= 'none'; } }); gEl('subSubNav'+sbc).style.display = 'block'; gEl('nav').classList.add('navsubmenu'); } //all gEl('closeParent').addEventListener('click', function() { this.parentElement.classList.remove("slideTop"); gEl('overlay').classList.remove('overlayed'); gEl('body').classList.remove('hideOverflow'); }); let srcelem = gEl('openSearch') if(srcelem) srcelem.addEventListener('click', function() { gEl('searchBox').classList.add('slideTop'); gEl('overlay').classList.add('overlayed'); gEl('body').classList.add('hideOverflow'); gEl('cartBox').classList.remove('cartShow'); gEl('cauta').focus(); let whm = getCookie('pentru') if (['femei', 'barbati', 'fete', 'baieti'].indexOf(whm) < 0 ) { whm = "femei" } Array.from(gEl('searchBox-gender-categories-list').children).forEach((it) => { if (it.getAttribute('data-switch') == whm) { it.classList.add('genderSelected') } else { it.classList.remove('genderSelected') } }) }); const searchBoxGender = gEl('searchBox-gender-categories-list'); if (searchBoxGender) { Array.from(searchBoxGender.children).forEach(selector =>{ selector.addEventListener('click', function(event){ event.preventDefault(); let whm = this.attributes['data-switch'].value; Array.from(searchBoxGender.children).forEach(it =>{ it.classList.remove('genderSelected') }) this.classList.add('genderSelected'); //setCookie('pentru', whm, 60); const cauta = document.getElementById('cauta'); if (cauta) { cauta.dispatchEvent(new KeyboardEvent('keyup')); } }); }); } let genderMenu = gEl('gender'); function clearMainFor(){ let genderMenu = gEl('gender'); Array.from(genderMenu.children).forEach(selector => selector.classList.remove('genderSelected')); } if(genderMenu){ Array.from(genderMenu.children).forEach(selector =>{ selector.addEventListener('click', function(event){ if(window.innerWidth < 1080){ event.preventDefault(); } clearMainFor(); Array.from(gElClass('mainsubmenu')).forEach(msub=> msub.style.display = 'none'); let whm = this.attributes['data-switch'].value; this.classList.add('genderSelected'); setCookie('pentru', whm, 60); let showM = gElClass(whm); if(showM) Array.from(showM).forEach(vsm => vsm.style.display = "block"); // window.location.reload(); }); }); } function syncAllGenderMenus(value) { document.querySelectorAll('[data-switch]').forEach((it) => { it.classList.remove('genderSelected'); }); document.querySelectorAll('[data-switch="'+ value +'"]').forEach((it) => { it.classList.add('genderSelected'); }); } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i "id["+id+"]="+q).join('&'); } function removeMiniCartProduct(cid, name){ name = name.replace(/'/, ""); name = name.replace("'",""); if(confirm("Stergeti produsul: "+(name)+"?")){ localCall("removeCartProduct", 'cid='+cid, getCart, getCart, "GET"); } } function displayMiniCart(msg){ try{ let ccdata = {}; Object.entries(msg.items).forEach(([pId,product])=>{ if(parseInt(product.productId)) ccdata[product.productId] = product.quantity; }); // setCookie('cream_cart', JSON.stringify( ccdata ), 60); }catch(e){ } let cartc = gEl('cartcount'); if(cartc) cartc.innerHTML = msg.totalQuantity; let minicart = gEl('cartContent'); if(minicart){ minicart.innerHTML = ''; if(Object.keys(msg.items).length == 0){ minicart.innerHTML = 'Nu aveti nici un articol in cosul de cumparaturi'; } else{ htmlToContent = '
'; Object.entries(msg.items).forEach(([pId,product])=>{ var sizes=''; if (product.size){var sizes='
  • Mărime: '+product.size+'
  • ';} htmlToContent += '
    \
    '+product.name+'\
      \
    • '+product.name+'
    • '+sizes+'
    • '; if(product.indisponibil){ htmlToContent += '
    • Produsul nu se mai găsește în stoc!
    • '; }else{ htmlToContent +='Cantitate: '+product.quantity+''; } htmlToContent += '
    \
    '; if(product.discountvalue > 0){ htmlToContent += ''+parseFloat(product.priceD * product.quantity).toFixed(2)+' lei'; htmlToContent += '-'+parseFloat(product.discountvalue * product.quantity).toFixed(2)+' lei'; }else{ if(parseFloat(product.priceS) > parseFloat(product.price)){ htmlToContent += ''+parseFloat(product.priceS * product.quantity).toFixed(2)+' lei'; } } htmlToContent += ''+parseFloat(product.price * product.quantity).toFixed(2)+' lei'; htmlToContent += '
    '; }); htmlToContent += '
    '; minicart.innerHTML = htmlToContent; let voucherString = ''; Object.entries(msg.vouchers).forEach(([vId,voucher]) => { voucherString += '
    Voucher: '+voucher.name+' ('+voucher.cod+')
    '; }); deliveryCost = "Gratuită"; if(parseInt(msg.deliveryitems[1].value)>0){deliveryCost = msg.deliveryitems[1].value+" Lei";} minicart.innerHTML += voucherString; minicart.innerHTML += '
    Livrare '+deliveryCost+'
    Total '+parseFloat(msg.totalPrice).toFixed(2)+' Lei
    '; minicart.innerHTML += '
    \ Vezi coșul\ Către finalizare\
    '; } freeShipping = 200; if(msg.totalPrice < freeShipping){ bar = msg.totalPrice / freeShipping * 100; //$('#miniCart').append('
    Primeste transport gratuit'+msg.totalPrice+' lei '+freeShipping+' lei
    '); }else{ // $('#miniCart').append('
    Felicitari! Transportul pentru aceasta comanda este gratuit.
    ');} // $('#miniCart').append('Vezi cosulFinalizare comanda'); // $('#cartItems').html(msg.totalQuantity); //$('.removeProduct').off('click'); //$('.removeProduct').on('click', removeFromCart); } //$('.showUnder').click(function(){ // $(this).toggleClass('minus'); // $(this).next().slideToggle(300); //}); } //minicart.style.display = 'block'; } function putSecondPict(msg){ Object.values(msg.items).forEach(pict => { let elemP = gEl('pictf-'+pict.id); if(elemP){ let np = document.createElement('picture'); np.classList.add('image2'); np.innerHTML = '\ '; elemP.prepend(np); } }); Array.from(gElClass('productImage')).forEach(elem => { if(elem.children.length == 1){ let dpn = elem.children[0].cloneNode(true); dpn.classList.remove('image1'); dpn.classList.add('image2'); elem.append(dpn); } }); } function getSecondPicture(){ let aFids = Array.from(gElClass('productImage')).map(elem => { if(typeof elem.attributes['data-fid'] !== 'undefined') return elem.attributes['data-fid'].value ; return 0; }).filter(elem=> elem != 0); if(aFids.length) localCall('getSecondPicture', aFids.map(elem => 'fid[]='+elem).join('&'), putSecondPict, msg=>console.log('no second pict') ) ; } function getProductsVariations(){ let aFids = Array.from(gElClass('productDisplay')).map(elem => { if(typeof elem.attributes['data-fid'] !== 'undefined') return elem.attributes['data-fid'].value ; return 0; }).filter(elem=> elem != 0); localCall('getProductsVariations', aFids.map(elem => 'id[]='+elem).join('&'), showProductVariations, msg=>console.log('no second pict') ) ; } function getProductsVariations_black(){ let aFids = Array.from(gElClass('productDisplay')).map(elem => { if(typeof elem.attributes['data-fid'] !== 'undefined') return elem.attributes['data-fid'].value ; return 0; }).filter(elem=> elem != 0); localCall('getProductsVariations', aFids.map(elem => 'id[]='+elem).join('&')+"&black=1", showProductVariations, msg=>console.log('no second pict') ) ; } function showProductVariations(msg){ Array.from(gElClass('productDisplay')).forEach(elem => { if(typeof elem.attributes['data-fid'] == 'undefined') return false; const fid = elem.attributes['data-fid'].value ; if(typeof msg.items[fid] === 'undefined') return false; const slug = elem.attributes['data-path'].value ; let output = Object.values(msg.items[fid]).map(sid => ({id:sid.id, name: (typeof attrValNames[sid.sizeId] !== 'undefined')?attrValNames[sid.sizeId].value:'FARA' })).sort((a, b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : 0) ).map(sid => ''+sid.name+''); elem.querySelector('.famsizes').innerHTML = output.join(''); }); } function showProductVariations_black(msg){ Array.from(gElClass('productDisplay')).forEach(elem => { if(typeof elem.attributes['data-fid'] == 'undefined') return false; const fid = elem.attributes['data-fid'].value ; if(typeof msg.items[fid] === 'undefined') return false; const slug = elem.attributes['data-path'].value ; let output = Object.values(msg.items[fid]).map(sid => ({id:sid.id, name: (typeof attrValNames[sid.sizeId] !== 'undefined')?attrValNames[sid.sizeId].value:'FARA' })).sort((a, b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : 0) ).map(sid => ''+sid.name+''); elem.querySelector('.famsizes').innerHTML = output.join(''); }); } var HtmlEntities = function() {}; HtmlEntities.map = { "'": "'", "<": "<", ">": ">", " ": " ", "¡": "¡", "¢": "¢", "£": "£", "¤": "¤", "¥": "¥", "¦": "¦", "§": "§", "¨": "¨", "©": "©", "ª": "ª", "«": "«", "¬": "¬", "®": "®", "¯": "¯", "°": "°", "±": "±", "²": "²", "³": "³", "´": "´", "µ": "µ", "¶": "¶", "·": "·", "¸": "¸", "¹": "¹", "º": "º", "»": "»", "¼": "¼", "½": "½", "¾": "¾", "¿": "¿", "À": "À", "Á": "Á", "Â": "Â", "Ã": "Ã", "Ä": "Ä", "Å": "Å", "Æ": "Æ", "Ç": "Ç", "È": "È", "É": "É", "Ê": "Ê", "Ë": "Ë", "Ì": "Ì", "Í": "Í", "Î": "Î", "Ï": "Ï", "Ð": "Ð", "Ñ": "Ñ", "Ò": "Ò", "Ó": "Ó", "Ô": "Ô", "Õ": "Õ", "Ö": "Ö", "×": "×", "Ø": "Ø", "Ù": "Ù", "Ú": "Ú", "Û": "Û", "Ü": "Ü", "Ý": "Ý", "Þ": "Þ", "ß": "ß", "à": "à", "á": "á", "â": "â", "ã": "ã", "ä": "ä", "å": "å", "æ": "æ", "ç": "ç", "è": "è", "é": "é", "ê": "ê", "ë": "ë", "ì": "ì", "í": "í", "î": "î", "ï": "ï", "ð": "ð", "ñ": "ñ", "ò": "ò", "ó": "ó", "ô": "ô", "õ": "õ", "ö": "ö", "÷": "÷", "ø": "ø", "ù": "ù", "ú": "ú", "û": "û", "ü": "ü", "ý": "ý", "þ": "þ", "ÿ": "ÿ", "Œ": "Œ", "œ": "œ", "Š": "Š", "š": "š", "Ÿ": "Ÿ", "ƒ": "ƒ", "ˆ": "ˆ", "˜": "˜", "Α": "Α", "Β": "Β", "Γ": "Γ", "Δ": "Δ", "Ε": "Ε", "Ζ": "Ζ", "Η": "Η", "Θ": "Θ", "Ι": "Ι", "Κ": "Κ", "Λ": "Λ", "Μ": "Μ", "Ν": "Ν", "Ξ": "Ξ", "Ο": "Ο", "Π": "Π", "Ρ": "Ρ", "Σ": "Σ", "Τ": "Τ", "Υ": "Υ", "Φ": "Φ", "Χ": "Χ", "Ψ": "Ψ", "Ω": "Ω", "α": "α", "β": "β", "γ": "γ", "δ": "δ", "ε": "ε", "ζ": "ζ", "η": "η", "θ": "θ", "ι": "ι", "κ": "κ", "λ": "λ", "μ": "μ", "ν": "ν", "ξ": "ξ", "ο": "ο", "π": "π", "ρ": "ρ", "ς": "ς", "σ": "σ", "τ": "τ", "υ": "υ", "φ": "φ", "χ": "χ", "ψ": "ψ", "ω": "ω", "ϑ": "ϑ", "ϒ": "&Upsih;", "ϖ": "ϖ", "–": "–", "—": "—", "‘": "‘", "’": "’", "‚": "‚", "“": "“", "”": "”", "„": "„", "†": "†", "‡": "‡", "•": "•", "…": "…", "‰": "‰", "′": "′", "″": "″", "‹": "‹", "›": "›", "‾": "‾", "⁄": "⁄", "€": "€", "ℑ": "ℑ", "℘": "℘", "ℜ": "ℜ", "™": "™", "ℵ": "ℵ", "←": "←", "↑": "↑", "→": "→", "↓": "↓", "↔": "↔", "↵": "↵", "⇐": "⇐", "⇑": "&UArr;", "⇒": "⇒", "⇓": "⇓", "⇔": "⇔", "∀": "∀", "∂": "∂", "∃": "∃", "∅": "∅", "∇": "∇", "∈": "∈", "∉": "∉", "∋": "∋", "∏": "∏", "∑": "∑", "−": "−", "∗": "∗", "√": "√", "∝": "∝", "∞": "∞", "∠": "∠", "∧": "∧", "∨": "∨", "∩": "∩", "∪": "∪", "∫": "∫", "∴": "∴", "∼": "∼", "≅": "≅", "≈": "≈", "≠": "≠", "≡": "≡", "≤": "≤", "≥": "≥", "⊂": "⊂", "⊃": "⊃", "⊄": "⊄", "⊆": "⊆", "⊇": "⊇", "⊕": "⊕", "⊗": "⊗", "⊥": "⊥", "⋅": "⋅", "⌈": "⌈", "⌉": "⌉", "⌊": "⌊", "⌋": "⌋", "⟨": "⟨", "⟩": "⟩", "◊": "◊", "♠": "♠", "♣": "♣", "♥": "♥", "♦": "♦" }; HtmlEntities.decode = function(string) { var entityMap = HtmlEntities.map; for (var key in entityMap) { var entity = entityMap[key]; var regex = new RegExp(entity, 'g'); string = string.replace(regex, key); } string = string.replace(/"/g, '"'); string = string.replace(/&/g, '&'); return string; } HtmlEntities.encode = function(string) { var entityMap = HtmlEntities.map; string = string.replace(/&/g, '&'); string = string.replace(/"/g, '"'); for (var key in entityMap) { var entity = entityMap[key]; var regex = new RegExp(key, 'g'); string = string.replace(regex, entity); } return string; } function popupSubscribeNewsletter(){ let formElement = document.forms['popupSubscribe']; let formData = new FormData(formElement); formData.append('pppp','1'); if(formElement.checkValidity()){ localCall("subscribeNewsletter",formData, msg => { let suc = gEl('popupnewsSuccess'); let fail = gEl('popupnewsWarning'); if(msg.insert > 0 ){ setCookie('inscris', "1", 15); if(fail) fail.style.display = 'none'; if(suc) suc.style.display = ''; }else{ if(fail) fail.style.display = ''; if(suc) suc.style.display = 'none'; } }, msg => {console.log(msg); }, 'POST'); }else{ formElement.reportValidity(); } } function subscribeNewsletter(){ let formElement = document.forms['subscribe']; let formData = new FormData(formElement); if(formElement.checkValidity()){ localCall("subscribeNewsletter",formData, msg => { let suc = gEl('newsSuccess'); let fail = gEl('newsWarning'); if(msg.insert > 0 ){ if(fail) fail.style.display = 'none'; if(suc) suc.style.display = ''; }else{ if(fail) fail.style.display = ''; if(suc) suc.style.display = 'none'; } }, msg => {console.log(msg); }, 'POST'); }else{ formElement.reportValidity(); } } function displaySearchResults(msg){ let sug = document.getElementById('sugestii'); if(!sug) return false; sug.innerHTML = ''; sugg = ''; Object.values(msg.items).forEach(item => { sugg += '' + '
    ' + '' + '
    ' + '
    ' + ''+item.name+'' + ''+item.price+' lei'; if (item.priceS > item.price) { const discount = 100 - (item.price * 100 / item.priceS); sugg += '' +item.priceS+ ' lei' sugg += '
    -' +discount+ '%
    ' } if (item.priceL > item.price) { const savePercentage = 100-Math.ceil((item.price/item.priceL)*100); sugg += 'RRP: ' +item.priceL+ '' sugg += '
    Economisești ' + (item.priceL - item.price) + ' '+savePercentage+'% OFF RRP' + '
    ' } sugg += '
    '; sugg += '
    '; }); sug.innerHTML += '
    '+sugg+'
    '; sug.innerHTML +='
    '; } var debounceSearch = false; function searchForProduct(){ if(debounceSearch) { clearTimeout(debounceSearch); } let searchForVendor = '' const categoryMenu = gEl('searchBox-gender-categories-list') if (categoryMenu) { const elementWithClass = categoryMenu.querySelector('.genderSelected') if (elementWithClass) { searchForVendor = elementWithClass.getAttribute('data-switch') } } debounceSearch = setTimeout(()=>{ if(this.value.length > 3){ localCall( 'search', 'seek='+this.value+'&pentru='+searchForVendor, displaySearchResults, msg => { console.log(msg) }); } }, 300); } function getEventPath(e) { var path = []; var currentElem = e.target; while (currentElem) { path.push(currentElem); currentElem = currentElem.parentElement; } if (path.indexOf(window) === -1 && path.indexOf(document) === -1) path.push(document); if (path.indexOf(window) === -1) path.push(window); return path; } function checkAddtoWishlist(e){ let are = getEventPath(e).filter(elem => typeof elem.classList !=='undefined' && (elem.classList.contains('addToFavorite') || elem.classList.contains('toWishlist'))); if(are.length){ let wish = are.pop(); if(typeof wish.attributes['data-productid'] !== 'undefined'){ let famid = wish.attributes['data-productid'].value; localCall('addToWishlist', {fid:famid}, msg => { if(msg.status == 1){ wish.classList.add('wished'); }else{ wish.classList.remove('wished'); let infav = document.getElementById('wishitem-'+msg.fid); if(infav) infav.remove(); } document.getElementById('wishcount').innerHTML = Object.keys(JSON.parse(getCookie('wish'))).length; }, msg=>{console.log(msg)}, "POST"); } } } function accountUser(fbresponse){ localCall('login', fbresponse, success=>{ location.href = 'contul-meu'; }, failF = false, mode= 'POST') } function finalAccountUser(fbresponse){ localCall('login', fbresponse, success=>{ location.href = 'finalizare-comanda'; }, failF = false, mode= 'POST') } function parseJwt (token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }