JSFiddle - React, Tailwind, and code Playground

by lithium182

HTML

<label for="kmsTot">Km celkem: </label>
<input id="kmsTot" type="number">
<br>    
<label for="sinceDate">Od: </label>
<input id="sinceDate" type="date">
<br>    
<label for="toDate">Do: </label>
<input id="toDate" type="date">
 <br>
<label for="excWeekend">Vynechat vikendy? </label>
<input id="excWeekend" type="checkbox">

    <br><br>
<input type="button" id="subm" value="Vypis" onclick="loadProperties()">
    
<div id="output"></div>

JavaScript

var output = document.getElementById("output"),
    distanceTotal,
    sinceDate = new Date(),
    toDate = new Date(),
    excludeWeekends;

function countItOut() {
    var days = getDays();
    output.textContent = days;
    
}

function loadProperties() {
    //najeta vzdalenost
    var kmsTot = document.getElementById("kmsTot").value;
    if (!kmsTot) {
        alert("spatne zadane kilometry!");
        return;   
    }
    else
        distanceTotal = kmsTot;
    var dateSinc = document.getElementById("sinceDate").value;
    if (!dateSinc) {
        alert("spatne zadane datum Od!");
        return;
    }
    else
        sinceDate = dateSinc;
    var dateTo = document.getElementById("toDate").value;
    if (!dateTo) {
        alert("spatne zadane datum Do!");
        return;
    }
    else
        toDate = dateTo;
    if (sinceDate >= toDate) {
        alert("datum Od >= datum Do. \nZkus s tim neco udelat..");
        return;
    }
    
    var excWE = document.getElementById("excWeekend").checked;
    if (!excWE)
        excludeWeekends = false;
    else
        excludeWeekends = true;
    
    countItOut();
}

function getDays(d1, d2) {
    var one_day=1000*60*60*24;
    var d1_days = parseInt(d1.getTime()/one_day) - 1;
    var d2_days = parseInt(d2.getTime()/one_day);
    var days = (d2_days - d1_days);
    var weeks = (d2_days - d1_days) / 7;
    var day1 = d1.getDay();
    var day2 = d2.getDay();
    if (day1 == 0) {
        days--;
    } else if (day1 == 6) {
        days-=2;
    }
    if (day2 == 0) {
       days-=2;
    } else if (day2 == 6) {
       days--;
    }
    days -= parseInt(weeks) * 2;
    return days;
}