﻿function GetScalingFactor() {
    var curZoom = GetCurrentZoomLevel();
    if (curZoom != 100)
        return 1;

    var zoom = GetLastZoomFromCookie();
    if (zoom != null) {
        return (zoom);
    }

    var height;
    var width;

    if (self.screen) {
        width = screen.width
        height = screen.height

    }
    else if (self.java) {
        var jkit = java.awt.Toolkit.getDefaultToolkit();
        var scrsize = jkit.getScreenSize();
        width = scrsize.width;
        height = scrsize.height;
    }

    if (width != null) {
        if (width < 1280) {
            return (width / 1280);
        }
    }
    return (1);
}

function SaveCurrentZoomToCookie() {
    var zoomLevel = GetCurrentZoomLevel();
    setCookie("last_scaling_factor", zoomLevel.toString(10), "Mon, 01-Jan-2020 00:00:00 GMT", "/");    
}

function GetLastZoomFromCookie() {
    var z = getCookie("last_scaling_factor");    
    if (z != null) {
        return (parseFloat(z/100));
    }
    else
        return null;
}

function SetZoom(factor) {
    window.parent.document.body.style.zoom = factor;
}

function GetCurrentZoomLevel() {
    var rect = document.body.getBoundingClientRect();
    var zoomLevel = Math.round((rect.right - rect.left) / document.body.clientWidth * 100);
    return zoomLevel;
}