function setEl(id,val) {
	if (!obj(id).value)
		obj(id).innerHTML = val;
	else obj(id).value = val;
}

function obj(id){
	return document.getElementById(id);
}

function el(id){
	if ('selectedIndex' in obj(id))
		return obj(id).options[obj(id).selectedIndex].value;
	else if (!obj(id).innerHTML)
		return obj(id).value;
	else return obj(id).innerHTML;
}

function getXMLHTTP(){
	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) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e1) {
				xhr = null;
			}
		}
	} else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	}
	return xhr;
}

function valid(fich,param,id){
	hR = new Ajax(fich,param,false,id);
	setEl(id,hR.message);
}

function Ajax(fich, param, async, text)
{
	this.fichier = fich;
	this.param = param;
	httpRequest = getXMLHTTP();
	httpRequest.open('POST', 'includes/javascript/'+this.fichier+'.php', async); // Methode, Url, Asynchrone
	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	httpRequest.send(this.param);
	if(!async && !text){
		this.xml = httpRequest.responseXML;
		try { 
			if(!(this.accuse  = this.xml.getElementsByTagName('accuse')[0].childNodes[0].data)) 
				throw err; 
		} catch(err) { this.accuse = 0; }
		try	{ 
			if(!(this.message = this.xml.getElementsByTagName('message')[0].childNodes[0].data))
				throw err; 
		} catch(err) { this.message = ""; }
		if(this.message == "" && this.accuse == 0)	{
			this.message = "Erreur de connexion au serveur, veuillez r&eacute;essayer dans quelques minutes.\n\nLes modifications n'ont pas &eacute;t&eacute; enregistr&eacute;es.\n\nSi l'erreur se reproduit souvent, veuillez contacter le webmaster \n(Contact en bas de la page) en pr&eacute;cisant la cause du \nprobl&egrave;me.\n"+httpRequest.responseText+"<fin>";
		}
		try { 
			if(!(this.changePage  = this.xml.getElementsByTagName('changePage')[0].childNodes[0].data)) 
				throw err; 
		} catch(err) { this.changePage = 0; }
	}
	else if(!async)	this.message = httpRequest.responseText;
}

function addVisites(ids,idc){
	hR = new Ajax('ajax','addVisites='+ids+'&idc='+idc,false,ids);
}

function updSelectCategorie(num) {
	zone = obj('cats');
	if (num == zone.childNodes.length) {
		newdiv = document.createElement("DIV");
		newdiv.id = 'divcat'+num;
		newdiv.innerHTML = obj('divcat'+(num-1)).innerHTML;
		zone.appendChild(newdiv);
		zone.childNodes[num].childNodes[0].name="idc"+num;
		zone.childNodes[num].childNodes[1].id="imgcat"+num;
		zone.childNodes[num-1].childNodes[1].style.backgroundImage = "url(images/bt_del.gif)";
	} else {
		zone.removeChild(zone.childNodes[num-1]);
		for (i = num-1; i < zone.childNodes.length;i++) {
			zone.childNodes[i].id = "divcat"+i;
			zone.childNodes[i].childNodes[0].name="idc"+i;
			zone.childNodes[i].childNodes[1].id="imgcat"+i;
		}
	}
}
var ids_description='';
function siteDescrition(id,lance,affiche) {
	if (affiche) {
		if (!lance) {
			ids_description = id;
			setTimeout("siteDescrition("+id+",1,1);",500);
		}else if (ids_description == id)
			obj('sitedesc'+id).style.visibility='visible';
	}else {
		ids_description='';
		obj('sitedesc'+id).style.visibility='hidden';
	}
}

function verifieFormAjoutSite() {
	ids = new Array('nom','url', 'description', 'type', 'mail');
	for(i=0;i<ids.length && (el(ids[i])!='');i++);
	if (i>=ids.length) {
		zone = obj('cats');
		for (i = 0; i < zone.childNodes.length && zone.childNodes[i].childNodes[0].options[zone.childNodes[i].childNodes[0].selectedIndex].value=='';i++);
		if (i<zone.childNodes.length) {
			if (el('mail').toLowerCase().match('^[0-9a-zA-Z.\_\-]+@[0-9a-zA-Z.\_\-]+\.[a-zA-Z]{1,4}$')) 
				return true;
			else alert("L'adresse &eacute;lectronique est incorrecte");
		}else  alert("Vous devez s&eacute;lectionner au moins une cat&eacute;gorie");
	} else alert("Vous devez remplir le champ "+ids[i]);
	return false;
}

function verifieFormSignalerPb() {
	ids = new Array('nom', 'objet', 'message', 'mail');
	for(i=0;i<ids.length && (el(ids[i])!='');i++);
	if (i>=ids.length) {
		if (el('mail').toLowerCase().match('^[0-9a-zA-Z.\_\-]+@[0-9a-zA-Z.\_\-]+\.[a-zA-Z]{1,4}$')) 
			return true;
		else alert("L'adresse email est incorrecte");
	} else alert("Vous devez remplir le champ "+ids[i]);
	return false;
}

function verifieFormInscription() {
	if (obj('charteok').checked) {
		ids = new Array('nom', 'login', 'pass', 'mail', 'nomclasse', 'ecole', 'commune');
		for(i=0;i<ids.length && (el(ids[i])!='');i++);
		if (i>=ids.length) {
			if (el('pass')==el('pass2')) {
				if (el('mail').toLowerCase().match('^[0-9a-zA-Z.\_\-]+@ac\-[0-9a-zA-Z.\_\-]+\.fr$')) {
					if (el('pass').length > 5) 
						return true;
					else alert('Votre mot de passe doit comporter au moins 6 caract&egrave;res.');
				}else alert("L'adresse &eacute;lectronique est incorrecte. Pour rappel, ce doit &ecirc;tre une adresse personnelle professionnelle du type prenom.nom@ac-academie.fr");
			} else alert("");
		} else alert("Vous devez remplir le champ "+ids[i]);
	} else alert("Vous devez accepter la charte pour vous inscrire.");
	return false;
}

function getClasseSuggestions() {
	hR = new Ajax('ajax','classes='+el('rech_classe'),false,'1');
	if (hR.message != '') {
		setEl('rech_classe_res',hR.message);
		afficheSuggestions();
	}else cacheSuggestions();
}
function afficheSuggestions() {
	obj('rech_classe_res').style.visibility='visible';
	suggestouvert=true;
}
function cacheSuggestions() {
	setTimeout("if (!suggestouvert)obj('rech_classe_res').style.visibility='hidden';",500);
	suggestouvert=false;
}
var suggestouvert=false;
var idouvert='';
var idtmp = '';
var idpouvert='';
var idptmp = '';
function volet_ouvre(id,idparent) {
	if (idtmp!='')
		volet_ferme3();
	idouvert = id;
	idpouvert = idparent;
	obj(idouvert).style.display = 'block';
	obj(idpouvert).style.marginLeft = '15px';
}
function volet_ferme() {
	idtmp = idouvert;
	idptmp = idpouvert;
	idouvert = '';
	idpouvert = '';
	setTimeout("volet_ferme2();",2000);
}
function volet_ferme2() {
	if (idtmp !='' && idouvert!=idtmp) {
		obj(idtmp).style.display = 'none';
		obj(idptmp).style.marginLeft = '0px';
	}
}
function volet_ferme3() {
	if (idtmp != '') {
		obj(idtmp).style.display = 'none';
		obj(idptmp).style.marginLeft = '0px';
	}
}