<!--
var COOKIES_DOMAIN = "";                    										//Optional: Domain to store cookies. If BLANK, use current URL's domain
var COOKIES_EXPIRE_DAYS = 365;              										//Required. Number of days to keep cookies

var CAMPAIGN_ID = "82";                       					//Required. Current campaign ID
var SOCIAL_MEDIA_DOMAIN = "";               										//Optional: Social media domain name. NO "http://"
var SOCIAL_MEDIA_TRACKING_CODE = "";        										//Optional: Social media tracking code

var AA_DOMAIN = "tracking.johnsonsbaby.com.cn"																		//Required. AGENDA Analytics Server Domain. NO "http://"
//SHDC - analytics.agenda-asia.net
//JJC  - tracking.johnsonsbaby.com.cn
var PAGEMODE = "standard";                  										//Required. standard or iframe
var RUNMODE = "release";                    										//Required. release or debug

var imageObject;

QueryString.keys = new Array(); 
QueryString.values = new Array(); 


function QueryString_Parse() { 
  var query = window.location.search.substring(1); 
  var pairs = query.split("&"); 

  for (var i = 0; i < pairs.length; i++) { 
    var pos = pairs[i].indexOf('='); 
    if (pos >= 0) { 
      var argname = pairs[i].substring(0,pos); 
      var value = pairs[i].substring(pos+1); 
      QueryString.keys[QueryString.keys.length] = argname; 
      QueryString.values[QueryString.values.length] = value; 
    } 
  } 
}

function QueryString(key) { 
  var value = null; 
  for (var i=0; i < QueryString.keys.length; i++) { 
    if (QueryString.keys[i] == key) { 
      value = QueryString.values[i]; 
      break; 
    } 
  } 
  return value; 
} 

function GenRandomNumber() {
  var rannum = Math.random() * 100000000;
  rannum = Math.round(rannum);
  var today = new Date();
  var milliseconds = today.getTime();
  return (rannum + "_" + milliseconds);
}

function GetCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
   }
   else {
     begin += 2;
   }
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));  
}

function SetCookie(name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime(today.getTime());
  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date(today.getTime()+(expires));
  document.cookie = name + "=" + escape(value) + 
  ((expires)? ";expires=" + expires_date.toGMTString() : "") + 
  ((path)   ? ";path=" + path : "" ) + 
  ((domain) ? ";domain=" + domain : "" ) +
  ((secure) ? ";secure" : "" );
}

function isEmpty(string) {
  if(string == null || string == "") 
    return true;
  else
    return false;
}

function GetDomain(url) {
  var domain;
  
  if (url.indexOf("http://") == 0) {
    domain = url.substring(7, url.indexOf("/", 7));
  } 
  else
  if (url.indexOf("https://") == 0) {
    domain = url.substring(8, url.indexOf("/", 8));
  }
  else {
  }
    
  
  return domain;
}

function TriggerEvent(url) {
  if (url.indexOf("file://" ) == 0) {
    return;
  }
  
  
  if ((url.indexOf("http://" ) != 0) && 
      (url.indexOf("https://") != 0)) {
    //Case:   NOT a full URL, likely a Flash click event
    //Action: Add "protocal://domain_name/" before "click event" to emulate a full URL
    if (window.location.href.indexOf("?") == -1) {
      //NO query string
      url = window.location.href.substring(0, window.location.href.lastIndexOf('/') + 1) + url;
    }
    else {
      //Query string
      url = window.location.href.substring(0, window.location.href.lastIndexOf('/', window.location.href.indexOf("?")) + 1) + url;
    }
  }
  

  var uid = "";
  var ctpath = "";
  var referrer = "";
  var previousurl = "";
  var previouscampaignid = "";

  if (!isEmpty(QueryString("uid"))) {
    //Case:   A visit WITH "uid" parameter, likely eDM
    //Action: Use "uid" from parameter and store the specified value to Cookies
    uid = QueryString("uid");
    SetCookie('uid', uid, COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  }
  else
  if (isEmpty(GetCookie("uid"))) {
    //Case:   Cookies have no "uid" = a new visit
    //Action: Generate a new "uid" and store the newly-generated value to Cookies
    uid = GenRandomNumber();
    SetCookie('uid', uid, COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  }
  else {
    //Case:   A return visit or a subsequent page request after landing
    //Action: Use "uid" from Cookies
    uid = GetCookie('uid');
  }
  
  if (!isEmpty(QueryString("ctpath"))) {
    //Case:   This request is a click-through from known media.
    
    //Action: Use "ctpath" from parameter and store the specified value to Cookies
    ctpath = QueryString("ctpath");
    SetCookie('ctpath', ctpath, COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
    
    //Action: Clear stored "referrer"
    referrer = document.referrer;
    SetCookie('referrer', referrer.substring(0,255), COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  }
  else
  if ((!isEmpty(SOCIAL_MEDIA_DOMAIN)) &&
      (!isEmpty(SOCIAL_MEDIA_TRACKING_CODE)) &&
      (GetDomain(url) == SOCIAL_MEDIA_DOMAIN)) {
    //Case:   Visitor is visiting the Social Media domain (Visitor comes from Agency Social Media WOM)
          
    //Action: Use specified Social Media "ctpath" and store the specified value to Cookies
    ctpath = SOCIAL_MEDIA_TRACKING_CODE;
    SetCookie('ctpath', ctpath, COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
    
    if (!isEmpty(QueryString("referrer"))) {
			referrer = QueryString("referrer");
			SetCookie('referrer', referrer.substring(0,255), COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
    }else
    if ((!isEmpty(document.referrer)) &&
       (GetDomain(document.referrer) != GetDomain(url))) {
      //Case:   Initial landing
      //Action: Use "referrer" from request (document) and store the value to Cookies
      referrer = document.referrer;
      SetCookie('referrer', referrer.substring(0,255), COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
    } 
    else {
      //Action: Retrieve "referrer" to Cookies
      referrer = GetCookie('referrer');
    }
  }
  else
  if (!isEmpty(QueryString("referrer"))) {
		referrer = QueryString("referrer");
		SetCookie('referrer', referrer.substring(0,255), COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  }else
  if ((!isEmpty(document.referrer)) &&
      (GetDomain(document.referrer) != GetDomain(url))) {
    //Case:   Latest visit is from social media
    
    //Action: Clear stored "ctpath"
    SetCookie('ctpath', '', COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
    
    //Action: Use "referrer" from request (document) and store the value to Cookies
    referrer = document.referrer;
    SetCookie('referrer', referrer.substring(0,255), COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  }
  else {
    //Case:   A visit from Direct URL or Bookmark or a subsequent page request after initial landing
    
    //Action: Retrieve "ctpath" to Cookies
    ctpath = GetCookie('ctpath');
    
    //Action: Retrieve "referrer" to Cookies
    referrer = GetCookie('referrer');
  }
  
  if (GetDomain(document.referrer) == GetDomain(url)) {
    //Case:   Same domain
    //Action: Record Previous URL
    previousurl = document.referrer;
  }
  
  if ((!isEmpty(GetCookie("campaignid"))) &&
      (GetCookie("campaignid") != CAMPAIGN_ID)) {
    //Case:   The visitor visits THIS DOMAIN's PREVIOUS campaign website before
    //Action: Report previous Campaign ID to AGENDA Analytics
    previouscampaignid = GetCookie("campaignid");
  }
  
  //Action: Remember visitor's LAST entered campaign website for "Returning Visitor"
  SetCookie('campaignid', CAMPAIGN_ID, COOKIES_EXPIRE_DAYS, '/', COOKIES_DOMAIN, '');
  

  var queryStr = "";
  queryStr = queryStr + "?uid=" + escape(uid);
  queryStr = queryStr + "&campaignid=" + CAMPAIGN_ID;
  queryStr = queryStr + "&previouscampaignid=" + previouscampaignid;
  queryStr = queryStr + "&ctpath=" + escape(ctpath);
  queryStr = queryStr + "&referrer=" + escape(referrer);
  queryStr = queryStr + "&url=" + escape(url);
  queryStr = queryStr + "&previousurl=" + escape(previousurl);
  queryStr = queryStr + "&rnd=" + GenRandomNumber();
  
  var imageUrl = GetServerDomain() + queryStr;
  imageObject = new Image();
  imageObject.src = imageUrl;
}

function UserClick(event) {
  TriggerEvent(event);
}

function callAnalytics(event) {
  TriggerEvent(event);
}

function GetServerDomain() {
  if(RUNMODE == "debug") {
    return "http://localhost/Analytics/images/tr.gif";
  }

  var imageDomain;
  
  if(RUNMODE == "release") {
    if (window.location.protocol.indexOf("https:") == 0) {
      imageDomain = "https://" + AA_DOMAIN + "/images/tr.gif";
    } 
    else {
      imageDomain = "http://"  + AA_DOMAIN + "/images/tr.gif";
    }

    return imageDomain;
  }
}


QueryString_Parse();

TriggerEvent(window.location.href);

//-->