<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">console.log('Start1');
var micro = {
    incrementBtnIdent:"increment",
    decrementBtnIdent:"decrement",
    actionInputIdent:"[name=action]",
    shippingRBtnIdent:"shipping_method_id",
    bonusRBtnIdent:"bonus_id",
    removeBtnIdent:"removeHref",
    upgrBtnIdent:"upgrHref",
    AjaxUrl:"/wp-content/plugins/MicroPharma/MicroPharmaAjax.php",
    SupportUrl:"/wp-content/plugins/MicroPharma/out/?id=live_support_url",
    baseCartWrapIdent:"#base_cart_wrap",
    baseShortCartWrapIdent:"#shortCartWrap",
    // smartCart:"#shortCartWrap .js-classSwitch",
    smartCarts:".js-classSwitch",
    qtyCartProdIntpus:"cnt",
    selectDosage:"select-dosage",
    radioDosage:"radio-dosage",
    windowWidth:500,
    windowHeight:560,
    openWindow:null,
    initCartScript:function(){
        var incrBtnList = document.getElementsByClassName(micro.incrementBtnIdent),
            decBtnList = document.getElementsByClassName(micro.decrementBtnIdent),
            removeHref = document.getElementsByClassName(micro.removeBtnIdent),
            upgrHref = document.getElementsByClassName(micro.upgrBtnIdent),
            shippingRbtnElem = document.getElementsByName(micro.shippingRBtnIdent),
            // smartCart = document.querySelector(micro.smartCart),
            smartCarts = document.querySelectorAll(micro.smartCarts),
            bonusRBtnElem = document.getElementsByName(micro.bonusRBtnIdent),
            selectDosage = document.getElementById(micro.selectDosage),
            radioDosage = document.getElementById(micro.radioDosage),
            inputCartProdQtyEl  = document.getElementsByClassName(micro.qtyCartProdIntpus),
			chat_block = document.getElementsByClassName("live_chat");
		if(chat_block.length){
			 for(var i=0; i&lt;chat_block.length;i++){
					chat_block[i].addEventListener("click",function(event){
						event.preventDefault();
						micro.openSupportWindow();
					});
			}
		}	
        if(incrBtnList.length){
            for(var i=0; i&lt;incrBtnList.length;i++){
                incrBtnList[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.incDecrFuntion("inc",this);
                });
            }
        }
        if(decBtnList.length){
            for(var i=0; i&lt;decBtnList.length;i++){
                decBtnList[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.incDecrFuntion("dec",this);
                });
            }
        }
        if(removeHref.length){
            for(var i=0; i&lt;removeHref.length;i++){
                removeHref[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.changeCartEventProd(this,"rem");
                });
            }
        }
        if(upgrHref.length){
            for(var i=0; i&lt;upgrHref.length;i++){
                upgrHref[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.changeCartEventProd(this,"upg");
                });
            }
        }
        if(shippingRbtnElem.length){
            for(var i=0; i&lt;shippingRbtnElem.length;i++){
                shippingRbtnElem[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.changeCartEventProd(this,"ship");
                });
            }
        }
        if(bonusRBtnElem.length){
            for(var i=0; i&lt;bonusRBtnElem.length;i++){
                bonusRBtnElem[i].addEventListener("click",function(event){
                    event.preventDefault();
                    micro.changeCartEventProd(this,"bonus");
                });
            }
        }

        if(inputCartProdQtyEl.length){
            for(var i=0; i&lt;inputCartProdQtyEl.length;i++){
                inputCartProdQtyEl[i].addEventListener("keydown",function(event){
                    event.preventDefault();
                });
                inputCartProdQtyEl[i].addEventListener("paste",function(event){
                    event.preventDefault();
                });
            }
        }
        if (smartCarts) {
            const blocksContent = document.querySelectorAll(".smart-cart-ordered");
            smartCarts.forEach(item =&gt; {
                item.addEventListener("click", function() {
                    const blockContent = item.parentNode.querySelector(".smart-cart-ordered");
                    blockContent.classList.toggle("active");
                    item.classList.toggle("active");
                });
            });
            document.addEventListener("click", function(event) {
                if (document.querySelectorAll('.js-classSwitch.active').length &gt; 0 &amp;&amp; !event.target.closest('.smart-cart-box')) {
                    blocksContent.forEach(item =&gt; item.classList.remove('active'));
                    smartCarts.forEach(item =&gt; item.classList.remove('active'));
                }
            });
        }
        if (selectDosage) {
            selectDosage.addEventListener('change', function(event) {
                const currentValue = event.target.value;
                const blockTables = document.getElementsByClassName('js-tblProduct')[0];
                const radioButtons = radioDosage.querySelectorAll('input[type=radio]');
                blockTables
                    .querySelector('table.active')
                    .classList
                    .remove('active');
                blockTables
                    .querySelector(`.${currentValue}`)
                    .classList
                    .add('active');
                radioButtons[selectDosage.selectedIndex].checked = true;
            });
        }
        if (radioDosage) {
            const radioButtons = radioDosage.querySelectorAll('input[type=radio]');
            const blockTables = document.getElementsByClassName('js-tblProduct')[0];
            radioButtons.forEach(function(item, index) {
                item.addEventListener('change', function(event) {
                    const currentValue = event.target.value;
                    blockTables
                        .querySelector('table.active')
                        .classList
                        .remove('active');
                    blockTables
                        .querySelector(`.${currentValue}`)
                        .classList
                        .add('active');
                    selectDosage.selectedIndex = index;
                });
            })
        }
    },
	openSupportWindow:function(){
		if(!this.openWindow || this.openWindow.closed){
			var l=(screen.availWidth  - this.windowWidth) / 2, t=(screen.availHeight - this.windowHeight) / 2
			,op='toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+this.windowWidth+',height='+this.windowHeight+',left='+l+',top='+t;
				window.open(this.SupportUrl,"support_window",op)
		}else{
			this.openWindow.focus();
		}
	},    
    incDecrFuntion:function(mod,element){
        var qtyInput,wrapIncDecrBlcok,oldQty,actionInput,form,BaseTr,hiddenVal,submitForm = false;
        BaseTr = element.closest("tr");
        if(BaseTr){
            form = BaseTr.getElementsByTagName("form");
            if(form.length){
                wrapIncDecrBlcok = element.closest(".td-inner");
                hiddenVal = form[0].querySelector("[name=value]");
                actionInput = form[0].querySelector("[name=action]");
                if(wrapIncDecrBlcok&amp;&amp;hiddenVal&amp;&amp;actionInput){
                    actionInput.value="set";
                    qtyInput = wrapIncDecrBlcok.getElementsByTagName("input");
                    if(qtyInput.length){
                        oldQty = isNaN(parseInt(qtyInput[0].value))?1:parseInt(qtyInput[0].value);
                        if(mod == "inc"){
                            hiddenVal.value = oldQty+1;
                            submitForm = true;
                        }else if(mod == "dec"&amp;&amp;oldQty&gt;1){
                            submitForm = true;
                            hiddenVal.value  = oldQty-1;
                        }
                        if(submitForm){
                            var data = new FormData(form[0]);
                            this.sendRequest(data,this.updateCart);
                        }
                    }
                }
            }
        }
    },
    updateCart:function(data){
        var baseWrapcartElem = document.querySelector(micro.baseCartWrapIdent);
        var baseWrapShortCartElem = document.querySelectorAll(micro.baseShortCartWrapIdent);
        if(data&amp;&amp;data.html){
			var updateEvent = false;
            if(data.html.base_cart&amp;&amp;baseWrapcartElem){
                var newCartBlocElem,helpDiv = document.createElement('div');
                helpDiv.innerHTML = data.html.base_cart;
                newCartBlocElem = helpDiv.querySelector(micro.baseCartWrapIdent)
                if(newCartBlocElem){
                    baseWrapcartElem.replaceWith(newCartBlocElem);
                    updateEvent = true;
                }
            }
            if(data.html.short_cart&amp;&amp;baseWrapShortCartElem.length){
                var newShortCartBlocElem,helpshortDiv = document.createElement('div');
                helpshortDiv.innerHTML = data.html.short_cart;
                newShortCartBlocElem = helpshortDiv.querySelector(micro.baseShortCartWrapIdent)
                if(newShortCartBlocElem){
					baseWrapShortCartElem.forEach((element) =&gt; {
						var cloneElement = newShortCartBlocElem.cloneNode(true);
						element.replaceWith(cloneElement);
						updateEvent = true;
					});
                    
                }
            }
            if(updateEvent){
	             micro.initCartScript();
			}
        }
    },
    changeCartEventProd:function(el,mod){
        var BaseTr,form,actionInput,submit = false;
        BaseTr = el.closest("tr");
        if(BaseTr){
            form = BaseTr.getElementsByTagName("form");
            if(form.length){
                actionInput = form[0].querySelector("[name=action]");
                if(actionInput){
                    if(mod == "rem"){
                        submit = true;
                        actionInput.value = "remove";
                    }else if(mod == "upg"){
                        submit = true;
                        actionInput.value = "upgrade";
                    }else if(mod == "ship"){
                        submit = true;
                        actionInput.value = "changeShipping";
                    }
                    else if(mod == "bonus"){
                        submit = true;
                        actionInput.value = "changeBonus";
                    }
                    if(submit){
                        var data = new FormData(form[0]);
                        this.sendRequest(data,this.updateCart);
                    }
                }
            }
        }
    },
    sendRequest:function(data,CBFunction){
        var xmlhttp = this.getXmlHttp();
        var loader = document.querySelector('.loader');
        xmlhttp.responseType = 'json';
        xmlhttp.open("POST", this.AjaxUrl, true);
        loader.classList.add('loading');
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState != 4) return
            if (xmlhttp.status == 200) {
                if(xmlhttp.response&amp;&amp;xmlhttp.response.status&amp;&amp;xmlhttp.response.status=="success"){
                    if(CBFunction){
                        CBFunction(xmlhttp.response);
                        loader.classList.remove('loading');
                    }
                }else{
                    console.log("error");
                    loader.classList.remove('loading');
                }
            } else {

            }
        }
        xmlhttp.send(data);
    },
    getXmlHttp:function(){
        var xmlhttp;
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
        if (!xmlhttp &amp;&amp; typeof XMLHttpRequest!='undefined') {
            xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
    }



}
document.addEventListener("DOMContentLoaded", micro.initCartScript);
</pre></body></html>