var images = ['photo1.png', 'photo2.png', 'photo3.png', 'photo4.png', 'photo5.png', 'photo6.png'];
var chemin = "img/photos/";
var pas = -5;
var vitesseOpac = 50;
var vitesseImage = 0;
var next = false;
var imageMax = 6;
var maxOpacite = 100;
var minOpacite = 0;
var id = 0;
var indiceImagePrecedente = -1;

function changeOpac(opacity) {
    if (opacity >= maxOpacite) {
		++id;
		if (id >= imageMax) {
			id = 0;
		}
	}
	
	var object = document.getElementById("image" + id).style;
    object.filter = "alpha(opacity:" + opacity + ")";
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);

	if (opacity <= minOpacite) {
		setTimeout("changeImage(" + opacity + ")", vitesseImage);
	}
	if (opacity <= minOpacite || opacity >= maxOpacite) {
		pas = -pas;
	}
	opacity += pas;
	setTimeout("changeOpac(" + opacity + ")", vitesseOpac);
}

function changeImage(opacity) {
	var object = document.getElementById("image" + id);
	if (object) {	
		indImg = indiceImageSuivante();
		indiceImagePrecedente = indImg;
		object.src = chemin + images[indImg];
	}
}

function opacity(opacCurrent) {
	setTimeout("changeOpac(" + opacCurrent + ")", vitesseOpac);
}

/*
Calcule l'indice de l'emplacement image suivant à modifier
*/
function indiceImageSuivante() {
	var next = Math.floor(Math.random() * 10) % images.length;
	if (next == indiceImagePrecedente) {
		next = indiceImageSuivante()
	}
	return next;
}










/*Supprime les espaces avant et apres une chaine*/
String.prototype.trim = function () {
   return this.replace(/^\s*|\s*$/,"");
}

function ajouterMsgErreur(msg) {
	return "<li>" + msg + "</li>";
}

/*Définit toutes les rgles de gestion concernant les champs du formulaire contact*/
function regleDeGestion() {
	var couleurErreur = '#FF0000';
	var couleurValide = '#443300';
	var formatChaine = /^[^<>]+$/;
	var formatMail = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	var erreur = false;
	var msgErreur = "";
	
	//nom
	if (document.getElementById("nom") && document.getElementById("lbNom")) {
		document.getElementById("nom").value = document.getElementById("nom").value.trim();
		if (!formatChaine.test(document.getElementById("nom").value.trim())) {
			erreur=true;
			msgErreur += ajouterMsgErreur('Le format du champ "Nom" est incorrect');
			document.getElementById("lbNom").style.color = couleurErreur;
		} else {
			document.getElementById("lbNom").style.color = couleurValide;
		}
	}
	
	//prenom
	if (document.getElementById("prenom") && document.getElementById("lbPrenom")) {
		document.getElementById("prenom").value = document.getElementById("prenom").value.trim();
		if (!formatChaine.test(document.getElementById("prenom").value)) {
			erreur=true;
			msgErreur += ajouterMsgErreur('Le format du champ "Pr&eacute;nom" est incorrect');
			document.getElementById("lbPrenom").style.color = couleurErreur;
		} else {
			document.getElementById("lbPrenom").style.color = couleurValide;
		}
	}
	
	//e-mail
	if (document.getElementById("mail") && document.getElementById("lbMail")) {
		document.getElementById("mail").value = document.getElementById("mail").value.trim();
		if (!formatMail.test(document.getElementById("mail").value) && document.getElementById("mail").value.length > 0) {
			erreur=true;
			msgErreur += ajouterMsgErreur('Le format du champ "Votre adresse e-mail" est incorrect');
			document.getElementById("lbMail").style.color = couleurErreur;
		} else {
			document.getElementById("lbMail").style.color = couleurValide;
		}
	}
		
	//objet
	if (document.getElementById("objet") && document.getElementById("lbObjet")) {
		document.getElementById("objet").value = document.getElementById("objet").value.trim();
		if (!formatChaine.test(document.getElementById("objet").value)) {
			erreur=true;
			msgErreur += ajouterMsgErreur('Le format du champ "Objet du message" est incorrect');
			document.getElementById("lbObjet").style.color = couleurErreur;
		} else {
			document.getElementById("lbObjet").style.color = couleurValide;
		}
	}
	
	//message
	if (document.getElementById("message") && document.getElementById("lbMessage")) {	
		document.getElementById("message").value = document.getElementById("message").value.trim();
		if (!formatChaine.test(document.getElementById("message").value)) {
			erreur=true;
			msgErreur += ajouterMsgErreur('Le format du champ "Message" est incorrect');
			document.getElementById("lbMessage").style.color = couleurErreur;
		} else {
			document.getElementById("lbMessage").style.color = couleurValide;
		}
	}
	
	if (!erreur && document.getElementById("formContact")) {
		document.getElementById("formContact").submit();
	} else {
		if (document.getElementById("msgErreur")) {	
			document.getElementById("msgErreur").innerHTML = "<p>Le formulaire ne peut &ecirc;tre envoy&eacute; : <ul>" + msgErreur + "</ul></p>";
			document.getElementById("msgErreur").style.display = "block";
		}
	}
}