// JavaScript Document
// JavaScript Document

/*
 * OBJET XmlHttpRequest permettant de faire les requetes ajax
 *
 *
 *
*/
function getXhr(){
	
	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;
	
}





/**
 * MAJ sous theme
 *
 * fct javascript qui permet de modifier le select des sous theme qd on choisi le theme (pae moteur de recherches avancées V3)
 *
 * @param	id_div : id de la balise select contennant les themes
 * @param	id_div_nv : id de la balise select contennant les sous themes
 **/
 
			function majSsTheme(id_div_select, id_div_nv_select ){
				
				//alert ("select = "+id_div_select+" sstheme = "+id_div_nv_select);
				
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					//alert ("xhr.readyState "+xhr.readyState+"    xhr.status "+xhr.status);
					// 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){
						leselect = xhr.responseText;
						//alert(xhr.responseText);
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById(id_div_nv_select).innerHTML = leselect;
					}
				}
				xhr.open("POST","ajaxSelectSsTheme.php",true);
				// parametres du post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=iso-8859-1');
				//contenu du post
				sel = document.getElementById(id_div_select);
				theme = sel.options[sel.selectedIndex].value;
				//alert (theme);
				xhr.send("theme="+theme);
				
			}







/**
 * AutoCompletion Auteur
 *
 * fct javascript qui permet d afficher les resultats proposés lorsque l'utilisteur commence à taper le nom d un auteur
 *
 * 
 * @param	id_div_chp : id de la balise input type text contenant les caracteres saisis par l'utilisateur
 * @param	id_div : id de la balise div qui permettra d'afficher les propositions de mots trouvés
 * @param	type : permet de differencier si on cherche des auteurs ou des titres
 **/



			function autoCompletion(id_div, id_div_chp, type ){
				
				//alert ("div = "+id_div);
				
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					//alert ("xhr.readyState "+xhr.readyState+"    xhr.status "+xhr.status);
					// 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){
						leselect = xhr.responseText;
						//alert(xhr.responseText);
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById(id_div).innerHTML = leselect;
					}
				}
				xhr.open("POST","ajaxAutoCompletion.php",true);
				// parametres du post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=iso-8859-1');
				//contenu du post
				chp = document.getElementById(id_div_chp);
				//alert (chp);
				nom = chp.value;
				//alert (nom+" - "+type);
				if (nom!="" && nom!=null) {
					div = document.getElementById(id_div);
					div.style.display = 'block';
					xhr.send("mot="+nom+"&type="+type);
				}
			}
			
			
			function hideCompletion (div, div2) {
				 document.getElementById(div).style.display = 'none';
				 if (div2 != null) document.getElementById(div2).style.display = 'none';
			}

/**
 * SelectProposition 
 *
 * fct javascript qui permet d'ajouter la veleur choisie dans un champ de texte afin de pouvoir ensuite envoyer le formulaire
 *
 * 
 * @param	id_div_chp : id de la balise input type text à remplir
 * @param	mot : chaine de caractere à inscrire
 **/


			function SelectProposition(id_div_chp, text, id_div) {
				chp = document.getElementById(id_div_chp)
				chp.value = stripslashes(text);
				document.getElementById(id_div).style.display = 'none';
			}


function stripslashes(str) {
str=str.replace(/\\'/g,'\'');
str=str.replace(/\\"/g,'"');
str=str.replace(/\\\\/g,'\\');
str=str.replace(/\\0/g,'\0');
return str;
}
