function domainValidation(){
	var validDomains = ["155.201.65.87", "155.201.65.88", "155.201.84.16", "155.201.84.92", "64.41.153.90", "pwcglobal.com", "pwc.com", "search1.pwc.com", "search2.pwc.com", "search.pwc.com", "www.pricewaterhousecoopers.co.uk", "www.pwc.com", "www.pwc.ch", "www.pwc.co.za", "0.0.0.0", "pwcmoneytree.com", "www.pwcmoneytree.com", "search1.pwcglobal.com", "search2.pwcglobal.com", "search.pwcglobal.com", "www.pwcglobal.com", "155.201.65.87.", "155.201.65.88.", "155.201.84.16.", "155.201.84.92.", "64.41.153.90.", "pwcglobal.com.", "pwc.com.", "search1.pwc.com.", "search2.pwc.com.", "search.pwc.com.", "www.pricewaterhousecoopers.co.uk.", "www.pwc.com.", "www.pwc.ch.", "www.pwc.co.za.", "0.0.0.0.", "pwcmoneytree.com.", "www.pwcmoneytree.com.", "search1.pwcglobal.com.", "search2.pwcglobal.com.", "search.pwcglobal.com.", "www.pwcglobal.com."];
	var stagingDomains = ["0.0.0.0", "10.12.104.101", "10.12.104.103", "10.140.8.156", "10.140.8.17", "10.22.16.118", "10.22.48.12", "10.22.48.14", "10.22.48.15", "10.250.44.226", "10.250.44.244", "10.250.80.34", "10.26.155.39", "10.26.34.62", "10.26.34.76", "10.26.52.84", "10.26.52.85", "10.26.52.86", "10.26.52.87", "10.26.52.88", "10.26.94.80", "10.26.94.82", "10.35.252.51", "10.61.216.102", "10.61.216.122", "10.75.32.195", "10.9.28.122", "155.201.240.61", "155.201.240.62", "alumni", "alumnidev", "alumnidevhc", "alumnihc", "alumni.nl.pwcinternal.com", "au-aapweb004", "belastingnieuws.nl.ema.pwcinternal.com", "drgweb02", "drgweb02.nam.pwcinternal.com", "drgweb02.pwcinternal.com", "drgwebsite05", "drgwebsite05.nam.pwcinternal.com", "drgwebsite05.pwcinternal.com", "drgwebsite06", "drgwebsite06.nam.pwcinternal.com", "drgwebsite06.pwcinternal.com", "drgwebsrch02", "drgwebsrch02.nam.pwcinternal.com", "drgwebsrch02.pwcinternal.com", "gweb00", "gweb00.ema.pwcinternal.com", "gweb00.pwcinternal.com", "gweb00.uk.ema.pwcinternal.com", "gweb01", "gweb01.nam.pwcinternal.com", "gweb01.pwcinternal.com", "gweb09", "gweb09.aap.pwcinternal.com", "gweb09.pwcinternal.com", "gwebsite01", "gwebsite01.nam.pwcinternal.com", "gwebsite01.pwcinternal.com", "gwebsite02", "gwebsite02.nam.pwcinternal.com", "gwebsite02.pwcinternal.com", "gwebsite03", "gwebsite03.nam.pwcinternal.com", "gwebsite03.pwcinternal.com", "gwebsite04", "gwebsite04.nam.pwcinternal.com", "gwebsite04.pwcinternal.com", "gwebsrch01", "gwebsrch01.nam.pwcinternal.com", "gwebsrch01.pwcinternal.com", "gwsmig00", "gwsmig00.ema.pwcinternal.com", "gwsmig00.pwcinternal.com", "gwsmig01", "gwsmig01.nam.pwcinternal.com", "gwsmig01.pwcinternal.com", "gwsmig09", "gwsmig09.aap.pwcinternal.com", "gwsmig09.pwcinternal.com", "gwsmigswing01", "gwsmigswing01.nam.pwcinternal.com", "gwsmigswing01.pwcinternal.com", "nl-dev001.nl.ema.pwcinternal.com", "nl-natweb001", "nl-natweb001.nl.pwcinternal.com", "nl-natweb001.pwcinternal.com", "nl-stg001.nl.ema.pwcinternal.com", "stage.knowledgecurve.com", "staging.cijfersvanoranje.nl", "staging.moneytree.com", "uk-emasta001.ema.pwcinternal.com", "uk-emasta001.pwcinternal.com", "umcpwc.nl.ema.pwcinternal.com", "us-namwebstage001.nam.pwcinternal.com", "us-namwebstage001.pwcinternal.com", "us-namwebstage002.nam.pwcinternal.com", "us-namwebstage002.pwcinternal.com", "usgkmjctydev01stage.nam.pwcinternal.com", "usgkmjctydev01stage.pwcinternal.com", "usgkmjctydev02stage.nam.pwcinternal.com", "usgkmjctydev02stage.pwcinternal.com", "0.0.0.0.", "10.12.104.101.", "10.12.104.103.", "10.140.8.156.", "10.140.8.17.", "10.22.16.118.", "10.22.48.12.", "10.22.48.14.", "10.22.48.15.", "10.250.44.226.", "10.250.44.244.", "10.250.80.34.", "10.26.155.39.", "10.26.34.62.", "10.26.34.76.", "10.26.52.84.", "10.26.52.85.", "10.26.52.86.", "10.26.52.87.", "10.26.52.88.", "10.26.94.80.", "10.26.94.82.", "10.35.252.51.", "10.61.216.102.", "10.61.216.122.", "10.75.32.195.", "10.9.28.122.", "155.201.240.61.", "155.201.240.62.", "alumni.", "alumnidev.", "alumnidevhc.", "alumnihc.", "alumni.nl.pwcinternal.com.", "au-aapweb004.", "belastingnieuws.nl.ema.pwcinternal.com.", "drgweb02.", "drgweb02.nam.pwcinternal.com.", "drgweb02.pwcinternal.com.", "drgwebsite05.", "drgwebsite05.nam.pwcinternal.com.", "drgwebsite05.pwcinternal.com.", "drgwebsite06.", "drgwebsite06.nam.pwcinternal.com.", "drgwebsite06.pwcinternal.com.", "drgwebsrch02.", "drgwebsrch02.nam.pwcinternal.com.", "drgwebsrch02.pwcinternal.com.", "gweb00.", "gweb00.ema.pwcinternal.com.", "gweb00.pwcinternal.com.", "gweb00.uk.ema.pwcinternal.com.", "gweb01.", "gweb01.nam.pwcinternal.com.", "gweb01.pwcinternal.com.", "gweb09.", "gweb09.aap.pwcinternal.com.", "gweb09.pwcinternal.com.", "gwebsite01.", "gwebsite01.nam.pwcinternal.com.", "gwebsite01.pwcinternal.com.", "gwebsite02.", "gwebsite02.nam.pwcinternal.com.", "gwebsite02.pwcinternal.com.", "gwebsite03.", "gwebsite03.nam.pwcinternal.com.", "gwebsite03.pwcinternal.com.", "gwebsite04.", "gwebsite04.nam.pwcinternal.com.", "gwebsite04.pwcinternal.com.", "gwebsrch01.", "gwebsrch01.nam.pwcinternal.com.", "gwebsrch01.pwcinternal.com.", "gwsmig00.", "gwsmig00.ema.pwcinternal.com.", "gwsmig00.pwcinternal.com.", "gwsmig01.", "gwsmig01.nam.pwcinternal.com.", "gwsmig01.pwcinternal.com.", "gwsmig09.", "gwsmig09.aap.pwcinternal.com.", "gwsmig09.pwcinternal.com.", "gwsmigswing01.", "gwsmigswing01.nam.pwcinternal.com.", "gwsmigswing01.pwcinternal.com.", "nl-dev001.nl.ema.pwcinternal.com.", "nl-natweb001.", "nl-natweb001.nl.pwcinternal.com.", "nl-natweb001.pwcinternal.com.", "nl-stg001.nl.ema.pwcinternal.com.", "stage.knowledgecurve.com.", "staging.cijfersvanoranje.nl.", "staging.moneytree.com.", "uk-emasta001.ema.pwcinternal.com.", "uk-emasta001.pwcinternal.com.", "umcpwc.nl.ema.pwcinternal.com.", "us-namwebstage001.nam.pwcinternal.com.", "us-namwebstage001.pwcinternal.com.", "us-namwebstage002.nam.pwcinternal.com.", "us-namwebstage002.pwcinternal.com.", "usgkmjctydev01stage.nam.pwcinternal.com.", "usgkmjctydev01stage.pwcinternal.com.", "usgkmjctydev02stage.nam.pwcinternal.com.", "usgkmjctydev02stage.pwcinternal.com."];
	var pageDomain = document.location.host.toLowerCase();
	var pageDomainLength = pageDomain.length;
	for (n in validDomains){
		if (pageDomainLength == validDomains[n].length && pageDomain.indexOf(validDomains[n]) >= 0){return "approved"}
	}
	for (n in stagingDomains){
		if (pageDomainLength == stagingDomains[n].length && pageDomain.indexOf(stagingDomains[n]) >= 0){return "staging"}
	}
	return "invalid"
}
function doStaging(){
	return "";
}
function doElse(){
	var docLocation = document.location.hostname;
	if (document.location.hostname == ""){docLocation = "[Local]"}
	alert("Unauthorised Usage. \n\nThe domain " + docLocation + " is not authorised to access or \nexecute some code within this page. \n\nIf you wish, please notify webmaster@pwc.com of the page you are trying to \naccess so that we may investigate further.\n\nApologies for any inconvenience this may cause.");
	return "";
}
var willDo = domainValidation();

var pwcDebug = false;
var gImages=new Array;
var gIndex=0;
var DCS=new Object();
var WT=new Object();
var DCSext=new Object();
var gDomain="statse.webtrendslive.com";
var gDcsId="dcs48je0gvievvzcevf30xglf_9p7l";
var RE={"%09":/\t/g, "%20":/ /g, "%23":/\#/g,"%26":/\&/g,"%2B":/\+/g,"%3F":/\?/g,"%5C":/\\/g};
function pwcglobal2pwc(){
// This function is used to convert any occurance of pwcglobal.com to pwc.com
	var url = arguments[0];
	var right = url.indexOf("pwcglobal.com");
	var left = url.lastIndexOf("pwcglobal.com"); 
	var left1= url.substring(left, - 1);  //extract the left substring
	var right1= url.substring(right);  
	var rightslice = right1.slice(13);  // cuts out the url bit out of the string
	var constructurl = left1 + "pwc.com" + rightslice;
	
	if ((left == -1) | (right == -1))
	{
		return url;
	}
	else{
		return constructurl;
	}
}
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=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=document.title;
	}
	WT.js="Yes";
	if (typeof(gVersion)!="undefined"){
		WT.jv=gVersion;
	}
	WT.sp="";
	DCS.dcsdat=dCurrent.getTime();
	DCS.dcssip=window.location.hostname;
	DCS.dcsuri=window.location.pathname;
	if (window.location.search){
		DCS.dcsqry=window.location.search;
	}
	if ((window.document.referrer!="")&&(window.document.referrer!="-")){
		if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
			DCS.dcsref=window.document.referrer;
		}
	}
}
function A(N,V){
	return "&"+N+"="+dcsEscape(V);
}
function dcsEscape(S){
	if (typeof(RE)!="undefined"){
		var retStr = new String(S);
		for (R in RE){
			retStr = retStr.replace(RE[R],R);
		}
		return retStr;
	}
	else{
		return escape(S);
	}
}
function dcsCreateImage(dcsSrc){
	if (document.images){
		gImages[gIndex]=new Image;
		gImages[gIndex].src=dcsSrc;
		if(pwcDebug){document.write('As element in IMG array: '+dcsSrc);}
		gIndex++;
	}
	else{
		document.write('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
		if(pwcDebug){document.write('As IMG tag: '+dcsSrc);}
	}
}
function dcsMeta(theItem){
	
	if (theItem.indexOf('WT.')==0){
		WT[theItem.substring(3, theItem.indexOf('='))] = theItem.substring(theItem.indexOf('=')+1);
	}
	else if (theItem.indexOf('DCSext.')==0){
		DCSext[theItem.substring(7, theItem.indexOf('='))] = theItem.substring(theItem.indexOf('=')+1);
	}
	else if (theItem.indexOf('DCS.')==0){
		DCS[theItem.substring(4, theItem.indexOf('='))] = theItem.substring(theItem.indexOf('=')+1);					
	}		
}
function dcsTag(){
	var cg_nDefined = new Boolean(false);
	var cg_nValid = new Boolean(false);
	var cg_nLoc = null;
	var cg_sDefined = new Boolean(false);
	var cg_sValid = new Boolean(false);
	var cg_sLoc = null;
	
	var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?";
	for (N in DCS){
		var theValue = new String(DCS[N]);
		if (theValue.indexOf('pwcglobal.com')>=0){DCS[N]=pwcglobal2pwc(theValue)}
		if (DCS[N]) {
			P+=A(N,DCS[N]);
		}
	}
	for (N in WT){
	
		if(N == "cg_n"){cg_nDefined = true; cg_nLoc = N;}
		if(N == "cg_s"){cg_sDefined = true; cg_sLoc = N;}
		
		if (WT[N]) {
			if(N == "cg_n"){cg_nValid = true;}
			if(N == "cg_s"){cg_sValid = true;}
			
			P+=A("WT."+N,WT[N]);			
		}
	}
	if((cg_sDefined == true) && (cg_sValid == false)){P+=A("WT.cg_s", "[Content sub-group defined but no value specified]")}
	if((cg_sDefined == true) && (cg_nValid == false)){P+=A("WT.cg_n", "[Content sub-group defined but no parent content group defined or specified]")} 
	else if((cg_nDefined == true) && (cg_nValid == false)){P+=A("WT.cg_n", "[Content group defined but no value specified]")}
	
	P+=A("pwcBeacon","1E7F6D");
	for (N in DCSext){
		if (DCSext[N]) {
			P+=A(N,DCSext[N]);
		}
	}
	if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
		P=P.substring(0,2040)+"&WT.tu=1";
	}
	dcsCreateImage(P);
}
function wrs_trackpage(){
	if(typeof(willDo) == "undefined" || willDo == "approved"){
		dcsVar();
		for (var i=0; i<wrs_trackpage.arguments.length; i++) {
			dcsMeta(wrs_trackpage.arguments[i]);
		}
		dcsTag();
	}
	else if(willDo == "staging"){
		doStaging();
	}
	else{
		doElse();
	}
}
function wrs_trackclick(){
	if (document.images && (typeof(willDo) == "undefined" || willDo == "approved")){
		dcsVar();
		for (var i=0; i<wrs_trackclick.arguments.length; i++) {
			dcsMeta(wrs_trackclick.arguments[i]);
		}
		dcsTag();
	}
}

