/* ======================================================================================*/
/*				 FONCTIONS G�N�RIQUES DE VALIDATION DE FORMULAIRE 						 */
/* ======================================================================================*/

//---------------------------------------------
// Empeche la saisie d'un caractere onKeypress
//----------------------------------------------
function empechechar()
{
	if( event.keyCode < 48 || event.keyCode > 57 )
 	{ 
 		alert(get_trad_champ("numeric") );
   		event.returnValue = false;
   	}
}

//-------------------------------------
// Permet la saisie d un chiffre
//-------------------------------------
function onlyNumber(evt)
{
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

 return true;
}

//-------------------------------------
// Verifie la validite d'un email
//-------------------------------------
function isValidEmail ( _fieldId ) {
	
	var email = document.getElementById(_fieldId).value;
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if ( !filter.test(email) ) 
	{
		inlineMsg( _fieldId, get_trad_champ("email"));
		return false;
	}
	else 
	{
		return true;
	}
}


//-------------------------------------
// Verifie la validite d'une date
//-------------------------------------
function isValidDate ( _fieldId )
{
    if ( _fieldId == "" )
        return true;

    // Récupération de la valeur
    var totalDate    = document.getElementById( _fieldId ).value;
    if ( totalDate == "" )
        return false;
   
    // Découpage de la date récupérée
    var aDate = totalDate.split( "/" );
    if ( aDate.length != 3 )
        return false;

    // Création d'un objet date
    var generatedDate = new Date ( aDate[ 2 ], aDate[ 1 ] - 1, aDate[ 0 ] );
   
    // Test
    if (     generatedDate.getFullYear() == aDate[ 2 ]
        &&    generatedDate.getMonth() + 1 == aDate[ 1 ]
        &&    generatedDate.getDate() == aDate[ 0 ] )
        return true;
   
    return false;
}

//--------------------------------------------------
// Verifie les champs obligatoire d'un formulaire
//--------------------------------------------------
valider_formulaire_generique = function () {
	
	var tab = valider_formulaire_generique.arguments;

	taille = tab.length;

	if ( taille > 0 ) {
		nameForm = tab[0];
		
		for ( i = 1; i < taille; i++ ) {
			
			if ( tab[i] == "email" ) {
				if ( !isValidEmail( tab[i] ) ) {
					return false; 
				}
			}
			else {
				var field = document.forms[nameForm].elements[tab[i]];
				if ( ( field.value.trim() == ""	|| field.value.trim() == field.defaultValue ) ) {				
					inlineMsg ( tab[i], get_trad_champ( tab[i] ) );				
					field.select();
					return false; 
				}
			}
		
		}
		return true;
	}
	else {
		return false;
	}
}


/* ======================================================================================*/
/*							 FONCTIONS GENERIQUES										 */
/* ======================================================================================*/

String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
}


/* ======================================================================================*/
/*				 FONCTIONS D APPELS LIES AU PROJET				 						 */
/* ======================================================================================*/

// *** Formulaire de newsletter home *** //

function validFormHomeNewsletter() {		
	if ( valider_formulaire_generique('formHomeNewsletter', 'email' ) ) {
		document.forms['formHomeNewsletter'].submit();
	}
	else {
		return false;
	}	
}

// *** Formulaire de newsletter *** //
function validCaptchaNewsletter(){	
	$.ajax({
		type: "POST",
		data: "captcha="+document.getElementById('strcode').value,
		async: true,
		url:  "ajax/ajax_verif_captcha.php",		
		
		success: function(data){
			
			var tab = data.split("|");	
			var err = 0;
			
			if(tab[1] == "OK"){								
				validFormNewsletter();
			}else{
				inlineMsg( 'strcode', get_trad_champ('bad_captcha'));		
				document.forms['formNewsletter'].elements['strcode'].select();		
				return false;
			}
		} });
	
}

function validFormNewsletter() {
	
	if ( valider_formulaire_generique('formNewsletter', 'nom', 'prenom', 'email' ) ) {					
		document.forms['formNewsletter'].submit();		
	}																		
	else {
		return false;
	}
}

function validCaptchaDesinscriptionNewsletter(){	
	$.ajax({
		type: "POST",
		data: "captcha="+document.getElementById('strcode').value,
		async: true,
		url:  "ajax/ajax_verif_captcha.php",		
		
		success: function(data){
			
			var tab = data.split("|");	
			var err = 0;
			
			if(tab[1] == "OK"){								
				validFormDesinscriptionNewsletter();
			}else{
				inlineMsg( 'strcode', get_trad_champ('bad_captcha'));		
				document.forms['formNewsletter'].elements['strcode'].select();		
				return false;
			}
		} });
	
}

function validFormDesinscriptionNewsletter() {
	
	if ( valider_formulaire_generique('formNewsletter', 'email' ) ) {					
		document.forms['formNewsletter'].submit();		
	}																		
	else {
		return false;
	}
}

// *** Formulaire de contact *** //
function validCaptchaContact(){	
	$.ajax({
		type: "POST",
		data: "captcha="+document.getElementById('strcode').value,
		async: true,
		url:  "ajax/ajax_verif_captcha.php",		
		success: function(data){
			
			var tab = data.split("|");	
			var err = 0;
			
			if(tab[1] == "OK"){								
				validFormContact();
			}else{
				inlineMsg('strcode', get_trad_champ('bad_captcha'));		
				document.forms['formContact'].elements['strcode'].select();		
				return false;
			}
		} });
	
}

function validFormContact() {
	if ( valider_formulaire_generique('formContact', 'email', 'prenom',	'nom', 'telephone' ) ) {
		document.forms['formContact'].submit();		
	}																		
	else {
		return false;
	}
}

// *** Formulaire de demande de brochure *** //
function validCaptchaBrochure(){
	$.ajax({
		type: "POST",
		data: "captcha="+document.getElementById('strcode').value,
		async: true,
		url:  "ajax/ajax_verif_captcha.php",		
		success: function(data){
			
			var tab = data.split("|");	
			var err = 0;
			
			if(tab[1] == "OK"){								
				validFormBrochure();
			}else{
				inlineMsg('strcode', get_trad_champ('bad_captcha'));		
				document.forms['formBrochure'].elements['strcode'].select();		
				return false;
			}
		} });
}

function validFormBrochure(){
	if ( valider_formulaire_generique('formBrochure', 'nom', 'prenom', 'adresse', 'cp', 'ville', 'pays', 'telephone', 'email' ) ) {
		document.forms['formBrochure'].submit();		
	}																		
	else {
		return false;
	}
}

function validFormSearch(){
	if ( valider_formulaire_generique('formSearch', 'query_string' ) ) {
		document.forms['formSearch'].submit();		
	}																		
	else {
		return false;
	}
}

function pagine_activites(page,maxPage)
{
	//On desactive la page courante
	var page_courante = 0;
	if(document.getElementById('activites_page_courante'))
	{
		page_courante = document.getElementById('activites_page_courante').value;
	}
	
	//On desactive le lien de la page courante
	if(document.getElementById('activites_pagination_'+page_courante))
	{
		document.getElementById('activites_pagination_'+page_courante).className = '';
	}
	
	//On desactive le ul de la page courante
	if(document.getElementById('activites_page_'+page_courante))
	{
		document.getElementById('activites_page_'+page_courante).style.display = 'none';
	}
	
	//On active le lien de la page demandee
	if(document.getElementById('activites_pagination_'+page))
	{
		document.getElementById('activites_pagination_'+page).className = 'active';
	}
	
	//On active le ul de la page demandee
	if(document.getElementById('activites_page_'+page))
	{
		document.getElementById('activites_page_'+page).style.display = 'block';
	}
	
	//On reinitialise la page courante
	if(document.getElementById('activites_page_courante'))
	{
		document.getElementById('activites_page_courante').value = page;
	}
	
	//On cache le pagineur gauche si besoin
	if(page == 1 && document.getElementById('pagine_previous'))
	{
		document.getElementById('pagine_previous').style.display = 'none';
	}
	else
	{
		document.getElementById('pagine_previous').style.display = 'inline';
	}
	
	//On cache le pagineur droite si besoin
	if(page == maxPage && document.getElementById('pagine_next'))
	{
		document.getElementById('pagine_next').style.display = 'none';
	}
	else
	{
		document.getElementById('pagine_next').style.display = 'inline';
	}
	
}

function pagine_next(maxPage)
{
	//On recherche la prochaine page
	var page_courante = 0;
	if(document.getElementById('activites_page_courante'))
	{
		page_courante = document.getElementById('activites_page_courante').value;
	}
	
	var nextPage = parseInt(page_courante) + 1;
	pagine_activites(nextPage,maxPage);
	
	
}

function pagine_previous(maxPage)
{
	//On recherche la  page d'avant
	var page_courante = 0;
	if(document.getElementById('activites_page_courante'))
	{
		page_courante = document.getElementById('activites_page_courante').value;
	}
	
	var previousPage = parseInt(page_courante) - 1;
	pagine_activites(previousPage,maxPage);
	
	
}
