var WTA;

var prodWWW2MetricsHostDomains = new Array("www2.");
var prodWWW3MetricsHostDomains = new Array("www3.","peecm","papp","pwps","pwas","home");
var prodMetricsHostDomains = new Array("www.","ira.","rollover.","metrics.");

var qualWWW2MetricsHostDomains = new Array("www2qual.","pdqual.troweprice.com/rps");
var qualWWW3MetricsHostDomains = new Array("www3qual.","qeecm","qwps","qwas","pdqual");
var qualMetricsHostDomains = new Array("metricsqual.");

var devWWW2MetricsHostDomains = new Array("www2dev.","pddev.troweprice.com/rps");
var devWWW3MetricsHostDomains = new Array("www3dev.","deecm","dapp","dwps","dwas","pddev");
var devMetricsHostDomains = new Array("metricsdev.","localhost","h30924","h31978");

var prodWWW2MetricsServer = "//www2.troweprice.com/metrics";
var prodWWW3MetricsServer = "//www3.troweprice.com/metrics";
var prodMetricsServer = "//metrics.troweprice.com";
var qualWWW2MetricsServer = "//www2qual.troweprice.com/metrics";
var qualWWW3MetricsServer = "//www3qual.troweprice.com/metrics";
var qualMetricsServer = "//metricsqual.troweprice.com";
var devWWW2MetricsServer = "//www2dev.troweprice.com/metrics";
var devWWW3MetricsServer = "//www3dev.troweprice.com/metrics";
var devMetricsServer = "//metricsdev.troweprice.com";

var metricsServer = "//metrics.troweprice.com";

var trackingResource = "/trpwa_e.txt";
var logFlag = "Log=1";

function getMetricsServer()
{
	var x;
	var hostname = window.location.hostname;
	for ( x in prodWWW3MetricsHostDomains ) 
	{
		if (hostname.indexOf(prodWWW3MetricsHostDomains[x]) != -1)
		{
			metricsServer = prodWWW3MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in prodWWW2MetricsHostDomains ) 
	{
		if (hostname.indexOf(prodWWW2MetricsHostDomains[x]) != -1)
		{
			metricsServer = prodWWW2MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in prodMetricsHostDomains ) 
	{
		if (hostname.indexOf(prodMetricsHostDomains[x]) != -1)
		{
			metricsServer = prodMetricsServer;
			return;
		}
	}
	x=0;
	for ( x in qualWWW3MetricsHostDomains ) 
	{
		if (hostname.indexOf(qualWWW3MetricsHostDomains[x]) != -1)
		{
			metricsServer = qualWWW3MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in qualWWW2MetricsHostDomains ) 
	{
		if (hostname.indexOf(qualWWW2MetricsHostDomains[x]) != -1)
		{
			metricsServer = qualWWW2MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in qualMetricsHostDomains ) 
	{
		if (hostname.indexOf(qualMetricsHostDomains[x]) != -1)
		{
			metricsServer = qualMetricsServer;
			return;
		}
	}
	x=0;
	for ( x in devWWW3MetricsHostDomains ) 
	{
		if (hostname.indexOf(devWWW3MetricsHostDomains[x]) != -1)
		{
			metricsServer = devWWW3MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in devWWW2MetricsHostDomains ) 
	{
		if (hostname.indexOf(devWWW2MetricsHostDomains[x]) != -1)
		{
			metricsServer = devWWW2MetricsServer;
			return;
		}
	}
	x=0;
	for ( x in devMetricsHostDomains ) 
	{
		if (hostname.indexOf(devMetricsHostDomains[x]) != -1)
		{
			metricsServer = devMetricsServer;
			return;
		}
	}
}


var ct = "<img src=";
//getMetricsServer();
var cd = metricsServer; //this should contain the domain of the
                                 //web site that will host the page tag

var cu = trackingResource+"?"+logFlag; 
var ce = " border=0 heigth=1 width=1>";

var c = {};
//c["sw"] = screen.width;
//c["sh"] = screen.height;
//c["cd"] = screen.colorDepth;
var co = "";

for ( cKey in c ) {
	co = co+"&"+cKey+"="+escape(c[cKey]);
}
//document.write(ct,cd,cu,co,ce);

var d = {};
//d["dt"] = document.title;
d["dr"] = document.referrer;
d["du"] = document.URL;
d["cb"] = new Date().getTime();
var vo = "";

if (typeof v != "undefined") {
	for ( vKey in v ) {
		vo = vo+"&"+vKey+"="+escape(v[vKey]);
	}
}
for ( dKey in d ) {
	vo = vo+"&"+dKey+"="+escape(d[dKey]);
}
document.write(ct,cd,cu,co,vo,ce);
//END REFERENCE PAGE TAG


if (!WTA) WTA = {};
WTA.globalNamespace = this;

WTA.createNamespace = function(name){
    if (name.charAt(0) != '.' && name.charAt(name.length-1) != '.' && name.indexOf("..") == -1){
        var parts = name.split('.');
        var container = WTA.globalNamespace;
        var names = "";
        for (var i=0; i < parts.length; i++){
            var part = parts[i];
            names = names + part;
            // build Namespace
            if (part.substring(0,1) != part.substring(0,1).toUpperCase() || part == 'WTA'){ // don't handle classes
                if (!container[part])container[part] = {};
                container = container[part];
                if (!container.NAME) container.NAME = names;
                if (i < parts.length -1) names = names + '.';
            }
        }
        var namespace = container;
        return namespace;
    }
};

// Create namespace for the class
WTA.createNamespace('WTA.utils');

WTA.utils.tags ={

  flush:function(){
	  var now = new Date();
	  getMetricsServer();
	  var ct = "<img src=";
	  var cd = metricsServer; 
	  var cu = trackingResource+"?"+logFlag; 
	  var ce = " border=0 height=1 width=1>";

	  var c = {};
//	  c["sw"] = screen.width;
//	  c["sh"] = screen.height;
//	  c["cd"] = screen.colorDepth;
      c["cb"] = now.getTime();
	  var co = "";

	  for ( cKey in c ) {
		  co = co+"&"+cKey+"="+escape(c[cKey]);
	  }
	  
	  var d = {};
//	  d["dt"] = document.title;
	  d["dr"] = document.referrer;
	  d["du"] = document.URL;
	  var vo = "";

	  if (typeof v != "undefined") {
		  for ( vKey in v ) {
			  vo = vo+"&"+vKey+"="+escape(v[vKey]);
		  }
	  }
	  for ( dKey in d ) {
		  vo = vo+"&"+dKey+"="+escape(d[dKey]);
	  }
	  document.write(ct,cd,cu,co,vo,ce);
  },

  sendlink:function(element,component,linktext){
	var queryparam = "v_event=CLK&v_comp=" + component + "&v_link=" + linktext;
	WTA.utils.tags.send(queryparam);
  },

  sendonchange:function(element,component){
	var queryparam = "v_event=CHNG&v_comp=" + component + "&v_slctd=" + escape(element.options[element.selectedIndex].value);
	WTA.utils.tags.send(queryparam);
  },

  sendexit:function(element,site){
	var queryparam = "v_event=EXTCLK&v_site=" + site + "&v_url=" + escape(element.href);
	WTA.utils.tags.send(queryparam);
	window.setTimeout(function(){WTA.utils.tags.navigate(element.href);}, 100);
    return false;
  },

  send:function(queryparam){
	  getMetricsServer();
      var now = new Date();
      var wtatrpImg = document.createElement("img");
	  var src = metricsServer + trackingResource + "?" + logFlag + "&" + queryparam + "&cb="+now.getTime();
      wtatrpImg.setAttribute("src",src);
      wtatrpImg.width = wtatrpImg.height = 1;
      document.body.appendChild(wtatrpImg);
  },

  navigate:function(url){
    document.location.href = url;
   }
};








