
/*********************************************************
Bibliothèque de fonctions Javascript www.Cleec.com

Utilisation et Reproduction interdites sans accord écrit
de la part des sociétés Cleec ou LMC France

Auteur : LMC (www.lmcfrance.com)
Création : 29 Août 2006

Copyright 2006/2007 - Cleec - Réalisé par LMC France
**********************************************************/



/********************************************************************
* Fonction qui charge des données extérieures dans un div
*/
function charge_div(id_div, page_aspx){
     
	getObjectById(id_div).innerHTML = "<p>Chargement en cours...</p>";
	
	// On déclare l'objet XmlHttpRequest
	var xhr = creer_xhr();

	// Actions lorsqu'on obtient réponse (état = 4)
	xhr.onreadystatechange = function(){
		// Si toutes les données ont été reçues
		if(xhr.readyState == 4 && xhr.status == 200){
		//alert(xhr.responseText);
			getObjectById(id_div).innerHTML = xhr.responseText;
			
		} else {
		//S'il est impossible de récupérer les données
		if(xhr.readyState == 4 && xhr.status != 200)  {
		    getObjectById(id_div).innerHTML = "<p>Erreur lors du chargement des données...</p>";
		}}
	}
	
	//On envoie la requête
	xhr.open("GET",page_aspx,true);
	xhr.send(null);
}

/********************************************************************
*Fonction qui change l'image de fond des onglets ds la page "Mes loisirs"
*/


/****************************************************************
* Fonction qui charge le XML extérieur dans un menu déroulant ( loisirs)
*/
function charge_menu(id_menu_res, id_menu_arg, page_aspx){
	//On vide le menu
    getObjectById(id_menu_res).length=0;
	
	// On déclare l'objet XmlHttpRequest
	var xhr = creer_xhr();

	// Actions lorsqu'on obtient réponse (état = 4)
	xhr.onreadystatechange = function()
  {
	    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
	    if(xhr.readyState == 4 && xhr.status == 200){
		    var reponse = nettoieXML(xhr.responseXML.documentElement);
		    
		    getObjectById(id_menu_res).options[0] = new Option("--", 0);
		    for (i=0;i<reponse.getElementsByTagName("Categorie").length;i++)
	        {
    		
	            if(reponse.getElementsByTagName("Categorie")[i].getAttribute("id") == getObjectById(id_menu_arg).value)
	                {   
		            var noeud = reponse.getElementsByTagName("Categorie")[i-1]; 
                    var fils = noeud.childNodes; 
                    var nbFils = fils.length; 
                    
                    for(var j = 0; j < nbFils; j++){ 
                    getObjectById(id_menu_res).options[j+1] = new Option(fils[j].getElementsByTagName("nom")[0].firstChild.nodeValue, fils[j].getElementsByTagName("id")[0].firstChild.nodeValue);
                    } 
                 } // endif reponse.getElementsByTagName
             } // end for
	    } // end if xhr...
    } // end xhr.onreadystatechange = function()

    // On va utliser une méthode POST
	/*xhr.open("POST",page_aspx,true);
	// URL Encode
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// on poste la valeur du premier menu
	var sel = getObjectById(id_menu_arg);
	var arg = sel.options[sel.selectedIndex].value;
	xhr.send("arg="+arg);*/

	//En GET
	var sel = getObjectById(id_menu_arg);
	var arg = sel.options[sel.selectedIndex].value;
	xhr.open("GET",page_aspx+"?arg="+arg,true);
	xhr.send(null);
	
} // end function charge_menu

/****************************************************************
* Fonction qui charge le XML extérieur dans un DIV ( FILRSS)
*/
function charge_RSS(id_div, flux_rss){
	getObjectById(id_div).innerHTML = "<p>Chargement en cours...</p>";
	//alert("/global/proxy_rss.aspx?flux="+flux_rss );
	// On déclare l'objet XmlHttpRequest
	var xhr = creer_xhr();

	// Actions lorsqu'on obtient réponse (état = 4)
	xhr.onreadystatechange = function(){
	// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
	    if(xhr.readyState == 4 && xhr.status == 200){
		    var reponse = nettoieXML(xhr.responseXML.documentElement);
		    getObjectById(id_div).innerHTML = "";
		    for (i=0;i<reponse.getElementsByTagName("item").length && i < 5 ;i++)
	        {
	            var noeud = reponse.getElementsByTagName("item")[i];
				
	            getObjectById(id_div).innerHTML += "<p style=\"margin: 6px 5px 4px 7px\"><img id=\"bouton_" +i+ "\" src=\"/images/graphisme/bouton+.gif\" width=\"9\" height=\"9\" onClick=\"affiche_cache('actu_" +i+ "');change_bouton("+i+");\" />&nbsp;<a href=\"" + noeud.getElementsByTagName("link")[0].firstChild.nodeValue + "\" target=\"_blank\">"+ noeud.getElementsByTagName("title")[0].firstChild.nodeValue + "</a></p>";
	            getObjectById(id_div).innerHTML += "<p  id=\"actu_" +i+ "\" style=\"display:none; margin: 0 7px 4px 21px\">"+noeud.getElementsByTagName("description")[0].firstChild.nodeValue + "</p>";
	            
            } // end for
	    } // end if xhr...
        else {
		    //S'il est impossible de récupérer les données
		    if(xhr.readyState == 4 && xhr.status != 200)  {
		        getObjectById(id_div).innerHTML = "<p>Erreur lors du chargement des données...</p>";
		    } // end IF
		} // end else
	} // end function
	
	//On envoie la requête
	xhr.open("GET","/global/proxy_rss.aspx?flux="+encodeURI(flux_rss),true);
	xhr.send(null);
	
} // end function charge_RSS

//Fonction passant du bouton + au bouton - (affichage description actualité d'un flus rss
function change_bouton(quel) {
	//alert(getObjectById("bouton_" +quel).src);
	if (getObjectById("bouton_" +quel).src=="http://www.cleec.com/images/graphisme/bouton-.gif")
	{
		getObjectById("bouton_" +quel).src="/images/graphisme/bouton+.gif";
	} else
	{
		getObjectById("bouton_" +quel).src="/images/graphisme/bouton-.gif";
	}
}


  /****************************************************************
 *Fonction qui charge le XML extérieur dans un menu déroulant ( niveaux)
*/
function charge_niveau(id_menu_res, id_menu_arg, page_aspx)
{
	//On vide le menu
    getObjectById(id_menu_res).length=0;
	
	// On déclare l'objet XmlHttpRequest
	var xhr = creer_xhr();

	// Actions lorsqu'on obtient réponse (état = 4)
	xhr.onreadystatechange = function()
	{
	    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
	    if(xhr.readyState == 4 && xhr.status == 200)
	    {
		    var reponse = nettoieXML(xhr.responseXML.documentElement);
			// on va entrer dans catégorie
		    for (l=0;l<reponse.getElementsByTagName("Categorie").length;l++)
			{
			var noeud2 = reponse.getElementsByTagName("Categorie")[l]; 
            var fils2 = noeud2.childNodes; 
            var nbFils2 = fils2.length;
			
			// pour chaque fils de catégorie CAD Loisirs
			    for (i=0;i<nbFils2;i++)
		        {
					var noeud = fils2[i]; 
					var fils = noeud.childNodes; 
					var nbFils = fils.length;
											
						if(fils[0].childNodes[0].nodeValue==getObjectById(id_menu_arg).value)
						{	
							var noeud3 = fils[2]; 
							var fils3 = noeud3.childNodes; 
							var nbFils3 = fils3.length;
							
							
							for(j=0;j<nbFils3;j++)							
							{
								getObjectById(id_menu_res).options[j] = new Option(fils3[j].getElementsByTagName("nom")[0].firstChild.nodeValue, fils3[j].getElementsByTagName("nom")[0].firstChild.nodeValue);					
							}		    
						}					
		        }
			}
	    }
	}
	var sel = getObjectById(id_menu_arg);
	var arg = sel.options[sel.selectedIndex].value;
	xhr.open("GET",page_aspx+"?arg="+arg,true);
	xhr.send(null);
}
		/*
	    if(reponse.getElementsByTagName("Categorie")[i].getAttribute("id") == getObjectById(id_menu_arg).value)
	        {   
		    var noeud = reponse.getElementsByTagName("Categorie")[i-1]; 
            var fils = noeud.childNodes; 
            var nbFils = fils.length; 
            
            for(var j = 0; j < nbFils; j++){ 
            
            getObjectById(id_menu_res).options[j] = new Option(fils[j].getElementsByTagName("nom")[0].firstChild.nodeValue, fils[j].getElementsByTagName("id")[0].firstChild.nodeValue);
  */

/*****************************************************************************
* Crée et renvoie un objet XMLHttpRequest utilisable dans tous les navigateurs
*/
function creer_xhr() {
	var xhr = null;
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
		   try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   //alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	}
	return xhr;
}




/*****************************************************************
* Méthodes multi-navigateur de sélection d'un Element via son id
**/
function checkBrowser()
{	
	this.ver=navigator.appVersion;
	this.dom=document.getElementById?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie55=((this.ver.indexOf("MSIE 5.5")>-1 || this.ie6) && this.dom)?1:0;
	this.ie5=((this.ver.indexOf("MSIE 5")>-1 || this.ie5 || this.ie6) && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.ie4plus=(this.ie6 || this.ie5 || this.ie4);
	this.ie5plus=(this.ie6 || this.ie5)
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5);
	return this;
}
			
function getObjectById(ID) 
{
	var obj;
	var bw = new checkBrowser();
	if (bw.dom)
		return document.getElementById(ID);
	else if (bw.ie4)
		return document.all(ID);
	else if (bw.ns4)
		return eval('document.' + ID);
}

/*****************************************************************
 Fonctions de traitement du XML
**/
function traiteXML(c){
	if(!c.data.replace(/\s/g,''))
		c.parentNode.removeChild(c);
}

function nettoieXML(d){
	var bal=d.getElementsByTagName('*');

	for(i=0;i<bal.length;i++){
		a=bal[i].previousSibling;
		if(a && a.nodeType==3)
			traiteXML(a);
		b=bal[i].nextSibling;
		if(b && b.nodeType==3)
			traiteXML(b);
	}
	return d;
}

function chargement(){


b_valider_Click;





}

/********************************************************************
* Fonction pour changer les onglets des loisirs
*/
function changecouleur(tes,tab)
{
var chaine = tab;
var reg=new RegExp(";");
var tableau=chaine.split(reg);
for (var i=0; i<tableau.length; i++) {
 if(tableau[i].toString() == tes)
    {   
        //Mettre en blanc
        //document.getElementById(tes).style.background="white";
        document.getElementById(tes).style.color="#FF7F00";
        /*if(document.getElementById(tes+'1')!=null)
			document.getElementById(tes+'1').style.background="url('/images/loisirs/right-s.png') no-repeat right top"*/
    }
    else
    {
        //Mettre en gris
        //document.getElementById(tableau[i].toString()).style.background="#BEBEBE";
        document.getElementById(tableau[i].toString()).style.color="#333";
		/*if(document.getElementById(tableau[i].toString()+'1')!=null)
			document.getElementById(tableau[i].toString()+'1').style.background="url('/images/loisirs/right.png') no-repeat right top";*/
    }
}
}


/**************** SURVOL DES PROFILS ****************/

function survol(contenu,photo) 
{ 
	// On définit l'élément à afficher  et l'évènement de mouvement de souris
	box = document.getElementById(contenu).style;

    box.display = "block";
    box.width = "300px";
    box.padding = "5px 8px 5px 8px";
} 
function no_survol(contenu) 
{ 
    document.getElementById(contenu).style.display = "none";
	box = null;
}



function monpointer(e)
{
	if (box) {
		var ccx = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x + document.body.scrollLeft + document.documentElement.scrollLeft;
		var ccy = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y + document.body.scrollTop + document.documentElement.scrollTop;

		/* On récupère les dimensions de l'écran */
		if (document.body) {
			var ecranlarg = (document.body.clientWidth);
			var ecranhaut = (document.body.clientHeight);
		} else	{
			var ecranlarg = (window.innerWidth);
			var ecranhaut = (window.innerHeight);
		}
		//alert(x+" "+y);
		
		//si on dépasse le bas de l'écran, on met l'élément au dessus de la souris, sinon en dessous
		box.top = (ccy + 20)+"px";
		//document.getElementById("photo_amis565").innerHTML = "<font size=1>y="+ccy+"<br>box.top="+box.top+"</font>";
	
		//si on dépasse la droite de l'écran, on met l'élément à gauche de la souris, sinon à droite
		if ((ccx + 330) > ecranlarg) {
			box.left = (ccx - 300-2)+"px";
		} 	else {
			box.left = (ccx + 2)+"px";
		}
	}
}


/****** Fonction permettant l'affichage ou la disparition de l'élément *******/

function affiche_cache(element) {
	var obj = getObjectById(element);
	if (obj.style.display == "none" || obj.style.display == "0") obj.style.display = "block";
	else obj.style.display = "none";
}


/****** Fonction permettant l'affichage ou la disparition de l'élément dans le calendrier *******/
function menu_display(id, id2) {

	for (var i = 0; i<=10; i++) {
	    if ("calendar_deta"+i != id)
		{
	        if (document.getElementById('calendar_deta'+i))
				document.getElementById('calendar_deta'+i).style.display="none";
		}
	}
	
	if (document.getElementById(id).style.display == "none")
	{ 
	    document.getElementById(id).style.display = "";
	    document.getElementById(id2).src = "../global/fleche_h7.gif";	       
	}
	else 
	{
	    document.getElementById(id).style.display = "none";
	    document.getElementById(id2).src = "../global/fleche_h6.gif";
	}
}
/****** Fonction permettant l'affichage ou la disparition de l'élément dans le forum *******/
function boutonsujet_display() {

    if (document.getElementById('nv_msg').style.display == "none")
    { 
        document.getElementById('nv_msg').style.display = "block"; 
        document.getElementById('ctl00_pageContenu_boutonsujet').src = "/images/graphisme/bouton-.gif";      
    }
    else 
    {
        document.getElementById('nv_msg').style.display = "none";
        document.getElementById('ctl00_pageContenu_boutonsujet').src = "/images/graphisme/bouton+.gif"; 
    }
}

function verif_aucun()
{

	if(document.getElementById('rb_aucun').checked == true)
	{			
		document.getElementById('rb_mail').checked = false;
		document.getElementById('rb_sms').checked = false;	
		document.getElementById('ctl00_pageContenu_PanelRappel').style.display = 'none';		
	}
		
}

function verif_mail()
{

	if(document.getElementById('rb_mail').checked == true)
	{		
		document.getElementById('rb_aucun').checked = false;
		document.getElementById('rb_sms').checked = false;	
		document.getElementById('ctl00_pageContenu_PanelRappel').style.display = 'block';		
	}
		
}

function verif_sms()
{

	if(document.getElementById('rb_sms').checked == true)
	{		
		document.getElementById('rb_aucun').checked = false;	
		document.getElementById('rb_mail').checked = false;
		document.getElementById('ctl00_pageContenu_PanelRappel').style.display = 'block';		
	}
		
}

/****** Fonction qui permet de dérouler la liste pour les forums *******/
function forum_deroulant(id,nbre_cat) 
{
	for (var i = 1; i<=nbre_cat; i++) 
	{
	    if(i!=id)
	    {
	        document.getElementById('img_fleche'+i).src = "/images/graphisme/fleche_titre_droite.gif";
            if (document.getElementById('liste_loisir'+i))
            {
                document.getElementById('liste_loisir'+i).style.display='none';
            }
        }
        else
        {
            document.getElementById('img_fleche'+id).src = "/images/graphisme/fleche_titre_bas.gif";
            if(document.getElementById('liste_loisir'+id))
            {
                document.getElementById('liste_loisir'+id).style.display='';
            }
    	}
    }
    
}

function fwd_event_1()
{
  var txtId = document.getElementById('ctl00_pageContenu_Recherche1_txtDate');
   
  txtId.focus();
}

function fwd_event_2()
{
  var txtId = document.getElementById('ctl00_pageContenu_Recherche1_txtDate2');
   
  txtId.focus();
}
function fwd_event(Id) {
    var txtId = document.getElementById(Id);

    txtId.focus();
}

function controle_taille(textarea,nb_max)

{   
    textarea.value.maxlength = nb_max;
    if (textarea.value.length > nb_max) 
    {
    textarea.value = textarea.value.substring(0,nb_max);
    alert("Vous ne pouvez rentrer que "+ nb_max +" caractères maximum pour ce champs");
    }
}

/** Fonction éclairant une ligne dans la liste des forums **/
function eclaireligne(nom, sens) {

    var num = nom.substring(14);    
    var color;
    if(sens) color = '#bfe7f8';
    else color = '';

    getObjectById('forumtable_nm_'+num).style.backgroundColor = color;
    getObjectById('forumtable_nb_'+num).style.backgroundColor = color;
    getObjectById('forumtable_dc_'+num).style.backgroundColor = color;
}
function goligne(nom) {
    //on récupère le lien :
    var num = nom.substring(14); 
    location.href = getObjectById('forumtable_lk_'+num).href;
}