<!-- Begin Sitestat OnClick v1.0 Copyright (c) 2001-2007 Nedstat B.V. All rights reserved.-->
function ns_onclick (ns_l,a, url, name, type, winopt){
	ns_l+=name;
	ns_l+='&ns_type='+type+'&ns_action=view';
	ns_l+='&ns__t='+(new Date()).getTime();
	if(!url)	url=a.href;
	var ns_0=document.referrer;
	if(ns_0.lastIndexOf('/')==ns_0.length-1)
		ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0);
	if (ns_0.length>0)
		ns_l+='&ns_referrer='+escape(ns_0);
	winopt=winopt||"";
	var target=(a&&a.target&&a.target!="")?(a.target.substring(0,1)=="_")?a.target.substring(1):a.target:"self";
	var ns_i=new Image();
	if(target&&url){
		if(window[target]){
			window.ns_softclick_timer=function(target,url){
				return function(){
						ns_i.onload=ns_i.onerror=function(){
							return;};
						if (url.length > 0 && url.charAt(url.length-1) != "#") window[((window[target])?target:"self")].location.href=url;}
				}
			(target,url);
			window.setTimeout('ns_softclick_timer()',5000);ns_i.onload=ns_i.onerror=window.ns_softclick_timer;
		}else{
			window.open(url,target,winopt);
		}}ns_i.src=ns_l;
		return false;
} 


// list of PMU function for tagging
// --------------------------------

// function that build the final URL for NedStat
function buildFinalUrlNedStat (ns_l,name,type){
	ns_l+=name;
	ns_l+='&ns_type='+type+'&ns_action=view';
	ns_l+='&ns__t='+(new Date()).getTime();
	var ns_0=document.referrer;
	if(ns_0.lastIndexOf('/')==ns_0.length-1)
		ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0);
	if (ns_0.length>0)
		ns_l+='&ns_referrer='+escape(ns_0);
	return ns_l;
}

// function used to tag a submit button
function ns_onsubmit(urlBaseNedStat,tagInput,compteur,type){
		
	if (!tagInput){
		//le champ 'tagInput' ne doit pas être null
		return ;
	}
	
	if (tagInput && !isElement(tagInput)){
		//le champ 'tagInput' doit être un bouton de type input donc on sort de la fonction
		return ;
	}
	
	ns_onsubmit_form(urlBaseNedStat,tagInput.form,compteur,type);
}

// function to tag a action form
function ns_onsubmit_form(urlBaseNedStat,tagForm,compteur,type){
	
	if (!tagForm){
		//le champ 'tagForm' ne doit pas être null
		return ;
	}
	
	if (tagForm && !isElement(tagForm)){
		// le champ input n'est pas dans un formulaire donc on sort de la fonction
		return ;
	} 
	
	var ns_i3=new Image();
	
	
	window.ns_softsubmit_form_timer=function(){
		return function(){
			ns_i3.onload=ns_i3.onerror=function(){
				return;
			};
			tagForm.submit();
		}
	} ();
	
	
	window.setTimeout('ns_softsubmit_form_timer()',5000);
	ns_i3.onload=ns_i3.onerror=window.ns_softsubmit_form_timer;
	finalUrlNedStat = buildFinalUrlNedStat(urlBaseNedStat,compteur,type);
	ns_i3.src=finalUrlNedStat;
}

// --------------------------------------------------------------------------------
// Liste de fonctions utilitaires pour le formatage du compteur à la norme NedStat
// ---------------------------------------------------------------------------------

//fonction qui supprime les accents d'une chaine
function noaccent(chaine) {
	  temp = chaine.replace(/[àâä]/gi,"a")
	  temp = temp.replace(/[éèêë]/gi,"e")
	  temp = temp.replace(/[îï]/gi,"i")
	  temp = temp.replace(/[ôö]/gi,"o")
	  temp = temp.replace(/[ùûü]/gi,"u")
	  temp = temp.replace(/[ç]/gi,"c")
	  return temp
}
	   
function replaceApostrophe(chaine){   
	return chaine.replace(/[']/g, '');
	}

//fonction qui supprime les underscrore en début et fin de chaine
function trimUnderscore(chaine){   
return chaine.replace(/^_+|_+$/g, '');
}

//fonction qui remplace les occurences d'espaces+underscrore par un underscore
function replaceSpacesByUnderscore(chaine){
   return  chaine.replace(/[\s_]+/g,"_"); 
}

//fonction qui supprime les caractères non supportés par Nedstat
function removeBadCharForNedstat(chaine){
   return chaine.replace(/[^\w-.\s]/g,""); 
}


//fonction a appeler pour formater un compteur à destination de Nedstat
function formatCompteurForNedstat (chaine){

	sansaccent = noaccent(chaine);
	
	onlyLowerCase = sansaccent.toLowerCase();

	withoutBadChar = removeBadCharForNedstat(onlyLowerCase);

	withtoutspace = replaceSpacesByUnderscore(withoutBadChar);

	return trimUnderscore(withtoutspace);
	
}

// Fonction pour traiter le cas 'HTMLElement is undefined' dans IE
function isElement(obj) {
	var isEl = false;
    try {
        isEl = obj instanceof HTMLElement;
    }
    catch(err) {
        isEl = obj.nodeType && obj.nodeType === 1;
    }
    return isEl;
}


