
// Charger un document
function ChangeDisplay(elem) {
	image = elem.src;
	if (image.macth("_hover.png")) {
		elem.src = image.replace("_hover.png", ".png");
	}
	else {
		elem.src = image.replace(".png", "_hover.png");
	}
}

// Instance AJAX
function createXHR() 
{
    var request = false;
        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
		try {
			request = new XMLHttpRequest();
		}
		catch (err1) 
		{
			request = false;
		}
            }
        }
    return request;
}
		
// Function AJX chargeant l'image dans le bloc photo
function loadFile(id_doc, interface) {
	var xhr = createXHR();  
	var myurl = "spip.php?page=ajx-documents&id_document=" + id_doc;
		xhr.onreadystatechange=function()
		{ 
			if(xhr.readyState == 4)
			{ document.getElementById("zMyphotoTop").innerHTML =  (xhr.responseText != "") ? xhr.responseText : ""; } 
			else if (xhr.readyState < 4 && xhr.readyState > 0)
			{ /*str = "<div id='zPatience'><img src='"+ interface +"/images/zPatience.gif' width='20' height='20' align=absmiddle></div>";
			  document.getElementById("zMyphotoTop").innerHTML = str; */ }
		}; 
		xhr.open("GET", myurl, true);		
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("id_document=" + id_doc); 
} 

// Masque n'importe quelle balise
function MasqueBalise(element) {
	document.getElementById(element).style.display = "none";
}

// Fonction validant ma soumission de la recherche
function GererRechercher(element) {
	if (element.zInputSearch.value != "") {
			//window.location = "spip.php?page=recherche&recherche="+ element.zInputSearch.value;
			
			// Instance AJX pour Inscription NewsLetter
				var xhr = createXHR();  
				var myurl = "spip.php?page=recherche";
				var data = "recherche="+ element.zInputSearch.value;
					xhr.onreadystatechange=function()
					{ 
						if(xhr.readyState == 4)
						{ 
							string = xhr.responseText;
							// Création de l'element grisé sur le fond de la page en cours
							CreateElement("e-zSearch", document.getElementById('zConteneur'), "Gray");
							CreateElement("e-zSearchElement", document.getElementById('e-zSearch'), '');
							document.getElementById('e-zSearchElement').innerHTML += string;
							newObj.innerHTML += "<a href='javascript:ExitSearch();'><img src='"+ url_site_spip + "/images/zExitSearch.gif' id='zExitSearch'></a>";
						} 
					}; 
					xhr.open("POST", myurl, true);
					xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");               
					xhr.send(data);
				return false;
	}
	else {
		return false;
	}
}

// Function validant la soumission de la Newsletter
function GererNewsLetter(element) { 
	// Vérifier que au moins une checkbox est coché
	if (document.getElementById('RadNews1').checked || document.getElementById('RadNews2').checked) {
		if (element.email.value != "") {
			if (ValidEmail(element.email.value)) {
				
				// Instance AJX pour Inscription NewsLetter
				var xhr = createXHR();  
				var myurl = "mailing.php";
				iAction = (document.getElementById('RadNews1').checked) ? document.getElementById('RadNews1').value : document.getElementById('RadNews2').value;
				var data = "format=" + element.format.value +  "&liste=" + element.liste.value + "&email=" + element.email.value + "&action=" + iAction ;
					xhr.onreadystatechange=function()
					{ 
						if(xhr.readyState == 4)
						{ 
							string = xhr.responseText;
							// Evite Conflit HTML
							document.getElementById('zResponseText').innerHTML = string.substr(0, string.indexOf("<html>"));
							document.getElementById('zResponseText').style.display = "block";
							setTimeout("MasqueBalise('zResponseText')", 2000);
						} 
						else if (xhr.readyState < 4 && xhr.readyState > 0)
						{ document.getElementById('zResponseText').style.display = "none"; }
					}; 
					xhr.open("POST", myurl, true);
					xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");               
					xhr.send(data);
				
				return true;
			}
			else {
				return false;
			}
		}
		else { 
			return false;
		}
	}
	else {
		return false;
	}
}

// Function validant l'email saisie
function ValidEmail(streMail) {
	testm = false;
	a = streMail;
	for (var j=1 ; j<(a.length) ; j++) {
		if (a.charAt(j)=='@') {
			if (j<(a.length-4)) {
				for (var k=j ; k<(a.length-2) ; k++) {
					if (a.charAt(k)=='.') 						    		    
						testm = true;
				}
			}
		}
	
	}
return testm; 
}

function CreateElement(id, objParent, objType) {
	// création des nouveaux noeuds
	newObj = document.createElement('div');
	newObj.setAttribute("id", id);
	newObj.innerHTML = "";
	// Bug IE
	//newObj.setAttribute("style", "position:absolute; top:0; left:0; z-index:999; background:#CCC;width:"+ screen.width +"px; height:"+screen.height+"px;");
	if (objType == "Gray") { 
		scrollTo(0, 0);
		document.documentElement.style.overflow = "hidden";
		newObj.style.position = "absolute";
		newObj.style.left = "0";
		newObj.style.top = "0";
		newObj.style.zIndex = "99999";
		newObj.style.background = "url(" + url_site_spip + "/images/zTSeach.png) repeat top left"; 
		newObj.style.width = document.body.clientWidth + "px";
		newObj.style.height = document.body.clientHeight + "px";
	}
	else {
		newObj.style.position = "relative";
		newObj.style.left = "50%";
		newObj.style.top = "0";
		newObj.style.width = "750px";
		//newObj.style.height = "100%";
		newObj.style.zIndex = "999999";
		newObj.style.background = "#FFF"; 
		newObj.style.border = "#c1272d solid 2px";
		newObj.style.padding = "10px";
	}
	// raccord des noeuds
	(objType == "Gray") ? insertAfter(newObj, objParent) : objParent.appendChild(newObj);
	
}

// Supprime Recherche
function ExitSearch() {
  var odiv = document.getElementById("e-zSearch");
  var tdiv = document.getElementById("e-zSearchElement");
  tdiv.parentNode.removeChild(tdiv);
  odiv.parentNode.removeChild(odiv);

document.documentElement.style.overflow = "";
}

// Insere un élément apres un autre
function insertAfter(newElement,targetElement) {	
	var parent = targetElement.parentNode;		
	if(parent.lastchild == targetElement) {		
		parent.appendChild(newElement);		
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling);		
	}
}