jQuery(document).ready(function() {
	
	//Pagination coup de coeur, croisières et bons cadeau
	initPagination();
	initPaginationKdo();
	
});


//pagination recettes
function pageselectCallback(page_index, jq){
	var new_content = $('#hiddenresult .pag:eq('+page_index+')').clone();
	$('#rec').empty().append(new_content);
	getDonneesBothCheck();
	return false;
}


function inscriptionNews(genre,nom,prenom,email){
	//alert('ok : '+genre+' - '+nom+' - '+prenom+' - '+email+' - '+client+' - '+nom_formulaire);
	$.post('/global/includes/reservation/newsletter.php', 
		{ 
		genre: genre,
		nom: nom,
		prenom: prenom,
		email: email
		}, 
		function(result) { 
			alert(result);
		} 
	);
}

//FONCTIONS PAGINATION
/** 
 * Callback function for the AJAX content loader.
 */
function initPagination() {
	var items_per_page = 1;
	var num_entries = $('#hiddenresult .pag').length;
	
	// Create pagination element
	$("#navCroisieres").pagination(num_entries, {
		num_edge_entries: 1,
		num_display_entries: 10,
		callback: pageselectCallback,
		items_per_page:items_per_page,
		next_text:'Croisières suivantes',
		prev_text:'Croisières précédentes'
	});
	
	if(num_entries <= items_per_page){
		$("#navCroisieres").empty();
		$("#navCroisieres").append('&nbsp;');
	}
}

/** 
 * Callback function for the AJAX content loader.
 */
function initPaginationKdo() {
	var items_per_page = 1;
	var num_entries = $('#hiddenresult .pag').length;
	// Create pagination element
	$("#navKdo").pagination(num_entries, {
		num_edge_entries: 1,
		num_display_entries: 10,
		callback: pageselectCallback,
		items_per_page:items_per_page,
		next_text:'Bons cadeaux suivants',
		prev_text:'Bons cadeaux précédents'
	});
	
	if(num_entries <= items_per_page){
		$("#navKdo").empty();
		$("#navKdo").append('&nbsp;');
	}
	
}


/**
 * FONCTION GESTION FORMULAIRE PAGINATION
 */
//quand on coche la checkbox dans rec(affichage) on la coche aussi dans les div hidden pour validation formulaire ensuite
//on gère aussi ici le select pour les mêmes raisons
function getDonneesBothCheck(){
	$(".KdoCheck .total input").click(function(){
		if($(this).is(":checked")){
			$("#hiddenresult .KdoCheck .total input[@name="+$(this).attr("name")+"]").attr("checked","checked");
		}else{
			$("#hiddenresult .KdoCheck .total input[@name="+$(this).attr("name")+"]").removeAttr("checked");
		}
	});
	
	$(".KdoSelect select").change(function(){
		$("#hiddenresult .KdoSelect select[@name="+$(this).attr("name")+"]").val(""+$(this).val()+"");
	});
}

function checkTel(tel) {
	var testvalide = new RegExp(/^0[1-9][0-9]{8}$/);
	var correction = new RegExp("( |\\.)", "g");

	// Définition de la variable booléenne match par défaut
	var match = false;
	
	// Test sur le motif
	if(testvalide.test(tel.replace(correction, ''))) {
		match = true;
	}
	
	// On renvoie match
	return match; 
}

function checkMail(mail) {
	valide = false;
	
	// on sépare le domaine et l'identiant
	var f1 = mail.split('@');
	// il faut que qu'il n'y ait que deux parties, que la longeure de l'identifiant
	// soit supérieux à 2, et que la l'identifiant ne commence par un nombre
	if (f1.length== 2 && f1[0].length > 2 && !is_numeric(f1[0].substr(0, 1))) {
		// séparation du domaine
		var f2 = f1[1].split('.');
		// il ne doit y avoir que 2 ou 3 parties (3 pour les domaines en .co.jp 
		// par exemple) que la longeur du domaine soit supérieux 
		// à 0 et inférieur à 363,qu'il ne commence par un numérique, que 
		// l'« extensions » soit comprise entre 1 et 6 cractères
		if ((f2.length == 2 || f2.length == 3) && 
		     f2[0].length > 0 && f2[0].length <= 63 && 
		     !is_numeric(f2[0].substr(0, 1)) && 
		     f2[f2.length-1].length > 1 && f2[f2.length-1].length < 6) {
			 valide = true;
		}
	}
	return valide;
}

function validFormulaire(){
	var formValid = true;
	var mVerif = '';

	if(mVerif == '' && ($("input[@name='civilite']:checked").length == 0)){
		mVerif = 'Vous devez saisir votre civilité';
	}
	if(mVerif == '' && $("#id_nom").val() == ''){mVerif = 'Vous devez saisir votre nom';$("#id_nom").focus();}
	if(mVerif == '' && $("#id_prenom").val() == ''){mVerif = 'Vous devez saisir votre prénom';$("#id_prenom").focus();}
	if(mVerif == '' && $("#id_adresse").val() == '' && $("#id_adresse2").val() == ''){mVerif = 'Vous devez saisir votre adresse';$("#id_adresse").focus();}
	if(mVerif == '' && $("#id_ville").val() == ''){mVerif = 'Vous devez saisir votre ville';$("#id_ville").focus();}
	if(mVerif == '' && $("#id_codepostal").val() == ''){
		mVerif = 'Vous devez saisir votre code postal';$("#id_codepostal").focus();
	}else if(mVerif == '' && (!is_numeric(str_replace(' ','',$("#id_codepostal").val())) || str_replace(' ','',$("#id_codepostal").val()).length != 5))mVerif = 'Votre code postal n\'a pas une forme correcte';$("#id_codepostal").focus();
	if(mVerif == '' && ($("#id_portable").val() == '' && $("#id_telephone").val() == '')){
		mVerif = 'Vous devez saisir au moins un numéro de téléphone';$("#id_portable").focus();
	}else{
		if(mVerif == '' && $("#id_portable").val() != ''){
			if(!checkTel($("#id_portable").val()))mVerif = 'Votre numéro de portable n\'a pas une forme correcte';$("#id_portable").focus();
		}
		if(mVerif == '' && $("#id_telephone").val() != ''){
			if(!checkTel($("#id_telephone").val()))mVerif = 'Votre numéro de téléphone n\'a pas une forme correcte';$("#id_telephone").focus();
		}
	}
	if(mVerif == '' && $("#id_email").val() == '')mVerif = 'Vous devez saisir votre email';
	else if(mVerif == '' && ($("#id_email").val() != $("#id_email2").val())){
		mVerif = 'Votre adresse email et la confirmation sont différents';$("#id_portable").focus();
	}else if(mVerif == '' && $("#id_email").val() != ''){
			if(!checkMail($("#id_email").val()))mVerif = 'Votre adresse email n\'a pas une forme correcte';$("#id_email").focus();
	}
	if(mVerif == '' && $("input[@name='cgv']:checked").length == 0){
		mVerif = 'Vous devez accepter les conditions générales de vente';
	}
	if(mVerif == '' && ($("input[@name='lettreInfos']:checked").length == 0)){
		mVerif = 'Vous devez saisir votre choix concernant les bons plans et informations Bateaux Nantais';
	}
	
	if (mVerif != '') {
		alert(mVerif);
		formValid = false;
	}
	
	if (formValid) { 
		$("#client").submit();
	} else {return false;  }
	
}
