function daysInLeapYear(year) { if (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) { return 366; } else { return 365; } } function getMonthAndDate(datetime) { datetime = datetime.split('/'); return { MONTH: datetime[1], DAY: datetime[0], }; } function convertDate(datetime, isFrom = false) { a = datetime.split('/'); datetime = new Date(`${a[2]}-${a[1]}-${a[0]}`); if (isFrom) { datetime.setUTCHours(0, 0, 0, 0); } else { datetime.setUTCHours(23, 59, 59, 999); } return datetime; } function getMax(max, val) { if (val >= max) { return val; } else { return max; } } function getDaysFromDateDifference(date1, date2) { return Math.floor((date1 - date2) / (1000 * 60 * 60 * 24)); } function getDate(date) { try { return convertDate(date); } catch (error) { return null; } } function currentMillennium() { let date = new Date(); let mill = parseInt(date.getFullYear()/1000); return mill; } function fixDate(date) { date = date.split('/'); let day = parseInt(date[0]); let month = parseInt(date[1]); let year = parseInt(date[2]); if (day > 0 && day < 10) { date[0] = '0' + day; } if (month > 0 && month < 10) { date[1] = '0' + month; } let mill = currentMillennium(); if (year > 0 && year < 10) { date[2] = mill + '00' + year; } else if (year >= 10 && year < 100) { date[2] = mill + '0' + year; } else if (year >= 100 && year < 1000) { date[2] = mill + '' + year; } return date; } function resetRETURN_CALC_COST() { RETURN_CALC_COST = { MAIN_COST: 0.0, TOTAL_COST: 0.0, DISCOUNT_FOR_BUSINESS_USE: 0.0, DISCOUNT_FOR_RELAXATION_BUSINESS_USE: 0.0, DISCOUNT_FOR_REGISTERED_CITIZEN: 0.0, DISCOUNT_FOR_PRIVATE_USE: 0.0, INCREASE_FOR_TEMP_RENT: 0.0, CLEANING_SERVICE: 0.0, WATER_SERVICE: 0.0, ELECTRICITY_SERVICE: 0.0, DAYS: 0, DAYS_WINTER: 0, DAYS_SUMMER: 0, }; } const CLEANING_SERVICE = 2.934702861 / 365; const WATER = 2.4; const WATER_CONSTANT = 1; const WATER_VAT = 1.13; const WATER_DRAINS = 0.75; const WATER_DRAINS_VAT = 1.23; const ELECTRICITY = 0.1714; const ELECTRICITY_VAT = 1.13; const ELECTRICITY_CONSTANT = 22.45; const ARRAY_LENGTH_TO_PAY_CAT_A = { '3': parseFloat(6500/ 340.75 / 30), '4': parseFloat(8700/ 340.75 / 30), '5': parseFloat(10800/ 340.75 / 30), '6': parseFloat(17300/ 340.75 / 30), '7': parseFloat(25200/ 340.75 / 30), '8': parseFloat(35300/ 340.75 / 30), '9': parseFloat(46100/ 340.75 / 30), '10': parseFloat(57600/ 340.75 / 30), '11': parseFloat(64800/ 340.75 / 30), '12': parseFloat(72000/ 340.75 / 30), '13': parseFloat(79200/ 340.75 / 30), '14': parseFloat(86400/ 340.75 / 30), '15': parseFloat(100800/ 340.75 / 30), '16': parseFloat(115200/ 340.75 / 30), '17': parseFloat(129600/ 340.75 / 30), '18': parseFloat(144000/ 340.75 / 30), '19': parseFloat(156400/ 340.75 / 30), '20': parseFloat(172800/ 340.75 / 30), '21': parseFloat(187200/ 340.75 / 30), '22': parseFloat(201600/ 340.75 / 30), '23': parseFloat(216000/ 340.75 / 30), '24': parseFloat(230400/ 340.75 / 30), '25': parseFloat(244800/ 340.75 / 30), 'additional': parseFloat(28000/ 340.75 / 30) }; const ARRAY_LENGTH_TO_PAY_CAT_B = { '3': parseFloat(3000 / 340.75 / 30), '4': parseFloat(4000 / 340.75 / 30), '5': parseFloat(5000 / 340.75 / 30), '6': parseFloat(6000 / 340.75 / 30), 'additional': parseFloat(1500 / 340.75 / 30) }; const ARRAY_WATER_TO_PAY_CAT_A = { '3': 20, '4': 20, '5': 20, '6': 20, '7': 20, '8': 50, '9': 50, '10': 50, '11': 100, '12': 100, '13': 100, '14': 100, '15': 100, '16': 150, '17': 150, '18': 150, '19': 150, '20': 150, '21': 250, '22': 250, '23': 250, '24': 250, '25': 250, 'other': 500, }; const ARRAY_WATER_TO_PAY_CAT_B = { '3': 10, '4': 10, '5': 10, '6': 10, 'other': 20, }; const ARRAY_ELECTRICITY_TO_PAY = { // '3': 20, // '4': 20, // '5': 20, '6': 500, '7': 500, '8': 500, '9': 500, '10': 500, '11': 1500, '12': 1500, '13': 1500, '14': 3000, '15': 3000, '16': 3000, '17': 4000, '18': 4000, '19': 4000, '20': 5000, '21': 5000, '22': 5000, '23': 6000, '24': 6000, '25': 6000, 'other': 10000, }; // const DATE_FORMAT = 'yy-mm-dd'; const DATE_FORMAT = 'dd/mm/yy'; const CURRENT_YEAR = parseInt((new Date()).getFullYear()); const DAYS_OF_YEAR = daysInLeapYear(CURRENT_YEAR); const SUMMER_FROM = getMonthAndDate('01/04'); const SUMMER_TO = getMonthAndDate('31/10'); const WINTER_FROM = getMonthAndDate('01/11'); const WINTER_TO = getMonthAndDate('31/03'); const DISCOUNT_FOR_PRIVATE_USE = 0.3; const DISCOUNT_FOR_REGISTERED_CITIZEN = 0.2; const INCREASE_FOR_TEMP_RENT = 0.5; const DISCOUNT_FOR_BUSINESS_USE_SUMMER = 0.2; const DISCOUNT_FOR_BUSINESS_USE_WINTER = 0.3; const DISCOUNT_FOR_RELAXATION_BUSINESS_USE = 0.2; var RETURN_CALC_COST;