/***************************************************
	Zoom photo
***************************************************/
function zoom(mode) {
	if(mode == 0)
		document.getElementById("bigPhoto").style.display = 'none';
	if(mode == 1)
		document.getElementById("bigPhoto").style.display = 'block';
}

/***************************************************
	Index
***************************************************/
afficheIndex = 0;
function index() {
	if(afficheIndex == 1)
	{
		// Fond noir
		new Effect.Fade(document.getElementById('listeIndexFond'), {duration:0.2, from:0.75, to:0}); 
		document.getElementById("listeIndexFond").style.display = 'none';
		afficheIndex = 0;
		// Index
		new Effect.BlindUp(document.getElementById('listeIndex'));
	}
	else
	{
		// Fond noir
		document.getElementById("listeIndexFond").style.display = 'block';
		document.getElementById("listeIndexFond").style.filter = 'alpha(opacity=0)';
		document.getElementById("listeIndexFond").style.opacity = '0.0';
		document.getElementById("listeIndexFond").style.MozOpacity = '0.0'; // Firefox
		document.getElementById("listeIndexFond").style.KhtmlOpacity  = '0.0'; // Konqueror Safari
		new Effect.Opacity(document.getElementById('listeIndexFond'), {duration:0.2, from:0.0, to:0.75}); 
		afficheIndex = 1;
		// Index
		document.getElementById("listeIndex").style.display = 'none';
		document.getElementById("listeIndex").style.filter = 'alpha(opacity=100)';
		document.getElementById("listeIndex").style.opacity = '1';
		document.getElementById("listeIndex").style.MozOpacity = '1'; // Firefox
		document.getElementById("listeIndex").style.KhtmlOpacity  = '1'; // Konqueror Safari
		new Effect.BlindDown(document.getElementById('listeIndex')); 
	}
}

/***************************************************
	Afficher une série d'éléments
***************************************************/
dernierCasqueAffiche = 1;

function affiche(nb, maxi) {
	// Pas afficher un élément déjà affiché
	if(nb == dernierCasqueAffiche)
		return;
	// Si élément bien différent, masquer les autres
	for(i=1; i<=maxi; i++)
	{
		if(i == dernierCasqueAffiche)
		{
			new Effect.Fade(document.getElementById('casque'+i));
			document.getElementById("vignette"+i).style.filter = 'alpha(opacity=30)';
			document.getElementById("vignette"+i).style.opacity = '0.3';
			document.getElementById("vignette"+i).style.MozOpacity = '0.3'; // Firefox
			document.getElementById("vignette"+i).style.KhtmlOpacity  = '0.3'; // Konqueror Safari
		}
		else
			document.getElementById("casque"+i).style.display = 'none';
	}
	// Et afficher le bon élément
	dernierCasqueAffiche = nb;
	new Effect.Appear(document.getElementById('casque'+nb)); 
	document.getElementById("vignette"+nb).style.filter = 'alpha(opacity=100)';
	document.getElementById("vignette"+nb).style.opacity = '1';
	document.getElementById("vignette"+nb).style.MozOpacity = '1'; // Firefox
	document.getElementById("vignette"+nb).style.KhtmlOpacity  = '1'; // Konqueror Safari
}

/***************************************************
	Masquer une série d'éléments
***************************************************/
function masquer(element, maxi) {
	for(i=2; i<=maxi; i++)
	{
		document.getElementById(element+i).style.display = 'none';
	}
}

/***************************************************
	Afficher une vignette
***************************************************/
function afficherVignette(nb) {
	document.getElementById("vignette"+nb).style.filter = 'alpha(opacity=100)';
	document.getElementById("vignette"+nb).style.opacity = '1';
	document.getElementById("vignette"+nb).style.MozOpacity = '1'; // Firefox
	document.getElementById("vignette"+nb).style.KhtmlOpacity  = '1'; // Konqueror Safari
	
	if(dernierCasqueAffiche != nb && affichageGalerie == 1)
	{
		document.getElementById("vignette"+dernierCasqueAffiche).style.filter = 'alpha(opacity=30)';
		document.getElementById("vignette"+dernierCasqueAffiche).style.opacity = '0.3';
		document.getElementById("vignette"+dernierCasqueAffiche).style.MozOpacity = '0.3'; // Firefox
		document.getElementById("vignette"+dernierCasqueAffiche).style.KhtmlOpacity  = '0.3'; // Konqueror Safari
	}
}

/***************************************************
	Mettre en transparence un vignette
***************************************************/
function masquerVignette(nb) {
	if(dernierCasqueAffiche != nb)
	{
		document.getElementById("vignette"+nb).style.filter = 'alpha(opacity=30)'; // IE
		document.getElementById("vignette"+nb).style.opacity = '0.3'; // W3C
		document.getElementById("vignette"+nb).style.MozOpacity = '0.3'; // Firefox
		document.getElementById("vignette"+nb).style.KhtmlOpacity  = '0.3'; // Konqueror Safari
			
		if(affichageGalerie == 1)
		{
			document.getElementById("vignette"+dernierCasqueAffiche).style.filter = 'alpha(opacity=100)';
			document.getElementById("vignette"+dernierCasqueAffiche).style.opacity = '1';
			document.getElementById("vignette"+dernierCasqueAffiche).style.MozOpacity = '1'; // Firefox
			document.getElementById("vignette"+dernierCasqueAffiche).style.KhtmlOpacity  = '1'; // Konqueror Safari
		}
	}
}

/***************************************************
	Mettre en transparence une série de vignettes
***************************************************/
function masquerVignettes(maxi) {
	for(i=2; i<=maxi; i++)
	{
		masquerVignette(i);	
	}
}

/***************************************************
	Afficher la fleche du casque sélectionné
***************************************************/
function fleche(nb, mode) {
	if(mode == 1)
	{
		document.getElementById("fleche"+nb).style.display = 'inline';
	}
	else
	{
		document.getElementById("fleche"+nb).style.display = 'none';
	}
}

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
} 

//***********************************************************************************
//  FORMULAIRE DE CONTACT
//***********************************************************************************

//---------------------------------------------------
// Boucle de validation
//---------------------------------------------------
function validateFormQuestionnaire(form) 
{
	if (isNotEmpty(form.nom)) {
		if (isNotEmpty(form.prenom)) {
			if (isNotEmpty(form.adresse)) {
				if (isNotEmpty(form.code)) {
					if (isNotEmpty(form.ville)) {
						if (isNotEmpty(form.pays)) {
							if (isNotEmpty(form.email)) {
								if (isEMailAddr(form.email)) {
									if(isDifferentQualites(form.qualite1, form.qualite2)) {
										if(isDifferentDefauts(form.defaut1, form.defaut2)) {
											if(isDifferentQualitesDefauts(form.qualite1, form.qualite2, form.defaut1, form.defaut2)) {
												return true;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	return false;
}

function validateFormContact(form) 
{
	if (isNotEmpty(form.nom)) {
		if (isNotEmpty(form.prenom)) {
			if (isNotEmpty(form.email)) {
				if (isEMailAddr(form.email)) {
					if (isNotEmpty(form.sujet)) {
						if (isNotEmpty(form.message)) {
							return true;
						}
					}
				}
			}
		}
	}
	return false;
}

//---------------------------------------------------
// Vérifie si un champ a bien été renseigné
//---------------------------------------------------
function isNotEmpty(elem) {
	var str = elem.value;
	var re = /.+/;
	if(!str.match(re)) {
		alert("Veuillez renseigner les champs obligatoires.");
		setTimeout("focusElement('" + elem.form.id + "', '" + elem.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function isCoche(elem) {
	if(elem.value != 1) {
		alert("Vous devez accepter les termes et conditions.");
		setTimeout("focusElement('" + elem.form.id + "', '" + elem.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function compare(elem1, elem2) {
	return elem1.value == elem2.value;
}

function isDifferentQualites(elem1, elem2) {
	if(compare(elem1, elem2)) {
		alert("Vous ne pouvez pas choisir deux fois la même qualité");
		setTimeout("focusElement('" + elem2.form.id + "', '" + elem2.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function isDifferentDefauts(elem1, elem2) {
	if(compare(elem1, elem2)) {
		alert("Vous ne pouvez pas choisir deux fois le même défaut");
		setTimeout("focusElement('" + elem2.form.id + "', '" + elem2.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function isDifferentQualitesDefauts(elem1, elem2, elem3, elem4) {
	if(compare(elem1, elem3) || compare(elem2, elem3)) {
		alert("Vous ne pouvez pas choisir un élément à la fois comme qualité et comme défaut.");
		setTimeout("focusElement('" + elem3.form.id + "', '" + elem3.name + "')", 0);
		return false;
	} else if(compare(elem1, elem4) || compare(elem2, elem4)) {
		alert("Vous ne pouvez pas choisir un élément à la fois comme qualité et comme défaut.");
		setTimeout("focusElement('" + elem4.form.id + "', '" + elem4.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

//---------------------------------------------------
// Vérifie si l'adresse e-mail est valide
//---------------------------------------------------
function isEMailAddr(elem) {
	var str = elem.value;
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!str.match(re)) {
		alert("Veuillez vérifier le format de votre adresse e-mail.");
		setTimeout("focusElement('" + elem.form.id + "', '" + elem.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

//---------------------------------------------------
// Vérifie si un champ ne contient que des chiffres
//---------------------------------------------------
function isNumber(elem) {
	var str = elem.value;
	var re = /^[-]?\d*\.?\d*$/;
	str = str.toString();
	if (!str.match(re)) {
		alert("Veuillez entrer un code postal valide");
		setTimeout("focusElement('" + elem.form.id + "', '" + elem.name + "')", 0);
		return false;
	}
	return true;
}

//---------------------------------------------------
// Positionne le curseur dans un champ donné
//---------------------------------------------------
function focusElement(formName, elemName) {
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	elem.select();
}