var PersonRoom = function  ( newNombre ) {
	/**
	 * Funciones del manejo de humanos
	 * 
	 * this.set_ninnos_babbies_views();
	 * this.update_selected_people();
	 * this.ninnos_select = function ( fields , selected );
	 * this.babies_select = function ( fields , selected );
	 * this.rooms_select = function ( fields, initialize );
	 * this.adults_select = function ( fields, initialize );
	 * this.set_human_max = function ( event );
	 * this.set_max_childrens = function ();
	 * this.set_max_child = function ();
	 * this.set_max_babies = function ();
	 * 
	 */
	this.set_ninnos_babbies_views = function ( event ){
		if ($("max_humans"))//Si tenemos el hidden MAX_HUMANS, es ficha de hotel, si no, es multi-buscador
		{
			
			var index = $("idhotel").value;
			this.babies = $("babies_age").value;
			this.ninnos = $("ninnos_age").value;
			this.max_humans = $("max_humans").value;
			this.max_adults = $("num_adults").value;
			this.max_babies = $("max_babies").value;
			this.max_child = $("max_ninnos").value;
			this.rooms_select ( $("num_rooms").value, 1 );
			//alert("babies: " + this.babies + "ninnos: " + this.ninnos +"max_humans: " + this.max_humans + "max_adults: " + this.max_adults + "max_babies: " + this.max_babies + "max_child: " + this.max_child);
			
		}
		else
		{
			
			var index = $("idhotel_form_buscar").selectedIndex;
			this.babies = this.hoteles[index].babies ;
			this.ninnos = this.hoteles[index].ninnos ;
			
			this.max_humans = this.hoteles[index].max_humans ;
			this.max_adults = this.hoteles[index].num_adults;
			this.max_babies = this.hoteles[index].max_babies;
			this.max_child = this.hoteles[index].max_ninnos;
			this.rooms_select ( this.hoteles[index].rooms, 1 );
		}
		
		
		this.selected_adults = this.selected_ninnos = this.selected_babies = 0;
		
		
		this.ninnos_select ( this.max_humans - 1 , 0);
		this.babies_select ( this.max_humans - 1 , 0);
		
		this.set_human_max ( 1 );
		
		this.set_max_childrens();
		
		
	}
	
	this.update_selected_people = function ( event ){
		
		var slected_child = this.select_ninnos_form.selectedIndex;
		var slected_babies = this.select_babies_form.selectedIndex;
		
		
		var left = this.max_childres_reservables - slected_child - slected_babies;
		
		if (  this.max_babies == 0 ){
			this.babies_select ( slected_babies + left , slected_babies );
		}else{
			this.babies_select ( this.max_babies * (this.select_room_form.selectedIndex + 1) , slected_babies );
		}
		
		if ( this.max_child == 0 ){
			this.ninnos_select ( slected_child + left , slected_child );	
		}else{
			this.ninnos_select ( this.max_child * (this.select_room_form.selectedIndex + 1), slected_child );
		}
		
		
		
	}
	
	
	
	this.ninnos_select = function ( fields , selected ){
		//alert("max_ninnos: " + this.ninnos);
		if ( this.ninnos > 0 ){
			$("ninnos_div").show();
			this.select_ninnos_form.update('');
			
			var set_max = (this.max_ninnos > 0 ) ? this.max_ninnos : fields ;
			
			for (var i = 0; i <= set_max; i++) {
				this.select_ninnos_form.insert ('<option value="'+ i +'">'+ parseInt ( i ) +'</option>');
			}
			this.select_ninnos_form.selectedIndex = selected;
		}else {
			$("ninnos_div").hide();
		}
	}
	this.babies_select = function ( fields , selected ){
		if ( this.babies > 0 ){
			$("babies_div").show();
			this.select_babies_form.update('');
			
			var set_max = (this.max_babies > 0 ) ? this.max_babies : fields ;
			
			for (var i = 0; i <= fields; i++) {
				this.select_babies_form.insert ('<option value="'+ i +'">'+ parseInt ( i ) +'</option>');
			}
			this.select_babies_form.selectedIndex = selected;
		}else{
			$("babies_div").hide();
		}
	}
	this.rooms_select = function ( fields, initialize ){
		this.select_room_form.update('');
		
		for (var i = 0; i < fields; i++) {
			this.select_room_form.insert ('<option value="'+ parseInt ( i + 1 ) +'">'+ parseInt ( i + 1 ) +'</option>');
			
		}
		this.select_room_form.selectedIndex = initialize - 1 ;
	
	}
	this.adults_select = function ( fields, initialize ){
		//alert("Adults_select: Fields= "+ fields + " e initialize = " + initialize);
		this.select_adults_form.update('');
		for (var i = 0; i < fields; i++) {
			this.select_adults_form.insert ('<option value="'+ parseInt ( i + 1 ) +'">'+ parseInt ( i + 1 ) +'</option>');
			
		}
		this.select_adults_form.selectedIndex = initialize - 1 ;
		
		
	}
	this.set_human_max = function ( event ){
		
		this.max_humans_reservables = parseInt(this.select_room_form.selectedIndex + 1) * this.max_humans;
		
		this.adults_select( this.max_humans_reservables , 1 );
		this.set_max_childrens();
	}
	
	
	this.set_max_childrens = function (){
		this.max_childres_reservables = this.max_humans_reservables - parseInt(this.select_adults_form.selectedIndex + 1);
		
		var childs = ( this.max_child > 0 ) ? ( this.max_child *  (this.select_room_form.selectedIndex + 1) ): this.max_childres_reservables;
		var babies = ( this.max_babies > 0) ? ( this.max_babies * (this.select_room_form.selectedIndex + 1) ) : this.max_childres_reservables;
		this.ninnos_select ( childs, 0 );
		this.babies_select ( babies, 0 );
	}
	
	this.set_max_child = function (){
		if ( this.select_ninnos_form.selectedIndex == 0 ){
			this.ninnos_select ( this.max_childres_reservables - parseInt(this.select_babies_form.selectedIndex) , 0 );
		}
		
	}
	this.set_max_babies = function (){
		var resto = this.max_childres_reservables - this.select_babies_form.selectedIndex;
		if ( this.select_babies_form.selectedIndex == 0 || resto != 0 ){
			this.babies_select ( this.max_childres_reservables - parseInt(this.select_ninnos_form.selectedIndex), 0  );
		}
		
	}
	
}

PersonRoom.prototype = new Gadget();

