/*==============================================================*/
/* Fonctions de gestion de l'AFFICHAGE(fenêtres, menus etc...)  */
/*==============================================================*/

    function close_message()
    {
        document.getElementById('message_s').style.display='none';
		document.getElementById('message_xl').style.display='none';
        
		new Effect.Fade('bg_message', {duration: 0.3});
    }
        
    function show_message_s(texte)
    {
		document.getElementById('bg_message').style.display='block';
		document.getElementById('message_s').style.display='block';
        
        document.getElementById('fermer_s').style.display='block';
        document.getElementById('texte_s').style.display='block';
        
		document.getElementById('texte_s').innerHTML=texte;
    }
        
    function show_message_xl(texte)
    {
		document.getElementById('bg_message').style.display='block';
		document.getElementById('message_xl').style.display='block';
        
        document.getElementById('fermer').style.display='block';
        document.getElementById('texte').style.display='block';

		document.getElementById('texte').innerHTML=texte;
    }

/*==========================================*/
/* Fonctions de gestion de la NAVIGATION    */
/*==========================================*/

function creeXhr()
{
    if(window.XMLHttpRequest)
    {
        xhr = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        try
        {
            xhr = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	else
	{ 
        // XMLHttpRequest non supporté par le navigateur
    }
	return xhr;
}

function appelAjax()
{
	
	if(appelAjax.arguments.length==2)
	{
		var page = appelAjax.arguments[0];
		var div = appelAjax.arguments[1];
		
		xhr=creeXhr();
    	xhr.open('get',page,true);	//ouverture d'une requete XMLHttpRequest avec paramètres methode get sur la page passée en premier paramètre (0 du tableau), mode asynchrone (true)
		
    	xhr.onreadystatechange=function()
   		{
        	if(xhr.readyState!=4)
        	{
				// Affichage éventuel d'un message d'attente ("Chargement...")
			}
        	if(xhr.readyState==4) // 4: transaction terminée avec données chargées
        	{
				if(div=='page_pleine')
				{
					document.getElementById('page_gauche').style.display='none';
					document.getElementById('page_droite').style.display='none';
					document.getElementById('separateur').style.display='none';
					document.getElementById('page_pleine').style.display='block';
				}
				else
				{
					document.getElementById('page_pleine').style.display='none';
					document.getElementById('separateur').style.display='block';
					document.getElementById('page_gauche').style.display='block';
					document.getElementById('page_droite').style.display='block';
				}
				
                reponse=decode_accents(xhr.responseText);
				document.getElementById(div).innerHTML = reponse;// modif du DOM sur la DIV d'id passé en deuxième argument
				// changeMenu(page);
        	}
    	}
		xhr.send(null);
	}
	else if (appelAjax.arguments.length==4)
	{
		var page1 = appelAjax.arguments[0];
		var div1 = appelAjax.arguments[1];
		var page2 = appelAjax.arguments[2];
		var div2 = appelAjax.arguments[3];
		
		xhr1=creeXhr();
		xhr2=creeXhr();
    	xhr1.open('get',page1,true);	//ouverture d'une requete XMLHttpRequest avec paramètres methode get sur la page passée en premier paramètre (0 du tableau), mode asynchrone (true)
		xhr2.open('get',page2,true);	//ouverture d'une requete XMLHttpRequest avec paramètres methode get sur la page passée en premier paramètre (0 du tableau), mode asynchrone (true)
		
    	xhr1.onreadystatechange=function()
   		{
        	if(xhr1.readyState!=4)
        	{
				// Affichage éventuel d'un message d'attente ("Chargement...")
			}
        	if(xhr1.readyState==4) // 4: transaction terminée avec données chargées
        	{
				document.getElementById('page_pleine').style.display='none';
				document.getElementById('separateur').style.display='block';
				document.getElementById('page_gauche').style.display='block';
				document.getElementById('page_droite').style.display='block';

                reponse=decode_accents(xhr1.responseText);
				document.getElementById(div1).innerHTML = reponse; // modif du DOM sur la DIV d'id passé en deuxième argument
				// changeMenu(page1);
        	}
    	}
		xhr1.send(null);
		
    	xhr2.onreadystatechange=function()
   		{
        	if(xhr2.readyState!=4)
        	{
				// Affichage éventuel d'un message d'attente ("Chargement...")
			}
        	if(xhr2.readyState==4) // 4: transaction terminée avec données chargées
        	{
				document.getElementById('page_pleine').style.display='none';
				document.getElementById('separateur').style.display='block';
				document.getElementById('page_gauche').style.display='block';
				document.getElementById('page_droite').style.display='block';
				
                reponse=decode_accents(xhr2.responseText);
				document.getElementById(div2).innerHTML = reponse; // modif du DOM sur la DIV d'id passé en deuxième argument
        	}
    	}
		xhr2.send(null);
	}
	else
	{
		// Nombre d'arguments incorrect (différent de 2 ou 4)
	}

}

/*
function changeMenu(page)
{
	switch(page)
	case './pages/accueil.html' :
		document.getElementsById('').innerHTML = (
					<a class="lien_menu" onClick="appelAjax('./pages/accueil.html','page_gauche','./pages/video.html','page_droite');" ><b>Accueil</b></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a class="lien_menu" onClick="appelAjax('./pages/informatique.html','page_gauche');" >Informatique</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a class="lien_menu" onClick="appelAjax('./pages/telecoms.html','page_gauche');" >T&eacute;l&eacute;coms</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a class="lien_menu" onClick="appelAjax('./pages/reseaux.html','page_gauche');" >R&eacute;seaux</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a class="lien_menu" onClick="appelAjax('./pages/videosurveillance.html','page_gauche');" >Vid&eacute;osurveillance</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a class="lien_menu" onClick="appelAjax('./pages/contact.html','page_pleine');" >Contact</a>);
	break
}
*/

/*==========================================*/
/* Fonction d'include en js			        */
/*==========================================*/

function include(fileName) 
{
	if (document.getElementsByTagName) 
	{
		Script = document.createElement("script");
		Script.type = "text/javascript";
		Script.src = fileName;
		Body = document.getElementsByTagName("BODY");
		if (Body) 
		{
			Body[0].appendChild(Script);
		}
	}
} 

/*==========================================*/
/* Fonction d'ENVOI des FORMULAIRES         */
/*==========================================*/

function envoi_formulaire()
{
    var parametres = '';
    for (i = 0; i < document.formulaire.elements.length; i++)
    {
        if (i+1 == document.formulaire.elements.length)
        {
			if((document.formulaire.elements[i].type=='radio')&&(!document.formulaire.elements[i].checked))
			{
			}
			else
			{
				parametres = parametres+document.formulaire.elements[i].id+'='+document.formulaire.elements[i].value;
			}
        }
        else 
        {
			if((document.formulaire.elements[i].type=='radio')&&(!document.formulaire.elements[i].checked))
			{
			}
			else
			{
				parametres = parametres+document.formulaire.elements[i].id+'='+document.formulaire.elements[i].value+"&";
			}
        }
    }

    /*
	show_message_s("<div align='center'><br><font size='5pt'>CHARGEMENT</font><br><br><img src='images/loader.gif'><br><br>Envoi des informations en cours.<br>Merci de patienter un instant.</div>");
	*/

    var objet_ajax = new Ajax.Request(document.getElementById('page_traitement').value,{
		method: 'post',
		asynchronous: true,
		contentType:  'application/x-www-form-urlencoded',
		encoding:     'UTF-8',
		parameters: parametres,
		onSuccess: requete_ok, 
		onFailure: function(){}
	});
    
    function requete_ok(xhr)
    {
        if (xhr.status == 200)
        {
            show_message_s(xhr.responseText);
        }
        else
        {
            show_message_s('Une erreur est survenue.');
        }
    }
}

/*==========================================*/
/* Fonction de TRAITEMENT des ACCENTS       */
/*==========================================*/

function decode_accents(str)
{
    str=str.replace("é", "e");
    str=str.replace("é", "e");
    str=str.replace("é", "e");
    str=str.replace("é", "e");
    str=str.replace("î", "i");
    str=str.replace("ï", "i");
    
    /*
    temp = temp.replace(/[àâä]/gi,"a")
    temp = temp.replace(/[éèêë]/gi,"e")
    temp = temp.replace(/[îï]/gi,"i")
    temp = temp.replace(/[ôö]/gi,"o")
    temp = temp.replace(/[ùûü]/gi,"u")
    */
    
    return(str);
}