var max_chbre = 5;
var child_max = 3;

//fonction appelee à l'initialisation
function init(){
	changeNbChambres();
	document.getElementById("stype_room1").value = "DBL"; 
	changeTypeChambres(1);
	
}

//fonction appelee qd on change le nombre de chambres demandees
function changeNbChambres(){

	var nb = document.getElementById("nbre_chbre").value;
	var i_nb = nb;
	var hasChild = false;
	
	for (var i = 1; i < max_chbre + 1; i++){
			
		
		if (i <= i_nb){
			blocking('type_room' + i,'block');
			blocking('adult_room' + i,'block');
			blocking('child_room' + i,'block');
			blocking('bebe_room' + i,'block');
			var nb_child = document.getElementById('nb_childroom' + i).value;
			if (nb_child > 0){
				hasChild = true;		
			}	
			changeNbEnfants(i);
		}
		else{
			blocking('type_room' + i,'none');
			blocking('adult_room' + i,'none');
			blocking('child_room' + i,'none');
			blocking('bebe_room' + i,'none');
			
			for (var y = 1 ;y <= child_max; y++){
				document.getElementById('nb_childroom' + i).value = 0;
				blocking('span_age_child_' + i + '_' + y,'none');	
			}
		}	
	}

	if (haveOneChild()){
		document.getElementById('table_age').style.display = 'block';		
	}
	else
		document.getElementById('table_age').style.display = 'none';		
}

//Appelee qd on change le nb d'enfants pour une chambre
function changeNbEnfants(room_id){
	
	var nb_child = document.getElementById("nb_childroom" + room_id).value;
	
	for (var j = 1 ; j <= child_max; j++){
				if (j <=nb_child){
					blocking('span_age_child_' + room_id + '_' + j,'block');
				}
				else{
					blocking('span_age_child_' + room_id + '_' + j,'none');
				}
	}

	if (haveOneChild()){
		document.getElementById('table_age').style.display = 'block';		
	}
	else
		document.getElementById('table_age').style.display = 'none';
	calcul_adult(room_id);	
}


//permet d'afficher ou pas quelque chose en l'appelant par son id
function blocking(id,display){
	document.getElementById(id).style.display = display;
}

//Appelee quand on change le type d'une chambre
function changeTypeChambres(room_id) {
	
	manageBebeView(room_id);
	
	var room_type = document.getElementById("stype_room" + room_id).value;
	var nbadult = getMaxPaxByType(room_type);
	
	//si au max les adultes sont n alors les enfants sont au max de n-1 	 
	document.getElementById("nb_adultroom" + room_id).length=0;
	document.getElementById("nb_childroom" + room_id).length=0;

	for (var index=nbadult;index>0;index--){
		var p=new Option(index,index);
		document.getElementById("nb_adultroom" + room_id).options[index - 1]=p;
		var c=new Option(index-1,index-1);
		document.getElementById("nb_childroom" + room_id).options[index - 1]=c;	
	}

	document.getElementById("nb_adultroom" + room_id).value = nbadult;
	document.getElementById("nb_childroom" + room_id).value = 0;
	
	if (haveOneChild()){
		document.getElementById('table_age').style.display = 'block';		
	} else {
		document.getElementById('table_age').style.display = 'none';
	}
	
}

//fonction qui donne la possibilite d ajouter un bebe pour les types de chambres DBL TWN TRP
function manageBebeView(room_id) {
	
	var room_type = document.getElementById("stype_room" + room_id).value;
	
	
	if (room_type == "SGL" || room_type == "QUD"){
		
		// on enleve l option "1" du select bebe
		resetOptionValues(room_id);
		addOptionValues(room_id, 1);
		
	} else {		
	
		// on ajoute l option "1" du select bebe		
		resetOptionValues(room_id);		
		addOptionValues(room_id, 2);	
			
	}

}
function resetOptionValues(room_id) {
	var bebe = "nb_beberoom" + room_id;
	var  initial_bb_length = document.getElementById(bebe).options.length;	
	for (var j=0; j<initial_bb_length; j++) {
		document.getElementById(bebe).options.remove(0);
	}
}

function addOptionValues(room_id, nb_option) {	
	var bebe = "nb_beberoom" + room_id;
	var couffins = document.getElementById(bebe);		
	for (var j=0; j<nb_option; j++) {
		var option = document.createElement("OPTION");
		couffins.options.add(option);
		option.innerText = j;
		option.value = j;
	}

}

//fonction qui donne le nombre maximum de pax par type de chambre
function getMaxPaxByType(room_type){
	var nbadult = 2;
	if (room_type == "SGL"){
		nbadult = 1;
	}
	else{
		if (room_type == "TRP"){
			nbadult = 3;
		}
		else{
			if (room_type == "QUD"){
				nbadult = 4;
			}
		}
	}
	return nbadult;
}


//fonction qui donne le nombre minimum de pax par type de chambre
function getMinPaxByType(room_type){
	var nbadult = 2;
	if (room_type == "SGL"){
		nbadult = 1;
	}
	else{
		if (room_type == "TRP"){
			nbadult = 3;
		}
		else{
			if (room_type == "QUD"){
				nbadult = 4;
			}
		}
	}
	return nbadult;
}
// retourne true si on a pas depasser le nombre de personne maximum autorise par Sabre (7 personnes)
function haveEnoughPerson() {	
	var nb = document.getElementById("nbre_chbre").value;
	var i_nb = (nb*1)+1;	
	var i_nb_Person = (0*1);
	var retour = false;	
	for (var i = 1; i < i_nb; i++){	
		var nb_adult = document.getElementById('nb_adultroom' + i).value;
		var nb_child = document.getElementById('nb_childroom' + i).value;
		var nb_bebe  = document.getElementById('nb_beberoom'  + i).value;
		var i_nb_adult = (nb_adult*1)+1-1;
		var i_nb_child = (nb_child*1)+1-1;
		var i_nb_bebe  = (nb_bebe*1)+1-1;		
		i_nb_Person += i_nb_adult + i_nb_child + i_nb_bebe;		
	}
		
	if (i_nb_Person > 7) {
		retour = false;
	} else {
		retour = true;
	}	
	return retour;	
}

//retourne true si il y a au moins un enfant dans toutes les chambres demandees
function haveOneChild(){
	var retour = false;
	for (var j = 1 ; j <= max_chbre ; j++){
		var nb_child = document.getElementById('nb_childroom' + j).value;
		if (nb_child > 0){
			if (document.getElementById('child_room' + j).style.display == 'none'){
				document.getElementById('nb_childroom' + j).value = 0;
			}
			else{
				retour = true;
			}	
		}
		else{
			for (var z = 1 ; z <= child_max; z++){
				blocking('span_age_child_' + j + '_' + z,'none');
			}
		}
	}
	return retour;	
}

//met le bon nombre d'enfants en fonction du nombre d'adultes et du type de chambre
function calcul_child(room_id){
	var nb_adult = document.getElementById('nb_adultroom' + room_id).value;
	var nb_child = document.getElementById('nb_childroom' + room_id).value;
	var room_type = document.getElementById("stype_room" + room_id).value;
	var max_pax = getMaxPaxByType(room_type);
	if (parseInt(nb_adult) + parseInt(nb_child) > max_pax){
	    document.getElementById('nb_childroom' + room_id).value = max_pax-nb_adult;
	}
	 else{
        var min_pax = getMinPaxByType(room_type);
        if (parseInt(nb_adult) + parseInt(nb_child) < min_pax){
            var new_nb_pax = min_pax-nb_adult;
            document.getElementById('nb_childroom' + room_id).value = new_nb_pax;
        }
    }
	changeNbEnfants(room_id);
}

//met le bon nombre d'adultes en fonction du nombre d'enfants et du type de chambre
function calcul_adult(room_id){
    var nb_adult =0;
    var nb_child =0;
	var room_type = document.getElementById("stype_room" + room_id).value;
	nb_adult = document.getElementById("nb_adultroom" + room_id).value;
	nb_child = document.getElementById("nb_childroom" + room_id).value;
	var max_pax = 0;
	max_pax = getMaxPaxByType(room_type);
	if(room_type == "DBL" || room_type == "TWN"){
	    max_pax = max_pax + 1;
	}
   nb_pax = 0;
   nb_pax = parseInt(nb_child) + parseInt(nb_adult);
  ;
   if (nb_pax > max_pax){
        var new_nb_pax = parseInt(max_pax) - parseInt(nb_child);
        document.getElementById('nb_adultroom' + room_id).value = new_nb_pax;
   }
   else{
        var min_pax = getMinPaxByType(room_type);
        if (parseInt(nb_adult) + parseInt(nb_child) < parseInt(min_pax)){
            document.getElementById('nb_adultroom' + room_id).value = min_pax-nb_child;
        }
   }
}