/**
* Debugage
*/
var XITI_DEBUG=false;

/** Identifiant du tag de contenu **/
var BODY_CONTENT_ID = "body_content";

/**
* Constantes pour la construction de l'url TRACKOO
*/
var TRACKOO_PREFIX_URL="http://www.trackoo.com/V2/image.asp";
var TRACKOO_XSCREEN_PRM = "xscreen";
var TRACKOO_YSCREEN_PRM = "yscreen";
var TRACKOO_COLOR_PRM = "color";
var TRACKOO_GROUP_PRM = "Groupe";
var TRACKOO_GROUP_DEFAULT = "TOP";
var TRACKOO_PAGE_PRM = "Page";
var TRACKOO_NOMPAGE_PRM = "NomPage";
var TRACKOO_NOMPAGE_DEFAULT ="Default";
var TRACKOO_ORIGINE_PRM = "vorigine";
var TRACKOO_COOKIE_PRM = "vcookie";
var TRACKOO_DOMAIN_PRM = "domaine";
var TRACKOO_URL = "vurl";

/**
* Constantes pour la construction de l'url XITI
*/
var XITI_ACCOUNT_PRM = "s";
var XITI_REFERER_PRM = "ref";
var XITI_SCREEN_PRM = "r";
var XITI_PARTNER_PRM = "s2";
var XITI_PAGE_PRM = "p";
var XITI_DATE_PRM = "hl";
var XITI_CLICK_PRM = "clic";
var XITI_PREFIX_URL = "http://logi7.xiti.com/hit.xiti";


/**
* Section pour le compte grandlyon
*/
var XITI_SECTION_LBGLOBAL_EN = 2;
var XITI_SECTION_LBGLOBAL_FR = 1;

/**
* Types de click
*/
var XITI_NOCLICK;
var XITI_OUTCLICK = "S";
var XITI_NAVCLICK = "N";

/**
* Nom des pages pour les types de sortie
*/
var XITI_OUT_PARTNER = "accueil_site";
var XITI_CONSULT_PARTNER = "consultation";

/**
* Redirection 
*/
var XITI_REDIRECT;

/**
* Parametre de contruction des pages
*/
var XITI_RUB_SEP = "::";

/**
* Compte partenaire xiti a utiliser
*/
var s_xiti_partner_account;

/**
* Compte grandlyon xiti a utiliser
*/
var s_xiti_gl_account;

/**
* Definition du compte partenaire XITI a utiliser
* @param aAccount compte partenaire XITI utilise
*/
function xiti_setPartnerAccount(aAccount)
{
	s_xiti_partner_account = aAccount;
}

/**
* Definition du compte grandlyon XITI a utiliser
* @param aAccount compte grandlyon XITI utilise
*/
function xiti_setGLAccount(aAccount)
{
	s_xiti_gl_account = aAccount;
}


/**
* Marquage d'un page du portail via Trackoo
*/
function trackoo_tag(){
	var cookie = navigator.cookieEnabled ? 1 : 0;
	var origine= escape(window.document.referrer);
	if (origine == "undefined" || origine == "") origine="inconnue";
	var domaine=document.domain;
	var url=document.URL;
	
	var param = TRACKOO_XSCREEN_PRM + "=" + screen.width 
		+ "&" + TRACKOO_YSCREEN_PRM + "=" + screen.height 
		+ "&" + TRACKOO_COLOR_PRM + "=" + screen.colorDepth 
		+ "&" + TRACKOO_GROUP_PRM + "=" + TRACKOO_GROUP_DEFAULT
		+ "&" + TRACKOO_NOMPAGE_PRM + "=" + TRACKOO_NOMPAGE_DEFAULT
		+ "&" + TRACKOO_ORIGINE_PRM + "=" + origine
		+ "&" + TRACKOO_COOKIE_PRM + "=" + cookie
		+ "&" + TRACKOO_DOMAIN_PRM + "=" + domaine
		+ "&" + TRACKOO_URL + "=" + url;
	
	var url = TRACKOO_PREFIX_URL + "?" + TRACKOO_PAGE_PRM + "=" + document.location + "&" + param;
	
	xiti_call(url);
	
	return true;
}

/**
* Marquage d'un page du portail
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page
*/
function xiti_tag(aPartner, aPage)
{
	var url = xiti_common_url(s_xiti_partner_account, aPartner, aPage);
	xiti_call(url);
	return true;
}

/**
* Marquage d'un page du portail
* @param aLanguage langue
* @param aPage identifiant de la page
*/
function xiti_gl_tag(aLanguage, aPage)
{
	var section = aLanguage.toLowerCase() == 'en' 
					? XITI_SECTION_LBGLOBAL_EN 
					: XITI_SECTION_LBGLOBAL_FR;
	var url = xiti_common_url(s_xiti_gl_account, section, aPage);
	xiti_call(url);
	return true;
}

/**
* Marquage d'un click de consultation des ressources
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page
*/
function xiti_click_ressource( aPartner, aPage)
{
	return xiti_tag(aPartner, aPage);
}

/**
* Marquage des clics de sortie de type LIENS (sans consultation d'un contenu)
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page (optionnel XITI_OUT_PARTNER par defaut)
*/
function xiti_click_sortie(aPartner, aPage)
{
	if(!aPage) aPage = XITI_OUT_PARTNER;
	var url = xiti_common_url(s_xiti_partner_account, aPartner, aPage, XITI_OUTCLICK);
	xiti_call(url);
	return true;
}

/**
* Marquage des clics de navigation de type LIENS
* @param aLanguage langue
* @param aPage identifiant de la page
*/
function xiti_click_navigation(aLanguage, aPage){
	var section = aLanguage.toLowerCase() == 'en' 
					? XITI_SECTION_LBGLOBAL_EN 
					: XITI_SECTION_LBGLOBAL_FR;
	var url = xiti_common_url(s_xiti_gl_account, section, aPage, XITI_NAVCLICK);
	xiti_call(url);
	return true;
}

/**
* Marquage des clics de sortie de type CONSULTATION (avec consultation d'un contenu)
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page (optionnel XITI_CONSULT_PARTNER par defaut)
* @param aURL url de redirection (optionnel XITI_REDIRECT par defaut)
* @param aTarget frame destination (optionnel null par defaut)
*/
function xiti_click_consult(aPartner, aPage, aUrl, aTarget)
{
	//marquage d'un click de sortie
	xiti_click_sortie(aPartner, 
					  (aPage && aPage.length > 0 )
					   ? aPage
					   : XITI_CONSULT_PARTNER);

	//redirection
	var url = XITI_REDIRECT;
	if(aUrl) url = aUrl;
	if(url)
	{
		var wnd = window;
		if(aTarget && window.frames && window.frames[aTarget]) wnd = window.frames[aTarget];
		if(!XITI_DEBUG) wnd.location.href = url;

	}
	return true;
}


/**
* Generation de l'image a partir de l'url
* @param aUrl url d'appel
*/
function xiti_call(aUrl)
{
	if(aUrl)
	{
	    var img = new Image();
		img.onerror = xiti_onerror;
		if(!XITI_DEBUG) img.src = aUrl;
		
		if(XITI_DEBUG)
		{
			var part = aUrl.split("&");
			var msg = "";
			for(var i = 0 ; i < part.length ; i++)
				msg += part[i] + "\n";
			alert("url=" + aUrl + "\n" + msg);
		}
	}
}

/**
* Fonction appelee si l'appel a XITI ne fonctionne pas
*/
function xiti_onerror()
{
	window.status = "XITI : impossible de marquer la page";
}

/**
* Generation des parametre communs de l'url
* @param aAccount compte XITI utilise
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page
* @param aClic type de click (optionnel)
*/
function xiti_common_url(aAccount, aPartner, aPage, aClic)
{
	sRes = null;
	
	if(aAccount)
	{
		var date = new Date();
		var xt_ref = document.referrer.replace(/[<>"]/g, '').replace(/&/g, '$');
		var xt_screen = screen.width
						+ "x" + screen.height 
						+ "x" + screen.pixelDepth
						+ "x" + screen.colorDepth;
		var xt_hour_prm = date.getHours()
						+ "x" + date.getMinutes()
						+ "x" + date.getSeconds();
		sRes = XITI_PREFIX_URL
				+ "?" + XITI_ACCOUNT_PRM + "=" + aAccount
				+ "&" + XITI_PARTNER_PRM + "=" + aPartner
				+ "&" + XITI_PAGE_PRM + "=" + aPage;

		if(aClic && aClic != XITI_NOCLICK)
				sRes += "&" + XITI_CLICK_PRM + "=" + aClic;

		sRes += "&" + XITI_DATE_PRM + "=" + xt_hour_prm
				+ "&" + XITI_SCREEN_PRM + "=" + xt_screen
				+ "&" + XITI_REFERER_PRM + "=" + xt_ref;
	}
	else if (XITI_DEBUG)
		alert("Aucun compte defini");
	
	return sRes;
}

/**
* Generation de l'identifiant de la page consultee a partir de l'identifiant de la page d'appel et de l'url (Red Hat)
* du contenu
* @param aUrl url d'appel
*/
function getUrlPageTag(aPage, aUrl)
{
	var pageSection = aPage.split(XITI_RUB_SEP);
}

/**
*Ajoute sur les liens du contenu un tag de redirection xiti
* @param aPartner identifiant du partenaire
* @param aPage identifiant de la page (optionnel XITI_OUT_PARTNER par defaut)
*/
function appendXitiTagOnBodyContentLink(aPartner, aPage, aPartnerURL){
	if(aPartner && aPage && aPartner.length > 0 && aPage.length > 0){
		//recuperation du nom de domaine
		var lnSlashIdx = aPartnerURL.indexOf("/",8);
		if(lnSlashIdx < 0) lnSlashIdx = aPartnerURL.length;
		aPartnerURL = aPartnerURL.substring(0, lnSlashIdx);
		//recuperation du tag identifiant du contenu
		var loContentTag = document.getElementById(BODY_CONTENT_ID);
		
		if(loContentTag){
			var laA = loContentTag.getElementsByTagName("A");
			var loClickFct = function(){xiti_click_sortie(aPartner, aPage); return true;};
			
			for(var lnI = 0 ; lnI < laA.length ; lnI++){
				if(laA[lnI].href.indexOf(aPartnerURL) == 0){
					JSTool.attachEvent(laA[lnI], JSTool.eventType.Click,loClickFct);
				}
			}
		}
	}
}


