Countdown minus weekends and holidays

by makloon

HTML

<div class="countdown">
  <div><div id="resDay">Days</div><br>Days</div>
  <div><div id="resHour">Hours</div><br>Hours</div>
  <div><div id="resMinute">Minutes</div><br>Minutes</div>
  <div><div id="resSecond">Seconds</div><br>Seconds</div>
</div>

CSS

.countdown {
			text-align: center;
			margin-top: 30px;
			background: #5381E4;
			padding: 60px 0;
		}
		.countdown div{
			display: inline-block;
			font-size: 50px;
			font-weight: normal;
			text-align: center;
			margin: 0 15px;
			padding: 0 30px;
			color: #fff;
			text-shadow: none;
			vertical-align: middle;
		}

JavaScript

var dateStart = new Date("2016-04-22T00:00:00");
		var dateEnd = new Date("2016-06-01T24:00:00");
    
    // Exclude Memorial Day
		var dateExclude = new Date("2016-05-30T00:00:00");

		// Get difference between Start & End date
		var diff = new Date(dateEnd.getTime() - dateStart.getTime());
		
		// Check if the exclude date is between Start & End date then exclude 1 day from difference
		if (dateExclude >= dateStart && dateExclude <= dateEnd) {
			diff.setDate(diff.getDate()-1);
		}
		
		// Count & Substract Saturdays & Sundays between the two dates provided
		var countSatSun = getSaturdaysSundays(dateStart, dateEnd);
		diff.setDate(diff.getDate()-countSatSun["sat"]);
		diff.setDate(diff.getDate()-countSatSun["sun"]);

		// Create Counter
		function update() {

			diff = new Date(diff.valueOf() - 1000);

			var diffDay = (diff.getUTCDate() - 1);
			var diffHour = (diff.getUTCHours());
			var diffMin = (diff.getUTCMinutes());
			var diffSec = (diff.getUTCSeconds());

			document.getElementById("resDay").innerHTML = diffDay;
			document.getElementById("resHour").innerHTML = diffHour;
			document.getElementById("resMinute").innerHTML = diffMin;
			document.getElementById("resSecond").innerHTML = diffSec;

			setTimeout(update, 1000);
		}
		// Calculate Weekends
		function getSaturdaysSundays(startDate, endDate){

			var totalSaturdays = 0;
			var totalSundays = 0;

			for (var i = startDate; i <= endDate; ){
				if (i.getDay() == 6){
					totalSaturdays++;
				} else if (i.getDay() == 0){
					totalSundays++;
				}
				i.setTime(i.getTime() + 1000*60*60*24);
			}
			// Remove Weekends
			var countSatSun = new Object();
			countSatSun["sat"] = totalSaturdays;
			countSatSun["sun"] = totalSundays;
			
			return countSatSun;
		
		}
    update();