function tmplugin_basket_refresh(url) {
    var xhttp = new XMLHttpRequest();
    xhttp.withCredentials = true;
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var basket = JSON.parse(xhttp.responseText);
            var cnt = basket.nbroftickets;
            var badge = document.getElementById("tmplugin_basket_badge");
            if (badge) {
                var c = badge.getAttribute("class");
                if (c == "tmplugin_basket_count_all") {
                    cnt = basket.nbroftickets + basket.nbrofproducts;
                } else if (c == "tmplugin_basket_count_products") {
                    cnt = basket.nbrofproducts;
                }
            }
            if (cnt==0) {
                if (badge) {
                    badge.style.display="none";
                }

                var icon = document.getElementById("tmplugin_basket_icon");
                if (icon) {
                    icon.classList.add("tmplugin_basket_icon_empty");
                }

                var nbr = document.getElementById("tmplugin_basket_badge_nbr");
                if (nbr) {
                    nbr.innerHTML = 0;
                }
            } else {
                if (badge) {
                    badge.style.display=null;
                }

                var icon = document.getElementById("tmplugin_basket_icon");
                if (icon) {
                    icon.classList.remove("tmplugin_basket_icon_empty");
                }

                var nbr = document.getElementById("tmplugin_basket_badge_nbr");
                if (nbr) {
                    nbr.innerHTML = cnt;
                }
            }
        }
    };
    xhttp.open("GET", url, true);
    xhttp.send();
}
