window.onload = main;
var canvas;
var dgl_input;
var rgnlum;
var rgncon;
var rgnsat;
var img;
var ratio;
var topmargin;
var leftmargin;
var ctx;

function main() {
    console.log("JS Loaded");
    canvas = document.getElementById("canvastp1");
    dgl_input = document.getElementById('files');
    dgl_input.addEventListener('change', handleFileSelect, false);
    console.log("Event Listener added");
    ctx = canvas.getContext('2d');
    setRnglum();
    setRngcon();
    setRngsat();
}

function setRnglum() {
    rgnlum = document.getElementById('rgnlum');
    rgnlum.oninput = updateFilters;
}


function setRngcon() {
    rgncon = document.getElementById('rgncon');
    rgncon.oninput = updateFilters;
}

function setRngsat() {
    rgnsat = document.getElementById('rgnsat');
    rgnsat.oninput = updateFilters;
}

function updateFilters() {
    ctx.filter =
        'brightness(' + rgnlum.value + '%)' +
        ' contrast(' + rgncon.value + '%)' +
        ' saturate(' + rgnsat.value + '%)';
    ctx.drawImage(img, 0, 0,
        img.width, img.height,
        leftmargin, topmargin,
        img.width * ratio, img.height * ratio);
}

function handleFileSelect(e) {
    var ctx = canvas.getContext('2d');
    img = new Image;
    img.onload = function() {
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        var hRatio = canvas.width / img.width;
        var vRatio = canvas.height / img.height;
        ratio = Math.min(hRatio, vRatio);
        topmargin = (canvas.height - img.height * ratio) / 2;
        leftmargin = (canvas.width - img.width * ratio) / 2;
        ctx.drawImage(img, 0, 0,
            img.width, img.height,
            leftmargin, topmargin,
            img.width * ratio, img.height * ratio);
    };
    img.src = URL.createObjectURL(e.target.files[0]);
}
