var AMSV 	= "1.5.0";
var ANSID	= "11683";		// Site ID
var AMSID 	= "TID";
var AMSTEP	= "te";		// Targeting Engine prefix
var AMSTES	= "tte/blank.gif";	// Targeting Engine suffix
var AMSLGC	= 1;		// Flag to indicate whether "page" query string variable is passed
var AMSJP	= "http://anrtt.tacoda.net/cr/cr";
var AMSEX 	= 1000*3600*24*365*10;
var AMSC 	= new Array(AMSID);
var AMSK 	= new Array();
var AMSVL 	= new Array();
var AMSN 	= 0;
var AMSCR	= 0;
var AMSDPF	= 0;		// AMS Data Provider Global Flag
var ANDPF	= 0;		// TAN Data Provider Global Flag
var ANDSZ	= 5;		// Default Ad Size (TAN Only)
var ANVAC	= 'a';		// Default Area Code (TAN Only)
var ANVSZ	= ANDSZ;	// Default Ad Size (TAN Only)
var ANVPC	= 'OTH';	// Default Page Category
var ANVSC	= '';		// Default Sub Category
var ANVDT	= 0;		// Data Provider Call Action Flag (TAN Only)
var ANVDA	= 0;		// AMS Call Action Flag
var ANVAD	= 0;		// Inventory Provider Call Action Flag (TAN Only)

// Read Cookie
function AMSRC(n) {
var cn = n + "=";var dc = document.cookie;
if (dc.length > 0) {
for(var b = dc.indexOf(cn);b!=-1;b=dc.indexOf(cn,b)) {
if((b!=0)&&(dc.charAt(b-1)!=' ')) {b++;continue;}
b+=cn.length;
var e=dc.indexOf(";",b);if (e==-1) e=dc.length;
return unescape(dc.substring(b,e));}}
return null;}

// Set Cookie
function AMSSC(n,v,ex,p) {
var e = document.domain.split (".");
e.reverse();
var m = e[1] + '.' + e[0];
var cc = n+"="+escape(v);
if (ex) {var exp = new Date;exp.setTime(exp.getTime()+ex);cc += ";expires="+exp.toGMTString();}
if (p) {cc += ";path="+p;}
if (m) {cc += ";domain="+m;}
document.cookie = cc;}

// Get root domain
function ANGRD() {
var rf=top.location.href;
var i=j=0;
i=rf.indexOf('/');i=rf.indexOf('/',++i);j=rf.indexOf('/',++i);
r=rf.substring(i,j);
return r;
}

// Legacy function call support
function Tacoda_AMS_DDC_addPair(k, v) {AMSAP(k,v);}

function AMSAP(k,v){
AMSK[AMSN] = k;AMSVL[AMSN] = v;AMSN++;}

function AMSTCV() {
var TVS = "";
for(var i=0;i<AMSN; i++) {
TVS += "&v_" + escape( AMSK[i].toLowerCase() ) + "=" + escape( AMSVL[i].toLowerCase() ) ;}
return TVS;}

// Check for cookie blocking
function AMSDCB() {
AMSSC('TCT',1, 60*1000, '/');
if (AMSRC('TCT')==null) {return true;}
else {return false;}}

// Main function call to pass parameters/action cmds
function TCDA(ps) {
   // Parse out all value and cmds
   ps=ps.toUpperCase();
   var pa=ps.split(";");
   for (p in pa) {
      kv=pa[p].split("=");
      k=kv[0];v=kv[1];

      // Trim spaces off beginning and end of key and value
      if (k!=null) {k=ANTR(k);}
      if (v!=null) {v=ANTR(v);}
   
      switch (k) {
         // Site Area (sa)
         case ("SA"):
            if (v!=null&&v!='') {ANVAC=v;}
            break;
   
         // Size (sz)
         case ("SZ"):
            if (v!=null&&v!='') {ANVSZ=v;}
            break;
         
         // Content Category (cc)
         case ("CC"):
            if (v!=null&&v!='') {ANVPC=v;}
            break;
         
         // Sub Category (sc)
         case ("SC"):
            if (v!=null&&v!='') {ANVSC=v;}
            break;
         
         // Do TAN Call (dt)
         case ("DT"):
            ANVDT=1;
            break;
         
         // Do AMS Call (da)
         case ("DA"):
            ANVDA=1;
            break;
   
         // Do TAN Ad Call (ad)
         case ("AD"):
            ANVAD=1;
            break;
   
         default:
            if (v!=null&&v!='') {AMSAP(k,v);}
      }
   }
   // Process Actions
   // Data Provider Call - must come before Ad call
   if (ANVDT==1) {ANDP(ANVPC);ANVDT=0;}

   // Inventory Provider Call (Ad Call)
   if (ANVAD==1) {
      if (ANVPC!=null&&ANVPC!=''&&ANDPF==0) {ANAP(ANVAC,ANVSZ,ANVPC);}	// If Page Category set and Data Provider call not yet made, pass Page category
      else {ANAP(ANVAC,ANVSZ);}
      ANVAD=0;
   }

   // AMS Data Call
   if (ANVDA==1) {AMSDP();ANVDA=0;}

   return;}


// Trim leading and trailing spaces
function ANTR(s) {
   while (s.charAt(0) == ' ')
     s = s.substring(1);
   while (s.charAt(s.length - 1) == ' ')
     s = s.substring(0, s.length - 1);
   return s;
}

// Dummy TAN functions
function ANDP(pc) {
return;}

function ANAP(ac,sz,pc) {
return;
}

// Legacy function call
function Tacoda_AMS_DDC(tiu, tjv) {AMSDDC(tiu,tjv);}

// AMS Data Call
function AMSDP() {
// Generate path to Targeting Engine
var e = ANGRD().split(".");
e.reverse();
var t = e[1] + '.' + e[0];
var tiu = 'http://'+AMSTEP+'.'+t+'/'+AMSTES;
AMSDDC(tiu,"0.0");
}

// Call TE
function AMSDDC(tiu, tjv) {
if (AMSDPF==1) {return;} else {AMSDPF=1;}	//If DP function call has been made before, don't do it again
var ckblk = AMSDCB();
if (AMSCR==1 && !ckblk) {
   var now=new Date();
   if (AMSUC==null || AMSUC != AMSUID) {  // Reset cookie if no cookie or if cookie != cached value
      if (AMSDT * 1000 >= now.getTime()-3600000) {AMSAP("amscr","1");} //Add key/value to indicate brand new cookie
      else {AMSAP("amscr","2");} //Add key/value to indicate reclaimed cookie
      AMSSC(AMSID,AMSUID,AMSEX,"/");}
}
var ta = "?"+Math.random()+"&v="+AMSV+"&r="+escape(document.referrer)+"&p="+ANVPC+":%20"+ANVSC;
if (AMSLGC==1) {ta += "&page="+escape(window.location.href);
ta += "&tz="+(new Date()).getTimezoneOffset()+"&s="+ANSID;}
if (ckblk) {
ta += "&ckblk";
} else {
for(var i=0;i<AMSC.length;i++) {
var cl = AMSC[i];
var clv = AMSRC(cl);
if(cl != null) {
ta += "&c_"+escape(cl)+"="+escape(clv);
}
}
}
ta += AMSTCV();
document.write('<IMG '+'SRC="' + tiu + ta + '" STYLE="display: none" height="1" width="1" border="0">');
}

if (AMSCR == 1) {
var AMSUID="";
var AMSDT=0;
var AMSUC=AMSRC(AMSID);
if (AMSUC!=null) {
  document.write('<SCR'+'IPT SRC="'+AMSJP+'?ID='+AMSID+'&VAL='+AMSUC+'" LANGUAGE="JavaScript"></SCR'+'IPT>');
} else {
  document.write('<SCR'+'IPT SRC="'+AMSJP+'?ID='+AMSID+'" LANGUAGE="JavaScript"></SCR'+'IPT>');
}}
