function resize_images() {
    //console.log("resize_images");
    K.getv("#text img[data-scale-x]").forEach(
        function (img) {
            let text_area = K.get("#text"); //img.parentNode.parentNode;
            let scale_x = parseFloat(K.attr(img, "data-scale-x"));
            let style = window.getComputedStyle(text_area); //text_area.currentStyle;
            let parent_width = text_area.clientWidth
                - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);
            let container = img.parentNode.parentNode;
            if (container.classList.contains("image_grid_row")) {
                if (!container.style) {
                    container.style = {};
                }
                container.style.width = parent_width + "px";
            } else if (container.parentNode.classList.contains("image_grid_row")) {
                container = container.parentNode;
                if (!container.style) {
                    container.style = {};
                }
                container.style.width = parent_width + "px";
            }
            let image_width = scale_x * parent_width;
            if (!img.style) {
                img.style = {};
            }
            img.style.width = image_width + "px";
            let caption = img.parentNode.getElementsByClassName("caption")[0];
            if (typeof caption !== 'undefined') {
                if (typeof caption.style == 'undefined') {
                    caption.style = {};
                }
                caption.style.width = image_width + "px";
            }
        });

    K.getv(".caption_right, .caption_left").forEach(
        function (img) {
            K.width(img, img.parentNode.clientWidth);
        });

}

window.addEventListener("load", function (event) {
    window.addEventListener(
        "resize",
        function (event) {
            resize_images();
        });
    resize_images();
});
