/**
*	Javascript pour Twikeo
*	par Didier Ciochetto - Technimédia
*/


function valide_inscription (f)
{
	if (f.elements['pseudo'].value == ''
	 || f.elements['mdp'].value == ''
	 || f.elements['jj'].value == ''
	 || f.elements['mm'].value == ''
	 || f.elements['aaaa'].value == ''
	 || f.elements['ville'].value == ''
	 || f.elements['cp'].value == ''
	 || f.elements['courriel'].value == ''
	 || f.elements['captcha'].value == '')
	{
		erreur ("msg", "Erreur vous n'avez pas rempli tous les champs obligatoires!");
		return false;
	}

	if (document.getElementById('pseudo').value.length > 25)
	{
		erreur ("msg", "Erreur votre pseudo est trop long!");
		return false;
	}
	
	if (!document.getElementById('courriel').value.match (/.+@.+\..+/))
	{
		erreur ("msg", "Erreur cette adresse n'est pas valide!");
		return false;
	}

	if (isNaN (f.elements['jj'].value) || isNaN (f.elements['mm'].value) || isNaN (f.elements['aaaa'].value))
	{
		erreur ("msg", "Erreur, votre date de naissance doit être des chiffres!");
		return false;
	}

	return true;

}

function valide_modification (f)
{
	if (f.elements['mdp'].value == ''
	 || f.elements['jj'].value == ''
	 || f.elements['mm'].value == ''
	 || f.elements['aaaa'].value == ''
	 || f.elements['ville'].value == ''
	 || f.elements['cp'].value == ''
	 || f.elements['courriel'].value == '')
	{
		erreur ("msg", "Erreur vous n'avez pas rempli tous les champs obligatoires!");
		return false;
	}

	if (!document.getElementById('courriel').value.match (/.+@.+\..+/))
	{
		erreur ("msg", "Erreur cette adresse n'est pas valide!");
		return false;
	}

	if (isNaN (f.elements['jj'].value) || isNaN (f.elements['mm'].value) || isNaN (f.elements['aaaa'].value))
	{
		erreur ("msg", "Erreur, votre date de naissance doit être des chiffres!");
		return false;
	}

	return true;

}

function valide_question (f)
{

	if (f.elements['titre'].value == ''
	 || f.elements['tags'].value == '' )
	{
		erreur ("msg", "Erreur vous n'avez pas rempli tous les champs obligatoires!");
		return false;
	}

	if (f.elements['pseudo'] &&
		((f.elements['pseudo'].value == '' || f.elements['mdp'].value == '')
	 &&  (f.elements['pseudo_temp'].value == '' || f.elements['captcha'].value == '')))
	{
		erreur ("msg", "Erreur vous devez vous identifier ou remplir le captcha.");
		return false;
	}

	if (f.elements['categorie'].value == 0)
	{
		erreur ("msg", "Erreur vous n'avez pas choisi de catégorie.");
		return false;
	}

	if (!f.elements['tags'].value.match (/.+, ?.+, ?.+/))
	{
		erreur ("msg", "Erreur vous devez indiquer 3 mots clés.");
		return false;
	}
}


function valide_reponse (f)
{

	if (f.elements['reponse'].value == '')
	{
		erreur ("msg", "Vous devez écrire du texte!");
		return false;
	}

}

function valide_identification (f)
{
	if(f.elements['pseudo'].value == ""
		|| f.elements['mdp'].value=="")
	{
		erreur ("msgid", "Vous devez écrire votre identifiant et votre mot de passe.");
		return false;
	}
}

function valide_recherche()
{
	if (document.getElementById('texte_recherche').value == document.getElementById('texte_recherche').defaultValue
		|| document.getElementById('texte_recherche').value == "")
	{
		erreur ("msgid", "Vous devez taper des termes à chercher.");
		return false;
	}
}

function valide_reco (f)
{
	if(f.elements['courriel'].value == ""
		|| f.elements['ami'].value=="")
	{
		erreur ("msg", "Vous devez indiquer un expéditeur et un destinataire.");
		return false;
	}

	if (!document.getElementById('courriel').value.match (/.+@.+\..+/))
	{
		erreur ("msg", "Erreur cette adresse n'est pas valide!");
		return false;
	}
}

function valide_contact (f)
{
	if(f.elements['courriel'].value == ""
		|| f.elements['nom'].value=="")
	{
		erreur ("msg", "Vous devez remplir votre nom et votre adresse électronique.");
		return false;
	}
	if(f.elements['captcha'].value == "")
	{
		erreur ("msg", "N'oubliez pas le code de sécurité!");
		return false;
	}

	if (!document.getElementById('courriel').value.match (/.+@.+\..+/))
	{
		erreur ("msg", "Erreur cette adresse n'est pas valide!");
		return false;
	}

}


/**
 *	Enregistrement des votes
 */

function e_vote (num_reponse, v)
{

	try
	{
		connexion = new XMLHttpRequest();
	} catch (e) { return true; }

	connexion.open ("GET", "vote.html?r=" + num_reponse + "&vote=" + v);
	document.getElementById("o"+num_reponse).innerHTML = '';
	/* Pour IE encore, car par possible de passer la ligne tr en entier. */
	document.getElementById("v"+num_reponse).style.backgroundColor = "#578";
	document.getElementById("v"+num_reponse).style.textAlign = "center";
	document.getElementById("v"+num_reponse).innerHTML = 'Envoi';

	connexion.send (null);
	connexion.onreadystatechange = function()
	{
		if (connexion.readyState == 4)
		{
			if (connexion.responseText == "=")
				document.getElementById("v"+num_reponse).innerHTML = "Déjà voté";
			else
			{
				document.getElementById("v"+num_reponse).innerHTML = "Validé";
				document.getElementById("u"+num_reponse).style.color = "#08c";
				document.getElementById("u"+num_reponse).innerHTML = "Score: " + connexion.responseText;
			}
			fade (document.getElementById("v"+num_reponse), [0x55,0x77,0x88], [0xFF,0xFF,0xFF]);
		}
	}
	return false;

}


function e_votequestion (num_question, t)
{

	try
	{
		connexion = new XMLHttpRequest();
	} catch (e) { return true; }

	connexion.open ("GET", "votequestion.html?r=" + num_question + "&votequestion=" + t);
	document.getElementById("o"+num_question).innerHTML = '';
	/* Pour IE encore, car par possible de passer la ligne tr en entier. */
	document.getElementById("t"+num_question).style.backgroundColor = "#578";
	document.getElementById("t"+num_question).style.textAlign = "center";
	document.getElementById("t"+num_question).innerHTML = 'Envoi';

	connexion.send (null);
	connexion.onreadystatechange = function()
	{
		if (connexion.readyState == 4)
		{
			if (connexion.responseText == "=")
				document.getElementById("t"+num_question).innerHTML = "Déjà voté";
			else
			{
				document.getElementById("t"+num_question).innerHTML = "Validé";
				document.getElementById("u"+num_question).style.color = "#08c";
				document.getElementById("u"+num_question).innerHTML = "Score: " + connexion.responseText;
			}
			fade (document.getElementById("t"+num_question), [0x55,0x77,0x88], [0xFF,0xFF,0xFF]);
		}
	}
	return false;

}



/**
* Fait aller le fond de la couleur start à end.
* Didier Ciochetto - d'après Michal Gajek http://migajek.com/
*/
function easeInOut(minValue,maxValue,totalSteps,actualStep,powr)
{
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
	return Math.ceil(stepp)
}
function fade (elem,startRGB,endRGB)
{
	var steps = 20; var intervals = 20; var powr = 1;
	if (elem.bgFadeMemInt) window.clearInterval(elem.bgFadeMemInt);
	var actStep = 0;
	elem.bgFadeMemInt = window.setInterval(
		function()
		{
			elem.currentbgRGB = [
				easeInOut(startRGB[0],endRGB[0],steps,actStep,powr),
				easeInOut(startRGB[1],endRGB[1],steps,actStep,powr),
				easeInOut(startRGB[2],endRGB[2],steps,actStep,powr) ];
			elem.style.backgroundColor = "rgb("+
				elem.currentbgRGB[0]+","+
				elem.currentbgRGB[1]+","+
				elem.currentbgRGB[2]+")";
			actStep++; if (actStep > steps) window.clearInterval(elem.bgFadeMemInt);
		} ,intervals)
}




/**
 *	Msg d'erreurs
 */

var opacite = 100;

function erreur (e, texte)
{
	document.getElementById(e).style.display = "block";
	opacite = 100;
	document.getElementById(e).style.opacity = opacite;
	document.getElementById(e).style.filter = 'alpha(opacity = '+(opacite)+')';
	document.getElementById(e).style.MozOpacity = (opacite/100);
	document.getElementById(e).innerHTML = texte;
	setTimeout("disparition('"+e+"')", 2000);
}

function disparition(e)
{
	if(opacite > 0)
	{
		opacite -= 10;
		document.getElementById(e).style.opacity = opacite;
		document.getElementById(e).style.filter = 'alpha(opacity = '+(opacite)+')';
		document.getElementById(e).style.MozOpacity = (opacite/100);
		setTimeout("disparition('"+e+"')", 100);
	}
	else
	{
		opacite = 0;
		document.getElementById(e).style.display = 'none';
	}
}


/**
 *	Émoticones
 */

function emot (texte)
{
	document.getElementById("reponse").value += texte;
	document.getElementById("reponse").focus();
}


function add_balise(balise)
{
 document.getElementById("reponse").value += '['+balise+']' + '[/'+balise+']';
}