function requete_AJAX()
{  // Objet AJAX pour faire une requete asynchrone
	var xmlHttp=false;
	try{xmlHttp=new XMLHttpRequest();}// Firefox, Opera 8.0+, Safari
	catch (e){
		try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}// Internet Explorer    
		catch (e){
			try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){alert("Votre navigateur ne supporte pas AJAX!");}
		}
	}
	return xmlHttp;
}

function ajout_evenement(elem, type_even, fct)
{  // event_listener cross browser
	if(elem.addEventListener)
	{
		elem.addEventListener(type_even, fct, false);
		return true;
	}
	else if(elem.attachEvent)
	{
		return elem.attachEvent('on'+type_even,fct);
	}
	else
	{
		el['on'+type_elem]=fct;
	}
}

function rafraichir()
{
	location.reload();
}

function categorie_change()
{
	var cat = document.getElementById('categorie_select').value;
	if(cat=='nouv_cat')
	{
		document.getElementById('categorie_nouv').style.display = 'inline';
	}
	else
	{
		document.getElementById('categorie_nouv').style.display = 'none';
		document.getElementById('categorie_nouv').value = cat;
	}
	
}

function ajout_evt()
{
	var requete = requete_AJAX();
	requete.onreadystatechange=function(){
		if(requete.readyState==4){
			if(requete.status == 200)
				if(requete.responseText=='ok')
				{
					document.getElementById('ajout_evt_info').innerHTML='<span class="loading_box"><span class="confirm">Evénement ajouté avec succès</span></span>';
					setTimeout("rafraichir()",3000);
				}
				else document.getElementById('ajout_evt_info').innerHTML='<span class="error">'+requete.responseText+'</span>';
			else document.getElementById('ajout_evt_info').innerHTML='<span class="error">Erreur : '+requete.status+'. Impossible de contacter le serveur. Merci de réessayer d\'ici quelques instants</span>';
		}
	}
	document.getElementById('ajout_evt_info').innerHTML='<span class="loading_box">Ajout...</span>';
	var date_deb_j = document.getElementById('date_deb_jour').value;
	var date_deb_m = document.getElementById('date_deb_mois').value;
	var date_deb_a = document.getElementById('date_deb_annee').value;
	var date_deb_h = document.getElementById('date_deb_heure').value;
	var date_deb_min = document.getElementById('date_deb_minute').value;
	var date_fin_j = document.getElementById('date_fin_jour').value;
	var date_fin_m = document.getElementById('date_fin_mois').value;
	var date_fin_a = document.getElementById('date_fin_annee').value;
	var date_fin_h = document.getElementById('date_fin_heure').value;
	var date_fin_min = document.getElementById('date_fin_minute').value;
	var titre = document.getElementById('nouv_evt_titre').value;
	var description = document.getElementById('nouv_evt_description').value;
	var auteurs = document.getElementById('nouv_evt_auteurs').value;
	var prix = document.getElementById('nouv_evt_prix').value;
	var notes = document.getElementById('nouv_evt_notes').value;
	var lieu = document.getElementById('nouv_evt_lieu').value;
	var contact = document.getElementById('nouv_evt_contact').value;
	var web = document.getElementById('nouv_evt_web').value;
	var categorie = document.getElementById('categorie_nouv').value;
	
	var url="AJAX/agenda_ajout.php";
	url=url+"?sid="+Math.random();
	
	var params = "date_deb_j="+escape(encodeURI(date_deb_j));
	params = params+"&date_deb_m="+escape(encodeURI(date_deb_m));
	params=params+"&date_deb_a="+escape(encodeURI(date_deb_a));
	params=params+"&date_deb_h="+escape(encodeURI(date_deb_h));
	params=params+"&date_deb_min="+escape(encodeURI(date_deb_min));
	params=params+"&date_fin_j="+escape(encodeURI(date_fin_j));
	params=params+"&date_fin_m="+escape(encodeURI(date_fin_m));
	params=params+"&date_fin_a="+escape(encodeURI(date_fin_a));
	params=params+"&date_fin_h="+escape(encodeURI(date_fin_h));
	params=params+"&date_fin_min="+escape(encodeURI(date_fin_min));
	params=params+"&titre="+escape(encodeURI(titre));
	params=params+"&description="+escape(encodeURI(description));
	params=params+"&auteurs="+escape(encodeURI(auteurs));
	params=params+"&prix="+escape(encodeURI(prix));
	params=params+"&notes="+escape(encodeURI(notes));
	params=params+"&categorie="+escape(encodeURI(categorie));
	params=params+"&lieu="+escape(encodeURI(lieu));
	params=params+"&contact="+escape(encodeURI(contact));
	params=params+"&web="+escape(encodeURI(web));
	
	
	requete.open("POST",url,true);
	requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	requete.setRequestHeader("Content-length", params.length);
	requete.setRequestHeader("Connection", "close");
	requete.send(params);
	return false;
}

function masquer_detail(evt_id)
{
	document.getElementById('detail_evt_'+evt_id).innerHTML = '';
	document.getElementById('btn_evt_'+evt_id).innerHTML = 'Afficher les details';
	document.getElementById('btn_evt_'+evt_id).className = 'afficher_detail_evt';
}

function afficher_detail(evt_id)
{
	if(document.getElementById('btn_evt_'+evt_id).className == 'masquer_detail_evt')
		masquer_detail(evt_id);
	else
	{
		var requete = requete_AJAX();
		requete.onreadystatechange=function(){
			if(requete.readyState==4){
				if(requete.status == 200)
				{
					document.getElementById('detail_evt_'+evt_id).innerHTML=requete.responseText;
					document.getElementById('btn_evt_'+evt_id).innerHTML = 'Masquer les details';
					document.getElementById('btn_evt_'+evt_id).className = 'masquer_detail_evt';
				}
				else document.getElementById('detail_evt_'+evt_id).innerHTML='<span class="error">Erreur : '+requete.status+'. Impossible de contacter le serveur. Merci de réessayer d\'ici quelques instants</span>';
			}
		}
		document.getElementById('detail_evt_'+evt_id).innerHTML='<span class="loading_box">Chargement ...</span>';
		
		var url="AJAX/detail_evt.php";
		url=url+"?sid="+Math.random();
		url=url+"&evt_id="+evt_id;
		url=url+"&ajax=oui";
		
		requete.open("GET",url,true);
		requete.send(null);
	}
}

function afficher_evt(e)
{
	if(e && e.preventDefault) e.preventDefault();
	else if(window.event && window.event.returnValue) window.event.returnValue = false;
	
	if(window.event) lnk = e.srcElement;
	else if(e) lnk = e.target;
	
	var p1 = lnk.href.indexOf('&id=')+4;
	var p2 = lnk.href.indexOf('&',p1);
	if(p2==-1) p2= lnk.href.length;
	var evt_id=lnk.href.substring(p1,p2);
	afficher_detail(evt_id);
	return false;
}

function parse_evt()
{
	for(i=0; (a = document.getElementsByTagName("a")[i]); i++){
		if(a.className == "afficher_detail_evt" || a.className == "masquer_detail_evt"){
			ajout_evenement(a,'click',afficher_evt);
			var container = a.parentNode;
			var h2 = container.getElementsByTagName('h4')[0];
			var a2 = h2.getElementsByTagName('a')[0];
			ajout_evenement(a2,'click',afficher_evt);
		}
	}
}

function valider_evt(evt_id)
{
	var requete = requete_AJAX();
	requete.onreadystatechange=function(){
		if(requete.readyState==4){
			if(requete.status == 200)
				if(requete.responseText=='ok')
				{
					document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="loading_box"><span class="confirm">Evénement validé avec succès</span></span>';
					setTimeout("rafraichir()",1000);
				}
				else document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="error">'+requete.responseText+'</span>';
			else document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="error">Erreur : '+requete.status+'. Impossible de contacter le serveur. Merci de réessayer d\'ici quelques instants</span>';
		}
	}
	document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="loading_box">Validation ...</span>';
	
	var url="AJAX/agenda_valid.php";
	url=url+"?sid="+Math.random();
	
	var params = "evt_id="+evt_id;
	
	
	requete.open("POST",url,true);
	requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	requete.setRequestHeader("Content-length", params.length);
	requete.setRequestHeader("Connection", "close");
	requete.send(params);
}

function edit_evt(evt_id)
{
	window.open ('AJAX/agenda_edit.php?evt_id='+evt_id, 'Edition', 'height=400, width=600, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no')
}

function edit_evt2()
{
	var requete = requete_AJAX();
	requete.onreadystatechange=function(){
		if(requete.readyState==4){
			if(requete.status == 200)
				if(requete.responseText=='ok')
				{
					document.getElementById('ajout_evt_info').innerHTML='<span class="loading_box"><span class="confirm">Evénement mis a jour avec succès</span></span>';
					setTimeout("window.close()",2000);
				}
				else document.getElementById('ajout_evt_info').innerHTML='<span class="error">'+requete.responseText+'</span>';
			else document.getElementById('ajout_evt_info').innerHTML='<span class="error">Erreur : '+requete.status+'. Impossible de contacter le serveur. Merci de réessayer d\'ici quelques instants</span>';
		}
	}
	document.getElementById('ajout_evt_info').innerHTML='<span class="loading_box">Mise a jour...</span>';
	var edt_id = document.getElementById('nouv_evt_id').value;
	var date_deb_j = document.getElementById('date_deb_jour').value;
	var date_deb_m = document.getElementById('date_deb_mois').value;
	var date_deb_a = document.getElementById('date_deb_annee').value;
	var date_deb_h = document.getElementById('date_deb_heure').value;
	var date_deb_min = document.getElementById('date_deb_minute').value;
	var date_fin_j = document.getElementById('date_fin_jour').value;
	var date_fin_m = document.getElementById('date_fin_mois').value;
	var date_fin_a = document.getElementById('date_fin_annee').value;
	var date_fin_h = document.getElementById('date_fin_heure').value;
	var date_fin_min = document.getElementById('date_fin_minute').value;
	var titre = document.getElementById('nouv_evt_titre').value;
	var description = document.getElementById('nouv_evt_description').value;
	var auteurs = document.getElementById('nouv_evt_auteurs').value;
	var prix = document.getElementById('nouv_evt_prix').value;
	var notes = document.getElementById('nouv_evt_notes').value;
	var lieu = document.getElementById('nouv_evt_lieu').value;
	var contact = document.getElementById('nouv_evt_contact').value;
	var web = document.getElementById('nouv_evt_web').value;
	var categorie = document.getElementById('categorie_select').value;
	if(categorie=='nouv_cat') categorie = document.getElementById('categorie_nouv').value;
	
	var url="agenda_edit2.php";
	url=url+"?sid="+Math.random();
	
	var params = "date_deb_j="+escape(encodeURI(date_deb_j));
	params = params+"&date_deb_m="+escape(encodeURI(date_deb_m));
	params=params+"&date_deb_a="+escape(encodeURI(date_deb_a));
	params=params+"&date_deb_h="+escape(encodeURI(date_deb_h));
	params=params+"&date_deb_min="+escape(encodeURI(date_deb_min));
	params=params+"&date_fin_j="+escape(encodeURI(date_fin_j));
	params=params+"&date_fin_m="+escape(encodeURI(date_fin_m));
	params=params+"&date_fin_a="+escape(encodeURI(date_fin_a));
	params=params+"&date_fin_h="+escape(encodeURI(date_fin_h));
	params=params+"&date_fin_min="+escape(encodeURI(date_fin_min));
	params=params+"&titre="+escape(encodeURI(titre));
	params=params+"&description="+escape(encodeURI(description));
	params=params+"&auteurs="+escape(encodeURI(auteurs));
	params=params+"&prix="+escape(encodeURI(prix));
	params=params+"&notes="+escape(encodeURI(notes));
	params=params+"&categorie="+escape(encodeURI(categorie));
	params=params+"&lieu="+escape(encodeURI(lieu));
	params=params+"&contact="+escape(encodeURI(contact));
	params=params+"&web="+escape(encodeURI(web));
	params=params+"&evt_id="+escape(encodeURI(edt_id));
	
	requete.open("POST",url,true);
	requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	requete.setRequestHeader("Content-length", params.length);
	requete.setRequestHeader("Connection", "close");
	requete.send(params);
	return false;
}

function sup_evt(evt_id)
{
	if(confirm("Voulez-vous vraiment supprimer cet événement ?"))
	{
		var requete = requete_AJAX();
		requete.onreadystatechange=function(){
			if(requete.readyState==4){
				if(requete.status == 200)
					if(requete.responseText=='ok')
					{
						document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="loading_box"><span class="confirm">Evénement supprimé avec succès</span></span>';
						setTimeout("rafraichir()",1000);
					}
					else document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="error">'+requete.responseText+'</span>';
				else document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="error">Erreur : '+requete.status+'. Impossible de contacter le serveur. Merci de réessayer d\'ici quelques instants</span>';
			}
		}
		document.getElementById('modif_evt_info'+evt_id).innerHTML='<span class="loading_box">Suppression ...</span>';
		
		var url="AJAX/agenda_suppr.php";
		url=url+"?sid="+Math.random();
		
		var params = "evt_id="+evt_id;
		
		requete.open("POST",url,true);
		requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		requete.setRequestHeader("Content-length", params.length);
		requete.setRequestHeader("Connection", "close");
		requete.send(params);
	}
}

