function getQueryVariable(variable)
{
var query = document.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++)
{
  var pair = vars[i].split("=");
  if (pair[0] == variable)
  {
   return pair[1];
  }
}
}

function xreplace(checkMe,toberep,repwith){
var temp = checkMe;
var i = temp.indexOf(toberep);
while(i > -1){
temp = temp.replace(toberep, repwith);
i = temp.indexOf(toberep);
}
return temp;
}

function createCookie(name,value,minutes)
{
	if (minutes)
	{
		var date = new Date();
		date.setTime(date.getTime()+(minutes*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/;domain=."+document.domain.replace("www.","");
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function getDomainFromURL(URL)
{
  URL=URL+"/";
  URL=URL.replace("http://","");
  URL=URL.replace("www.","");
  return URL.substring(0,URL.indexOf("/"));
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function IsInFrames()
{
  return (self != top);
}

function DomainMatch(domain1, domain2)
{
   return (getDomainFromURL(domain1)== getDomainFromURL(domain2));
}


function SameDomain(ref)
{
   return (getDomainFromURL(ref)== document.domain.replace("www.",""));
}

function SameReferer(ref1,ref2)
{
   return (ref1 == ref2);
}


function GetReferer()
{
  var tempRef=getQueryVariable("refurl");
  if (tempRef==null){tempRef=document.referrer;}
  return tempRef;
}

function XPath(path)
{
	if (path!=null)
	{
		path=xreplace(path,"?","|");
		path=xreplace(path,"&",";");
		path=xreplace(path,"=",":");
		path=xreplace(path,"<","");
		path=xreplace(path,">","");
		path=xreplace(path,"[","");
		path=xreplace(path,"]","");
		path=xreplace(path,"'","");
	}
	return path;
}

function isset(varname)  {
  if(typeof( window[ varname ] ) != "undefined") return true;
  else return false;
}

function GetUrl()
{
  if(pidstring != null)
  {
	if(pidstring.lenght = 36)
	{
		url = "http://gate.epaysys.com/click.aspx?"+querystring.replace("?","&");
		createCookie("tcgpid", pidstring,527040);
	}
	else
	{
		url = "http://gate.epaysys.com/click.aspx?PID="+pidm;
	}
  }
  else
  {
	tcgpid=readCookie("tcgpid");
	if(tcgpid == null) {tcgpid=pidm;}
	url="http://gate.epaysys.com/click.aspx?PID="+tcgpid+querystring.replace("?","&");
	createCookie("tcgpid", tcgpid,527040);
  }
  return url
}

function GetUrlM()
{
	url="http://gate.epaysys.com/click.aspx?PID="+pidm+querystring.replace("?","&");
	createCookie("tcgpid",pidm,527040);
    return url
}

function GetPixel()
{
if (exTrack==1)
{
	url=GetUrlM();
}
  else
{
	url=GetUrl();
}
createCookie("tcg", 1);
if (refererUrl!=null && refererUrl!="")
{
      createCookie("refUrl", refererUrl,527040);
	  if (url!=null){url=url + "&refurl="+XPath(refererUrl);}
}
if (url!=null)
{
	//document.write("url:"+url);
	document.write('<img name=click src='+url+' width=1 height=1>')
}
}

function SetExTrack()
{
exTrack=0;
if (document.domain.replace("www.","")=="download-it-free.com" || 
document.domain.replace("www.","")=="free-download-center.com"){exTrack=1;}
return exTrack;
}

var pidstring = getQueryVariable("PID");
var tcg = getQueryVariable("tcg");
var querystring = document.location.search;
var url ;
var tcgpid;
var ipaddres;
var refererUrl;
if (!isset("exTrack"))
{
	var exTrack;
	exTrack=SetExTrack();
}
refererUrl=getQueryVariable("refurl");
if (refererUrl!=null)
{
    var toExtract="refurl="+refererUrl;
    querystring =xreplace(querystring,toExtract,"");
}
if (refererUrl==null){refererUrl=document.referrer;}

if (tcg==null){tcg=readCookie("tcg");}
if (tcg==null)
{
  if (refererUrl==null || refererUrl==""){refererUrl=readCookie("refUrl");}
  GetPixel();
}
else
{
	if ((!SameDomain(refererUrl)))
	{
	 if (!IsInFrames() || (IsInFrames() && getQueryVariable("refurl")!=null) )
	 {
	  //GetPixel();
	 }
	}
}