	var THMcdcDisplay = {d:'',dd:'d',ddd:' dy',dddd:' day',h:'',hh:'h',hhh:' hr',hhhh:' hour',m:'',mm:'m',mmm:' min',mmmm:' minute',s:'',ss:'s',sss:'sec',ssss:' second'};
	var THMcdcDisplays = {d:'',dd:'d',ddd:' dys',dddd:' days',h:'',hh:'h',hhh:' hrs',hhhh:' hours',m:'',mm:'m',mmm:' mins',mmmm:' minutes',s:'',ss:'s',sss:'secs',ssss:' seconds'};
	function THMfinalCountdown(date) {
		if (THMoutputConfig.length != 4) {
			alert ("The display configuration is not valid");
		}
		var THMcurrentDateTime = new Date();
		var THMrawRange = THMcountdownToDateTime - THMcurrentDateTime;
		var THMrawRangeDays = THMrawRange / 86400000;
		var THMrangeDays = Math.floor(THMrawRangeDays);
		var THMremainingRange = THMrawRangeDays - THMrangeDays;
		var THMrawRangeHours = THMremainingRange * 24;
		var THMrangeHours = Math.floor(THMrawRangeHours);
		THMremainingRange = THMrawRangeHours - THMrangeHours;
		var THMrawRangeMinutes = THMremainingRange * 60;
		var THMrangeMinutes = Math.floor(THMrawRangeMinutes);
		THMremainingRange = THMrawRangeMinutes - THMrangeMinutes;
		var THMrawRangeSeconds = THMremainingRange * 60;
		var THMrangeSeconds = Math.floor(THMrawRangeSeconds);
		if (THMrangeDays < 0) {
			document.getElementById('count_Days').innerHTML = THMdateHasPassedText;
		}
		else {
			if (THMrangeDays > 1) {
				document.getElementById('count_Days').innerHTML = (THMoutputConfig[0]) ? (THMrangeDays+THMcdcDisplays[THMoutputConfig[0]]) : '' ;
			}
			else {
				document.getElementById('count_Days').innerHTML = (THMoutputConfig[0]) ? (THMrangeDays+THMcdcDisplay[THMoutputConfig[0]]) : '' ;
			}
			if (THMrangeHours > 1) {
				document.getElementById('count_Hours').innerHTML = (THMoutputConfig[1]) ? (THMrangeHours+THMcdcDisplays[THMoutputConfig[1]]) : '' ;
			}
			else {
				document.getElementById('count_Hours').innerHTML = (THMoutputConfig[1]) ? (THMrangeHours+THMcdcDisplay[THMoutputConfig[1]]) : '' ;
			}
			if (THMrangeMinutes > 1) {
				document.getElementById('count_Minutes').innerHTML = (THMoutputConfig[2]) ? (THMrangeMinutes+THMcdcDisplays[THMoutputConfig[2]]) : '' ;
			}
			else {
				document.getElementById('count_Minutes').innerHTML = (THMoutputConfig[2]) ? (THMrangeMinutes+THMcdcDisplay[THMoutputConfig[2]]) : '' ;
			}
			if (THMrangeSeconds > 1) {
				document.getElementById('count_Seconds').innerHTML = (THMoutputConfig[3]) ? (THMrangeSeconds+THMcdcDisplays[THMoutputConfig[3]]) : '' ;
			}
			else {
				document.getElementById('count_Seconds').innerHTML = (THMoutputConfig[3]) ? (THMrangeSeconds+THMcdcDisplay[THMoutputConfig[3]]) : '' ;
			}
		}
	}