//Fonction qui vérifie l'envoi de recherche via le formulaire de recherches
function verif_champ_rech()
{
	var rech=document.forms['reseach'].elements['search'].value;
	if(rech=='Rechercher' || rech=='')
		return false;
	else
		return true;
}

//Fonction qui empèche de valider le formulaire d'identification si les champs ne sont pas remplis
function verif_ident()
{
	var pseudo=document.forms["form_ident"].elements["pseudo"].value;
	var password=document.forms["form_ident"].elements["password"].value;
	
	if(pseudo=='' || pseudo=='pseudo' || password=='password' || password=='')
		return false;
	else
		return true;
}

//Fonction qui empèche de valider le formulaire d'envoi d'image si les champs ne sont pas remplis
function verif_form_img(){
	var champs_fichier=document.forms["form_envoi_img"].elements["fichier"].value;
	
	if(champs_fichier=='')
		return false;
	else
		return true;
}

//Fonction appelé avant l'enregistrement d'un contenu dans la base pour nettoyer le champs "tags"
function valid_tags(tags){
	if(tags=='Vos tags doivent-être séparés par des \';\''){
		document.forms["form_redac_actu"].elements["tags"].value='';
	}
}

// Fonction qui vérifie sur les boutons radios relatifs au choix du support (360,ps3...) a été coché
function verif_radio_support_checked(name_radio){
	 var bt_radio=document.getElementsByName(name_radio); 
	 var checked=0;
	for(i=0;i<bt_radio.length;i++){ 
		if(bt_radio[i].checked) 
			 checked=1;
	}
	
	if(checked==1)
		return true;
	else
		return false;
}

//Fonction qui récupère la valeur d'un groupe de boutons radio/checkbox
function GetRadioValue(radioGroupName){
	var group = document.getElementsByName(radioGroupName);
	var res='';
	for( var i = 0 ; i < group.length ; i++ )
	{
		if( group[i].checked ) res+= group[i].value+',';
	}
	if(res.length>0)
		res=res.substr(0,res.length-1);// Pour supprimer la dernière virgule
	return res;
}

// Fonction qui vérifie le formulaire de rédaction d'une news avant envoi du formulaire
function verif_form_redac_news(){
	tinyMCE.triggerSave(); // Pour sauvegarder le contenu du textareza tinyMCE
	var support_blog=null;
	if(document.forms["form_redac_actu"].elements["Blog"]){
		support_blog = document.forms["form_redac_actu"].elements["Blog"].checked;
	}
	var support=verif_radio_support_checked("support[]"); // Vérifie qu'une des cases support est cochée
	var titre=document.forms["form_redac_actu"].elements["titre"].value;
	var texte=document.forms["form_redac_actu"].elements["texte"].value;
	var source=document.forms["form_redac_actu"].elements["source"].value;
	var tags=document.forms["form_redac_actu"].elements["tags"].value;

	if(!support || titre=='' || texte=='' || (source=='http://' && support_blog!=true)){
		alert('Tous les champs doivent être remplis');
		return false;
	}
	else{
		valid_tags(tags); // Si pas de tags rentrés, nettoie le champs des instructions
		return true;
	}
}
// Fonction qui vérifie le formulaire de rédaction d'un article avant envoi du formulaire
function verif_form_redac_article(){
	tinyMCE.triggerSave(); // Pour sauvegarder le contenu du textareza tinyMCE
	var type_article=$F('type_article');
	var sujet=$F('sujet');
	var paragraphe1=$F('paragraphe1');
	var form_valid=0;
	
	if(type_article==4 || type_article==5){
		if(sujet!='' && paragraphe1!='')
			form_valid=1;
	}
	else{
		if(paragraphe1!='')
			form_valid=1;
	}

	if(form_valid!=1){
		alert('Tous les champs et au moins le 1er champs texte doivent être remplis');
		return false;
	}
	else{
		return true;
	}
}


//Fonction qui affiche le tableau des actualités dans le profil d'un membre
function afficheTabActualites(deb){
	var url = '/ajax/ajax_contenu.php';
	var pars = 'action=affiche_actu&deb='+deb; // variables POST
	var myAjax = new Ajax.Updater(
					'conteneur_tab_actu',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche le tableau des articles dans le profil d'un membre
function afficheTabArticles(deb){
	var url = '/ajax/ajax_contenu.php';
	var pars = 'action=affiche_articles&deb='+deb; // variables POST
	var myAjax = new Ajax.Updater(
					'conteneur_tab_articles',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche le tableau des jeux dans le profil d'un membre
function afficheTabJeux(deb,order_by){
	var url = '/ajax/ajax_contenu.php';
	var pars = 'action=affiche_jeux_enregistres&deb='+deb; // variables POST
	if(order_by!=null)
		pars += '&order_by='+order_by;
	var myAjax = new Ajax.Updater(
					'conteneur_jeux',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche le tableau des articles désactivés
function afficheTabContenusDesact(deb){
	var url = '/ajax/ajax_contenu.php';
	var pars = 'action=affiche_contenus_desact&deb='+deb; // variables POST
	var myAjax = new Ajax.Updater(
					'conteneur_contenus_desact',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche le tableau des membres dans le profil d'un membre
function afficheTabMembres(deb,order_by){
	var url = '/ajax/ajax_membre.php';
	var pars = 'action=affiche_membres&deb='+deb; // variables POST
	if(order_by!=null)
		pars += '&order_by='+order_by;
	var myAjax = new Ajax.Updater(
					'conteneur_tab_membres',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche le tableau des articles dans le profil d'un membre
function afficheTabClassement(deb,order_by){
	var url = '/ajax/ajax_membre.php';
	var pars = 'action=affiche_classements&deb='+deb; // variables POST
	if(order_by!=null)
		pars += '&order_by='+order_by;
	var myAjax = new Ajax.Updater(
					'conteneur_tab_classements',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui affiche les infos d'un rédacteur dans le conteneur passé en paramètre
function afficheInfosRedacteur(pseudo,conteneur){
	document.getElementById(conteneur).style.display="block";
	var url = '/ajax/ajax_membre.php';
	var pars = 'action=affiche_infos_redacteur&pseudo='+pseudo; // variables POST
	var myAjax = new Ajax.Updater(
					conteneur,
					url, 
					{method: 'post', parameters: pars}
					);
}


//Fonction qui affiche la liste des titres de jeux
function creation_liste_titres_jeux(id_j_selected){
	var support= GetRadioValue('support[]');
	var url = '/ajax/ajax_contenu.php';
	if(id_j_selected!=''|| id_j_selected!=null)
		var pars = 'action=affiche_liste_titres_jeux&support='+support+'&id_j_selected='+id_j_selected; // variables POST
	else
		var pars = 'action=affiche_liste_titres_jeux&support='+support; // variables POST
	var myAjax = new Ajax.Request(
					url, 
					{method: 'post', parameters: pars,
					//onLoading:function(){document.getElementById('td_liste_titres_jeux').innerHTML="Chargement ...";},
					onComplete:function(rep){document.getElementById('td_liste_titres_jeux').innerHTML=rep.responseText;}
					}
					);
}


//Fonction qui gère les réponses renvoyées par les xscripts ajax
function gestionResponseAjax(rep,page){
	if (rep != '' && page!='supp_img'){
		document.getElementById('conteneur_feedback').innerHTML = '<h4 align="center">'+rep+'</h4><hr /><br />';
	}
	
	switch(page){
		case 'ajout_jeu' :
			creation_liste_titres_jeux('');
			document.getElementById('conteneur_ajout_jeu').style.display = "none";
			break;
		case 'profil' :
			afficheTabActualites('');// Ne renvoie pas de page de début, ça sera donc le numéro de page en session qui sera pris en compte (permet de revenir à la page visionné par le membre avant l'action)
			afficheTabArticles('');
			afficheTabJeux('');
			break;
		case 'membre' :
			afficheTabMembres('');
			break;
		case 'supp_img' :
			location.href=rep;
			break;
		default: 
	}
}

// Fonction qui supprime un contenu de la base sans rechargement de la page (Ajax)
function supp_contenu(id_contenu,type_contenu){
	if(confirm('Vous voulez supprimer ce contenu ?')){
		var url = '/ajax/ajax_contenu.php';
		var pars = 'action=supp_contenu&id_contenu='+id_contenu+'&type_contenu='+type_contenu; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'profil');}}
						);
	}
}

// Fonction qui supprime un jeu de la base sans rechargement de la page (Ajax)
function supp_jeu(id_jeu){
	if(confirm('Vous voulez supprimer ce jeu ?')){
		var url = '/ajax/ajax_contenu.php';
		var pars = 'action=supp_jeu&id_jeu='+id_jeu; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'profil');}}
						);
	}
}

// Fonction qui supprime un membre de la base sans rechargement de la page (Ajax)
function supp_membre(id_membre){
	if(confirm('Vous voulez supprimer ce membre ?')){
		var url = '/ajax/ajax_membre.php';
		var pars = 'action=supp_membre&id_membre='+id_membre; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'membre');}}
						);
	}
}

// Fonction qui modifie un champ par une nouvelle valeur
function modif_flag(champs_id,id,table,champs_a_modifier,new_value,reload){ // reload = (reload de la page ou pas)
	if(confirm('Vous confirmez votre action ?')){
		var url = '/ajax/ajax_contenu.php';
		var pars = 'action=modif_flag&id='+id+'&champs_id='+champs_id+'&table='+table+'&champs_a_modifier='+champs_a_modifier+'&new_value='+new_value; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						//onComplete:function(rep){alert(rep.responseText);}}
						onComplete:function(){
							alert("Modification effectuée.");
							if(reload==true)
								window.location.reload(true);return false;}}
						);
	}
}

// Fonction qui modifie la prise en compte du coefficient par défaut
function modif_coeff(id_contenu,nouvelle_valeur_prise_compte,coeff){
	if(confirm('Vous voulez modifier le coefficient de cet article ?')){
		var url = '/ajax/ajax_contenu.php';
		var pars = 'action=modif_coeff&id_contenu='+id_contenu+'&valeur_prise_compte='+nouvelle_valeur_prise_compte+'&coeff='+coeff; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'profil');}}
						);
	}
}

// Fonction qui modifie l'avatar d'un membre
function modif_avatar(id_m,avatar){
	if(confirm('Vous êtes sur le point de modifier votre avatar. Continuer ?')){
		var url = '/ajax/ajax_membre.php';
		var pars = 'action=modif_avatar&id_m='+id_m+'&avatar='+avatar; // variables POST
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(){alert("Mise à jour effectuée.");window.location.reload(true);return false;}}
						);
	}
}


//Fonction qui permet à un membre d'activer/désactiver une actualité
function active_desactive_contenu(couleur_feu,id_contenu,type_contenu){
	var lancer_req=1; // initialisation
	
	if(couleur_feu=='rouge'){
		if(confirm('Voulez-vous mettre ce contenu en ligne ?')){
			var pars = 'action=active_desactive_contenu&id_contenu='+id_contenu+'&type_contenu='+type_contenu+'&activation=1'; // variables POST
		}
		else
			lancer_req=0;
	}
	else if(couleur_feu=='vert'){
		if(confirm('Voulez-vous mettre ce contenu hors-ligne ?')){
			var pars = 'action=active_desactive_contenu&id_contenu='+id_contenu+'&type_contenu='+type_contenu+'&activation=0'; // variables POST
		}
		else
			lancer_req=0;
	}
	
	if(type_contenu==1)
		var div_conteneur='conteneur_tab_actu';
	else
		var div_conteneur='conteneur_tab_article';
	
	if(lancer_req==1){// Lance la requete
		var url = '/ajax/ajax_contenu.php';
		var myAjax = new Ajax.Updater(
						div_conteneur,
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'profil');}}
						);
	}
}

//Simple fonction qui rend visible un élément caché dans la page (display:none;)
function montre(id){
	var display=document.getElementById(id).style.display;
	if(display=="none"){
		document.getElementById(id).style.display="block";	//IE
		//document.getElementById(id).style.display="table-row";	//FF
	}
	else
		document.getElementById(id).style.display="none";
}

//Fonction appelé pour afficher soit le formulaire RIB ou IBAN suivant le pays habité par le membre
function gest_affichage_tab_rib(id){
	var valeur=$F(id);
	if($F('pays')!=''){
		if(valeur=="France Métropolitaine" || valeur=="Guadeloupe" || valeur=="Martinique" || valeur=="Guyane" || valeur=="La Réunion"){
			document.getElementById('tab_rib').style.display="block";
			document.getElementById('tab_iban').style.display="none";
		}
		else{
			document.getElementById('tab_rib').style.display="none";
			document.getElementById('tab_iban').style.display="block";
		}
	}
	else{
		document.getElementById('tab_rib').style.display="none";
		document.getElementById('tab_iban').style.display="none";
	}
}

//Fonction appelé pour afficher la galerie d'avatars dans le profil
function rempli_div_avatar(){
	var url = '/ajax/ajax_membre.php';
	var pars = 'action=affiche_avatars'; // variables POST
	var myAjax = new Ajax.Updater(
					'conteneur_avatars',
					url, 
					{method: 'post', parameters: pars}
					);
}

//Fonction qui gère l'affichage des champs du formulaire en fonction du type d'article rédigé
//parametre : id_j_selected >>  si il s'agit d'une MAJ d'article, on passe l'id du jeu concerné (test ou preview) pour le préselectionner dans la liste des jeux
function gest_form_redac_article(id_j_selected){
	var type=document.getElementById('type_article').value;
	var support=verif_radio_support_checked("support[]"); // Vérifie qu'une des cases support est cochée
	if(type!=''){
		if(type=='2' || type=='3'){//Test & preview
			// A cacher :
			document.getElementById('tr_titre_jeu').style.display = "none";
			document.getElementById('tr_sujet_article').style.display = "none";
			document.getElementById('conteneur_ajout_jeu').style.display = "none";
			document.getElementById('tr_recapitulatif').style.display = "none";
			document.getElementById('tr_champs_texte').style.display = "none";
			document.getElementById('boutons_formulaire').style.display = "none";
			
			if(!support){ // Si aucun bt radio Support n'est coché
				// N'affiche que la ligne Support
				document.getElementById('tr_support').style.display = "block"; // IE
				document.getElementById('tr_support').style.display = "table-row"; //FF
			}
			else{
				creation_liste_titres_jeux(id_j_selected); // Créer la liste de jeu en fonction du support sélectionné
				//A montrer
					// IE
				document.getElementById('tr_support').style.display = "block";
				document.getElementById('tr_titre_jeu').style.display = "block";
				document.getElementById('tr_champs_texte').style.display = "block";
				document.getElementById('boutons_formulaire').style.display = "block";
				if(type=='2'){document.getElementById('tr_recapitulatif').style.display = "block";} // test
					//FF
				document.getElementById('tr_support').style.display = "table-row";
				document.getElementById('tr_titre_jeu').style.display = "table-row";
				document.getElementById('tr_champs_texte').style.display = "table-row";
				document.getElementById('boutons_formulaire').style.display = "table-row";
				if(type=='2'){document.getElementById('tr_recapitulatif').style.display = "table-row";} // test
			}
		}
		else if(type=='4' || type=='5'){ // Reflexion & dossier
			if(!support){ // Si aucun bt radio Support n'est coché
				// N'affiche que la ligne Support
				document.getElementById('tr_support').style.display = "block"; // IE
				document.getElementById('tr_support').style.display = "table-row"; //FF
			}
			else{
				// A cacher :
				document.getElementById('tr_titre_jeu').style.display = "none";
				document.getElementById('conteneur_ajout_jeu').style.display = "none";
				document.getElementById('tr_recapitulatif').style.display = "none";
				//A montrer
					//IE
				document.getElementById('tr_sujet_article').style.display = "block";
				document.getElementById('tr_champs_texte').style.display = "block";
				document.getElementById('boutons_formulaire').style.display = "block";
				document.getElementById('tr_support').style.display = "block";
					//FF
				document.getElementById('tr_sujet_article').style.display = "table-row";
				document.getElementById('tr_champs_texte').style.display = "table-row";
				document.getElementById('boutons_formulaire').style.display = "table-row";
				document.getElementById('tr_support').style.display = "table-row";
			}
		}
	}
	else{
		// on cache tout
		document.getElementById('tr_support').style.display = "none";
		document.getElementById('tr_titre_jeu').style.display = "none";
		document.getElementById('conteneur_ajout_jeu').style.display = "none";
		document.getElementById('tr_recapitulatif').style.display = "none";
		document.getElementById('tr_sujet_article').style.display = "none";
		document.getElementById('tr_champs_texte').style.display = "none";
		document.getElementById('boutons_formulaire').style.display = "none";
	}
}

function enregistrement_nouv_jeu(){
	var support= GetRadioValue('support[]');
	if($F('nouveau_titre_jeu')=='' || $F('nouveau_editeur')=='' || $F('nouveau_developpeur')=='' || $F('nouveau_genre')=='' || $F('nouveau_jouable_online')=='' || $F('nouveau_nb_joueurs')=='' || support==''){
		alert('Tous les champs doivent être remplis.');
	}
	else{
		// Enregistrement du jeu dans la base
		var url = '/ajax/ajax_contenu.php';
		var pars = 'action=enregistre_jeu&titre='+$F('nouveau_titre_jeu')+'&editeur='+$F('nouveau_editeur')+'&developpeur='+$F('nouveau_developpeur')+'&genre='+$F('nouveau_genre')+'&nb_joueurs='+$F('nouveau_nb_joueurs')+'&jouable_online='+$F('nouveau_jouable_online')+'&support='+support;
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'ajout_jeu');}}
						);
	}
}

function envoi_form_supp_img(action_bis,chemin,url_image,url_miniature, id_a,code_img,url_actuelle,url_parametres){
	// Execution de la requete de suppression de l'image
		var url = '/ctrl_contenu.php';
		url_actuelle=escape(url_actuelle);// Encode l'url
		url_parametres=escape(url_parametres); // Encode les paramètres
		var pars = 'action='+action_bis+'&chemin='+chemin+'&url_image='+url_image+'&url_miniature='+url_miniature+'&id_a='+id_a+'&code_img='+code_img+'&url_actuelle="'+url_actuelle+'"&url_parametres="'+url_parametres+'"';
		//alert(url_actuelle+url_parametres);
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){gestionResponseAjax(rep.responseText,'supp_img');}}
						);
						
}

//Fonction qui met à jour une zone éditée avec TextModifier (modif ajax)
//ex ; sur les commentaires
function majTextModifier(text,id_com){
		text = escape(text);
		var url = '/ajax/ajax_commentaire.php';
		var pars = 'action=update_com'+'&id_com='+id_com+'&message='+text+'';
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars/*,
						onComplete:function(rep){alert(rep.responseText);}*/}
						);
}

// Envoi une alerte pour un article
function envoyer_alerte(id_c,type_a,id_m){
	if(confirm('Vous confirmez que vous souhaitez envoyer une alerte de ce type pour cet article ?')){
		var url = '/ajax/ajax_alerte.php';
		var pars = 'action=ajout_alerte'+'&id_c='+id_c+'&type_a='+type_a+'&id_m='+id_m;
		var myAjax = new Ajax.Request(
						url, 
						{method: 'post', parameters: pars,
						onComplete:function(rep){alert(rep.responseText);}}
						);
	}
}

//Affiche le classement des membres (bloc orange)
function affiche_classement_redacteurs(){
	document.getElementById('bloc_top_redacteurs').innerHTML = '<div align="center" style="width:100%"><img src="ressources/loading.gif" /></div>';
	var url = '/ajax/ajax_classement.php';
	var pars = 'action=aff_classement'; // variables POST
	var myAjax = new Ajax.Updater(
					'bloc_top_redacteurs',
					url, 
					{method: 'post', parameters: pars}
					);
}
