//fonction de controle

// initialisation des controles et des blocages, 
// et je determine aussi tous les champs et leur controle respectif
function init () {

	//if ( document.getElementById("menu") ) initMenu();
	
	formulaire   = document.getElementById("form-devis");

	tabchamps    = new Array();
	//											[types de controle : date-, date+, ouinon, liste, tel, email]
	//														[types de blocage : date, chiffre, texte]
	//				nom du champs	requis		controle 	blocage		ligne				type coherence					message incoherence
	//vous
	
	tabchamps[0]   = ["indica", 			"requis",	"liste",	"", 		"indica-ligne", 	"", 				""];
	tabchamps[1]   = ["nomcli", 			"requis",	"texte+capAll",	"texte", 	"nomcli-ligne",		"",					""];
	tabchamps[2]   = ["precli", 			"requis",	"texte+capAll",	"texte", 	"precli-ligne",		"",					""];
	tabchamps[3]   = ["codpos", 			"requis",	"texte",		"chiffre", 	"codpos-ligne",		"",					""];
	tabchamps[4]   = ["nomvis", 			"requis",	"liste",		"", 		"nomvis-ligne", 	"",					""];
	tabchamps[5]   = ["teldom", 			"requis",	"tel",			"tel", 	"teldom-ligne", 	"",					""];
	tabchamps[6]   = ["temail", 			"requis",	"email",		"", 		"temail-ligne", 	"",					""];
	tabchamps[7]   = ["dateff", 			"requis",	"date+",		"date", 		"dateff-ligne", 		"",					""];	
	tabchamps[8]   = ["sitfam", 			"requis",	"liste",		"",		 		"sitfam-ligne", 	"", 				""];
	tabchamps[9]   = ["datnai", 			"requis",	"date-",		"date", 		"datnai-ligne", 		"majeur_a_date_effet",					"Le souscripteur doit etre majeur a la date d'effet"];	
	tabchamps[10]   = ["regime", 			"requis",	"liste",		"",		 		"regime-ligne", 		"", 				""];
	tabchamps[11]   = ["cjtass", 			"requis",	"liste",		"",		 		"cjtass-ligne", 	"",					""];
	tabchamps[12]   = ["nbrenf", 			"requis",	"texte",		"chiffre",		 		"nbrenf-ligne", 	"",					""];

	tabchamps[13]   = ["cj-datnai", 		"requis",	"date-",		"date", 		"conjoint-ligne", 		"majeur_a_date_effet",					"Le conjoint doit etre majeur a la date d'effet", true];	
	tabchamps[14]   = ["cj-regatt", 		"requis",	"liste",		"",		 		"conjoint-ligne", 		"", 				"", true];
	tabchamps[15]   = ["cj-regime", 		"requis",	"liste",		"",		 		"conjoint-ligne", 		"", 				"", true];
	
	for (var c=1; c<=20; c++) {
		tabchamps[ Number(tabchamps.length) ]  = ["enf-datnai-"+c, 		"requis",	"-25ans",		"date", 		"enfants"+c+"-ligne", 		"",					"", 			true];
		tabchamps[ Number(tabchamps.length) ]  = ["enf-regatt-"+c, 		"requis",	"liste",		"", 			"enfants"+c+"-ligne", 		"", 				"", 			true];
		$("#enf-regatt-"+c).bind("change", menu_regime);
		
		tabchamps[ Number(tabchamps.length) ]  = ["enf-regime-"+c, 		"requis",	"liste",		"", 			"enfants"+c+"-ligne", 		"", 				"", 			true];
	}
	
	//conditions 
	var conditions 			= new Array()
	conditions[0] 			= ["sitfam","M"];
	conditions[1] 			= ["sitfam","K"];
	creer_condition (conditions, 
					 ["cjtass"], 
					 ["cjtass-ligne"],
					 "ou");
	
	affich_cj = function () {

		var conditions 			= new Array()
		conditions[0] 			= ["cjtass","O"];
		creer_condition (conditions, 
						 ["cj-datnai","cj-regatt","cj-regime"], 
						 ["cj-datnai-ligne","cj-regatt-ligne","cj-regime-ligne","bloc_conjoint"]
						 );	
	
	}
	affich_cj();
	
	$("#sitfam").bind("change", affich_cj)
	
	$("#cj-regatt").bind("change", menu_regime) // desactive regime pour le conjoint
	$("#cj-regatt").bind("change", affichage_menu_rattachement_enfant) // afficher ou pas le conjoint dans le rattachement des enfants
	
	$("#nbrenf").bind("blur", afficher_enfants)
	afficher_enfants ();
	
	menu_regime("cj-regatt")
	
	
		//calendriers
	/*****************************************************************************/
	Calendar.setup( 
	{ 
	inputField : "dateff", // ID of the input field 
	ifFormat : "%d/%m/%Y", // the date format
	weekNumbers : false,
	onUpdate : controle_depuis_cal,
	button : "cal1" // ID of the button 
	}
	);

}

function validTotalSante (objet) {
	

	if ( veriftotale() ){ 
	
		/*if ( $("#nbrenf").val() != "0" &&  $("#bloc_enfants").css("display") != "block" ) {
			alertAJAX("N'oubliez pas de renseigner les informations concernant vos enfants");
			return false;	
		}*/
	
		$("#submit_ap").attr("disabled", "disabled"); 
		return true;
	}else{
		return false;
	};
}


///////////////////////////////////////////////////////////////
/////////////////////////// FONCTIONS AFFICHAGE
///////////////////////////////////////////////////////////////


function afficher_enfants () {
	
	var nombredenfants = $("#nbrenf").val();
	
	for (var x=1; x<=20; x++) { 
		
		var bool0 = nombredenfants > 0 ? "afficher" : "masquer";	
		afficher_ou_masquer_un_champ(null,["enfants0-ligne","bloc_enfants"], bool0)
		
		var bool = nombredenfants >= x ? "afficher" : "masquer";		
		afficher_ou_masquer_un_champ(["enf-datnai-"+ x,"enf-regatt-"+ x,"enf-regime-"+ x],["enfants"+ x +"-ligne"], bool)
		
	}
	refresh_menu_regime_enfant();
	
}

//activer ou desactiver le menu regime de l'enfant pour le chargement
function refresh_menu_regime_enfant () {
	for (var c=1; c<=20; c++) {
		menu_regime ("enf-regatt-"+c);
	}
}

//activer ou desactiver le menu regime de l'enfant
function menu_regime (objet) {
	var objet = typeof(objet) == "string" ? formulaire[ objet ] : this;
	var nom = objet.name.replace( "regatt" , "regime" )	
		
		if (objet.value == "PR" ) {		
			afficher_ou_masquer_un_champ([nom],null, "afficher")
			formulaire[ nom ].options[0].text = "Choisir";
			formulaire[ nom ].disabled = false
		}else{
			afficher_ou_masquer_un_champ([nom],null, "masquer")
			formulaire[ nom ].options[0].text = "";
			formulaire[ nom ].disabled = true
		}
	
}
//afficher ou pas le conjoint dans le rattachement des enfants
function affichage_menu_rattachement_enfant () {
	window.console.log("test")
	for (var noEnfant = 1; noEnfant <21; noEnfant++){
			// j'efface le menu
			while (formulaire["enf-regatt-"+noEnfant].options.length>0)
			{
				formulaire["enf-regatt-"+noEnfant].options[0] = null;
			}
			formulaire["enf-regatt-"+noEnfant].options[formulaire["enf-regatt-"+noEnfant].options.length] = new Option("Choisir","-1");
			formulaire["enf-regatt-"+noEnfant].options[formulaire["enf-regatt-"+noEnfant].options.length] = new Option("Le votre","SC");
			formulaire["enf-regatt-"+noEnfant].options[formulaire["enf-regatt-"+noEnfant].options.length] = new Option("Affili\u00e9 en son nom","PR");
			if (formulaire["cj-regatt"].value != "SC") {
				formulaire["enf-regatt-"+noEnfant].options[formulaire["enf-regatt-"+noEnfant].options.length] = new Option("Celui du conjoint","CJ");
			}
			
			for (var d = 0; d <formulaire["enf-regatt-"+noEnfant].options.length; d++)
			{
				if (formulaire["enf-regatt-"+noEnfant].options[d].value == eval("restit_enf_regatt_"+noEnfant) && eval("restit_enf_regatt_"+noEnfant) != "-1"){
					formulaire["enf-regatt-"+noEnfant].value = eval("restit_enf_regatt_"+noEnfant);
				}
			}
	}


}

///////////////////////////////////////////////////////////////
/////////////////////////// CONTROLES DE COHERENCE
///////////////////////////////////////////////////////////////


/*****************************************************************************/
//Verif majorite a date d'effet
/*****************************************************************************/
function majeur_a_date_effet (objet) {


	var result = ecart_dates(formulaire["dateff"], objet) >= 18 ? true : false;
	
	if ( formulaire["dateff"].value == "" || formulaire["dateff"].value == "__/__/____" ){ return true }
	
	/*if (date_de_naissance2 != "") {
	
		tabchamps[8][6] = "Le conjoint doit etre majeur a la date d'effet"
		var result = ecart_dates(date_efet, date_de_naissance2) >= 18 ? true : false;
	}*/
	
	return result;
}

///////////////////////////////////////////////////////////////
/////////////////////////// PREVU POUR ETRE DANS LA PAGE
///////////////////////////////////////////////////////////////



