<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Cengage Learning | Publisher for the school and higher education markets for Australia and New Zealand</title>
	<meta name="description" content="Cengage Learning Australia is a leading provider of learning solutions for the school and higher education markets for Australia and New Zealand. ">
	<meta name="author" content="Cengage Learning Australia">
	<link rel="stylesheet" href="common/css/styles.css?v=1.0">
	<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
	<!-- apple touch icon -->
	<link rel="apple-touch-icon" href="common/img/touch-icon-iphone.png">
	<link rel="apple-touch-icon" sizes="76x76" href="common/img/touch-icon-ipad.png">
	<link rel="apple-touch-icon" sizes="120x120" href="common/img/touch-icon-iphone-retina.png">
	<link rel="apple-touch-icon" sizes="152x152" href="common/img/touch-icon-ipad-retina.png">
	<!-- facebook meta data -->
	<meta name="og:title" content="Cengage Learning | Publisher for the school and higher education markets for Australia and New Zealand">
	<meta name="og:image" content="common/img/touch-icon-iphone-retina.png"> 
	<meta name="og:description" content="Cengage Learning Australia is a leading provider of learning solutions for the school and higher education markets for Australia and New Zealand."> 
	<meta name="og:url" content="http://cengage.com.au">
	<!-- twiiter meta data -->
	<meta name="twitter:card" content="summary">
	<meta name="twitter:site" content="@CLANZSupport">
	<meta name="twitter:title" content="Cengage Learning">
	<meta name="twitter:description" content="Publisher for the school and higher education markets for Australia and New Zealand">
	<meta name="twitter:image" content="common/img/touch-icon-iphone-retina.png">
	<!--[if lt IE 9]>
		<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
<script type="text/javascript" src="/ruxitagentjs_ICANVfqrux_10323250822043923.js" data-dtconfig="rid=RID_-1109386330|rpid=1489995883|domain=cengagelearning.com.au|reportUrl=/rb_bf29490qms|uam=1|app=07f02d5037d2d183|cuc=2mwgxh95|owasp=1|mel=100000|featureHash=ICANVfqrux|dpvc=1|lastModification=1759941305430|tp=500,50,0|rdnt=1|uxrgce=1|srbbv=2|agentUri=/ruxitagentjs_ICANVfqrux_10323250822043923.js"></script></head>
<body id="cengage-com-au">
<div id="page-wrap">
	<header>
		<h1><img src="common/img/cengage-logo-white.svg" alt="Cengage Learning" width="200" height="50"></h1>
	</header>
	<section role="main">
		<h2><strong>Sorry, but the website you are trying to access is temporarily unavailable.</strong></h2>
		
		<h3 id="outageRange" style="display:none;"><strong>Maintenance is occuring from <span id="fromTime"></span><span class="uzrTimeZone" id="fromTimeZone"></span>. At the latest, we expect the site to be available again by <span id="toTime"></span><span class="uzrTimeZone" id="toTimeZone"></span>.</strong></h3>
		
		<h3 id="defaultMsg"><strong>We are undertaking planned maintenance.</strong></h3>
		
		<p>If you need urgent assistance please contact Customer Service:</p>
		<p><strong>Australia</strong> 1300 790 853</p>
		<p><strong>New Zealand</strong> 0800 449 725</p>
		
	</section>
</div>
<footer>
</footer>


<script src="/scripts/luxon/luxon.min.js"></script>
<script>
	/*
	Usage

	This page accepts expected maintenance window dates as query string parameters. From Date (fd) and To Date (td). The dates need to be provided in UTC time using ISO 8601 date format "YYYY-MM-DDTHH:mm:ss". For example "2021-03-17T11:00:00".
	
	When supplied correctly the page will display the time portion of the date/times in the users local machine time. If supported the users time zone will also be shown. The time zone display is browser dependent so some browsers will show a representation like "AWST" while others will show "GMT+8" instead. IE11 and below don't support the time zone.
	
	" We are undertaking planned maintenance
	  between 5:00 pm and 7:00 pm (AWST). "
	
	If the dates are not supplied or if they are supplied with invalid date/time values the page will revert to showing the default maintenance message without any time information. Additional time zone data is displayed in the browser console.
	
	Example URL:
	https://maint.cengagelearning.com.au/maint.php?fd=2021-03-15T09:00:00&td=2021-03-15T11:00:00	
	*/
	
	// Get query string param by name.
	function getParameterByName(name, url) {
	    if (!url) {
	      url = window.location.href;
	    }
	    name = name.replace(/[\[\]]/g, "\\$&");
	    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
	        results = regex.exec(url);
	    if (!results) return null;
	    if (!results[2]) return '';
	    return decodeURIComponent(results[2].replace(/\+/g, " "));
	}
	
	// Default Ecom Deploy Times as ISO UTC Time:
	// "2021-03-08T10:00:00" = 20:00 AEST in UTC
	// "2021-03-08T12:00:00" = 22:00 AEST in UTC
	// "2021-03-08T09:00:00" = 20:00 AEDT in UTC
	// "2021-03-08T11:00:00" = 22:00 AEDT in UTC
	// ?fd=2021-03-08T09:00:00&td=2021-03-08T11:00:00
	var qsfd = getParameterByName('fd');
	var qstd = getParameterByName('td');	
	
	var outageRangeMsg = document.getElementById('outageRange');
	if (qsfd === null || qsfd.trim().length === 0 || qstd === null || qstd.trim().length === 0){
		// If either of the outage dates is not supplied hide the outage range display.
		outageRangeMsg.remove();
		console.log("Expected outage date/times not provided.");
	} 
	else{
		var DateTime = luxon.DateTime;		
		var fromTime = DateTime.fromISO(qsfd, { zone: 'utc'});
		var toTime = DateTime.fromISO(qstd, { zone: 'utc'});		
				
		var fromTimeSpan = document.getElementById('fromTime');
		var toTimeSpan = document.getElementById('toTime');
		
		fromTimeSpan.innerHTML = fromTime.toLocal().toLocaleString(DateTime.TIME_SIMPLE);
		toTimeSpan.innerHTML = toTime.toLocal().toLocaleString(DateTime.TIME_SIMPLE);
		
		if (fromTimeSpan.innerHTML.indexOf("Invalid") > -1 || toTimeSpan.innerHTML.indexOf("Invalid") > -1){		
			// If either of the dates is invalid hide the outage range display.
			outageRangeMsg.remove();
			console.log("Expected outage date/times not provided correctly.");
		}
		else{	
			if (toTime < fromTime){
				// If toTime is earlier than from time show a message in the console.
				outageRangeMsg.remove();
				console.log("Warning: The supplied From Date (fd) cannot be later than the To Date (td).");
			}
			else{
				// if time offset zone is available show it.
				if (toTime.toLocal().offsetNameShort.length > 0){					
					var fromTimeZone = document.getElementById('fromTimeZone');
					var toTimeZone = document.getElementById('toTimeZone');
										
					fromTimeZone.innerHTML = " (" + toTime.toLocal().offsetNameShort + ")";
					toTimeZone.innerHTML = " (" + toTime.toLocal().offsetNameShort + ")";
				}
				
				var defaultMsg = document.getElementById('defaultMsg');
				defaultMsg.remove();
				
				// Show the expected outage times and output other time data to the console.
				outageRangeMsg.style.display = "block";
				console.log("Outage From: " + fromTime.toLocal().toLocaleString(DateTime.DATETIME_SHORT));
				console.log("Outage To: " + toTime.toLocal().toLocaleString(DateTime.DATETIME_SHORT));
				console.log("Time Zone: " + toTime.toLocal().offsetNameLong);
				console.log("Zone Name: " + toTime.toLocal().zoneName);
				console.log("Time remaining: ", toTime.toLocal().diffNow(['hours', 'minutes']).toObject());
				console.log("Minutes remaining: ", (toTime.toLocal().diffNow('minutes').toObject()));
				console.log("From UTC: " + fromTime.toLocaleString(DateTime.DATETIME_SHORT));
				console.log("To UTC: " + toTime.toLocaleString(DateTime.DATETIME_SHORT));
				
				if (toTime < DateTime.now()){
					// If the toTime is earlier than the current date show a warning in the console.
					console.log("Warning: supplied To Date (td) has already passed: " + toTime.toLocal().toLocaleString(DateTime.DATETIME_SHORT));
				}				
			}
		}
	}
	
</script>

</body>
</html>