String.prototype.tokenize = tokenize;

var eScoreRef="";

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, 'DCSext.eRef', "CLO" + eScoreRef);
}

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, 'DCSext.eRef', "PDF" + eScoreRef);
}
 
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, 'DCSext.eRef', "BRO" + eScoreRef);
}



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);
}


function createEngagementRef(id){
	var eRef="";
	var eRes="";
	
	/*
	Pages Of Interest:
	Ezine Form: http://www.discoverireland.com/xx/forms/newezine/forms/newezine/ 
	Ezine Confirmation:  http://www.discoverireland.com/xx/forms/confirmation/ezine/
	Brochure Form:  http://www.discoverireland.com/xx/forms/newbrochure  
	Brochure Confirmation: http://www.discoverireland.com/xx/forms/confirmation/brochure/
	Contact Us: http://www.discoverireland.com/xx/forms/newcontact/
	Contact Us Confirmation: http://www.discoverireland.com/xx/forms/confirmation/contact/
	Downloadable Brochures: http://www.discoverireland.com/xx/ireland-plan-your-visit/downloadablebrochures/
	Travel Offers: http://www.discoverireland.com/xx/ireland-travel-offers/
	
	Commercial referrals:
	/xx/ireland-travel-offers/
	/xx/ireland-plan-your-visit/getting-there/by-air/
	/xx/ireland-plan-your-visit/getting-there/by-sea/
	/xx/ireland-plan-your-visit/tour-operators/listings/xxxxx (e.g. http://www.discoverireland.com/gb/ireland-plan-your-visit/tour-operators/listings/?t=top&count=4&top=-662898959&teaser=24-54736_24-54698)
	/gb/accommodation/booking-agents/listings/xxxx (e.g. http://www.discoverireland.com/gb/accommodation/booking-agents/listings/?t=ba&ba=874689168&teaser=24-48951_24-48901) 
	/xx/xx/listings/product/?fid=XXXXX e.g. http://www.discoverireland.com/gb/accommodation/listings/product/?fid=FI_62493, http://www.discoverireland.com/gb/ireland-things-to-see-and-do/listings/product/?fid=FI_16425, http://www.discoverireland.com/gb/ireland-things-to-see-and-do/whats-on/listings/product/?fid=FI_15468
	*/
	
	var wtPOI = new Array("/forms/newezine/forms/newezine",
	"/forms/confirmation/ezine",
	"/forms/newbrochure",
	"/forms/confirmation/brochure",
	"/forms/newcontact",
	"/forms/confirmation/contact",
	"/ireland-plan-your-visit/downloadablebrochures",
	"/ireland-travel-offers",
	"/ireland-plan-your-visit/getting-there/by-air",
	"/ireland-plan-your-visit/getting-there/by-sea",
	"/ireland-plan-your-visit/tour-operators/listings",
	"/accommodation/booking-agents/listings",
	"/listings/product");
	
	var wtPOIRef = new Array("POI1","POI2","POI3","POI4","POI5","POI6","POI7","POI8","CR1","CR2","CR3","CR4","CR5");
	
	var wtROI = new Array("twitter.com","facebook.com","youtube.com","wayn.com");
		
	var wtROIRef = new Array("SM1","SM2","SM3","SM4");
	
	for (i=0;i<wtPOI.length;i++){
		if(id){
			if(id.indexOf(wtPOI[i])>0) eRes = wtPOIRef[i];
		}else
			if(document.URL.indexOf(wtPOI[i])>0) eRes = wtPOIRef[i];
	}
	
	for (i=0;i<wtROI.length;i++){
		if(document.referrer.indexOf(wtROI[i])>0) eRef = wtROIRef[i];
	}
	
	eScoreRef = eRes + eRef;

	if(id)
		return eScoreRef;
	else
		if(eScoreRef) document.write("<META NAME=\"DCSext.eRef\" CONTENT=\"" + eScoreRef + "\">");
}

createEngagementRef();

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); });
					}					
				}					
		}
	}
}