function startDetails() { // http://127.0.0.1:5502/productdetails.html?productId=106633230000024 if (window.location.search.split('=')[0] == '') { window.location.href = "/notfound.html"; return; } let productId = window.location.hash.split('#')[1].split('=')[1]; let itemtagscombinationRes = null; let labels = {}; let isThereInLabel = {}; let currentComb = null; let colorId = null; let group = {}; let loadingActions = { addLoader() { $('.loadingCall').removeClass('d-none'); $('.mainContanierProduct').addClass('d-none'); }, removeLoader() { $('.loadingCall').addClass('d-none'); $('.mainContanierProduct').removeClass('d-none'); } } let currentClick = null; if (productId) { swapSectionsVideo(); loadingActions.addLoader(); updateProductId(productId); getProductDetails(productId); appendSpecs(productId) } else { window.location.href = "/notfound.html" } function updateProductId(val) { $('#productidtag').val(val); } function updateItemId(val) { $('#itemidtag').val(val); } let specification_wrap_action = { remove() { $('.specification-wrap').addClass('d-none'); }, add() { $('.specification-wrap').removeClass('d-none'); } } let description_action = { addVal(value) { $('.description-wrap > p').html(value); }, removeVal(value) { $('.description-wrap > p').html(''); } } function getSpecsItemHTML({ name, des, itemid, id }) { return `
${name}
${des}
`; } // function getSpecsItemHTML({name,des,itemid,id}){ // return ` // ${name} // ${des} // `; // } async function appendSpecs(id) { let resData = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/itemspecifications/itemid/${id}`, true); if (resData.isError) { $('.productdetailstabs').addClass('d-none'); // $('.specContainerleft').html('') $('.specContainerRight').html('') $('.specContainerleft').find('#faqAccordion').html(''); return; } $('.productdetailstabs ').removeClass('d-none'); const res = resData.response; const data = JSON.parse(res.result); let html = ''; let leftHtml = ''; let rightHtml = ''; if (data.length == 0) { $('.productdetailstabs ').addClass('d-none'); $('.specContainerleft').find('#faqAccordion').html(''); $('.specContainerRight').html('') return; } // for (let i = 0; i < data.length; i++) { // const { specificationname, specificationitemid, itemid, description } = data[i]; // if ((i + 1) % 2 == 0) { // rightHtml += getSpecsItemHTML({ // name: specificationname, id: specificationitemid, itemid, des: description // }) // } else { // leftHtml += getSpecsItemHTML({ // name: specificationname, id: specificationitemid, itemid, des: description // }); // } // } // $('.specContainerleft').html(leftHtml) // $('.specContainerRight').html(rightHtml) let fullHtml = ''; for(let i=0;i${lisArr[i]}` } lis+= '' }else{ lis = body } if($(window).width()<=768){ return `

${lis}
`; }else{ return `

`; } return `

`; } function getParentHTML(name, productid, id, isMain) { return ``; } function onClickHandler(e) { $(e).parent().find('.borderselector').removeClass('borderselector'); $(e).addClass('borderselector') } function getChildHTML(tagid, name, isTrue,parentid) { let blue = '#253746'; let greenLight = '#5e7975'; let brown = '#624839'; let bgColor = ''; if(name === 'Deep Sea Blue'){ bgColor = blue; }else if(name == 'Desert Brown'){ bgColor = brown; }else if(name == 'Eucalyptus Green'){ bgColor = greenLight; } if(colorId == parentid){ return `
` } return `
${name}
` } function addeventlisteners() { $('.optiontaganwi').each(function (i, el) { $(el).click(function (e) { $('#quantity').val(1); $(e.target).parent().find('.borderselector').removeClass('borderselector'); $(e.target).addClass('borderselector'); currentClick = e.target; ; //searchComb(); // getAllCombination(); getandsetCombination(); }) }); } function getandsetCombination(){ let keyOption = $(currentClick).data('tagiditem'); $('.disabled-option-item').removeClass('disabled-option-item'); let tagsNames = []; let currOptionAvaIds = {}; $('.borderselector').each(function (i,e){ let id = $(e).data('tagiditem'); tagsNames.push(id); }); for(let i=0;i1){ arrtwo = parentArr[1]?.arr; } let currId = keyOption; let ids = []; for(let i=0;i img').attr('src', defaultImg); alert("updated1") specification_wrap_action.remove(); $('#skudetailitem').val(-1) $('.productname').html(itemsName) $('.msgErrorDetailsItem').removeClass('d-none'); $('.des_productdes').html(''); $('.price').html(''); } initAddToCart() return; } } // return; return; let commonTags = []; // $('.optiontaganwi').addClass('disabled-option-item') for(let i=0;i${currencySymbol}${amount}${commingSoonText?'Pre Order Now!':''}` : 'pre order now'); appendSpecs(obj.itemid) $('#skudetailitem').val(obj.sku) $('.des_productdes').html(obj.itemdescription); $('#addtocart').attr('data-qty', obj.quantity); let defaultImg = obj.itemimageurl ? imgServerNameBuild(obj.itemimageurl) : `./dist/assets/imgs/nophoto.png`; let productId = window.location.hash.split('#')[1]?.split('=')[1]; let itemId = window.location.hash.split('#')[2]?.split('=')[1]; history.replaceState(undefined, undefined, `#productId=${productId}#itemid=${obj.itemid}`) $('.productDetailsMain > img').attr('src', defaultImg).attr('loading','lazy'); magnify("main_show_img",1.2,defaultImg); updateItemId(obj.itemid); if (!obj.pricelist || !obj.quantity) { $('.buynow').attr('disabled', true); $('#addtocart').attr('disabled', true); } else { $('.buynow').attr('disabled', false); $('#addtocart').attr('disabled', false); } } function searchComb() { let valuesSelected = []; $('.optiontaganwi').removeClass('disabled-option-item') $('#addtocart').removeClass('disabled'); $('.msgErrorDetailsItem').addClass('d-none'); $('.borderselector,border_selector').each(function (i, el) { let val = $(el).data('tagiditem'); valuesSelected.push(val); }); let labelRecord = {}; for (let label in labels) { labelRecord[label] = false; } specification_wrap_action.add(); let unFiler = null; for (let i = 0; i < itemtagscombinationRes.length; i++) { const currItem = itemtagscombinationRes[i]; const { tagids } = currItem; let isTrue = true; let labelFilter = labelRecord; for (let i = 0; i < valuesSelected.length; i++) { if (!tagids.includes(valuesSelected[i])) { isTrue = false unFiler = labelFilter; break; } labelFilter[group[valuesSelected[i]]] = true; } if (isTrue) { const { quantity } = itemtagscombinationRes[i]; if (quantity >= $('#quantity').val() && quantity >= 1) { currentComb = itemtagscombinationRes[i]; // $('.productname').html(itemtagscombinationRes[i].itemname) // $('.price').html(itemtagscombinationRes[i].pricelist); // location.hash = itemtagscombinationRes[i].itemname.trim(); // appendSpecs(itemtagscombinationRes[i].itemid) // history.replaceState(null, null, `#itemid=${itemtagscombinationRes[i].itemid}#${itemtagscombinationRes[i].itemname.trim()}`); // $('#skudetailitem').val(itemtagscombinationRes[i].sku) // $('.des_productdes').html(itemtagscombinationRes[i].itemdescription); updateDetailsByObj(itemtagscombinationRes[i]); } else { let name = itemtagscombinationRes[i].itemname.split('-')[0]; $('#addtocart').addClass('disabled'); let itemsName = name; $('.borderselector').each(function (i, e) { itemsName += ` ${$(e).html().trim()}`; }); updateItemId(null); let defaultImg = itemtagscombinationRes[i].itemimageurl ? imgServerNameBuild(itemtagscombinationRes[i].itemimageurl) : `./dist/assets/imgs/nophoto.png`; $('.productDetailsMain > img').attr('src', defaultImg); specification_wrap_action.remove(); $('#skudetailitem').val(-1) $('.productname').html(itemsName) // history.replaceState(null, null, `#`); $('.msgErrorDetailsItem').removeClass('d-none'); $('.des_productdes').html(''); $('.price').html(''); } initAddToCart() return; } } let name = itemtagscombinationRes[0].itemname.split('-')[0]; let itemsName = name; $('.borderselector').each(function (i, e) { itemsName += `- ${$(e).html().trim()}`; }) specification_wrap_action.remove(); $('.productname').html(itemsName) $('#skudetailitem').val(-1) $('.price').html(''); $('#addtocart').addClass('disabled'); $('.msgErrorDetailsItem').removeClass('d-none'); initAddToCart() } function getAllCombination() { ; const currClickAttr = $(currentClick).html().trim(); const optionId = $(currentClick).data('tagiditem'); let curr = $(currentClick).parents('.groupingitems_search').data('parentidgroup'); $('.groupingitems_search').each(function (i, e) { const id = $(e).data('parentidgroup'); if (id != curr) { $(e).find('.optiontaganwi').addClass('disabled-option-item'); $(e).find('.borderselector').removeClass('borderselector'); } }); let ansArr = []; let index = 0; let comb = null; for(let i=0;i= 576){ var img, glass, w, h, bw; img = document.getElementById(imgID); /* Create magnifier glass: */ glass = document.createElement("DIV"); glass.setAttribute("class", "img-magnifier-glass d-none"); /* Insert magnifier glass: */ img.parentElement.insertBefore(glass, img); /* Set background properties for the magnifier glass: */ glass.style.backgroundImage = "url('"+ defaultImg +"')"; glass.style.backgroundRepeat = "no-repeat"; if(img.width <=400 && img.width <= 400){ glass.style.backgroundSize = 650 * zoom + "px " + 650 * zoom + "px"; } else{ glass.style.backgroundSize = img.width * zoom + "px " + img.height * zoom + "px"; } bw = 3; w = glass.offsetWidth / 2; h = glass.offsetHeight / 2; /* Execute a function when someone moves the magnifier glass over the image: */ glass.addEventListener("mousemove", moveMagnifier); img.addEventListener("mousemove", moveMagnifier); /*and also for touch screens:*/ glass.addEventListener("touchmove", moveMagnifier); img.addEventListener("touchmove", moveMagnifier); function moveMagnifier(e) { var pos, x, y; /* Prevent any other actions that may occur when moving over the image */ e.preventDefault(); /* Get the cursor's x and y positions: */ pos = getCursorPos(e); x = pos.x; y = pos.y; /* Prevent the magnifier glass from being positioned outside the image: */ if (x > img.width - w / zoom) { x = img.width - w / zoom; } if (x < w / zoom) { x = w / zoom; } if (y > img.height - h / zoom) { y = img.height - h / zoom; } if (y < h / zoom) { y = h / zoom; } /* Set the position of the magnifier glass: */ glass.style.left = x - w + "px"; glass.style.top = y - h + "px"; /* Display what the magnifier glass "sees": */ glass.style.backgroundPosition = "-" + (x * zoom - w + bw) + "px -" + (y * zoom - h + bw) + "px"; } function getCursorPos(e) { var a, x = 0, y = 0; e = e || window.event; /* Get the x and y positions of the image: */ a = img.getBoundingClientRect(); /* Calculate the cursor's x and y coordinates, relative to the image: */ x = e.pageX - a.left; y = e.pageY - a.top; /* Consider any page scrolling: */ x = x - window.pageXOffset; y = y - window.pageYOffset; return { x: x, y: y }; } } } } startDetails();