TracyProcessLink = function (obj)
{
	this.numLinks = 0;

	this.constructor = function(obj)
	{
		if (!obj)
			return false;

		this._processLinks(obj);
	}

	/**
	* Processazione link overture e ritorno numero di link
	*/
	this._processLinks = function(obj)
	{
		if (!obj.trackAdvClick)
		{
			alert("wrong object");
			return false;
		}
		var re=/(\.overture|re\.gomeo)\.com/g
		var re2=/\/detail_/g

		for(i=0; i<document.links.length; i++)
		{
			var text = document.links[i].href;
			if (text.match(re))
			{
				document.links[i].onclick = function()
				{
					obj.trackAdvClick();
				}
				this.numLinks = this.numLinks + 1;
			} 
			else if (text.match(re2))
			{
				document.links[i].onclick = function()
				{
					obj.trackContentClick();
				}
			}
		}
		return true;
	}

	this.getNumLinks = function()
	{
		return this.numLinks;
	}

	this.constructor(obj);
}

TracyExecuter = function ()
{
	this._valid = false;

	this.constructor = function()
	{
		if (!self.TracyTracker)
			this._valid = false;
		else
			this._valid = true;
	}

	/**
	* Inizializzazione oggetto
	*/
	this._initObject = function()
	{
		var objTracy = new TracyTracker( 'Common.4you' );
		objTracy.trackHost = true;
		objTracy.trackReferer = true;
		objTracy.trackHref = true;

		objTracy.trackData.country = AMBIENT['country'];
		objTracy.trackData.template = AMBIENT['template']
		objTracy.trackData.tld = AMBIENT['tld'];
		objTracy.trackData.lang = AMBIENT['lang'];
		objTracy.trackData.keyword = AMBIENT['keyword'];
		objTracy.trackData.keywordAdv = AMBIENT['keywordAdv'];
		objTracy.trackData.source = 'mymedia';
		if (AMBIENT['fromAdv'] == 1)
		{
			objTracy.sessData.fromAdv = 1;
			objTracy.fromAdv = 1;
		}

		return objTracy;
	}

	/**
	* Tracciamento click content
	*/
	this.trackContentClick = function()
	{
		if(!this._valid)
			return false;
		var	objTracy = this._initObject();
		objTracy.trackData.isContentClick = 1;
		objTracy.sessData = false;
		objTracy.executeTrace();
	}

	/**
	* Tracciamento click adv
	*/
	this.trackAdvClick = function()
	{
		if(!this._valid)
			return false;

		var objTracy = this._initObject();
		objTracy.trackData.isAdvClick = 1;
		objTracy.sessData = false;
		objTracy.executeTrace();
	}

	/**
	* Tracciamento visita
	*/
	this.trackVisit = function(numLinks)
	{
		if(!this._valid)
			return false;

		var	objTracy = this._initObject();


		objTracy.trackData.trackAdv = (numLinks>0 ) ? 1 : 0;
		objTracy.trackData.keywordPrec = objTracy.sessData.keyword ? objTracy.sessData.keyword : '';
		objTracy.trackData.navigation = objTracy.sessData.navigation ? objTracy.sessData.navigation + 1: 1;


		if (AMBIENT['fromAdv'] == 1)
		{
			objTracy.trackData.fromAdv = 1;
		} else
		{
			if (objTracy.sessData.fromAdv == 1)
				objTracy.trackData.fromAdv = 1;
		}

		if (numLinks>0)
			objTracy.trackData.resultsAdv = numLinks;
		if (AMBIENT['results'])
			objTracy.trackData.results = AMBIENT['results'];

		objTracy.sessData.keyword = objTracy.trackData.keyword;
		objTracy.sessData.navigation = objTracy.trackData.navigation;
		objTracy.sessData.fromAdv = objTracy.trackData.fromAdv;
		objTracy.sessExpire = 600;

		objTracy.executeTrace();
	}

	this.constructor();
}
if (!objTracyExecuter)
{
	var objTracyExecuter =  new TracyExecuter();

	window.onload = function()
	{
		var objTracyProcessLink = new TracyProcessLink(objTracyExecuter);
		var numLinks = objTracyProcessLink.getNumLinks();
		objTracyExecuter.trackVisit(numLinks);
	}
}