/**
 *  original by NetSociety, changed by Mirabeau to fix the fact that this script overwrites other click handlers
 *  Depends on jQuery/$, GA (_gaq) and sitestat (ns-_onclick) functions
 *  Initialisation moved to regular page init that already existed
 *  */

function GenPDFNameFromUrl(Url) {
	var TempString = Url;
	TempString = TempString.substring(TempString.lastIndexOf('/') + 1, TempString.length - 4);
	TempString = TempString.replace(/\./g, '_');
	TempString = TempString.replace(/%20/g, '_');
	TempString = TempString.replace(/\&/g, '');
	TempString = TempString.replace(/\|/g, '');
	return TempString;
}

function addLinkerEvents() {
	var as = document.getElementsByTagName("a");
	var extTrack = ["moneyou.nl"];
	// List of local sites that should not be treated as an outbound link. Include at least your own domain here
	var extDoc = [".doc", ".xls", ".exe", ".zip", ".pdf", ".gif"];
	//List of file extensions on your site. Add/edit as you require
	for (var i = 0; i < as.length; i++) {
		var flag = 0;
		var tmp = as[i].getAttribute("onclick");

		if (!as[i].href || as[i].href.match(/^javascript:/g) || as[i].id == "opener") {
			continue;
		}

		// IE6-IE7 fix (null values error)
		if (tmp != null) {
			tmp = String(tmp);
			if (tmp.indexOf('urchinTracker') > -1 || tmp.indexOf('_trackPageview') > -1) continue;
		}

		// Tracking outbound links off site - not the GATC
		for (var j = 0; j < extTrack.length; j++) {
			if (as[i].href.indexOf(extTrack[j]) == -1 && as[i].href.indexOf('google-analytics.com') == -1) {
				flag++;
			}
		}

		if (flag == extTrack.length && as[i].href.indexOf("mailto:") == -1) {

			$(as[i]).bind('click', function() {
				var splitResult = this.href.split("//");
				_gaq.push(['_trackEvent', 'outbound link', 'click', splitResult[1]]);
			});
		}

		// Tracking electronic documents - doc, xls, exe, zip, pdf
		for (var j = 0; j < extDoc.length; j++) {
			if (as[i].href.indexOf(extTrack[0]) != -1 && as[i].href.indexOf(extDoc[j]) != -1) {
				var name = GenPDFNameFromUrl(as[i].href);
				var ext = extDoc[j].substr(1);

				$(as[i]).bind("click", function() {
					var splitResult = this.href.split(extTrack[0]);
					_gaq.push(['_trackEvent', 'download', ext, splitResult[1]]);

					if (window.ns_onclick) {
						ns_onclick(this, '', ext + '.' + name, ext);
					}
				});
				break;
			}
		}
	}
}

function onYouTubePlayerReady(playerid) {
	player = document.getElementById('ytvideo');
	if (player) {
		player.addEventListener('onStateChange', 'youtubeEvent');
	}
}

function youtubeEvent(state) {
	if (state == 0) {
		_gaq.push(['_trackEvent', 'video', 'ended', player.getVideoUrl()]);
		return;
	}
	if (state == 1) {
		_gaq.push(['_trackEvent', 'video', 'play', player.getVideoUrl()]);
		return;
	}
	if (state == 2) {
		_gaq.push(['_trackEvent', 'video', 'pause', player.getVideoUrl()]);
		return;
	}
}

