// PlusNet WebTrends tracking code
// (c) PlusNet 2007
// v0019c

// *** Start of PlusNet code *** 
var gDomain="webstats.plus.net";
var gDcsId = "";
var gFpc = "WT_FPC";
var gFpcDom = "";
var gConvert = true;
var gDcsOnsiteDomains = window.location.hostname;
var gDcsDownloadExtensions = "xls,doc,pdf,txt,csv,zip";
var gService = false;
var gTimeZone = 0;
var gIsNewVisitor = false;
var gDcsPlusNetTracking = false;
var gDcsMAAFTracking = false;

function dcsIdentifyWebsite() {
	var s = window.location.hostname;

	if (s.indexOf(".plus.net") != -1) {
		gDcsId = "dcskzw9b87mbvp4ejoyvlnmt0_8o1k";
		gDcsOnsiteDomains = "plus.net";
		gFpcDom = ".plus.net"; 
		gDcsPlusNetTracking = true;
	}

	if (s.indexOf("community.plus.net") != -1) {
		gDcsId = "dcsormgd97mbvp4ejoyvlnmt0_7o2z";
		gDcsOnsiteDomains = "plus.net";
		gFpcDom = ".plus.net";
	}
	
	if (s.indexOf("webmail.plus.net") != -1) {
		gDcsId = "dcsuy26d97mbvp4ejoyvlnmt0_7o7u";
		gDcsOnsiteDomains = "webmail.plus.net";
		gFpcDom = ".plus.net";
	}

	if (s.indexOf(".free-online.net") != -1) {
		gDcsId = "dcsl3ofd97mbvp4ejoyvlnmt0_7o4p";
		gDcsOnsiteDomains = "free-online.net";
		gFpcDom = ".free-online.net";
		gDcsPlusNetTracking = true;
	}

	if (s.indexOf(".f9.net.uk") != -1) {
		gDcsId = "dcsux0zc97mbvp4ejoyvlnmt0_7o6g";
		gDcsOnsiteDomains = "f9.net.uk";
		gFpcDom = ".f9.net.uk";
		gDcsPlusNetTracking = true;
	}

	if (s.indexOf(".metronet.co.uk") != -1) {
		gDcsId = "dcsuv5yc97mbvp4ejoyvlnmt0_7o4e";
		gDcsOnsiteDomains = "metronet.co.uk";
		gFpcDom = ".metronet.co.uk";
	}

	if (s.indexOf(".madasafish.com") != -1) {
		gDcsId = "dcs71ysd97mbvp4ejoyvlnmt0_7o9w";
		gDcsOnsiteDomains = "madasafish.com";
		gFpcDom = ".madasafish.com";
		gDcsMAAFTracking = true;
	}
}
dcsIdentifyWebsite();

function dcsIsNewVisitor() {
	return (document.cookie.indexOf(gFpc + "=") == -1);
}
gIsNewVisitor = dcsIsNewVisitor();

if (typeof(dcsWebsiteParamOverrides) == "function") dcsWebsiteParamOverrides();

// *** End of PlusNet code ***

// Code section for Enable First-Party Cookie Tracking
function dcsCookie(){
	if (typeof(dcsOther)=="function"){
		dcsOther();
	}
	else if (typeof(dcsPlugin)=="function"){
		dcsPlugin();
	}
	else if (typeof(dcsFPC)=="function"){
		dcsFPC(gTimeZone);
	}
}

function dcsGetCookie(name){
	var pos=document.cookie.indexOf(name+"=");
	if (pos!=-1){
		var start=pos+name.length+1;
		var end=document.cookie.indexOf(";",start);
		if (end==-1){
			end=document.cookie.length;
		}
		return unescape(document.cookie.substring(start,end));
	}
	return null;
}

// *** Start of PlusNet code *** 
function dcsGetCookieString(name) {
	var s = dcsGetCookie(name);
	if ((s == null) || (s == "null")) s = "";
	return s;
}

function dcsSetCookieFull(strName, strValue, strDomain, strPath, intLifetimeDays){
	var dCur = new Date();
	var dExp = new Date(dCur.getTime() + 86400000 * intLifetimeDays);								 
	document.cookie = strName + "=" + strValue + "; expires=" + dExp.toGMTString() + "; path=" + strPath + "; domain=" + strDomain;
}

function dcsSetCookie(name, value){
	var dCur=new Date();
	var dExp=new Date(dCur.getTime()+315360000000);
	var strDomain = "";
	if ((typeof(gFpcDom) != "undefined") && (gFpcDom != "")) strDomain = "; domain=" + gFpcDom;
	document.cookie = name + "=" + value + "; expires=" + dExp.toGMTString() + "; path=/" + strDomain;
}
// *** End of PlusNet code ***

function dcsGetCrumb(name,crumb){
	var aCookie=dcsGetCookie(name).split(":");
	for (var i=0;i<aCookie.length;i++){
		var aCrumb=aCookie[i].split("=");
		if (crumb==aCrumb[0]){
			return aCrumb[1];
		}
	}
	return null;
}
function dcsGetIdCrumb(name,crumb){
	var cookie=dcsGetCookie(name);
	var id=cookie.substring(0,cookie.indexOf(":lv="));
	var aCrumb=id.split("=");
	for (var i=0;i<aCrumb.length;i++){
		if (crumb==aCrumb[0]){
			return aCrumb[1];
		}
	}
	return null;
}
function dcsFPC(offset){
	if (typeof(offset)=="undefined"){
		return;
	}
	if (document.cookie.indexOf("WTLOPTOUT=")!=-1){
		return;
	}
	var name=gFpc;
	var dCur=new Date();
	var adj=(dCur.getTimezoneOffset()*60000)+(offset*3600000);
	dCur.setTime(dCur.getTime()+adj);
	var dExp=new Date(dCur.getTime()+315360000000);
	var dSes=new Date(dCur.getTime());
	WT.co_f=WT.vt_sid=WT.vt_f=WT.vt_f_a=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
	if (document.cookie.indexOf(name+"=")==-1){
		if ((typeof(gWtId)!="undefined")&&(gWtId!="")){
			WT.co_f=gWtId;
		}
		else if ((typeof(gTempWtId)!="undefined")&&(gTempWtId!="")){
			WT.co_f=gTempWtId;
			WT.vt_f="1";
		}
		else{
			WT.co_f="2";
			var cur=dCur.getTime().toString();
			for (var i=2;i<=(32-cur.length);i++){
				WT.co_f+=Math.floor(Math.random()*16.0).toString(16);
			}
			WT.co_f+=cur;
			WT.vt_f="1";
		}
		if (typeof(gWtAccountRollup)=="undefined"){
			WT.vt_f_a="1";
		}
		WT.vt_f_s=WT.vt_f_d="1";
		WT.vt_f_tlh=WT.vt_f_tlv="0";
	}
	else{
		var id=dcsGetIdCrumb(name,"id");
		var lv=parseInt(dcsGetCrumb(name,"lv"));
		var ss=parseInt(dcsGetCrumb(name,"ss"));
		if ((id==null)||(id=="null")||isNaN(lv)||isNaN(ss)){
			return;
		}
		WT.co_f=id;
		var dLst=new Date(lv);
		WT.vt_f_tlh=Math.floor((dLst.getTime()-adj)/1000);
		dSes.setTime(ss);
		if ((dCur.getTime()>(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){
			WT.vt_f_tlv=Math.floor((dSes.getTime()-adj)/1000);
			dSes.setTime(dCur.getTime());
			WT.vt_f_s="1";
		}
		if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||(dCur.getYear()!=dLst.getYear())){
			WT.vt_f_d="1";
		}
	}
	WT.co_f=escape(WT.co_f);
	WT.vt_sid=WT.co_f+"."+(dSes.getTime()-adj);
	var expiry="; expires="+dExp.toGMTString();
	document.cookie=name+"="+"id="+WT.co_f+":lv="+dCur.getTime().toString()+":ss="+dSes.getTime().toString()+expiry+"; path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
	if (document.cookie.indexOf(name+"=")==-1){
		WT.co_f=WT.vt_sid=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
		WT.vt_f=WT.vt_f_a="2";
	}
}

// *** Start of PlusNet code *** 
// Check whether a host is outside the measured domains
function dcsIsOnsite(host){
	if ((typeof(gDcsOnsiteDomains) == "undefined") || (gDcsOnsiteDomains == "")) return 1;
    var a = gDcsOnsiteDomains.split(',');
    for (var i = 0; i < a.length; i++){
	    if (a[i] != "") {
			if (host.indexOf(a[i])!=-1){
		    	   return 1;
			}
		}
    }
    return 0;
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Check whether the link protocol is HTTP
function dcsIsHttp(e){
	return (e.href&&e.protocol&&(e.protocol.indexOf("http")!=-1))?true:false;
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Extract a tag element from an event 
function dcsEvt(evt,tag){
	var e = evt.target || evt.srcElement;
	while (e.tagName && (e.tagName != tag)){
		e = e.parentElement || e.parentNode;
	}
	return e;
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Attach a tracking function to a specified event of specified elements
function dcsBind(element, event, func){
	if ((typeof(window[func]) == "function") && element){
		if (element.addEventListener){
			element.addEventListener(event, window[func], true);
		}
		else if(element.attachEvent){
			element.attachEvent("on" + event, window[func]);
		}
	}
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Attached event tracking functions
function dcsET() {
	dcsBind(window.document.body, "click", "dcsLinkTrack");
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Extract the plain text content of an element
function dcsGetElementText(e) {
	if (e.nodeType == 3) return e.nodeValue;
	var txt = new Array();
	var i = 0;
	while(e.childNodes[i]) {
		txt[txt.length] = dcsGetElementText(e.childNodes[i]);
     	i++;
	}
	return txt.join("");
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
function dcsTrack(dcsuri){
	if ((typeof(dcsuri) == "undefined") || (dcsuri == "")) return;
	DCS.dcsuri = dcsuri;
	if ((typeof(DCS.dcssip) == "undefined") || (DCS.dcssip == "")) DCS.dcssip = window.location.hostname;
	var dCurrent = new Date();
	DCS.dcsdat = dCurrent.getTime();
	dcsTag();
	DCS.dcssip=DCS.dcsuri=DCS.dcsqry=WT.ti=WT.svl=WT.os="";
}

function dcsTrackPending(s){
	var c = dcsGetCookieString("WT_PENDING");
	if (c == "") {
		c = s;
	} else {
		c = c + "&" + s;
	}
	dcsSetCookie("WT_PENDING", c);
}

// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Perform link tracking
function dcsLinkTrack(evt){
	var doTrack = 0;
	evt = evt || (window.event || "");
	if (evt){
		var e = dcsEvt(evt,"A");
		
		// Email links
		if (doTrack == 0) {
			if (e.protocol == "mailto:"){
				DCS.dcssip = "";
				DCS.dcsuri = "/" + e.href.substring(7) + ".email";
				DCS.dcsqry = "";
				WT.ti = "Email: " + e.href.substring(7);
				WT.dl = "1";
				doTrack = 1;			
			}
		}
		
		// Static download links
		if (doTrack == 0) {
			if (e.pathname) {
				var exts = gDcsDownloadExtensions;
				if (exts.indexOf(e.pathname.substring(e.pathname.lastIndexOf(".") + 1, e.pathname.length)) >= 0) {
					var path = e.pathname?((e.pathname.indexOf("/")!=0)?"/"+e.pathname:e.pathname):"/";
					DCS.dcssip = e.hostname;
					DCS.dcsuri = path;
					DCS.dcsqry = e.search||"";
					WT.ti = "Download: " + dcsGetElementText(e);
					WT.dl = "1";
					doTrack = 1;			
				} 
			}
		}

		// Offsite links
		if (doTrack == 0) {
			if (e.hostname && (!dcsIsOnsite(e.hostname))){
				if (e.protocol && (e.protocol != "javascript:")) {
					var path = e.pathname?((e.pathname.indexOf("/")!=0)?"/"+e.pathname:e.pathname):"/";
					DCS.dcssip = e.hostname;
					DCS.dcsuri = path;
					DCS.dcsqry = e.search||"";
					WT.ti = "Offsite: " + e.hostname;
					WT.os = "1";
					doTrack = 1;
				}
			}
		}
				
		// Create tracking image if necessary
		if (doTrack != 0) {
			dcsTrack(DCS.dcsuri);
		}
	
	}
}
// *** End of PlusNet code *** 

// *** Start of PlusNet code *** 
// Launch advanced tracking functions
function dcsAdv(){
	dcsFunc("dcsET");
	dcsFunc("dcsCookie");
	dcsFunc("dcsAdSearch");
	dcsFunc("dcsTP");
}
// *** End of PlusNet code *** 


if ((typeof(gConvert)!="undefined")&&gConvert&&(document.cookie.indexOf(gFpc+"=")==-1)&&(document.cookie.indexOf("WTLOPTOUT=")==-1)){
	document.write("<SCR"+"IPT TYPE='text/javascript' SRC='"+"https"+"://"+gDomain+"/"+gDcsId+"/wtid.js"+"'><\/SCR"+"IPT>");
}

var gImages=new Array;
var gIndex=0;
var DCS=new Object();
var WT=new Object();
var DCSext=new Object();
var gQP=new Array();
var gI18n=false;
if (window.RegExp){
	var RE={"%09":/\t/g,"%20":/ /g,"%23":/\#/g,"%26":/\&/g,"%2B":/\+/g,"%3F":/\?/g,"%5C":/\\/g,"%22":/\"/g,"%7F":/\x7F/g,"%A0":/\xA0/g};
	var I18NRE={"%25":/\%/g};
}

// Add customizations here

function dcsVar(){
	var dCurrent=new Date();
	WT.tz=dCurrent.getTimezoneOffset()/60*-1;
	if (WT.tz==0){
		WT.tz="0";
	}
	WT.bh=dCurrent.getHours();
	WT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
	if (typeof(screen)=="object"){
		WT.cd=navigator.appName=="Netscape"?screen.pixelDepth:screen.colorDepth;
		WT.sr=screen.width+"x"+screen.height;
	}
	if (typeof(navigator.javaEnabled())=="boolean"){
		WT.jo=navigator.javaEnabled()?"Yes":"No";
	}
	if (document.title){
		WT.ti=gI18n?dcsEscape(dcsEncode(document.title),I18NRE):document.title;
	}
	WT.js="Yes";
	WT.jv=dcsJV();
	if (document.body&&document.body.addBehavior){
		document.body.addBehavior("#default#clientCaps");
		if (document.body.connectionType){
			WT.ct=document.body.connectionType;
		}
		document.body.addBehavior("#default#homePage");
		WT.hp=document.body.isHomePage(location.href)?"1":"0";
	}
	if (parseInt(navigator.appVersion)>3){
		if ((navigator.appName=="Microsoft Internet Explorer")&&document.body){
			WT.bs=document.body.offsetWidth+"x"+document.body.offsetHeight;
		}
		else if (navigator.appName=="Netscape"){
			WT.bs=window.innerWidth+"x"+window.innerHeight;
		}
	}
	WT.fi="No";
	if (window.ActiveXObject){
		for(var i=10;i>0;i--){
			try{
				var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				WT.fi="Yes";
				WT.fv=i+".0";
				break;
			}
			catch(e){
			}
		}
	}
	else if (navigator.plugins&&navigator.plugins.length){
		for (var i=0;i<navigator.plugins.length;i++){
			if (navigator.plugins[i].name.indexOf('Shockwave Flash')!=-1){
				WT.fi="Yes";
				WT.fv=navigator.plugins[i].description.split(" ")[2];
				break;
			}
		}
	}
	if (gI18n){
		WT.em=(typeof(encodeURIComponent)=="function")?"uri":"esc";
		if (typeof(document.defaultCharset)=="string"){
			WT.le=document.defaultCharset;
		} 
		else if (typeof(document.characterSet)=="string"){
			WT.le=document.characterSet;
		}
	}
	WT.tv="8.0.0";
	WT.sp="@@SPLITVALUE@@";
	DCS.dcsdat=dCurrent.getTime();
	DCS.dcssip=window.location.hostname;
	DCS.dcsuri=window.location.pathname;
	if (window.location.search){
		DCS.dcsqry=window.location.search;
		if (gQP.length>0){
			for (var i=0;i<gQP.length;i++){
				var pos=DCS.dcsqry.indexOf(gQP[i]);
				if (pos!=-1){
					var front=DCS.dcsqry.substring(0,pos);
					var end=DCS.dcsqry.substring(pos+gQP[i].length,DCS.dcsqry.length);
					DCS.dcsqry=front+end;
				}
			}
		}
	}
	if ((window.document.referrer!="")&&(window.document.referrer!="-")){
		if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
			DCS.dcsref=gI18n?dcsEscape(window.document.referrer, I18NRE):window.document.referrer;
		}
	}
}

function dcsA(N,V){
	return "&"+N+"="+dcsEscape(V, RE);
}

function dcsEscape(S, REL){
	if (typeof(REL)!="undefined"){
		var retStr = new String(S);
		for (R in REL){
			retStr = retStr.replace(REL[R],R);
		}
		return retStr;
	}
	else{
		return escape(S);
	}
}

function dcsEncode(S){
	return (typeof(encodeURIComponent)=="function")?encodeURIComponent(S):escape(S);
}

function dcsCreateImage(dcsSrc){
	if (document.images){
		gImages[gIndex]=new Image;
		if ((typeof(gHref)!="undefined")&&(gHref.length>0)){
			gImages[gIndex].onload=gImages[gIndex].onerror=dcsLoadHref;
		}
		gImages[gIndex].src=dcsSrc;
		gIndex++;
	}
	else{
		document.write('<IMG ALT="" BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
	}
}

function dcsMeta(){
	var elems;
	if (document.all){
		elems=document.all.tags("meta");
	}
	else if (document.documentElement){
		elems=document.getElementsByTagName("meta");
	}
	if (typeof(elems)!="undefined"){
		for (var i=1;i<=elems.length;i++){
			var meta=elems.item(i-1);
			if (meta.name){
				if (meta.name.indexOf('WT.')==0){
					WT[meta.name.substring(3)]=(gI18n&&(meta.name.indexOf('WT.ti')==0))?dcsEscape(dcsEncode(meta.content),I18NRE):meta.content;
				}
				else if (meta.name.indexOf('DCSext.')==0){
					DCSext[meta.name.substring(7)]=meta.content;
				}
				else if (meta.name.indexOf('DCS.')==0){
					DCS[meta.name.substring(4)]=(gI18n&&(meta.name.indexOf('DCS.dcsref')==0))?dcsEscape(meta.content,I18NRE):meta.content;
				}
			}
		}
	}
}

// *** Start of PlusNet code *** 

function dcsGetStringParam(s, p, d, pref) {
	if ((typeof(s) == "undefined") || (s == "")) return "";
	var offs = 0;
	if (pref != "") {
		if (s.substring(0, pref.length) == pref) offs = pref.length;
	}
	var tmp = p + "=";
	var i = offs;
	if (s.substring(offs, tmp.length + offs) != tmp) {
		i = s.indexOf(d + tmp, offs);
		if (i >= 0) i += d.length;
	}
	if (i >= 0) {
		i += tmp.length;
		var j = s.indexOf(d, i);
		if (j < 0) j = s.length;
		return s.substring(i, j);
	} else {
		return "";
	}
}

function dcsSetStringParam(s, p, v, d, pref) {
	if ((typeof(s) == "undefined") || (s == "")) return pref + p + "=" + v;
	var offs = 0;
	if (pref != "") {
		if (s.substring(0, pref.length) == pref) offs = pref.length;
	}
	var tmp = p + "=";
	var i = offs;
	if (s.substring(offs, tmp.length + offs) != tmp) {
		i = s.indexOf(d + tmp, offs);
		if (i >= 0) i += d.length;
	}
	if (i >= 0) {
		i += tmp.length;
		var j = s.indexOf(d, i);
		if (j < 0) j = s.length;
		return s.substring(0, i) + v + s.substring(j, s.length);
	} else {
		return s + d + p + "=" + v;
	}
}

function dcsRemoveStringParam(s, p, d, pref) {
	if ((typeof(s) == "undefined") || (s == "")) return "";
	var offs = 0;
	if (pref != "") {
		if (s.substring(0, pref.length) == pref) offs = pref.length;
	}
	var tmp = p + "=";
	var i = offs;
	if (s.substring(offs, tmp.length + offs) == tmp) {
		var j = s.indexOf(d, i + tmp.length);
		if (j < 0) {
			return s.substring(0, offs);
		} else {
			return s.substring(0, offs) + s.substring(j + d.length, s.length);
		}
	} else {
		i = s.indexOf(d + tmp, offs);
		if (i < 0) {
			return s;
		} else {
			var j = s.indexOf(d, i + d.length + tmp.length);
			if (j < 0) {
				return s.substring(0, i);
			} else {
				return s.substring(0, i) + s.substring(j, s.length);
			}
		}
	}
}

function dcsAddQueryP(s) {
	if ((typeof(DCS.dcsqry) == "undefined") || (DCS.dcsqry == "")) {
		DCS.dcsqry = "?";
	} else {
		DCS.dcsqry += "&";
	}
	DCS.dcsqry += s;
}

function dcsAddToPath(p, m, plen) {
	var j = m.indexOf("__");
	if (j >= 0) m = m.substring(0, j);
	if (m == "") return "";

	var items = p.split("/");
	if (items.length > 0) {
		if (items[items.length - 1] == m) return "";
	}
	var i = 0;
	var s = "";
	if (items.length >= plen) {
		s = items[0] + "/";
		i = items.length - plen + 2;
	}
	while (i < items.length) {
		if (items[i] != "") s += items[i] + "/";
		i++;
	}
	return s + m;
}

function dcsGetCampaignPriority(s) {
	if (s.substring(0, 4) == "maf_") return 7;
	if (s.substring(0, 5) == "uref_") return 5;
	if (s.substring(0, 4) == "aff_") return 5;
	if (s.substring(0, 4) == "sem_") return 5;
	if (s.substring(0, 4) == "ban_") return 5;
	return 0;
}

function dcsPlusNetContentGroupOverride(s) {
	if ((typeof(s) == "undefined") || (s == "")) return;
	if (s.substring(0, 16) == "/central/forums/") { WT.cg_n = "Forums"; return; }
	if (s.substring(0, 25) == "/search/portalsearch.html") { WT.cg_n = "Search"; return; }
	if (s.substring(0, 25) == "/view_my_broadband_usage/") { WT.cg_n = "VMBU"; return; }
	if (s.substring(0, 25) == "/wizard/") { WT.cg_n = "Wizard"; return; }
	if (s.substring(0, 16) == "/do_upgrade.html") { WT.cg_n = "Upgrade"; return; }
	if (s.substring(0, 21) == "/upgrade_process.html") { WT.cg_n = "Upgrade"; return; }
	if (s.substring(0, 18) == "/products/upgrade/") { WT.cg_n = "Upgrade"; return; }
}

function dcsTrackLinkClick(s) {
	if (typeof(gDcsTrackPageName) == "undefined") return;
	dcsTrackPending('WT.ltp=' + gDcsTrackPageName + '&WT.ltl=' + s);
}

function dcsTrackAdClick(s) {
	if (typeof(gDcsTrackPageName) == "undefined") return;
	dcsTrackPending('WT.ac=' + s + '~' + gDcsTrackPageName);
}

// *** End of PlusNet code *** 

function dcsTag(){
	if (document.cookie.indexOf("WTLOPTOUT=")!=-1){
		return;
	}

// *** Start of PlusNet code *** 
	
	var s, m, n, j;
	var intMaxPathLen = 7;

	// Disable tracking if the website has not been defined
	if ((typeof(gDcsId) == "undefined") || (gDcsId == "")) return;

	// Override content groups based on URL path
	if (gDcsPlusNetTracking) {
		dcsPlusNetContentGroupOverride(DCS.dcsuri);
	}
	
	// Define custom segment 2 based on initial content
	if (gIsNewVisitor) {
		s = WT.cg_n;		
		if (typeof(s) == "undefined") s = "Undefined";
		dcsAddQueryP("WT.seg_2=" + s);
	}
	
	// Copy pending WT parameters from cookie to query string
	s = dcsGetCookieString("WT_PENDING");
	if (s != "") dcsAddQueryP(s);

	// Prevent duplicate pages with portal.* and www.*
	if (typeof(DCS.dcssip) != "undefined") {
		if (DCS.dcssip.substr(0, 7) == "portal.") DCS.dcssip = "www." + DCS.dcssip.substr(7, DCS.dcssip.length - 7);
	}
	
	// Get campaign history parameters from cookie
	var strREFUID = "";
	var strCMPID = "";
	var strCMPREF = "";
	var strCMPPATH = "";
	var strOAID = "";
	var strOAPATH = "";
	var strPIID = "";
	var strPIPATH = "";
	var strCMPINIT = "";

	s = dcsGetCookieString("WT_CUSTOM");
	
	if (s != "") {
		strREFUID = dcsGetStringParam(s, "REFUID", ":", "");
		strCMPID = dcsGetStringParam(s, "CMPID", ":", "");
		strCMPREF = dcsGetStringParam(s, "CMPREF", ":", "");
		strCMPPATH = dcsGetStringParam(s, "CMPPATH", ":", "");
		strOAID = dcsGetStringParam(s, "OAID", ":", "");
		strOAPATH = dcsGetStringParam(s, "OAPATH", ":", "");
		strPIID = dcsGetStringParam(s, "PIID", ":", "");
		strPIPATH = dcsGetStringParam(s, "PIPATH", ":", "");
		strCMPINIT = dcsGetStringParam(s, "CMPINIT", ":", "");
	} else {
		strREFUID = dcsGetCookieString("PLUSNET_WT_LATEST_UID");
		strCMPPATH = dcsGetCookieString("PLUSNET_WT_CMP_HISTORY");
	}
	
	// Capture query string Campaign ID
	m = dcsGetStringParam(DCS.dcsqry, "WT.mc_id", "&", "?");
	n = dcsGetStringParam(DCS.dcsqry, "WT.cmpref", "&", "?");

	// Capture reference ID parameter, if defined in the TRADEDOUBLER cookie
	if (m != "" && n == "") {
		n = dcsGetCookieString("TRADEDOUBLER");
	}

	// Capture WebTrends META campaign
	if (m == "") {
		if (typeof(WT.mc_id) != "undefined") {
			m = WT.mc_id;
			n = "";
			if (typeof(WT.cmpref) != "undefined") n = WT.cmpref;
		}
	}
	WT.mc_id = "";
	WT.cmpref = "";

	// Capture user referral during signup into user referral id
	if (m == "uref_signup") {
		strREFUID = "SIGNUP";
	}
	
	if (gDcsMAAFTracking) {
		// Capture MAAF affiliate campaign
		if (m == "") {
			m = dcsGetStringParam(DCS.dcsqry, "r", "&", "?");
			if ((m == "uswitch") || (m == "usst")) n = dcsGetStringParam(DCS.dcsqry, "usi", "&", "?");
			if (m != "") m = "maf_" + m;
		}
	}
	
	// Capture PN user referral link
	s = dcsGetCookieString("COOKIE_REFERRAL_UID");
	if (s != "") {
		if (strREFUID != s) {
			strREFUID = s;
			if ((m == "") && (gDcsPlusNetTracking)) {
				m = "uref_link";
				if (s == "1066794") m = "aff_britinfo"; // Capture PN BritInfo campaign
				n = s;
			}
		}
	}

	if (gDcsMAAFTracking) {
		// Capture MAAF old-style user referral link
		s = dcsGetStringParam(DCS.dcsqry, "ref", "&", "?");
		if (s == "{ENTER") s = "";
		if (s != "") {
			s = "MAAF_" + s;
			if (strREFUID != s) {
				dcsSetCookieFull("COOKIE_REFERRAL_UID", s, gFpcDom, "/", 90);
				strREFUID = s;
				if (m == "") {
					m = "uref_maaf";
					n = s;
				}
			}
		}
		// Capture MAAF new-style user referral link
		s = dcsGetStringParam(DCS.dcsqry, "refenc", "&", "?");
		if (s != "") {
			s = "REFENC_" + s;
			if (strREFUID != s) {
				dcsSetCookieFull("COOKIE_REFERRAL_UID", s, gFpcDom, "/", 90);
				strREFUID = s;
				if (m == "") {
					m = "uref_enc";
					n = s;
				}
			}
		}
	}

	// Define organic search campaigns based on referrer
	if (m == "") {
		s = window.document.referrer;
		if ((s.indexOf("google.") != -1) && (s.indexOf("mail") == -1)) m = "ose_google";
		if (s.indexOf("search.msn.") != -1) m = "ose_msn";
		if ((s.indexOf("yahoo.") != -1) && (s.indexOf("/search") != -1)) m = "ose_yahoo";
		n = "";
	}

	// Send new campaign ID to WebTrends
	if (m != "") {
		DCS.dcsqry = dcsRemoveStringParam(DCS.dcsqry, "WT.mc_id", "&", "?");
		DCS.dcsqry = dcsRemoveStringParam(DCS.dcsqry, "WT.cmpref", "&", "?");
		dcsAddQueryP("WT.mc_id=" + m + "&WT.cmpref=" + n);
	}
	
	// Store the new campaign id in the campaign history
	if (m != "") {
		var intOldPty = dcsGetCampaignPriority(strCMPID);
		var intNewPty = dcsGetCampaignPriority(m);
		if (intNewPty >= intOldPty) {
			strCMPID = m;
			strCMPREF = n;
		}
		
		if (strCMPINIT == "") {
			strCMPINIT = m;
			dcsAddQueryP("WT.custom_initcmp=" + m);
		}
		
		s = dcsAddToPath(strCMPPATH, m, intMaxPathLen);
		if (s != "") {
			strCMPPATH = s;
			dcsAddQueryP("WT.custom_cmps=" + s);
		}
	}

	// Identify whether a new onsite ad id is defined
	m = dcsGetStringParam(DCS.dcsqry, "WT.ac", "&", "?");
	if (m == "") {
		if (typeof(WT.ac) != "undefined") m = WT.ac;
	}
	
	// Store the new onsite ad id in the onsite ad history
	if (m != "") {
		strOAID = m;
		s = dcsAddToPath(strOAPATH, m, intMaxPathLen);
		if (s != "") {
			strOAPATH = s;
			dcsAddQueryP("WT.custom_oas=" + s);
		}
	}
	
	// Identify whether a new page of interest is defined
	m = dcsGetStringParam(DCS.dcsqry, "WT.pi", "&", "?");
	if (m == "") {
		if (typeof(WT.pi) != "undefined") m = WT.pi;
	}
	
	// Store the new page of interest id in the page of interest history
	if (m != "") {
		strPIID = m;
		s = dcsAddToPath(strPIPATH, m, intMaxPathLen);
		if (s != "") {
			strPIPATH = s;
			dcsAddQueryP("WT.custom_pis=" + s);
		}
	}

	// Send primary campaign on every hit for segmentation profiles
	dcsAddQueryP("WT.seg_cmp=" + strCMPID);

	// If a purchase is made, add the campaign history parameters to the WT query string
	if (WT.tx_e == "p") {
		dcsAddQueryP("WT.ch_cmpinit=" + strCMPINIT);
		dcsAddQueryP("WT.ch_cmpid=" + strCMPID);
		dcsAddQueryP("WT.ch_cmpref=" + strCMPREF);
		dcsAddQueryP("WT.ch_cmppath=" + strCMPPATH);
		dcsAddQueryP("WT.ch_oaid=" + strOAID);
		dcsAddQueryP("WT.ch_oapath=" + strOAPATH);
		dcsAddQueryP("WT.ch_piid=" + strPIID);
		dcsAddQueryP("WT.ch_pipath=" + strPIPATH);

		s = dcsGetCookieString("WT_SPLIT");
		if (s != "") {
			var r = "", c = "";
			for (var i = 0; i < s.length; i++) {
				c = s.charAt(i);
				if (c == "=") c = "/";
				if (c == ":") c = "/0:";
				r += c;
			}
			r += "/0";
			dcsAddQueryP("WT.split=" + r);
		}
		
		m = "evt_signup";
		if (strCMPID.substring(0, 5) == "uref_") strCMPID = "uref_postsignup";
		s = dcsAddToPath(strCMPPATH, m, intMaxPathLen);
		if (s != "") strCMPPATH = s;
		if (strCMPINIT == "") strCMPINIT = m;
	}

    // Write campaign history parameters to cookie
	dcsSetCookie("WT_CUSTOM", "REFUID=" + strREFUID + ":CMPID=" + strCMPID + ":CMPPATH=" + strCMPPATH + ":OAID=" + strOAID + ":OAPATH=" + strOAPATH + ":CMPINIT=" + strCMPINIT + ":PIID=" + strPIID + ":PIPATH=" + strPIPATH + ":CMPREF=" + strCMPREF);
	
	// Clear pending WT parameters from cookie
	dcsSetCookieFull("WT_PENDING", "", gFpcDom, "/", -1);

// *** End of PlusNet code *** 
	
	var P="https"+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?";
	for (N in DCS){
		if (DCS[N]) {
			P+=dcsA(N,DCS[N]);
		}
	}
	for (N in WT){
		if (WT[N]) {
			P+=dcsA("WT."+N,WT[N]);
		}
	}
	for (N in DCSext){
		if (DCSext[N]) {
			P+=dcsA(N,DCSext[N]);
		}
	}
	if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
		P=P.substring(0,2040)+"&WT.tu=1";
	}

	dcsCreateImage(P);

// *** Start of PlusNet code *** 
	gIsNewVisitor = false;
	WT.seg_1 = "";
	WT.seg_2 = "";
	WT.seg_3 = "";
	WT.seg_4 = "";
// *** End of PlusNet code *** 
}

function dcsJV(){
	var agt=navigator.userAgent.toLowerCase();
	var major=parseInt(navigator.appVersion);
	var mac=(agt.indexOf("mac")!=-1);
	var nn=((agt.indexOf("mozilla")!=-1)&&(agt.indexOf("compatible")==-1));
	var nn4=(nn&&(major==4));
	var nn6up=(nn&&(major>=5));
	var ie=((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1));
	var ie4=(ie&&(major==4)&&(agt.indexOf("msie 4")!=-1));
	var ie5up=(ie&&!ie4);
	var op=(agt.indexOf("opera")!=-1);
	var op5=(agt.indexOf("opera 5")!=-1||agt.indexOf("opera/5")!=-1);
	var op6=(agt.indexOf("opera 6")!=-1||agt.indexOf("opera/6")!=-1);
	var op7up=(op&&!op5&&!op6);
	var jv="1.1";
	if (nn6up||op7up){
		jv="1.5";
	}
	else if ((mac&&ie5up)||op6){
		jv="1.4";
	}
	else if (ie5up||nn4||op5){
		jv="1.3";
	}
	else if (ie4){
		jv="1.2";
	}
	return jv;
}

function dcsFunc(func){
	if (typeof(window[func])=="function"){
		window[func]();
	}
}

// *** Start of PlusNet code *** 
function dcsGetParams(){
	dcsVar();
	dcsMeta();
	if (typeof(gDcsOverride) != "undefined") {
		for (var i in gDcsOverride) {
			DCS[i] = gDcsOverride[i];
		}
	}
	if (typeof(gWTOverride) != "undefined") {
		for (var i in gWTOverride) {
			WT[i] = gWTOverride[i];
		}
	}
}
// *** End of PlusNet code *** 