(function($){
	var aodPauseCounter = 0;
	$(document).ready(function(){
		window.datalayer = rdm.dtm.dl;
		window.datalayer.dl = rdm.dtm.dl;
		window.datalayer.audio = {}
		$( 'audio' ).on('play', function() {
			const playStatus = aodPauseCounter === 0 ? "initial" : "resumed";
			updateAodAnalytics(this, "audioStart", playStatus);
			triggerAnalyticsEvent("audioStart")
		});
	
		//When audio pauses
		$( 'audio' ).on('pause', function() {
			const playStatus = aodPauseCounter === 0 ? "initial" : "resumed";
			updateAodAnalytics(this, "audioPause", playStatus);
			triggerAnalyticsEvent("audioPause")
			aodPauseCounter++;
		});
	
		// Audio complete
		$( 'audio' ).on('ended', function() {
			const playStatus = aodPauseCounter === 0 ? "initial" : "resumed";
			updateAodAnalytics(this, "audioComplete", playStatus);
			triggerAnalyticsEvent("audioComplete")
			aodPauseCounter++;
		});
		//Build window.datalayer.page and window.datalayer.user object
		if (rdm.dtm.dl !== undefined) {
			//Page Object
			window.datalayer.page = {
					'authorName': rdm.dtm.dl['authorName'],
					'brand': rdm.dtm.dl['brand'],
					'category': rdm.dtm.dl['category'],
					'cmsID': rdm.dtm.dl['cmsid'],
					'contentName': rdm.dtm.dl['contentName'],
					'contentType': rdm.dtm.dl['contentType'],
					'daysSincePublishing': rdm.dtm.dl['publishedDays'],
					'operatingCompany': rdm.dtm.dl['operatingCompany'],
					'pageURL': rdm.dtm.dl['pageURL'],
					'pages': rdm.dtm.dl['pages'],
					'publishingDate': rdm.dtm.dl['publishDate'],
					'section': rdm.dtm.dl['section'],
					'subSection': rdm.dtm.dl['subSection'],
					'tags': rdm.dtm.dl['tags'],
					'wordCount': rdm.dtm.dl['wordCount']
			};
			//User Object
			window.datalayer.user = {
				'aamUUID': rdm.dtm.dl['aamUUID'],
				'aiSegments': rdm.dtm.dl['aiSegments'],
				'authenticationID': '',
				'authenticationStatus': '',
				'authenticationType': '',
				'bduProvider': '',
				'deviceInformation': '',
				'platform': 'web',
				'referringDomain': '',
			};
		}
	});
	function launchSetVar(varName, varValue, group = "page"){
		if (window._satellite && window.datalayer) {
			window.datalayer[group][varName] = varValue;
		}
	}
	function updateAodAnalytics(audioElem, event, playType = "initial", playDuration = 0, category = "na",duration = 0) {
		if (window._satellite && window.datalayer) {
			var $audioWrapper = $(audioElem).closest('.rogers-audio-main-wrapper');
			var title = $audioWrapper.find('.rogers-audio-main-title').eq(0).text();
			launchSetVar("brand", window.datalayer.brand, "audio")
			launchSetVar("operatingCompany", "radio", "audio")
			launchSetVar("platform", window.datalayer.platform, "audio")
			launchSetVar("operatingCompany", "radio", "audio")
			launchSetVar("URL", window.location.href, "audio")
			launchSetVar("audioType", "vod", "audio")
			launchSetVar("audioTitle", title, "audio")
			launchSetVar("event", event, "audio")
			const audioMetadata = `${title} | vod | na | na | na | ${category} | ${duration} | na | ${playDuration} | ${playType}`
			launchSetVar("audioMetadata", audioMetadata, "audio")
		}
	}
	function triggerAnalyticsEvent(event) {
		if (window._satellite && window.datalayer) {
			window._satellite.track(event)
			//console.log(`Audio Event triggered: ${event}`)
		}
	}
}(jQuery));
