﻿String.prototype.tokenize = tokenize;

function tokenize() {
	var input             = "";
	var separator         = " ";
	var trim              = "";
	var ignoreEmptyTokens = true;

	try {
		String(this.toLowerCase());
	}

	catch(e) {
		window.alert("Tokenizer Usage: string myTokens[] = myString.tokenize(string separator, string trim, boolean ignoreEmptyTokens);");
		return;
	}

	if(typeof(this) != "undefined") {
		input = String(this);
	}

	if(typeof(tokenize.arguments[0]) != "undefined") {
		separator = String(tokenize.arguments[0]);
	}

	if(typeof(tokenize.arguments[1]) != "undefined") {
		trim = String(tokenize.arguments[1]);
	}

	if(typeof(tokenize.arguments[2]) != "undefined") {
		if(!tokenize.arguments[2])
		ignoreEmptyTokens = false;
	}
    
	var array = input.split(separator);

	if(trim)
		for(var i=0; i<array.length; i++) {
			while(array[i].slice(0, trim.length) == trim)
			array[i] = array[i].slice(trim.length);
			while(array[i].slice(array[i].length-trim.length) == trim)
			array[i] = array[i].slice(0, array[i].length-trim.length);
		}

	var token = new Array();
	if(ignoreEmptyTokens) {
		for(var i=0; i<array.length; i++)
		if(array[i] != "")
			token.push(array[i]);
	}
	else {
		token = array;
	}
	return token;
}

var myString = location.href;
var section = "Home";
var subSection = "";
var tokens = myString.tokenize("/", " ", true);

if (undefined != tokens[3])
    if (tokens[3] == "about-ireland" || tokens[3] == "ireland-places-to-go" || tokens[3] == "ireland-things-to-see-and-do" || tokens[3] == "accommodation" || tokens[3] == "ireland-plan-your-visit" || tokens[3] == "ireland-travel-offers" || tokens[3] == "my-ireland" || tokens[3] == "forms" || tokens[3] == "promotions")
		section = tokens[3];

 

if (undefined != tokens[4]) {	
	if(tokens[4].substr(0,1) == '?') {
		subSection = ""
	}
	else {
		subSection = tokens[4];
	}
}

var tokenindex = 5;
while (undefined != tokens[tokenindex]) {
	if (tokens[tokenindex].substr(0, 1) == "?") {
		// if it's an argument we need to fetch the page title
		subSection = subSection + "__" + document.title.replace(/ /g, "-").toLowerCase()
	} 
	else {
		subSection = subSection + "__" + tokens[tokenindex]
	}
	tokenindex++
}
 
if (tokens[3] == "search") {
    subSection = ""
    section = ""
}

document.write("<META NAME=\"WT.cg_n\" CONTENT=\"" + section + "\">");
if (subSection != "")
	document.write("<META NAME=\"WT.cg_s\" CONTENT=\"" + subSection + "\">");
	
function webtrends_hack(subS,obj,title) {
	var refer = '3rd_Party_referrals';
	if (!obj)
		obj = window.event.srcElement;
	if ( obj.href.indexOf("//") != -1 )
		var url = obj.href.split("//")[1]
	else
		var url = obj.href
	var site = url.split("/")[0] 
	if (title)
		site = title
	var uri = url.substring(url.indexOf("/")) 
	var refer = '/' + countryCode + '/3rd_Party_referrals'
	var currentURL = window.location.href
	if(currentURL.indexOf("ireland-places-to-go") != -1){
		var subS = obj.type;
		var refer = '3rd_Party_referrals,3rd_Party_referrals';
		}
	dcsMultiTrack('DCS.dcssip', site, 'DCS.dcsuri',refer,'WT.ti', site, 'WT.cg_n', refer, 'WT.cg_s', subS,  'WT.ad','', 'WT.lbiurl', currentURL);
}

function webtrends_hack_pdf(subS,obj,title) {
	var refer = 'pdf_referrals';
	
	if (!obj)
		obj = window.event.srcElement;
	if ( obj.href.indexOf("//") != -1 )
		var url = obj.href.split("//")[1]
	else
		var url = obj.href
		
	
	var site = url.split("/")[0] 
	var pdf = url.split("/")[url.split("/").length-1];
	subS = subS + "__" + pdf;
	if (title)
		site = title
	var uri = url.substring(url.indexOf("/")) 
	var refer = '/' + countryCode + '/pdf_referrals'
	var currentURL = window.location.href
	
	dcsMultiTrack('DCS.dcssip', site, 'DCS.dcsuri',refer,'WT.ti', site, 'WT.cg_n', refer, 'WT.cg_s', subS,  'WT.ad','', 'WT.lbiurl', currentURL);
}
 
function webtrends_hack_bronchure(subS,obj,title,link) { 
	if (!obj)
		obj = window.event.srcElement;
	if ( obj.href.indexOf("//") != -1 )
		var url = obj.href.split("//")[1]
	else
		var url = obj.href
	var site = url.split("/")[0] 
	if (title)
		site = title
	var uri = url.substring(url.indexOf("/")) 
	var refer = '/' + countryCode + '/3rd_Party_referrals'
	var currentURL = window.location.href
	dcsMultiTrack('DCS.dcssip', site, 'DCS.dcsuri',refer,'WT.ti', site, 'WT.cg_n', '3rd_Party_referrals', 'WT.cg_s', subS,  'WT.lbilink',link , 'WT.lbiurl', currentURL);
}



function flashWebtrendsTrack(){
	var dcsTrackCall
	var currentURL = window.location.href
	if (!(currentURL.substring(currentURL.length-1)=='/')) { currentURL += '/' }
	var dcsTrackCall = " dcsMultiTrack('DCS.dcsuri', '" + currentURL
	for (var i=0;i<arguments.length;i++){
		if (!(typeof(arguments[i])=='undefined')) {
			if (i==0) 
				dcsTrackCall += escape(arguments[i]) 
			else
				dcsTrackCall += "/" + escape(arguments[i])
		}
	}	
	dcsTrackCall += "')"; 
	eval(dcsTrackCall);
}

function ajaxWebtrendsTrack(){
	var dcsTrackCall
	var fullURL = window.location.href
	// Remove the ? part as not required for ajax calls
	var currentURL = fullURL
	var aCurrentURL = fullURL.split("?")
	var ahashPart = fullURL.split("#")
	if (aCurrentURL.length>1) {
		currentURL = aCurrentURL[0]
		if (ahashPart.length>1) currentURL += ahashPart[1]
	}
	else {
		if (ahashPart.length>1) {
			currentURL = ahashPart[0] + ahashPart[1]
		}
	}
	if (!(currentURL.substring(currentURL.length-1)=='/')) { currentURL += '/' }
	var dcsTrackCall = " dcsMultiTrack('DCS.dcsuri', '" + currentURL
	for (var i=0;i<arguments.length;i++){
		if (!(typeof(arguments[i])=='undefined')) {
			if (i==0) 
				dcsTrackCall += escape(arguments[i]) 
			else
				dcsTrackCall += "/" + escape(arguments[i])
		}
	}	
	dcsTrackCall += "')"; 
	eval(dcsTrackCall);
}

attachWebtrends();

function attachWebtrends() {
	var a = document.getElementsByTagName('a');
		
	// Extract the domain from the location (the domain are in domain[2])
	var domain = /^(http|https|javascript):\/\/([a-z-.0-9]+)[\/]{0,1}/i.exec(window.location);
		
	// Expression for check internal links
	var internalLink = new RegExp("^(http|https):\/\/" + domain[2], "i");
	//alert("domain : " + domain[2]);
	//alert("internal link : " + internalLink);
	var MyArray = new Array();
	// For each anchor
	for (var i = 0; i < a.length; i++) {
		
		// If href points to an external resource
		if (!internalLink.test(a[i].href)) {
			// Hack to get rid of javascript links
			if (!a[i].href.match("javascript:")) {
				// Hack to discard links to the site				
				if (!a[i].href.match("http://www.discoverireland.com/")) {
					var oc = a[i].getAttribute('onclick');	 	
					if (a[i].addEventListener) {
						a[i].addEventListener('click', function() { webtrends_hack(subSection,this); },false);
					}
					else if (a[i].attachEvent) {
						a[i].attachEvent('onclick', function() { webtrends_hack(subSection); });
					}								
				}

			}
		}
		else {
			
				// Hack to track internal pdf links
				if (a[i].href.match("[.]pdf")){
					//alert(a[i].href);
					var oc = a[i].getAttribute('onclick');	 
					if (a[i].addEventListener) {
						a[i].addEventListener('click', function() { webtrends_hack_pdf(subSection,this); },false);
					}
					else if (a[i].attachEvent) {
						a[i].attachEvent('onclick', function() { webtrends_hack_pdf(subSection); });
					}					
				}					
		}
	}
}