// JavaScript Document

// Masque le bouton à l'initialisation
if(document.getElementById('afficherClavier') != null)
	document.getElementById('afficherClavier').style.display = 'none';

function addEvent(obj, event, fct) {
    if (obj.attachEvent) //Est-ce IE ?
	{
        obj.attachEvent("on" + event, fct); //Ne pas oublier le "on"
	}
    else
	{
        obj.addEventListener(event, fct, true);
	}
}


/**
	* Merci à Qwix pour ce JS : http://qwix.media-box.net/index.php/2005/01/21/45-XmlhttprequestEtPhp#co
	* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
	*/
	function sendData(data, page, method, content_place)
	{
		if(window.ActiveXObject)
		{
			//Internet Explorer
			var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
		}//fin if
		else
		{
			//Mozilla
			var XhrObj = new XMLHttpRequest();
		}//fin else
		
		//définition de l'endroit d'affichage:
		//var content = document.getElementById("contenu");
		var content = document.getElementById(content_place);
		
		//si on envoie par la méthode GET:
		if(method == "GET")
		{
			if(data == 'null')
			{
				//Ouverture du fichier sélectionné:
				XhrObj.open("GET", page);
			}//fin if
			else
			{
				//Ouverture du fichier en methode GET
				XhrObj.open("GET", page+"?"+data);
			}//fin else
		}//fin if
		else if(method == "POST")
		{
			//Ouverture du fichier en methode POST
			XhrObj.open("POST", page);
		}//fin elseif
	
		//Ok pour la page cible
		XhrObj.onreadystatechange = function()
		{
			if (XhrObj.readyState == 4 && XhrObj.status == 200)
				content.innerHTML = XhrObj.responseText ;
		}    
	
		if(method == "GET")
		{
			XhrObj.send(null);
		}//fin if
		else if(method == "POST")
		{
			XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			XhrObj.send(data);
		}//fin elseif
	}//fin fonction SendData

//Verifie s'il y a des places disponible pour rejoindre une équipe
function verifDispo() {
	links = document.getElementsByTagName('a');
	var cpt=0;
	for(var i=0;i<links.length;i++)
	{
		if(links[i].className == 'place_dispo')
			cpt++;
	}
	if(cpt==0)
	{
		document.getElementById('avertissement').innerHTML = '<div id="fermetureAvertissementIcone"><a href="#" onclick="document.getElementById(\'avertissement\').style.display = \'none\';"><img src="images/fermer-petit.jpg" width="75" height="79" alt="fermer l\avertissement" title="fermer l\'avertissement"  /></a></div><div style="text-align:center; font-size:24px; margin-top:20px;">Attention, toutes les equipes sont completes</div>';
		document.getElementById('avertissement').style.display = 'block';
	}
}

//Affiche un formulaire pour s'inscrire et rejoindre une équipe
function showInscription(id) {
	table = document.getElementById('inscription'+id);
	table.style.display = 'block';
}

//Verifie les champs du formulaire d'inscription
function checkInscription(id) {
	var repas;
	var form = document.getElementById('form'+id);
	var div = document.getElementById('avertissement');
	//initialisation
	div.innerHTML = '';
	
	if(repas = document.getElementById('reponseRepas'+id))
	{
		//l'une des options a été choisie
		if(repas.value=='0' || repas.value=='1')
			form.submit();
		else //le membre n'a rien choisi
		{
			//Affichage d'un div
			div.style.display = 'block';
			div.innerHTML = '<div id="fermetureAvertissementIcone"><a href="#" onclick="document.getElementById(\'avertissement\').style.display = \'none\';"><img src="images/fermer-petit.jpg" width="75" height="79" alt="fermer l\avertissement" title="fermer l\'avertissement"  /></a></div><div style="text-align:center; font-size:24px; margin-top:20px;">Attention, vous n\'avez choisi l\'option "Repas"</div>';
			
		}
		
		//Ajouter une nouvelle personne dans la compétition
		if(id=='_addmember')
		{
			//Verifie qu'un nom a bien été séléctionné
			var input = document.getElementById('input_addmember');
			var regResult = new RegExp('.*pas de resultat.*','i');
			if(input.value=='' || regResult.test(input.value))
				div.innerHTML += '<div style="text-align:center; font-size:24px; margin-top:20px;">Attention, le champs "Nom" est vide</div>';
		}
	}
	else
		//Pas de repas à choisir
		form.submit();
}

//Modifie l'aspect de la reponse au repas
function selectRepas(id,reponse) {
	var imgOui = 'images/oui.jpg';
	var imgOuiSel = 'images/oui-select.jpg';
	
	var imgNon = 'images/non.jpg';
	var imgNonSel = 'images/non-select.jpg';
	
	var aOui = document.getElementById('repas_oui'+id);
	var aNon = document.getElementById('repas_non'+id);
	
	//OUI
	if(reponse=='oui')
	{
		//modifie l'image de la réponse
		aOui.innerHTML = '<img src="'+imgOuiSel+'" />';
		//reinitialise l'image de l'autre option
		aNon.innerHTML = '<img src="'+imgNon+'" />';
		//insert la valeur dans un champs hidden
		document.getElementById('reponseRepas'+id).value = '1';
	}
	//NON
	else if(reponse=='non')
	{
		//modifie l'image de la réponse
		aNon.innerHTML = '<img src="'+imgNonSel+'" />';
		//reinitialise l'image de l'autre option
		aOui.innerHTML = '<img src="'+imgOui+'" />';
		//insert la valeur dans un champs hidden
		document.getElementById('reponseRepas'+id).value = '0';
	}
		
}

function masquerClavier() {
	//initialisation des variables
	var clavier = document.getElementById('clavier');
	var boutonMasquer = document.getElementById('masquerClavier');
	var boutonAfficher = document.getElementById('afficherClavier');
	
	//Efface le clavier et le bouton masquerClavier
	clavier.style.display = 'none';
	boutonMasquer.style.display = 'none';
	
	//Affiche le bouton afficherClavier
	boutonAfficher.style.display = 'block';
	
	//Requete AJAX
	sendData('clavier=masquer','ajax/etatClavier.php','POST','etatclavier');
}

function afficherClavier() {
	//initialisation des variables
	var clavier = document.getElementById('clavier');
	var boutonMasquer = document.getElementById('masquerClavier');
	var boutonAfficher = document.getElementById('afficherClavier');
	
	//Efface le clavier et le bouton masquerClavier
	clavier.style.display = 'block';
	boutonMasquer.style.display = 'block';
	
	//Affiche le bouton afficherClavier
	boutonAfficher.style.display = 'none';
	
	//Requete Ajax
	sendData('clavier=afficher','ajax/etatClavier.php','POST','etatclavier');
	
}

var _lastFocused = null;

//récupère le dernier élément focus
function lastFocused(field) {
	_lastFocused = field.id;
	
	//Retire tous les contours rouge des autres inputs
	//Récuperation de tous les inputs de la page
	var inputs = document.getElementsByTagName('input');
	var textareas = document.getElementsByTagName('textarea');
	
	for(var i=0;i<inputs.length;i++)
	{
		//Si input text
		if((inputs[i].type=='text' || inputs[i].type=='password') && inputs[i].id != _lastFocused)
		{
			document.getElementById(inputs[i].id).style.border='#ffffff 3px solid';
		}
	}
	for(var i=0;i<textareas.length;i++)
	{
		if(textareas[i].id != _lastFocused)
		{
			document.getElementById(textareas[i].id).style.border='#ffffff 3px solid';
		}
	}
}
//Change de champs
function tab() {
	//Initialisation des variables
	var inputFields = new Array();
	var trouve = false;
	
	//Récuperation de tous les inputs de la page
	var inputs = document.getElementsByTagName('input');
	var textareas = document.getElementsByTagName('textarea');
	
	for(var i=0;i<inputs.length;i++)
	{
		//Si input text
		if(inputs[i].type=='text' || inputs[i].type=='password')
		{
			//insert dans le tableau
			inputFields.push(inputs[i].id);
			//alert(inputs[i].id);
		}
	}
	for(var i=0;i<textareas.length;i++)
	{
		inputFields.push(textarea[i].id);
	}
	
	//Recherche le dernier element focused
	var i=0;
	while(i<inputFields.length && !trouve)
	{
		if(_lastFocused == inputFields[i])
		{
			trouve = true;
			var index = i+1
			//Traitement
			if(index<inputFields.length) //Pas la fin du tableau
			{
				//focus de l'element suivant
				document.getElementById(inputFields[index]).focus();
			}
			else // fin du tableau
			{
				document.getElementById(inputFields[0]).focus();
			}
		}
		//incrémentation
		i++;
	}
	if(!trouve && inputFields.length>0) //L'element n'a pas été trouvé
	{
		document.getElementById(inputFields[0]).focus();
	}
}

