// Fichier des fonctions JAVASCRIPT générales appelées dans toutes les pages du site

function fonction_antispam(domaine,adresse) { // fonction générant le lien "mailto" vers une adresse
	window.location.href="mailto:"+adresse+"@"+domaine;
}



function requete_ajax(racine_du_site, url_requete_get,objet) {
	
		visuel_chargement="<img src=\""+racine_du_site+"/modeles_graphiques/_defaut/_modele/cercle_de_progression_30px.gif\">";
		
		var req = null; 

		document.getElementById(objet).innerHTML=visuel_chargement;
		if(window.XMLHttpRequest)
			req = new XMLHttpRequest(); 
		else if (window.ActiveXObject)
			req  = new ActiveXObject("Microsoft.XMLHTTP"); 

		req.onreadystatechange = function()
		{ 
			document.getElementById(objet).innerHTML=visuel_chargement;
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{	
					document.getElementById(objet).innerHTML = req.responseText;

				}	
				else	
				{
					document.getElementById(objet).innerHTML ="CODE ERREUR : " + req.status + " " + req.statusText;
				}	
			} 
		}; 
		req.open("GET", racine_du_site+url_requete_get, true); 
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(null); 
	
	
} // FIN function requete_ajax(url_requete_get,objet) 



// -----------------------------------------------------------------------------------------------------------------
// fonctions gérant le fondu des éléments : (éléments appraissant en fondu d'alpha - ex : cf. La Boheme)
// -----------------------------------------------------------------------------------------------------------------


function changeOpac(increment, id) {
    var object = document.getElementById(id).style;
    
	ancienne_opacite = object.opacity*100;
	nouvelle_opacite = ancienne_opacite+increment;
	
	if (nouvelle_opacite<0)   { nouvelle_opacite=0; }
	if (nouvelle_opacite>100) { nouvelle_opacite=100; }
	
	object.opacity = (nouvelle_opacite / 100);
    object.MozOpacity = (nouvelle_opacite / 100);
    object.KhtmlOpacity = (nouvelle_opacite / 100);
    object.filter = "alpha(opacity=" + nouvelle_opacite + ")";
	
	// on détermine si on arrète la boucle de changement d'opacité :
	if ((nouvelle_opacite==0) || (nouvelle_opacite==100)) {
		return false; // fin de la boucle
	} else {
		return true; // on continue la boucle
	}
	
} // fin function changeOpac


function fondu_opacite(id, increment, millisec) {
	
	
	objet = document.getElementById(id);

	condition_ok = (((increment>0) && (objet.style.color=='white')) || ((increment<0) && (objet.style.color=='black'))) // on vérifie si on doit continuer la boucle
	
	if(condition_ok && changeOpac(increment, id)) {
				setTimeout("fondu_opacite('" + id + "', " + increment + ", " + millisec + ")",millisec);
	} 
	
} // fin function fondu_apparaitre



// -----------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------
// fonctions gérant le défilement automatique des encarts résumés d'articles.
// -----------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------


var scroll_step_auto=1; // le PAS du défilement en mode AUTOMATIQUE
var scroll_step_manu=3; // le PAS du défilement en mode MANUEL (plus rapide)


function defilement_automatique(num_encart,sens) {
	// sens : 1 vers le bas, -1 on remonte vers le haut
	
	
	div_encart = document.getElementById('encart_articles_'+num_encart);
	objet = div_encart.getElementsByTagName("div")[0]; // on récupère la div qui scrolle.
	var defilement_auto = div_encart.getElementsByTagName("input")[2].value; // on récupère la valuer du défilement auto
	
	 hauteur_max = objet.scrollHeight-(eval(objet.style.height.replace('px', '')));
	// alert(hauteur_max+"-"+objet.scrollHeight);
	
	var position = eval(div_encart.getElementsByTagName("input")[0].value); // on RECUPERE la position dans le 1er input du formulaire caché
	
	
	if (position<hauteur_max) {
			position +=(scroll_step_auto*sens);
			objet.scrollTop = position; // on défile
	} else {
		position=0;
	}
	
	div_encart.getElementsByTagName("input")[0].value= position; // on affecte la position dans le 1er input du formulaire caché

	if (defilement_auto=='oui') {
		setTimeout("defilement_automatique("+num_encart+","+sens+")",20);
	}

} // fin FUNCTION


function defilement_manuel(num_encart,sens) {
	// sens : 1 vers le bas, -1 on remonte vers le haut
	
	div_encart = document.getElementById('encart_articles_'+num_encart);
	objet = div_encart.getElementsByTagName("div")[0]; // on récupère la div qui scrolle.
	hauteur_max = objet.scrollHeight-(eval(objet.style.height.replace('px', '')));

	var position = eval(div_encart.getElementsByTagName("input")[0].value); // on RECUPERE la position dans le 1er input du formulaire caché

	if (position<0) {
		position = hauteur_max;
		objet.scrollTop = position; // on défile
	}
	
	if (position>hauteur_max) {
		position = 0;
		objet.scrollTop = position; // on défile
	}
	
	position +=(scroll_step_manu*sens);
	objet.scrollTop = position; // on défile manuellement
	div_encart.getElementsByTagName("input")[0].value= position; // on affecte la position dans le 1er input du formulaire caché
	
	var defilement_manu = div_encart.getElementsByTagName("input")[3].value; // on récupère la valeur du défilement manuel
	if (defilement_manu=='oui') {
		setTimeout("defilement_manuel("+num_encart+","+sens+")",20);
	}

} // fin FUNCTION


function debut_defilement_manuel(num_encart,sens) {

	div_encart = document.getElementById('encart_articles_'+num_encart);
		
		var mode_actif='manuel';
		var defilement_auto = 'non';
		var defilement_manu = 'oui';
		
		// on affecte les valeurs dans le formulaire caché :
		div_encart.getElementsByTagName("input")[1].value= mode_actif; 
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; 
		div_encart.getElementsByTagName("input")[3].value= defilement_manu; 
		
		defilement_manuel(num_encart,sens);
} // fin FUNCTION



function arret_defilement_manuel(num_encart) {

	div_encart = document.getElementById('encart_articles_'+num_encart);
		
		var mode_actif='manuel';
		var defilement_auto = 'non';
		var defilement_manu = 'non';
		
		// on affecte les valeurs dans le formulaire caché :
		div_encart.getElementsByTagName("input")[1].value= mode_actif; 
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; 
		div_encart.getElementsByTagName("input")[3].value= defilement_manu; 

} // fin FUNCTION




function pause_au_survol(num_encart) {
	
	div_encart = document.getElementById('encart_articles_'+num_encart);
	var mode_actif = div_encart.getElementsByTagName("input")[1].value; // on récupère la valeur du mode actif
	
	if (mode_actif=='automatique') {
		var defilement_auto = 'non';
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; // on affecte la position dans le champ input du formulaire caché
	}
} // fin FUNCTION



function reprise_au_survol(num_encart) {
	
	div_encart = document.getElementById('encart_articles_'+num_encart);
	var mode_actif = div_encart.getElementsByTagName("input")[1].value; // on récupère la valeur du mode actif

	if (mode_actif=='automatique') {
		var defilement_auto = 'oui';
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; // on affecte la position dans le champ input du formulaire caché
		defilement_automatique(num_encart,1);
	}
} // fin FUNCTION



function change_mode_defilement(num_encart) {

	div_encart = document.getElementById('encart_articles_'+num_encart);
	var mode_actif = div_encart.getElementsByTagName("input")[1].value; // on récupère la valeur du mode actif

	if (mode_actif=='automatique') {
		mode_actif='manuel';
		var defilement_auto = 'non';
		var defilement_manu = 'non'; // le défilement manuel ne s'enclenche pas tout seul
		
		// on affecte les valeurs dans le formulaire caché :
		div_encart.getElementsByTagName("input")[1].value= mode_actif; 
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; 
		div_encart.getElementsByTagName("input")[3].value= defilement_manu; 
		
	} else { 
		mode_actif='automatique';
		var defilement_auto = 'oui';
		var defilement_manu = 'non'; // le défilement manuel ne s'enclenche pas tout seul
		
		// on affecte les valeurs dans le formulaire caché :
		div_encart.getElementsByTagName("input")[1].value= mode_actif; 
		div_encart.getElementsByTagName("input")[2].value= defilement_auto; 
		div_encart.getElementsByTagName("input")[3].value= defilement_manu; 
		
		defilement_automatique(num_encart,1);
	}
} // fin FUNCTION








