/**
* Fonction permettat de revenir en arriére
**/
function comeBack()
{
	window.history.back() ;
	return false ;
}

/**
* Affiche un message de confirmation avant la suppression d'un élément
**/
function confirmerSuppression()
{
	return confirm("Confirmez-vous la suppression de cet élément ?") ;
}

/**
* Vérifie si l'ensemble des champs ont été complétés
**/
function verifie_saisie(NomFormulaire)
{
	var formulaire = document.getElementById(NomFormulaire) ;
	var valide     = true ;

	for( i in formulaire.elements )
	{
		if( formulaire.elements[i].type != "text" && formulaire.elements[i].type != "password" && formulaire.elements[i].name == 'url')
		{
			continue ;
		}

		var saisie = formulaire.elements[i] ;

		if( ( ! saisie.readOnly ) && ( saisie.value == null || saisie.value.length == 0 ) )
		{
			saisie.style.backgroundColor = "#DE93A7" ;
			valide = false ;
		}
		else
		{
			saisie.style.backgroundColor = "#FFFFFF" ;
		}
	}

	if( ! valide )
	{
		alert("Veuillez remplir tous les champs obligatoires") ;
	}

	return valide ;
}

/**
* Valide le formulaire de modification du mot de passe visiteur
**/
function verifie_saisie_mot_passe(NomFormulaire)
{
	if ( ! verifie_saisie(NomFormulaire) )
	{
		return false ;
	}

	return verifie_mot_passe( 'mot_passe', 'confirmation_mot_passe' ) ;
}

/**
* Vérifie que le mot de passe et la confirmation sont identiques
**/
function verifie_mot_passe( id_mot_passe, id_confirmation_mot_passe )
{
	var mot_passe              = document.getElementById(id_mot_passe) ;
	var confirmation_mot_passe = document.getElementById(id_confirmation_mot_passe) ;

	if( mot_passe.value != confirmation_mot_passe.value )
	{
		alert("Veuillez saisir le même mot de passe dans les deux champs") ;
		return false ;
	}

	return true ;
}

/**
* Permet de savoir si un champ a été complété
**/
function verifier_champ(id_verifier)
{
	var saisie = document.getElementById(id_verifier) ;

	if( saisie.value == null || saisie.value.length == 0 )
	{
		alert( "Vous devez impérativement compléter le champ '" + saisie.name + "'" ) ;
		saisie.style.backgroundColor = "#DE93A7" ;
		return false ;
	}

	return true ;
}

/**
* Vérifie la longueur d'un champ
**/
function verifie_longueur( longueur, id_champ )
{
	var saisie    = document.getElementById(id_champ).value ;
	var nom_champ = document.getElementById(id_champ).name ;

	if( saisie.length > longueur )
	{
		alert( "La longueur du champ '" + nom_champ + "' ne peut excéder " + longueur + " caractères" ) ;
		return false ;
	}

	return true ;
}

/**
* Valide le formulaire pour lister les activités dans la partie visiteur
**/
function validerListerActivite()
{
	format_date = new RegExp("([0-9]{2})/([0-9]{2})/([0-9]{4})") ;

	var date_du           = document.getElementById("date_du") ;
	var date_au           = document.getElementById("date_au") ;
	var fragments_date_du = date_du.value.match(format_date) ;
	var fragments_date_au = date_au.value.match(format_date) ;

	if( date_du.value != "" && fragments_date_du == null )
	{
		date_du.style.backgroundColor = "#DE93A7" ;
		return false ;
	}

	date_du.style.backgroundColor = "#FFFFFF" ;

	if( date_au.value != "" && fragments_date_au == null )
	{
		date_au.style.backgroundColor = "#DE93A7" ;
		return false ;
	}

	date_au.style.backgroundColor = "#FFFFFF" ;

	if( fragments_date_du != null && fragments_date_au != null )
	{
		var timestamp_date_du = new Date( fragments_date_du[3], fragments_date_du[2], fragments_date_du[1] ) ;
		var timestamp_date_au = new Date( fragments_date_au[3], fragments_date_au[2], fragments_date_au[1] ) ;

		if( timestamp_date_du.getTime() > timestamp_date_au.getTime() )
		{
			alert("la seconde date doit être supérieure à la première") ;

			date_au.style.backgroundColor = "#DE93A7" ;
			return false ;
		}
	}

	return true ;
}

/**
* Vérifie que la période a été selectionnée le cas échéant
**/
function verifierAjoutPanier()
{
	var periodes = document.getElementsByName("periode") ;

	if( ! periodes.length )
	{
		return true ;
	}

	for( i in periodes )
	{
		if( periodes[i].checked )
		{
			return true ;
		}
	}

	alert("Veuillez choisir une période") ;
	return false ;
}

/**
* Ajoute la quantité spécifiée dans le champ au stock
**/
function ajouterStock( evenement, champ, id_stock )
{
	var stocks = document.getElementsByName( "stock_" + id_stock ) ;
	var valeur = parseInt(champ.value) ;

	if( isNaN(valeur) || evenement.keyCode == 9 || evenement.keyCode == 16 )
	{
		return ;
	}

	for( i = 0 ; i < stocks.length ; i++ )
	{
		stocks[i].value = parseInt(stocks[i].value) + valeur ; 
	}
}

/**
* Retire la quantité spécifiée dans le champ au stock
**/
function retirerStock( evenement, champ, id_stock )
{
	if( evenement.keyCode == 9 || evenement.keyCode == 16 )
	{
		return ;
	}

	var stocks = document.getElementsByName( "stock_" + id_stock ) ;
	var valeur = parseInt(champ.value) ;

	if( isNaN(valeur) )
	{
		champ.value                 = 0 ;
		champ.style.backgroundColor = "#DE93A7" ;
		return ;
	}

	for( i = 0 ; i < stocks.length ; i++ )
	{
		if( parseInt(stocks[i].value) - valeur < 0 )
		{
			champ.style.backgroundColor = "#DE93A7" ;
		}

		stocks[i].value = parseInt(stocks[i].value) - valeur ;
	}
}

/**
* Modifier la valeur du champ ayant pour identifant "id_article"
**/
function setIdArticle(id_article)
{
	document.getElementById("id_article").value = id_article ;
}

/**
* Modifier la valeur du champ ayant pour identifant "id_tarif"
**/
function setIdTarif(id_tarif)
{
	document.getElementById("id_tarif").value = id_tarif ;
}

/**
* Modifier la valeur du champ ayant pour identifant "id_participant"
**/
function setIdParticipant(id_participant)
{
	document.getElementById("id_participant").value = id_participant ;
}