/**
*	Javascript pour Twikeo
*	par Didier Ciochetto
*/


function valide_inscription (f)
{

	if (f.elements['pseudo'].value == ''
	 || f.elements['mdp'].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('pseudo').value.length < 3)
	{
		erreur ("msg", "Erreur votre pseudo est trop court!");
		return false;
	}
	
	if (!document.getElementById('courriel').value.match (/.+@.+\..+/))
	{
		erreur ("msg", "Erreur cette adresse n'est pas valide!");
		return false;
	}

	if (!document.getElementById('cp').value.match (/[0-9]{5}/))
	{
		erreur ("msg", "Erreur le code postal n'est pas valide!");
		return false;
	}


	if (document.getElementById('tel') && document.getElementById('tel').value != "" && !document.getElementById('tel').value.match (/[0-9 \+]+/))
	{
		erreur ("msg", "Erreur votre numéro de téléphone n'est pas correct.");
		return false;
	}

	/*
	if (f.elements['jj'].selectedIndex == 0 || f.elements['mm'].selectedIndex == 0 || f.elements['aaaa'].selectedIndex == 0)
	{
		erreur ("msg", "Erreur, vous devez indiquer votre date de naissance.");
		return false;
	}
	*/

	return true;

}

function valide_modification (f)
{
	if (f.elements['mdp'].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 (!document.getElementById('cp').value.match (/[0-9]{5}/))
	{
		erreur ("msg", "Erreur le code postal n'est pas valide!");
		return false;
	}

	if (document.getElementById('tel').value != "" && !document.getElementById('tel').value.match (/[0-9 \+]+/))
	{
		erreur ("msg", "Erreur votre numéro de téléphone n'est pas correct.");
		return false;
	}

	/*
	if (f.elements['jj'].selectedIndex == 0 || f.elements['mm'].selectedIndex == 0 || f.elements['aaaa'].selectedIndex == 0)
	{
		erreur ("msg", "Erreur, vous devez indiquer votre date de naissance.");
		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['texte'].value.search(/.*affiliation.*/i) != -1)
	{
		erreur ("msg", "Erreur vous ne pouvez pas utiliser le mot \"affiliation\"!");
		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_evenement (f)
{
	if(f.elements['nom'].value == ""
		|| f.elements['date'].value==""
		|| f.elements['lieu'].value==""
		|| f.elements['description'].value=="")
	{
		erreur ("msgid", "Vous devez écrire un titre, une date, un lieu et un description.");
		return false;
	}
}

function valide_groupe (f)
{
	if(f.elements['nom'].value == ""
		|| f.elements['description'].value=="")
	{
		erreur ("msgid", "Vous devez écrire un nom et une description.");
		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 chercher quelque chose.");
		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;
	}

}

function valide_media (f)
{

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

	if ((f.elements['musique'] && f.elements['musique'].value == '')
	 || (f.elements['video'] && f.elements['video'].value == '' && f.elements['fichier_video'].value == ''))
	{
		erreur ("msg", "Vous devez mettre l'adresse URL!");
		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 if (connexion.responseText == "m")
				document.getElementById("t"+num_actu).innerHTML = "Prétentieux!";
			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 if (connexion.responseText == "m")
				document.getElementById("t"+num_actu).innerHTML = "Prétentieux!";
			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;

}


/* Vote médias. */
function e_votemedia (num_media, t)
{

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

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

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

}

/* Vote blogs. */
function e_voteblog (num_blog, t)
{

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

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

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

}

/* Vote actus. */
function e_voteactu (num_actu, t)
{

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

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

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

}







/* Vote internet. */
function e_voteinternet (num_actu, t)
{

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

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

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

}







/**
 * Amis
 */
function demande_ami (num_membre, accepte)
{
	try
	{
		connexion = new XMLHttpRequest();
	} catch (e) { return true; }

	if (accepte)
		var a = "ami";
	else
		var a = "refus";

	connexion.open ("GET", "_validation_ami.html?num_membre=" + num_membre + "&a=" + a + "&ajax=1");
	document.getElementById("ami").style.backgroundColor = "#578";
	document.getElementById("ami").innerHTML = 'Demande en cours...';

	connexion.send (null);
	connexion.onreadystatechange = function()
	{
		if (connexion.readyState == 4)
		{
			document.getElementById("ami").innerHTML = connexion.responseText;
			fade (document.getElementById("ami"), [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)
}

/**
 *	Apparition
 */
function montre (id)
{
	if (document.getElementById(id).style.display == "none")
		document.getElementById(id).style.display="block";
	else
		document.getElementById(id).style.display="none";
}


/**
 *	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+"')", 3000);
}

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+']';
}

function ouvrir(l,h,url) {
hauteur=Math.round((screen.availHeight-h)/2);
largeur=Math.round((screen.availWidth-l)/2);
window.open(url, "site", "toolbar=0,location=0,directories=0,status=0, scrollbars=1,resizable=0,menubar=0,top="+hauteur+",left="+largeur+",width="+l+",height="+h);
}



/**
 *	Codes postaux
 */


function select_cp (cp)
{
	try
	{
		connexion = new XMLHttpRequest();
	} catch (e) { return; }

	connexion.open ("GET", "javascript/code_postal.php?cp=" + cp);
	connexion.send (null);
	connexion.onreadystatechange = function()
	{
		if (connexion.readyState == 4)
			document.getElementById("ajax_cp").innerHTML = connexion.responseText;
	}

}


function valide_questionbis (f)
{

	if (f.elements['titre'].value == '')
	{
		erreur ("msg", "Une question ne peut rester vide!");
		return false;
	}


	if (document.getElementById('titre').value.length < 20)
	{
		erreur ("msg", "Votre question est trop courte!");
		return false;
	}
	

	return true;

}


function tout_cocher (etat)
{
	var checkboxes = document.getElementsByTagName('input');
	for (var i=0; i<checkboxes.length; i++)
	{
		checkboxes[i].checked = etat;
	}
}



/**
 *	Chat
 */

function chat (num_membre, num)
{

	if (window.XMLHttpRequest)
	{
		connexion = new XMLHttpRequest();
		connexion.open ("GET", "_verif_chat.html?num_membre=" + num_membre);
	}
	else
	{
		try	{ connexion = new ActiveXObject("Microsoft.XMLHTTP"); } /* pour IE6 */
		catch (e) { return false; }
		connexion.open ("GET", "_verif_chat.html?num_membre=" + num_membre, false);
	}


	connexion.send (null);
	connexion.onreadystatechange = function()
	{
		if (connexion.readyState == 4)
		{
			if (connexion.responseText != "" && isNaN(connexion.responseText) == false)
			{
				erreur ("msgid", "Vous êtes attendu pour une discussion!<br /><a href=\"chat-"
				  + connexion.responseText
				  +".html#f\" onclick=\"javascript:window.open(this.href, 'Chat','width=480,height=360'); return false;\">Ouvrir le chat</a>");
				/*
				if (confirm ("Vous êtes attendu pour une discussion! Ouvrir le chat?"))
					window.open("chat-" + connexion.responseText +".html#f", 'Chat','width=480,height=360');
				else
					setTimeout("chat("+num_membre+","+ num +")", 300000);
				*/
			}
		}
	}

	setTimeout("chat("+num_membre+","+ num +")", 15000);

}





