JSFiddle - React, Tailwind, and code Playground

by Magni Hansen

HTML

<script src="http://www.sologstrand.dk/AshxServices.ashx?sn=ServiceHouseInformation&amp;mn=GetHouseInformation&amp;param=pBureauId%3DSOS%26pRentalObjectNo%3D34-5024%26pStartdate%3D%26pEnddate%3D%26pNumberOfWeeks%3D%26pLanguage%3DDK%26pAlternativeQueries%3D%26pSpecificContent%"></script>
<p>House dates:<br />
    <input type="text" id="renthousefrom" /><br />
    <input type="text" id="renthouseto" /><br />
    <div id="status"></div>
</p>

JavaScript

//input: week number and year , output: Date object representing a Monday in a specific week
function getMondayFromWeeknumber(wn, year) {
    var DAY = 86400000;
    var sel_year = new Date(year.toString()); // toString first so it parses correctly year numbers
    var daysToMonday = (1 - sel_year.getDay()); // Note that this can be also negative
    var mondayOfFirstWeek = new Date(sel_year.getTime() + daysToMonday * DAY);
    return new Date(mondayOfFirstWeek.getTime() + (7 * (wn - 1) * DAY));
}
//input: numeric value , output: bool
function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n);
}
function getParam(name) {
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var tmpURL = window.location.href;
    var results = regex.exec(tmpURL);
    if (results == null) {
        return "";
    } else {
        return results[1];
    }
}
var regno = '34-5024';
var cal_language = 'DK';
var cal_regional = 'da';
var cal_bid = 'SOS';
var cal_startdate = getParam("startdate") !== '';
var cal_enddate = (getParam("enddate") != '') ? getParam("enddate") : (cal_startdate != '') ? formatDate(addDays(parseDate(cal_startdate), 7)) : '';
var calendarArrivalDays = [];
var calendarDepartureDays = [];
var calDays = 0;
var calendarStart;
var calendarEnd;
var selectedArrivalDate = null;
var selectedDepartureDate = null;
var isDepartureClickable;
var currentOpenCalendar = '';
var txt_calendar_hoverNEW1_arrival = '<%=ControlConfig("txt_calendar_hoverNEW1_arrival")%>';
var txt_calendar_hoverNEW2_arrival = '<%=ControlConfig("txt_calendar_hoverNEW2_arrival")%>';
var txt_calendar_hoverNEW3_arrival = '<%=ControlConfig("txt_calendar_hoverNEW3_arrival")%>';
var txt_calendar_hoverNEW4_depature = '<%=ControlConfig("txt_calendar_hoverNEW4_depature")%>';
var txt_calendar_hoverNEW5_depature = '<%=ControlConfig("txt_calendar_hoverNEW5_depature")%>';
var txt_calendar_hoverNEW6_depature = '<%=ControlConfig("txt_calendar_hoverNEW6_depature")%>';
var...