(function() {
	var watchMutations = false;
	var domains = new Array();
	var links = new Array();
	var deeplinks = new Array();

	domains[0] = 'http://www.deeplink - voidu.com';
	links[0] = 'https://lt45.net/c/?si=12328&wi=330388&ws=GamesHuntPL&li=1541858&dl=';
	deeplinks[0] = 'true';

	domains[1] = 'http://deeplink - voidu.com';
	links[1] = 'https://lt45.net/c/?si=12328&wi=330388&ws=GamesHuntPL&li=1541858&dl=';
	deeplinks[1] = 'true';

	domains[2] = 'https://www.deeplink - voidu.com';
	links[2] = 'https://lt45.net/c/?si=12328&wi=330388&ws=GamesHuntPL&li=1541858&dl=';
	deeplinks[2] = 'true';

	domains[3] = 'https://deeplink - voidu.com';
	links[3] = 'https://lt45.net/c/?si=12328&wi=330388&ws=GamesHuntPL&li=1541858&dl=';
	deeplinks[3] = 'true';


    if (!document.readyState || !/comp|inter|loaded/.test(document.readyState)) {
		return addEventListener();
	}
	return initLinkReplacer();

	function addEventListener()
	{
		// DOM2
		if (typeof window.addEventListener != 'undefined') {
			return window.addEventListener('load', initLinkReplacer, false);
		}

		// IE
		if (typeof window.attachEvent !== 'undefined') {
			return window.attachEvent('onload', initLinkReplacer);
		}

		var oldOnload = window.onload;
		window.onload = function(event) {
			if ('function' === typeof (oldOnload)) {
				oldOnload(event);
			}
			initLinkReplacer();
		};
	}

	function initLinkReplacer()
	{
		replaceLinks(document.getElementsByTagName('a'));
		if (!watchMutations) {
			return;
		}

		if ('MutationObserver' in window && !window.jsReplaceMutationsObserver) {
			window.jsReplaceMutationsObserver = new MutationObserver(domChanged);
			startObserver();
		}
	}

	function startObserver()
	{
		if (!window.jsReplaceMutationsObserver) {
			return;
		}

		window.jsReplaceMutationsObserver.observe(document.body, {childList: true, subtree: true, attributes: true});
	}

	function stopObserver()
	{
		if (!window.jsReplaceMutationsObserver) {
			return;
		}

		window.jsReplaceMutationsObserver.disconnect();
	}

	function domChanged(mutationsList) {
		let nodesToReplace = new Array();

		for (let mutationIndex = 0; mutationIndex < mutationsList.length; mutationIndex++) {
			var mutation = mutationsList[mutationIndex];
			if (mutation.addedNodes && mutation.addedNodes.length) {
				for (nodeIndex = 0; nodeIndex < mutation.addedNodes.length; nodeIndex++) {
					var node = mutation.addedNodes[nodeIndex];
					if (node.tagName && node.tagName.toLowerCase() === 'a') {
						nodesToReplace.push(node);
					}
				}
			}

			if (mutation.target && mutation.target.tagName && mutation.target.tagName.toLowerCase() === 'a') {
				nodesToReplace.push(mutation.target);
			}
		}
		if (nodesToReplace.length > 0) {
			replaceLinks(nodesToReplace);
		}
	}

	function replaceLinks(domLinks)
	{
		if (!domLinks || !domLinks.length) {
			return;
		}

		stopObserver();
		for (var domLinkIndex = 0; domLinkIndex < domLinks.length; domLinkIndex++) {
			var domLink = domLinks[domLinkIndex];
			var domLinkHref = domLink.href;
			if (!domLinkHref) {
				continue;
			}

			for (var domainIndex = 0; domainIndex < domains.length; domainIndex++) {
				var domain = domains[domainIndex];
				if (-1 === domLinkHref.toLowerCase().indexOf(domain)) {
					continue;
				}

				var destinationUrl = links[domainIndex];
				if (deeplinks[domainIndex] === 'true') {
					destinationUrl += encodeURIComponent(domLinkHref.substring(domain.length + 1));
				}
				domLink.href = destinationUrl;
				break;
			}
		}
		startObserver();
	}
})();
