/********************************************************/
/*Programme date_jour.js*********************************/
/********************************************************/

function reinitialise_pdt_cplt(nom_form,tab_pdt_cplt) // reinitialise tout les formulaires des pdts complémentaires d'un produit principal
{
	var taille = tab_pdt_cplt.length;
	var i=0;
	if(document.forms[nom_form].elements['indice'].value >= 0){
		var indice = document.forms[nom_form].elements['indice'].value;
	}
	for (i=1;i<taille;i++){
		if(indice){
			nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0]+'_'+indice;
		}else {
			nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0];
		}
		//nom_form = 'pdt'+tab_pdt_cplt[i]+"_"+tab_pdt_cplt[0];
		if (document.forms[nom_form_tmp].elements['quantite'].type == "select-one"){
			document.forms[nom_form_tmp].elements['quantite'].selectedIndex = 0;
		}
		if (document.forms[nom_form_tmp].elements['pdt_cplt']) {
			document.forms[nom_form_tmp].elements['pdt_cplt'].checked = false;
		}
		var id_pdt = tab_pdt_cplt[i];
		document.forms[nom_form_tmp].elements['prix_ttc_pdt'].value = 0.00;
		document.forms[nom_form_tmp].elements['total_base'].value = 0.00;
	}
	update_select(nom_form,tab_pdt_cplt);
}


function reinitialise_form(nom_form){
	var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
	document.forms[nom_form].reset();
	if (document.forms[nom_form].elements['pdt_cplt']) {
		document.forms[nom_form].elements['pdt_cplt'].checked = false;
	}
	if(document.getElementById('prix_global'+tab_pdt_cplt[0]) && (document.forms[nom_form].elements['date_depart'] && document.forms[nom_form].elements['date_depart'].value == "")) {
		//document.getElementById('prix_global'+tab_pdt_cplt[0]).innerHTML = '0.00';
	}
}

//pour vérifier que les dates du produit principal soit bien saisies avant de lancer une recherche pour un pdt cplt dans les layerspdt_cplt
function verif_date(nom_form_cplt,nom_form_principal,tab_pdt_cplt){
	if(document.forms[nom_form_principal].elements["date_depart"] && document.forms[nom_form_principal].elements["date_depart"].value == ""){
		alert(msg_choisir_date_depart);
		reinitialise_form(nom_form_cplt);
		return false;
	}else{
		sndReq(nom_form_cplt,tab_pdt_cplt);
		return true;
	}
	
}

function change_date_retour(nom_form,appelant,tab_pdt_cplt){
	
	if(document.forms[nom_form].elements['quantite']){
		var quantite = document.forms[nom_form].elements['quantite'].value;
	}
	
	var date_depart = document.forms[nom_form].elements['date_depart'].value;
	
	if (appelant != 'quantite' && appelant != 'nb_nuit_accueil' && appelant != 'date_depart'){
		var nb_nuit = document.forms[nom_form].elements['nb_nuit'][document.forms[nom_form].elements['nb_nuit'].selectedIndex].value;
		if(isNaN(nb_nuit)){
			alert(nb_nuits_chiffres);
			return (false);
		}
	}
	
	if (appelant == 'sejour'){
		var duree_sejour_pdt = document.forms[nom_form].elements['duree_sejour_pdt'].value;
	}
	
	if(quantite && isNaN(quantite)){
		alert(qte_en_chiffres);
		return (false);
	}
	if(date_depart != ""){
		if (appelant == "nb_nuit" && document.forms[nom_form].elements['nb_nuit'].value != ""){
			var date_retour = addDaysToDate(date_depart, document.forms[nom_form].elements['nb_nuit'].value);
			document.forms[nom_form].elements['date_retour'].value = date_retour;
			sndReq(nom_form,tab_pdt_cplt);
			return(true);
		}
		if (appelant == "nb_nuit_accueil" && document.forms[nom_form].elements['nb_nuit'].value != ""){
			if (isNaN(document.forms[nom_form].nb_nuit.value) || parseInt(document.forms[nom_form].nb_nuit.value) < 1 || parseInt(document.forms[nom_form].nb_nuit.value) > 31){
				alert(nb_nuit_incorrect);
				calcul_nb_jour_moteur(nom_form);
				return(false);
			}else{
				var date_retour = addDaysToDate(date_depart, document.forms[nom_form].elements['nb_nuit'].value);
				document.forms[nom_form].elements['date_retour'].value = date_retour;
				return(true);
			}
		}				
		if (appelant == "quantite" && quantite != ""){
			//document.forms[nom_form].elements['date_retour'].value = "";
			sndReq(nom_form,tab_pdt_cplt);
			return(true);
		}
		if (appelant == "sejour"){
			var date_retour = addDaysToDate(date_depart, duree_sejour_pdt);
			document.forms[nom_form].elements['date_retour'].value = date_retour;
			sndReq(nom_form,tab_pdt_cplt);
			return(true);
		}
	}else{
		alert (mettre_date_dep);
		return(false);
	}
	
}

function update_select(nom_form,tab_pdt_cplt) { //met à jour la quantite possible de chaque produit complementaire qui dépend de la capacité du pdt_principal

	var taille = tab_pdt_cplt.length;
	var i=0;
	var j=0;
	if(document.forms[nom_form].elements['indice'].value >= 0){
		var indice = document.forms[nom_form].elements['indice'].value;
	}
	for (i=1;i<taille;i++){
		if(indice){
			nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0]+'_'+indice;
		}else {
			nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0];
		}
		//nom_form_tmp = 'pdt'+tab_pdt_cplt[i]+"_"+tab_pdt_cplt[0];
		if (document.forms[nom_form_tmp].elements['quantite'].type == "select-one"){
			if(document.forms[nom_form_tmp].elements['fct_capacite_principale'].value == 1){
				var min_cap = document.forms[nom_form_tmp].elements['min_capacite'].value;
				var max_cap = document.forms[nom_form_tmp].elements['max_capacite'].value;
				var sel  = document.getElementById('quantite'+tab_pdt_cplt[i]+'_'+tab_pdt_cplt[0]);
				while(sel.options.length > 0){
					sel.options[0] = null;
				}
				if(document.forms[nom_form_tmp].elements['fct_quantite_principale'].value == 0){
					var quantite_pdt_principal = document.forms[nom_form].elements['quantite'].value;
					var max_pdt_cplt = (max_cap-min_cap)*quantite_pdt_principal+1;
				}else{
					var max_pdt_cplt = max_cap-min_cap+1;
				}
				sel.options.length = max_pdt_cplt;
				for(j=0 ; j<max_pdt_cplt ; j++){
					sel.options[j] = new Option(j,j);
				}
			}
		}
	}
}

function change_date_retour_moteur(nom_form,appelant){
	var date_depart = document.forms[nom_form].elements['date_depart'].value;
	if (document.forms[nom_form].elements['date_retour']){
		var date_retour = document.forms[nom_form].elements['date_retour'].value;
	}else {
		var date_retour = "";
	}
	if (appelant == "date_depart" && document.forms[nom_form].elements['duree_sejour_pdt']){
		if(document.forms[nom_form].elements['duree_sejour_pdt'].value >1){
			nb_jour_ajoute = document.forms[nom_form].elements['duree_sejour_pdt'].value-1;
		}else{
			nb_jour_ajoute = document.forms[nom_form].elements['duree_sejour_pdt'].value;
		}		
		var date_retour = addDaysToDate(date_depart, nb_jour_ajoute);
		document.forms[nom_form].elements['date_retour'].value = date_retour;
		//sndReq(nom_form,tab_pdt_cplt);
		return(true);
	}else if (date_retour == "" || appelant == "date_depart"){
		if (document.forms[nom_form].elements['date_retour']){
			if((date_retour != "" && Date1InfDate2(date_depart,date_retour)) || date_retour == ""){
				if(!document.forms[nom_form].elements['type_pdt'] || (document.forms[nom_form].elements['type_pdt'] && document.forms[nom_form].elements['type_pdt'].value != "restauration")){
					date_retour = addDaysToDate(date_depart,1);
					document.forms[nom_form].elements['date_retour'].value = date_retour;
				}
			}
		}
	}
	calcul_nb_jour_moteur(nom_form);
}

function calcul_nb_jour_moteur(nom_form){
	if (document.forms[nom_form].elements['type_pdt']){
		var type_pdt = document.forms[nom_form].elements['type_pdt'].value;
	}else{
		var type_pdt = "";
	}
	var date1 = document.forms[nom_form].elements['date_retour'].value;
	var date2 = document.forms[nom_form].elements['date_depart'].value;
	if (date2 != "" && date1 != ""){
		var nb_jour = nb_jour_entre_date(date1,date2);
		if(nb_jour>31){
			alert (pas_plus_31_jours);
			document.forms[nom_form].elements['date_retour'].value = '';
			return (false);
		}
		if(document.forms[nom_form].elements['nb_nuit']){
			document.forms[nom_form].elements['nb_nuit'].value = nb_jour;
		}
	}
	if(date1 != "" && !Date1InfDate2(date1,date2) && type_pdt == "hebergement"){
		alert(date_dep_inf_ret);
		document.forms[nom_form].elements['date_retour'].value = "";
		document.forms[nom_form].elements['nb_nuit'].value = "";		
		return (false);
	}
}

function calcul_nb_jour(nom_form,tab_pdt_cplt){
	if (document.forms[nom_form].elements['type_pdt']){
		var type_pdt = document.forms[nom_form].elements['type_pdt'].value;
	}else{
		var type_pdt = "";
	}
	if (document.forms[nom_form].elements['id_pdt']){
		var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
	}else{
		var id_pdt = "";
	}
	var date1 = document.forms[nom_form].elements['date_retour'].value;
	var date2 = document.forms[nom_form].elements['date_depart'].value;
	if(date1 != "" && !Date1InfDate2(date1,date2) && type_pdt == "hebergement"){
		alert(date_dep_inf_ret);
		masquer_ajouter('ajouter'+id_pdt);
		return (false);
	}
	if (type_pdt == "hebergement" && date1 == ""){
		date1 = addDaysToDate(date2,1);
		document.forms[nom_form].elements['date_retour'].value = date1;
	}
	if (type_pdt == "restauration" && date1 == ""){
		date1 = document.forms[nom_form].elements['date_depart'].value;
	}
	if (type_pdt == "sejour"){
		var duree_sejour_pdt = (document.forms[nom_form].elements['duree_sejour_pdt'].value)-1;
		date1 = addDaysToDate(date2,duree_sejour_pdt);
		document.forms[nom_form].elements['date_retour'].value = date1;
	}
	if (date2 != "" && date1 != ""){
		
		var nb_jour = nb_jour_entre_date(date1,date2);
		if(nb_jour>31){
			alert (pas_plus_31_jours);
			return (false);
		}
		if (type_pdt != "sejour"){
			if(document.forms[nom_form].elements['nb_nuit']){
				document.forms[nom_form].elements['nb_nuit'].value = nb_jour;
			}
		}
		if(id_pdt != ""){
			sndReq(nom_form,tab_pdt_cplt);
		}
	}
}

function verif_quantite(nom_form,tab_pdt_cplt){
	var id_pdt = document.forms[nom_form].elements['id_pdt'].value;
	var quantite = document.forms[nom_form].elements['quantite'].value;
		
	if(document.forms[nom_form].elements['date_depart'] && document.forms[nom_form].elements['date_depart'].value == ""){
		alert (mettre_date_dep);return (false);
	}else if (quantite != "" && !isNaN(quantite)){
		sndReq(nom_form,tab_pdt_cplt);
	}
}

function compare_datejour_datedepart(nom_form){
	if(document.forms[nom_form].elements['date_depart']){
		var date1 = document.forms[nom_form].elements['date_depart'].value;
	}else{
		var date1 = "";
	}
	if (date1 != "" && !Date1InfouEgalDate2(date1,datejour)){
		alert (date_sup_jour);
		return(false);
	}
	return(true);
}