var Site = function(){};

Site.initEnsurePeople = function () {
	$('input[@name=autres]').click(function(){
		if ($(this).val() == 1) {
			$('#form_autres').toggle();
		}
		else {
			$('#form_autres').hide();
		}
	});
};

Site.initEnsureSpouse = function () {
	$('input[@name=conjoint]').click(function(){
		if ($(this).val() == 1) {
			$('#form_conjoint').show();
		}
		else {
			$('#form_conjoint').hide();
		}
	});
};
/*
Site.initEnsureChildren = function () {
	$('select[@name=nb_enfants]').change(function(){
		var NEWLINE = "\n";
		var TAB 	= "\t";
		var output 	= '';
		var num 	= $(this).val();

		for (var i = 1 ; i <= num ; i++) {
			output += '<table class="form" cellspacing="0" cellpadding="0">' + NEWLINE;
			output += TAB + '<tr>' + NEWLINE;
			output += TAB + TAB + '<td class="first"><h2>Enfant ' + i + '</h2></td>' + NEWLINE;
			output += TAB + TAB + '<td>Nom* :</td>' + NEWLINE;
			output += TAB + TAB + '<td class="last"><input class="text" type="text" name="nom_enfant' + i + '" maxlength="32" /></td>' + NEWLINE;
			output += TAB + '</tr>' + NEWLINE;
			output += TAB + '<tr>' + NEWLINE;
			output += TAB + TAB + '<td></td>' + NEWLINE;
			output += TAB + TAB + '<td>Prénom* :</td>' + NEWLINE;
			output += TAB + TAB + '<td><input class="text" type="text" name="prenom_enfant' + i + '" maxlength="32" /></td>' + NEWLINE;
			output += TAB + '</tr>' + NEWLINE;
			output += TAB + '<tr>' + NEWLINE;
			output += TAB + TAB + '<td></td>' + NEWLINE;
			output += TAB + TAB + '<td>Né(e) le* :</td>' + NEWLINE;
			output += TAB + TAB + '<td><input class="text" style="width: 30px; text-align: center" type="text" name="jour_naissance_enfant' + i + '"  />' + NEWLINE;
			output += TAB + TAB + TAB + ' / ' + NEWLINE;
			output += TAB + TAB + TAB + '<input class="text" style="width: 30px; text-align: center" type="text" name="mois_naissance_enfant' + i + '" />' + NEWLINE;
			output += TAB + TAB + TAB + ' / ' + NEWLINE;
			output += TAB + TAB + TAB + '<input class="text" style="width: 60px; text-align: center" type="text" name="annee_naissance_enfant' + i + '"  />' + NEWLINE;
			output += TAB + TAB + '</td>' + NEWLINE;
			output += TAB + '</tr>' + NEWLINE;
			output += '</table>' + NEWLINE;
		}

		$('#form_enfants').html(output);
	});
};
*/

Site.initFormDevis = function () {

	/*$('#code_postal').blur(function(){
		if ( $.string.exist($(this).val()) ) {
			if ( $.number.isInt($(this).val()) ) {
				//$.getJSON('index.php?/gateway/getville/', {
				//	code_postal : $(this).val()
				//}, function (json) {
				//	var output = '';
				//	output += '<select name="ville" id="ville">';
				//	$.each(json, function(i, n){
				//	output += '<option value="' + n + '">' + n + '</option>';
				//	});

				//	output += '</select>';

				//	$('#td_ville').html(output);
				//});
			}
			else {
				$.debug.displayError('Votre code postal doit être valide.');
			}
		}
	});*/

	$.form.addRadio('formDevisEtape2', 'civilite_vous', {
		required:true,
		errorMessage:'Veuillez sélectionner votre civilité.'
	});

	$.form.addField('formDevisEtape2', 'nom_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre nom.'
	});

	$.form.addField('formDevisEtape2', 'prenom_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre prénom.'
	});

	$.form.addField('formDevisEtape2', 'jour_naissance_vous', {
		required:true,
		type:'int',
		rangeValue:[1, 31],
		errorMessage:'Veuillez saisir correctement votre jour de naissance.'
	});

	$.form.addField('formDevisEtape2', 'mois_naissance_vous', {
		required:true,
		type:'int',
		rangeValue:[1, 12],
		errorMessage:'Veuillez saisir correctement votre mois de naissance.'
	});

	var now = new Date();
	$.form.addField('formDevisEtape2', 'annee_naissance_vous', {
		required:true,
		type:'int',
		rangeValue:[(now.getFullYear()-99), now.getFullYear()],
		errorMessage:'Notre système de devis en ligne est limité à 99 ans. Prenez contact avec une de nos agences et nous vous ferons une proposition dans les meilleurs délais.'
	});

	$.form.addSelect('formDevisEtape2', 'regime_social_vous', {
		required:true,
		errorMessage:'Veuillez sélectionner votre régime social.'
	});

	//$.form.addSelect('formDevisEtape2', 'csp_vous', {
	//	required:true,
	//	errorMessage:'Veuillez sélectionner votre profession.'
	//	});

	$.form.addSelect('formDevisEtape2', 'situation_familiale_vous', {
		required:true,
		errorMessage:'Veuillez sélectionner votre situation familiale.'
	});

/*
	$.form.addRule('formDevisEtape2', 'adresse1', function(){
		return(
				$.string.exist($('input[@name=adresse1]').val())
			|| 	$.string.exist($('input[@name=adresse2]').val())
			|| 	$.string.exist($('input[@name=adresse3]').val())
			|| 	$.string.exist($('input[@name=adresse4]').val())
		);
	}, {
		required:true,
		errorMessage:'Veuillez renseigner au moins un champ parmi : \n\t\t- Bat., esc. \n\t\t- Adr. Résidence \n\t\t- N°, nature, libellé \n\t\t- Lieu dit.'
	});
*/
	$.form.addField('formDevisEtape2', 'adresse3', {
		required:true,
		errorMessage:'Veuillez saisir correctement votre adresse postale.'
	});

	$.form.addField('formDevisEtape2', 'code_postal', {
		required:true,
		errorMessage:'Veuillez saisir correctement votre code postal.'
	});

	$.form.addField('formDevisEtape2', 'code_postal', {
		required:true,
		rangeLength:[5,5],
		errorMessage:'Veuillez saisir correctement votre code postal.'
	});

	$.form.addField('formDevisEtape2', 'ville', {
		required:true,
		errorMessage:'Veuillez saisir correctement votre ville.'
	});

	$.form.addField('formDevisEtape2', 'email', {
		required:true,
		type:'email',
		errorMessage:'Veuillez saisir correctement votre email.'
	});

	$.form.addRule('formDevisEtape2', 'email2', function(){
		if ( $('input[@name=email]').val() != $('input[@name=email2]').val() ) {
			return(false);
		}
		else {
			return(true);
		}
	}, {
		required:true,
		errorMessage:'Veuillez correctement renseigner et confirmer votre email.'
	});
/*
	$.form.addRule('formDevisEtape2', 'telephone', function(){
		if ( $.number.isPhoneNumber($('input[@name=telephone]').val()) || $.number.isMobileNumber($('input[@name=mobile]').val()) ) {
			return(true);
		}
		else {
			return(false);
		}
	}, {
		required:true,
		errorMessage:'Veuillez renseigner au moins un numéro de téléphone.'
	});
*/
	$.form.addRadio('formDevisEtape2', 'newsletter', {
		required:true,
		errorMessage:'Souhaitez-vous recevoir la Newsletter ?'
	});

	$.form.addRadio('formDevisEtape2', 'infoCommerciale', {
		required:true,
		errorMessage:'Souhaitez-vous recevoir des informations commerciales de la Mutuelle VIASANTE ?'
	});

	$('#formDevisEtape2').submit(function(){
		if (!$.form.checkForm('formDevisEtape2')) {
			return(false);
		}

		var autres = $('input[@name=autres][@checked]');
		if (autres.val() == 1) {
			var conjoint = $('input[@name=conjoint][@checked]');
			if (conjoint.val() == 1) {

				var civilite_conjoint = $('input[@name=civilite_conjoint][@checked]');
				if ( civilite_conjoint.length == 0 ) {
					$.debug.displayError('Veuillez sélectionner la civilité de votre conjoint.');
					$('input[@name=civilite_conjoint]').focus();
					return(false);
				}

				var nom_conjoint = $('input[@name=nom_conjoint]');
				if ( !$.string.exist(nom_conjoint.val()) ) {
					$.debug.displayError('Veuillez saisir le nom de votre conjoint.');
					nom_conjoint.focus();
					return(false);
				}

				var prenom_conjoint = $('input[@name=prenom_conjoint]');
				if ( !$.string.exist(prenom_conjoint.val()) ) {
					$.debug.displayError('Veuillez saisir le nom de votre conjoint.');
					prenom_conjoint.focus();
					return(false);
				}

				var jour_naissance_conjoint = $('input[@name=jour_naissance_conjoint]');
				if ( !$.number.rangeValue(jour_naissance_conjoint.val(), [1, 31]) ) {
					$.debug.displayError('Veuillez saisir correctement le jour de naissance de votre conjoint.');
					jour_naissance_conjoint.focus();
					return(false);
				}

				var mois_naissance_conjoint = $('input[@name=mois_naissance_conjoint]');
				if ( !$.number.rangeValue(mois_naissance_conjoint.val(), [1, 12]) ) {
					$.debug.displayError('Veuillez saisir correctement le mois de naissance de votre conjoint.');
					mois_naissance_conjoint.focus();
					return(false);
				}

				var annee_naissance_conjoint = $('input[@name=annee_naissance_conjoint]');
				if ( !$.number.rangeValue(annee_naissance_conjoint.val(), [(now.getFullYear()-99), now.getFullYear()]) ) {
					$.debug.displayError('Notre système de devis en ligne est limité à 99 ans. Prenez contact avec une de nos agences et nous vous ferons une proposition dans les meilleurs délais.');
					annee_naissance_conjoint.focus();
					return(false);
				}

				var regime_social_conjoint = $('select[@name=regime_social_conjoint]');
				if ( !$.string.exist(regime_social_conjoint.val()) ) {
					$.debug.displayError('Veuillez sélectionner le régime social de votre conjoint.');
					regime_social_conjoint.focus();
					return(false);
				}

				var csp_conjoint = $('select[@name=csp_conjoint]');
				if ( !$.string.exist(csp_conjoint.val()) ) {
					$.debug.displayError('Veuillez sélectionner la profession de votre conjoint.');
					csp_conjoint.focus();
					return(false);
				}
			}

			var nb_enfants = $('select[@name=nb_enfants]');
			if (nb_enfants.val() > 0) {
				// ENFANTS
				for (var i = 1 ; i <= nb_enfants.val() ; i++) {
					var nom_enfant = $('input[@name=nom_enfant' + i + ']');
					if ( !$.string.exist(nom_enfant.val()) ) {
						$.debug.displayError('Veuillez saisir le nom de votre enfant.');
						nom_enfant.focus();
						return(false);
					}

					var prenom_enfant = $('input[@name=prenom_enfant' + i + ']');
					if ( !$.string.exist(prenom_enfant.val()) ) {
						$.debug.displayError('Veuillez saisir le nom de votre enfant.');
						prenom_enfant.focus();
						return(false);
					}

					var jour_naissance_enfant = $('input[@name=jour_naissance_enfant' + i + ']');
					if ( !$.number.rangeValue(jour_naissance_enfant.val(), [1, 31]) ) {
						$.debug.displayError('Veuillez saisir correctement le jour de naissance de votre enfant.');
						jour_naissance_enfant.focus();
						return(false);
					}

					var mois_naissance_enfant = $('input[@name=mois_naissance_enfant' + i + ']');
					if ( !$.number.rangeValue(mois_naissance_enfant.val(), [1, 12]) ) {
						$.debug.displayError('Veuillez saisir correctement le mois de naissance de votre enfant.');
						mois_naissance_enfant.focus();
						return(false);
					}

					var annee_naissance_enfant = $('input[@name=annee_naissance_enfant' + i + ']');
					if ( !$.number.rangeValue(annee_naissance_enfant.val(), [(now.getFullYear()-99), now.getFullYear()]) ) {
						$.debug.displayError('Notre système de devis en ligne est limité à 99 ans. Prenez contact avec une de nos agences et nous vous ferons une proposition dans les meilleurs délais.');
						annee_naissance_enfant.focus();
						return(false);
					}
				}
			}
		}


		return(true);
	});
};

/* PARRAINAGE */
Site.initParrainage = function () {
	$('#code_postal_vous').blur(function(){
		if ( $.string.exist($(this).val()) ) {
			if ( $.number.isInt($(this).val()) ) {
				$.getJSON('index.php?/gateway/getville/', {
					code_postal : $(this).val()
				}, function (json) {
					var output = '';
					output += '<select name="ville_vous" id="ville_vous">';
					$.each(json, function(i, n){
						output += '<option value="' + n + '">' + n + '</option>';
					});

					output += '</select>';

					$('#td_ville_vous').html(output);
				});
			}
			else {
				$.debug.displayError('Veuillez saisir votre code postal.');
			}
		}
	});

	$('#code_postal_filleul').blur(function(){
		if ( $.string.exist($(this).val()) ) {
			if ( $.number.isInt($(this).val()) ) {
				$.getJSON('index.php?/gateway/getville/', {
					code_postal : $(this).val()
				}, function (json) {
					var output = '';
					output += '<select name="ville_filleul" id="ville_filleul">';
					$.each(json, function(i, n){
						output += '<option value="' + n + '">' + n + '</option>';
					});

					output += '</select>';

					$('#td_ville_filleul').html(output);
				});
			}
			else {
				$.debug.displayError('Veuillez saisir votre code postal.');
			}
		}
	});

	/***** PARRAIN *****/

	$.form.addRadio('parrainage', 'civilite_vous', {
		required:true,
		errorMessage:'Veuillez sélectionner votre civilité.'
	});

	$.form.addField('parrainage', 'nom_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre nom.'
	});

	$.form.addField('parrainage', 'prenom_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre prénom.'
	});

	$.form.addField('parrainage', 'numero_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre numéro d\'adhérent.'
	});

	$.form.addField('parrainage', 'jour_naissance_vous', {
		required:true,
		type:'int',
		errorMessage:'Veuillez saisir votre jour de naissance.'
	});

	$.form.addField('parrainage', 'mois_naissance_vous', {
		required:true,
		type:'int',
		errorMessage:'Veuillez saisir votre mois de naissance.'
	});

	$.form.addField('parrainage', 'annee_naissance_vous', {
		required:true,
		type:'int',
		errorMessage:'Veuillez saisir votre année de naissance.'
	});

	$.form.addField('parrainage', 'adresse_vous', {
		required:true,
		errorMessage:'Veuillez saisir votre adresse.'
	});

	$.form.addField('parrainage', 'code_postal_vous', {
		required:true,
		type:'int',
		rangeLength:[5, 5],
		errorMessage:'Veuillez saisir votre code postal.'
	});

	$.form.addSelect('parrainage', 'ville_vous', {
		required:true,
		errorMessage:'Veuillez sélectionner votre ville.'
	});

	$.form.addSelect('parrainage', 'email_vous', {
		required:true,
		type:'email',
		errorMessage:'Veuillez saisir correctement votre email.'
	});

	$.form.addSelect('parrainage', 'email2_vous', {
		required:true,
		type:'email',
		errorMessage:'Veuillez saisir correctement votre confirmation d\email.'
	});

	/***** FILLEUL *****/

	$.form.addRadio('parrainage', 'civilite_filleul', {
		required:true,
		errorMessage:'Veuillez sélectionner la civilité de votre filleul.'
	});

	$.form.addField('parrainage', 'nom_filleul', {
		required:true,
		errorMessage:'Veuillez saisir le nom de votre filleul.'
	});

	$.form.addField('parrainage', 'prenom_filleul', {
		required:true,
		errorMessage:'Veuillez saisir le prénom de votre filleul.'
	});

	$.form.addField('parrainage', 'jour_naissance_filleul', {
		required:false,
		type:'int',
		errorMessage:'Veuillez saisir correctement le jour de naissance de votre filleul.'
	});

	$.form.addField('parrainage', 'mois_naissance_filleul', {
		required:false,
		type:'int',
		errorMessage:'Veuillez saisir le mois de naissance de votre filleul.'
	});

	$.form.addField('parrainage', 'annee_naissance_filleul', {
		required:false,
		type:'int',
		errorMessage:'Veuillez saisir le année de naissance de votre filleul.'
	});

	$.form.addField('parrainage', 'adresse_filleul', {
		required:true,
		errorMessage:'Veuillez saisir l\'adresse de votre filleul.'
	});

	$.form.addField('parrainage', 'code_postal_filleul', {
		required:true,
		type:'int',
		rangeLength:[5, 5],
		errorMessage:'Veuillez saisir le code postal de votre filleul.'
	});

	$.form.addSelect('parrainage', 'ville_filleul', {
		required:true,
		errorMessage:'Veuillez sélectionner la ville de votre filleul.'
	});

	$.form.addSelect('parrainage', 'email_filleul', {
		required:true,
		type:'email',
		errorMessage:'Veuillez saisir correctement l\'email de votre filleul.'
	});

	$.form.addSelect('parrainage', 'regime_social_filleul', {
		required:true,
		errorMessage:'Veuillez sélectionner le régime social de votre filleul.'
	});

	$.form.addSelect('parrainage', 'csp_filleul', {
		required:true,
		errorMessage:'Veuillez sélectionner la profession de votre filleul.'
	});

	$('#parrainage').submit(function(){

		if (!$.form.checkForm('parrainage')) {
			return(false);
		}

		var email = $('input[@name=email_vous]');
		var email2 = $('input[@name=email2_vous]');
		if ( email.val() != email2.val() ) {
			$.debug.displayError('Veuillez correctement renseigner et confirmer votre email.');
			email2.focus();
			return(false);
		}

		var email = $('input[@name=email_filleul]');
		var email2 = $('input[@name=email2_filleul]');
		if ( email.val() != email2.val() ) {
			$.debug.displayError('Veuillez correctement renseigner et confirmer l\'email de votre filleul.');
			email2.focus();
			return(false);
		}

		return(true);
	});
};
