/*
 * Retourne une liste html des championnats présents dans la table esbvalm_recontres
 * avec les boutons editer et supprimer
*/

jQuery.fn.getChampAll = function() {
  return this.each(function(){
	var container=$(this);
    $.ajax({
		url: "squelettes/championnats/get_champ_all.php",
		dataType: "xml",
		success: function(xml) {
			var champList=$("<div></div>");
			$(xml).find('championnat').each(function(){
				var name=$(this).text();
				var champ=$("<div></div>");
				var champName=$("<div class='champName'>"+name+"</div>");
				champName.appendTo(champ);
				var btnEdit=$("<div class='btnEdit'>Editer</div>");
				btnEdit.data("id",name);
				btnEdit.bind("click",function(e){
					editChamp($(e.target).data("id"));
				});
				btnEdit.appendTo(champ);
				var btnSuppr=$("<div class='btnSuppr'>Supprimer</div>");
				btnSuppr.data("id",name);
				btnSuppr.bind("click",function(e){
					supprChamp($(e.target).data("id"));
				});
				btnSuppr.appendTo(champ);
				champ.appendTo(champList);
			});
			container.html(champList);
		},
		error: function(){
			container.html("Erreur connexion");
		}
	});
  });
};
/*
 * Retourne une liste html des championnats présents dans la table esbvalm_rencontres
*/
jQuery.fn.getMenuChamp = function() {
  return this.each(function(){
	var container=$(this);
    $.ajax({
		url: "squelettes/championnats/get_champ_all.php",
		dataType: "xml",
		success: function(xml) {
			var champList=$("<ul class='menuChamp'></ul>");
			$(xml).find('championnat').each(function(){
				var name=$(this).text();
				var champ=$("<li class='item'>"+name+"</li>");
				champ.data("id",name);
				champ.bind("click",function(e){
					$("#col2").html("<h4 id='msg_chargement'>Chargement en cours ...</h4>");
					$('.progress').show();
					editChamp($(e.target).data("id"));
				});
				champ.appendTo(champList);
			});
			container.html(champList);
		},
		error: function(){
			container.html("Erreur connexion");
		}
	});
  });
};
//
/*
 * Retourne un tableau editable des rencontres du championnat
*/
function editChamp(id_champ){
	$.ajax({
		url: "squelettes/championnats/get_rencontres.php",
		type:"POST",
		data:"champ="+id_champ,
		dataType: "xml",
		success: function(xml) {
			//construction de la table du championnat
			var championnat=$("<table class='championnat'></table>");
			$("<tr><td colspan=6>championnat : "+id_champ+"</td></tr>").appendTo(championnat);
			var n=0;
			$(xml).find('journee').each(function(){
				n++;
				$("<tr><td colspan='5' class='journee' >Journee "+n+"</td><td><img src='squelettes/images/img-loading.gif' class='progress'/></td><td><input type='button' value='Enregistrer' class='btnEnregistrer' /></td></tr>").appendTo(championnat);
				$(this).find('rencontre').each(function(){
					var row=$("<tr></tr>");
					var id_rencontre=$(this).find('id_rencontre').text();
					var cell=$("<td class='id'></td>").html(id_rencontre);
					cell.appendTo(row);
					var date=$("<input class='date' type='text' value='"+$(this).find('date').text()+"' />");
					var cell=$("<td></td>").html(date);
					cell.appendTo(row);
					var heure=$("<input class='heure' type='text' value='"+$(this).find('heure').text()+"' />");
					var cell=$("<td></td>").html(heure);
					cell.appendTo(row);
					var locaux=$("<input class='equipe_dom' name='score' type='text' value=\""+$(this).find('locaux').text()+"\" />");
					var visiteurs=$("<input class='equipe_vis' name='score' type='text' value=\""+$(this).find('visiteurs').text()+"\" />");
					if(id_champ=="Ligue Féminine" || id_champ=="Eurocup P1"){
						locaux.attr("readonly","readonly");
						visiteurs.attr("readonly","readonly");
					}
					var cell=$("<td></td>").html(locaux);
					cell.appendTo(row);
					var score_locaux=$("<input class='score_dom' name='score' type='text' value='"+$(this).find('score_locaux').text()+"' />");
					var cell=$("<td></td>").html(score_locaux);
					cell.appendTo(row);
					var score_visiteurs=$("<input class='score_vis' name='score' type='text' value='"+$(this).find('score_visiteurs').text()+"' />");
					var cell=$("<td></td>").html(score_visiteurs);
					cell.appendTo(row);
					var cell=$("<td></td>").html(visiteurs);
					cell.appendTo(row);
					row.appendTo(championnat);
				});
				$("<tr><td colspan='6'>&nbsp;</td></tr>").appendTo(championnat);
			});
			$('#col2').html(championnat);
			//
			//gestion de la saisie des étiquettes
			$('#col2 input:text').each(function(){
				$(this).bind("change",function(e){
					var elem=$(e.target);
					elem.addClass("changed");
				});
			});
			//
			//gestion du clic sur le bouton enregistrer
			$('#col2 .btnEnregistrer').each(function(){
				$(this).bind("click",function(e){
					//met à jour les champs modifies
					$(".changed").each(function(){
						$(this).removeClass("changed");
						$(".progress").show();
						$.ajax({
							async:false,
							url: "squelettes/championnats/maj_rencontre.php",
							type:"POST",
							data:"colonne="+$(this).attr("class")+"&valeur="+$(this).val()+"&id="+$(this).parent().prevAll(".id").text(),
							error: function(a,b,c){
								alert(a+"\n"+b+"\n"+c);
								$(".progress").hide();
							}
						});
						
					});
					//met à jour le classement si Ligue Feminine ou EuroLeague
					if(id_champ=="Ligue Féminine" || id_champ=="Eurocup P1"){
						$.ajax({
							async:false,
							url: "squelettes/championnats/ecrit_classement.php",
							type:"POST",
							data:"championnat="+id_champ,
							success: function(){
								setTimeout("$('.progress').hide()",1000);
							},
							error: function(a,b,c){
								alert(a+"\n"+b+"\n"+c);
								$(".progress").hide();
							}
						});
					}
				});
			});
			//
		},
		error: function(){
			$('#col2').html("Erreur xml");
		}
	});
};
/*
 * Retourne un tableau du classement du championnat
*/
jQuery.fn.getClassement = function(id_champ) {
  	return this.each(function(){
		var container=$(this);
		$.ajax({
			url: "squelettes/championnats/cree_classement.php",
			type:"POST",
			data:"champ="+id_champ,
			dataType: "xml",
			success: function(xml) {
				var classement=$("<table class='tableau_classement'></table>");
				var entete=$("<tr class='entete'><td class='equipe'>Equipes</td><td class='points'>Pts</td><td class='joue'>Jou</td><td class='gagne'>Ga</td><td class='perdu'>Pe</td><td class='marque'>Mar</td><td class='encaisse'>En</td></tr>");
				entete.appendTo(classement);
				var equipeNodes=$(xml).find("equipe");
				var i=0;
				equipeNodes.each(function(){
					var nom=$(this).find("nom").text();
					var points=$(this).find("points").text();
					var joues=$(this).find("joues").text();
					var gagnes=$(this).find("gagnes").text();
					var perdus=$(this).find("perdus").text();
					var marques=$(this).find("marques").text();
					var encaisses=$(this).find("encaisses").text();
					//~ var quotient=equipeNodes[i].getElementsByTagName("quotient")[0].childNodes[0].data;
					if(nom=="ESBVA-LM"){
						var ligne=$("<tr><td class='ligne_esbva' >"+nom+"</td><td class='ligne_esbva' >"+points+"</td><td class='ligne_esbva' >"+joues+"</td><td class='ligne_esbva' >"+gagnes+"</td><td class='ligne_esbva' >"+perdus+"</td><td class='ligne_esbva' >"+marques+"</td><td class='ligne_esbva' >"+encaisses+"</td></tr>");
					}else{
						var ligne=$("<tr><td class='ligne"+i%2+"' >"+nom+"</td><td class='ligne"+i%2+"' >"+points+"</td><td class='ligne"+i%2+"' >"+joues+"</td><td class='ligne"+i%2+"' >"+gagnes+"</td><td class='ligne"+i%2+"' >"+perdus+"</td><td class='ligne"+i%2+"' >"+marques+"</td><td class='ligne"+i%2+"' >"+encaisses+"</td></tr>");
					}
					ligne.appendTo(classement);
				});
				container.html(classement);
			}
		});
 	});
};
//
/*
 * Retourne un tableau HTML des prochaines rencontres à domicile
*/
jQuery.fn.getProchainsMatchsDom = function(sChampionnats) {
	return this.each(function(){
		var container=$(this);
		$.ajax({
			url: "squelettes/championnats/cree_prochains_matchs_dom.php",
			type:"POST",
			data:"championnats="+sChampionnats,
			dataType: "xml",
			success: function(xml) {
				var rencontreNodes=$(xml).find("rencontre");
				var prochainsMatchs=$("<table></table>");
				var entete=$("<tr><td id='salle_prochain_match'>Salle Palacium</td></tr>");
				entete.appendTo(prochainsMatchs);
				rencontreNodes.each(function(){
					var championnat=$(this).find("championnat").text();
					var date=$(this).find("date").text();
					var heure=$(this).find("heure").text();
					var equipe_dom=$(this).find("equipe_dom").text();
					var equipe_vis=$(this).find("equipe_vis").text();
					var rencontre=$("<tr><td class='date_prochain_match'>"+date+" - "+heure+"</td></tr>"
								+"<tr><td class='championnat_prochain_match'>("+championnat+")</td></tr>"
								+"<tr><td class='equipes_prochain_match'>"+equipe_dom+" / "+equipe_vis+"</td></tr>");
					rencontre.appendTo(prochainsMatchs);
				});
				container.html(prochainsMatchs);
			}
		});
	});
		
};
//
/*
 * Retourne un tableau HTML des derniers résultats d'unchampionnat
*/
jQuery.fn.getDerniersResultats = function(champ) {
	return this.each(function(){
		var container=$(this);
		$.ajax({
			url: "squelettes/championnats/cree_derniers_resultats.php",
			type:"POST",
			data:"champ="+champ,
			dataType: "html",
			success: function(docHTML) {
				container.html(docHTML)
			}
		});
	});
		
};
//
/*
 * Retourne un tableau HTML du calendrier et des résultats d'un championnat
*/
jQuery.fn.getCalendrierResultat = function(champ,journee) {
	return this.each(function(){
		var container=$(this);
		$.ajax({
			url: "squelettes/championnats/get_calendriers_resultats.php",
			type:"POST",
			data:"champ="+champ+"&journee="+journee,
			dataType: "xml",
			success: function(xml) {
				var championnat=$("<table class='championnat'></table>");
				var n_journee=0;
				$(xml).find('journee').each(function(){
					//creation des boutons
					var total_journee=parseInt($(this).find('total').text());
					var id_journee=parseInt($(this).find('id').text());
					var btnSuivante=$("<a href='#'>suivante</a>");
					var btnPrecedente=$("<a href='#'>précédente</a>");
					//Gestion du clic sur les boutons
					if(id_journee>1 && id_journee<total_journee ){
						btnSuivante.bind("click",function(){
							container.getCalendrierResultat(champ,id_journee+1);
						});
						btnPrecedente.bind("click",function(){
							container.getCalendrierResultat(champ,id_journee-1);
						});
					}else if(id_journee==1){
						btnSuivante.bind("click",function(){
							container.getCalendrierResultat(champ,id_journee+1);
						});
						btnPrecedente.bind("click",function(){
							container.getCalendrierResultat(champ,total_journee);
						});
					}else if(id_journee==total_journee){
						btnSuivante.bind("click",function(){
							container.getCalendrierResultat(champ,1);
						});
						btnPrecedente.bind("click",function(){
							container.getCalendrierResultat(champ,id_journee-1);
						});
					}
					var entete=$("<div class='entete'></div>");
					btnPrecedente.appendTo(entete);
					$("<a href='#'>Journée "+id_journee+"</a>").appendTo(entete);
					btnSuivante.appendTo(entete);
					$("<br class='nettoyeur'/>").appendTo(entete);
					
					container.html(entete);
					//Creation du tableau des rencontres
					$(this).find('rencontre').each(function(){
						var rencontre=$("<tr></tr>");
						var date=$("<td class='date'>"+$(this).find('date').text()+"</td>");
						var locaux=$("<td class='equipe'>"+$(this).find('locaux').text()+"</td>");
						var score_dom=$("<td class='score_dom'>"+$(this).find('score_dom').text()+"</td>");
						var sep=$("<td class='sep'>-</td>");
						var score_vis=$("<td class='score_vis'>"+$(this).find('score_vis').text()+"</td>");
						var visiteurs=$("<td class='equipe'>"+$(this).find('visiteurs').text()+"</td>");
						
						
						date.appendTo(rencontre);
						locaux.appendTo(rencontre);
						score_dom.appendTo(rencontre);
						sep.appendTo(rencontre);
						score_vis.appendTo(rencontre);
						visiteurs.appendTo(rencontre);
						rencontre.appendTo(championnat);
					});
					championnat.appendTo(container);
				});
			}
		})
	});
		
};

jQuery.fn.test = function() {
	return this.each(function(){
		var container=$(this);
		//~ inserer code ici
	});
		
};
//

