// FUNCIONES GENERALES
///////////////////////////////////////////////////////////////
function Esta_En_Array(elemento,lista)
{
	ind=-1;
	enc=false;
	while((ind<lista.length) && (!enc))
	{
		ind++;
		enc=(lista[ind]==elemento);
	}
	
	return enc;
}




// Definición de la clase TOcupacion
///////////////////////////////////////////////////////////////
  
  function TOcupacion(num_personas,tarifa,precio,comportamiento,predeterminado)
  {
	this.num_personas=num_personas;
	this.tarifa=tarifa;
	this.precio=precio;
	this.comportamiento=comportamiento;  //0=Sin 1=Normal 2=Supletoria
	this.predeterminado=predeterminado;
	this.n_seleccionado=0; // Para el modo Hotel
  }
  


//************************************************************************************************************




// Definición de la clase TModo_Hotel
///////////////////////////////////////////////////////////////
  function TModo_Hotel(ocupacion,n_seleccionado,comportamiento,ulti)
  {
    this.ulti=ulti;  // Última ocupación (para supletorias), sino es Supl. es 0
    this.ocupacion=ocupacion;
	this.n_seleccionado=n_seleccionado;
	this.comportamiento=comportamiento;
  }
  
  
  

//************************************************************************************************************



// Definición de la clase THabitacion_Base
///////////////////////////////////////////////////////////////
  function THabitacion_Base(id_habitacion,id_habitacion_base,nombre,desactivada)
  {
    this.id_habitacion=id_habitacion;
	this.id_habitacion_base=id_habitacion_base;
	this.nombre=nombre;
	this.desactivada=desactivada;
	this.nseleccionado=0;
	this.ocupacion=-1;
  }
  
  
  

//************************************************************************************************************




  // Métodos de la clase THabitacion
  function THab_Aniadir_Ocupacion(num_personas,tarifa,precio,comportamiento,predeterminado,anio)
  {
	  this.THab_Ocupacion[anio][this.THab_Ocupacion[anio].length]=new TOcupacion(num_personas,tarifa,precio,comportamiento,predeterminado);
  }
  
  function THab_Mostrar_Ocupacion(anio)
  {
    salida2=this.id_habitacion+": ";
    for (i2=0;i2<this.THab_Ocupacion[anio].length;i2++)
	{
	  if (this.THab_Ocupacion[anio][i2]!=null)
	  {
	    salida2=salida2 + this.THab_Ocupacion[anio][i2].num_personas + " - " + this.THab_Ocupacion[anio][i2].precio + " \n ";
	  }
	}
	return (salida2);
  }
  
  function THab_Pinta_Ocupacion(solo_lectur,elegido,id_habita_b,anio)
  {
    if (!solo_lectur)
	{
	  habita_b=this.THab_Busca_Habitacion_Base(id_habita_b);
      resulta="<td width=\"7\"><select name=\"H"+id_habita_b+"\" class=\"combo_alto\" ";
	  resulta+="onChange=\"Globales.Hab_Seleccion.Actualiza_Hab_Ocupa("+this.id_habitacion+",this.value," + id_habita_b + ");Pinta_Habitaciones_Libres();\">";
	  anterior=new Array();
	  ulti=0;
	  //alert(this.THab_Ocupacion[anio].length);
      for (fO=0;fO<this.THab_Ocupacion[anio].length;fO++)
	    if (this.THab_Ocupacion[anio][fO].comportamiento!=0)
	    {
			expansion="";
			if (this.THab_Ocupacion[anio][fO].comportamiento==2)
			  expansion=ulti +" + "+(parseInt(this.THab_Ocupacion[anio][fO].num_personas) - 999)+" (Supl.) ";
			else
			{
			  expansion=this.THab_Ocupacion[anio][fO].num_personas;
			  ulti=this.THab_Ocupacion[anio][fO].num_personas;
			}
			
		  control=expansion;
		  selesionado="";
		
		  if(habita_b.ocupacion!=-1)
		  {
			sep=habita_b.ocupacion;
			if (expansion==sep)
		      selesionado=" selected";
		  }
		  if (habita_b.ocupacion==-1)
		    if (this.THab_Ocupacion[anio][fO].predeterminado==1)
		      selesionado=" selected";
			  
		  valer=true;
		  ia=0;
		  while((ia<anterior.length) && (valer))
		  {
		    if(anterior[ia]==id_habita_b+control)
			  valer=false;
		    ia++;
		  }
		  if(valer)
		  {
	        resulta+="<option value=\""+control+"\""+selesionado+">"+control+"</option>";
			anterior[anterior.length]=id_habita_b+control;
		  }	
	    }
	  resulta+="</select></td><td width=\"5\"></td>";
	}
	else
	{
      resulta="";
      for (fO=0;fO<this.THab_Ocupacion[anio].length;fO++)
	    if (this.THab_Ocupacion[anio][fO].comportamiento!=0)
	    {
		  expansion2="";
		  if (this.THab_Ocupacion[anio][fO].comportamiento==2)
			expansion2=ulti +" + "+(parseInt(this.THab_Ocupacion[anio][fO].num_personas) - 999)+" (Supl.) ";
		  else
		  {
			expansion2=this.THab_Ocupacion[anio][fO].num_personas;
			ulti=this.THab_Ocupacion[anio][fO].num_personas;
		  }
		  
		  if(elegido!=-1)
		  {
		    if (expansion2==elegido)
		      resulta=expansion2;
		  } 
		  else
		    if (this.THab_Ocupacion[anio][fO].predeterminado==1)
		      resulta=expansion2;
	    }
	}
	
	return (resulta);
  }
  
  function THab_Dame_Precio_Base(tarifa,anio)
  {
    resulta="";
    for (fO=0;fO<this.THab_Ocupacion[anio].length;fO++)
	  if (this.THab_Ocupacion[anio][fO].comportamiento!=0)
	  {
		if ((this.THab_Ocupacion[anio][fO].predeterminado==1) && (this.THab_Ocupacion[anio][fO].tarifa==tarifa))
		  resulta=this.THab_Ocupacion[anio][fO].precio;
	  }
	
	return (resulta);
  }
  
  function THab_Dame_Precio(num_person,tarifa,anio)
  {
    resulta=0;
    for (fO=0;fO<this.THab_Ocupacion[anio].length;fO++)
	  if (this.THab_Ocupacion[anio][fO].comportamiento!=0)
		if ((this.THab_Ocupacion[anio][fO].num_personas==num_person) && (this.THab_Ocupacion[anio][fO].tarifa==tarifa))
		  resulta=this.THab_Ocupacion[anio][fO].precio;
	
	return (resulta);
  }
  
  function THab_Calcula_Precio(num_perso,misma_temporada)
  {
    _total=0;
	base=0;
	//alert(ano1 +' / '+ ano2);
	if ((misma_temporada) && (ano1==ano2))
	{
	  enco=false;
	  io=0;
	  while ((io<Lista_Seleccion.Lista.length) && (!enco))
	  {
	    if (Lista_Seleccion.Lista[io]!=null)
		{
		  Dia=Lista_Seleccion.Lista[io].Dia;
		  Mes=Lista_Seleccion.Lista[io].Mes;
		  Ano=Lista_Seleccion.Lista[io].Ano;
		  enco=true;
		}
		io++;
	  }		
	  id_tarif=Temporadas_Globales.Dame_Tarifa(Dia,Mes,Ano);
	  if(num_perso==-1)
		base=this.THab_Dame_Precio_Base(id_tarif,Ano);
	  else
		base=this.THab_Dame_Precio(num_perso,id_tarif,Ano);
	  _total=parseFloat(base) + parseFloat(_total);
	}
	else
	{
		for (ij=0;ij<Lista_Seleccion.Lista.length;ij++)
		  if (Lista_Seleccion.Lista[ij]!=null)
		  {
			Dia=Lista_Seleccion.Lista[ij].Dia;
			Mes=Lista_Seleccion.Lista[ij].Mes;
			Ano=Lista_Seleccion.Lista[ij].Ano;
			id_tarif=Temporadas_Globales.Dame_Tarifa(Dia,Mes,Ano);
			if(num_perso==-1)
			  base=this.THab_Dame_Precio_Base(id_tarif,Ano);
			else
			  base=this.THab_Dame_Precio(num_perso,id_tarif,Ano);
			_total=parseFloat(base) + parseFloat(_total);
		  }  
	}	
	return (_total);
  }
  
  function FormateaNumero(num) 
  {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num)) 
	  num = "0";
    cents = Math.floor((num*100+0.5)%100); 
    num = Math.floor(num).toString();
    if(cents < 10) 
	  cents = "0" + cents; 
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
//        num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3)); 
        num = num.substring(0,num.length-(4*i+3))+num.substring(num.length-(4*i+3)); 
		
//    return (num + '.' + cents); 
    return (num + '.' + cents); 
  }

  function THab_Dame_Ocupacion_Seleccionada(ocupacion,anio)
  {
    resultado="";
	if (ocupacion!=-1)
	  resultado=ocupacion.replace(" (Supl.)","");
	else
	{
	  enc=false;
	  fO=0;
	  //alert(anio);
	  // Si no encuentra la ocupación del año q se pregunta, buscamos en el año siguiente.
	  if(!this.THab_Ocupacion[anio])
	  {
		anio++;
	  	if(!this.THab_Ocupacion[anio])
	  		return false;
	  }
	  while ((fO<this.THab_Ocupacion[anio].length) && (!enc))
	  {
	    if (this.THab_Ocupacion[anio][fO].comportamiento!=0)
		  if (this.THab_Ocupacion[anio][fO].predeterminado==1)
		  {
		    resultado=this.THab_Ocupacion[anio][fO].num_personas;
			enc=true;
		  }
		fO++;
	  }
	}
	return(resultado);
  }
  
  function THab_Pinta_Modo_Rural(solo_lectura,id_habitania_base,anio)
  {
    Misma_Tempo=Lista_Seleccion.TReserva_Distinct_Temporada();
	ndias=Lista_Seleccion.TReserva_NDias();
	salidon="";
	_pintar=true;

	habase=this.THab_Busca_Habitacion_Base(id_habitania_base);
	//if(habase.desactivada==0)
	{
		//alert('Hab. Ocupacion:'+habase.ocupacion+' / Misma Temporad:'+Misma_Tempo);
		if (habase.ocupacion==-1)
		{
			precio_base=this.THab_Calcula_Precio(-1,Misma_Tempo);
			if(isNaN(precio_base))
			{
				//alert('Precio Base:'+precio_base);
			}
		}
		else
		{
		  if(habase.ocupacion.indexOf("+")!=-1)
		  {
		    sta=habase.ocupacion.indexOf("+")+2;
			fin=habase.ocupacion.indexOf("(")-1;
			ocupa=habase.ocupacion.substring(sta,fin);
			ocupa=(999 + parseInt(ocupa));
		    precio_base=this.THab_Calcula_Precio(ocupa,Misma_Tempo)
		  }
		  else
		    precio_base=this.THab_Calcula_Precio(habase.ocupacion,Misma_Tempo)
		}
		if((Misma_Tempo) && (ano1==ano2))
		  precio_dia=(ndias * precio_base);	
		else
		  precio_dia=precio_base;
		precio_dia=FormateaNumero(precio_dia);

		// Control del precio
		if((isNaN(precio_dia)) || (precio_dia==0))
		{
			//alert('Precio Día:'+precio_dia);
			_pintar=false;
		}
		
		porcen=precio_dia+(precio_dia * this.iva / 100);
		precio_medio=precio_base;
		if(solo_lectura)
		  precio_medio=precio_base / ndias;
		precio_medio=FormateaNumero(precio_medio);
		ocus=this.THab_Pinta_Ocupacion(solo_lectura,habase.ocupacion,habase.id_habitacion_base,anio);

		if (!solo_lectura)
		  salidon+="<table width=\"436\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
	
		if(!solo_lectura)
		{
		  activ="";
		  if(habase.nseleccionado>0)
			activ=" checked";
		
		  salidon+="<td width=\"10\"><input name=\"sel"+habase.id_habitacion_base+"\" type=\"checkbox\" value=\"1\" ";
		  salidon+="onClick=\"Globales.Hab_Seleccion.Actualiza_Hab_Act("+ this.id_habitacion +","+habase.id_habitacion_base+");Pinta_Habitaciones_Libres();\""+activ+"></td><td width=\"5\"></td>";
		}
	
		presalidon="";
		if (this.tipo_agrupacion==0) presalidon+=casas+" \""; else 
		if (this.tipo_agrupacion==1) presalidon+=habitacion+" \""; else
		if (this.tipo_agrupacion==2) presalidon+=apartamento+" \""; else
		if (this.tipo_agrupacion==3) presalidon+=apartahotel+" \""; else
		if (this.tipo_agrupacion==4) presalidon+=casa+" \""; else
		if (this.tipo_agrupacion==5) presalidon+=bungalows+" \""; else
		if (this.tipo_agrupacion==6) presalidon+=cabanas+" \""; else
		if (this.tipo_agrupacion==7) presalidon+=plazas2+" \""; 

		presalidon+=habase.nombre;
		//if (presalidon.length>29)
		//  presalidon=presalidon.substring(0,26)+"...";
		if (this.tipo_agrupacion!=0)
		  presalidon+="\"";
		  
		if(!solo_lectura)
		  salidon+="<td class=\"textos_oscuros\">"+presalidon+"</td><td width=\"5\"></td>";
		else
		  salidon+="<tr><td width=\"140\" height=\"16\"><input type=\"text\" class=\"confirm_ajustado\" name=\"NM"+habase.id_habitacion_base+"\" value='"+presalidon+"' readonly style=\"background-color:"+general_medio+"; border:0px;\"></td><td width=\"10\" height=\"16\"></td>";
		
		if(!solo_lectura)
		{
		  salidon+=ocus;
		  salidon+="<td width=\"1\" class=\"input_sin_borde\">";
		  //if ((Misma_Tempo) && (ano1==ano2))
			salidon+="<input name=\"PB"+habase.id_habitacion_base+"\" id=\"PB"+habase.id_habitacion_base+"\" type=\"hidden\" value=\""+FormateaNumero(precio_base)+"€\" readonly style=\"background-color:"+general_medio+";\">";
		/*	
		  else
			salidon+="<a class=\"habis_precio_base\" href=\"javascript://\" onClick=\"window.open('./lib/mostrar_tarifas_hab.php?id_casa="+ id_casa +"&id_habitacion="+ this.id_habitacion +"&num_personas="+ this.THab_Dame_Ocupacion_Seleccionada(habase.ocupacion,anio) +"','condicionesreserva','scrollbars=yes,width=320,height=300');\">Temporadas</a>";
		*/	
		  salidon+="</td><td width=\"10\"></td>";
			
		  if (habase.nseleccionado>0)
		  {
			salidon+="<td width=\"50\"><input name=\"ND"+habase.id_habitacion_base+"\" type=\"text\" value=\""+ndias+"\" class=\"habis_ndias\" readonly style=\"background-color:"+general_medio+";\"></td><td width=\"5\"></td>";
			salidon+="<td width=\"43\"><input name=\"TB"+habase.id_habitacion_base+"\" id=\"TB"+habase.id_habitacion_base+"\" type=\"hidden\" value=\""+FormateaNumero(precio_dia)+"€\" class=\"habis_total\" readonly style=\"background-color:"+general_medio+";\"></td>";
			total_euro=FormateaNumero(parseFloat(total_euro)+parseFloat(precio_dia));
		  }
		  else
		  {
			salidon+="<td width=\"50\"></td><td width=\"5\"></td>";
			salidon+="<td width=\"43\"></td>";
		  }
		}
		else // Sólo lectura
		{
		  salidon+="<td width=\"50\" height=\"16\">";
		  salidon+="<input type=\"hidden\" name=\"PE"+habase.id_habitacion_base+"\" id=\"PE"+habase.id_habitacion_base+"\" value=\""+ocus+"\" style=\"background-color:"+general_medio+"; border:0px;\">";
		  salidon+="<input name=\"OC"+habase.id_habitacion_base+"\" value=\""+ocus+"\" type=\"text\" class=\"confirm_ajustado\" readonly style=\"background-color:"+general_medio+"; border:0px;\"></td>";
		  salidon+="<td width=\"10\" height=\"16\"></td>";
		  if ((Misma_Tempo) && (ano1==ano2))
		  {
		    salidon+="<td width=\"75\" height=\"16\"><input  name=\"PB"+habase.id_habitacion_base+"\" value=\""+precio_base+"€\" type=\"text\" class=\"confirm_ajustado\" readonly style=\"background-color:"+general_medio+"; border:0px;\"></td>";
			//alert(precio_base);
		  }
		  else
		  {
		    salidon+="<td width=\"75\" height=\"16\"><input  name=\"PB"+habase.id_habitacion_base+"\" value=\""+precio_medio+"€\" type=\"text\" class=\"confirm_ajustado\" readonly style=\"background-color:"+general_medio+"; border:0px;\"></td>";
			//alert(precio_medio);
		  }
		  salidon+="<td width=\"10\" height=\"16\"></td>";
		  salidon+="<td width=\"50\" height=\"16\"><input name=\"ND"+habase.id_habitacion_base+"\" value=\""+ndias+"\" type=\"text\" class=\"confirm_ajustado\" readonly style=\"background-color:"+general_medio+"; border:0px;\"></td>";
		  salidon+="<td width=\"10\" height=\"16\"></td>";
		  salidon+="<td width=\"75\" height=\"16\"><input name=\"TB"+habase.id_habitacion_base+"\" value=\""+precio_dia+"€\" type=\"text\" class=\"confirm_ajustado\" readonly style=\"background-color:"+general_medio+"; border:0px;\"></td>";
			  
		  salidon+="</tr><tr><td height=\"5\"></td><td width=\"10\" height=\"5\"></td><td height=\"5\"></td><td width=\"10\" height=\"5\"></td>";
		  salidon+="<td height=\"5\"></td><td width=\"10\" height=\"5\"></td><td height=\"5\"></td><td width=\"10\" height=\"5\"></td><td height=\"5\"></td></tr>";
			total_euro=parseFloat(total_euro)+parseFloat(precio_dia);

		}
		
		if (!solo_lectura)
		  salidon+="</tr><tr><td height=\"2\" colspan=\"9\"></td></tr></table>";
    } // Si no está desactivada
	
	if(!_pintar)
		salidon='';
	return (salidon);
  }
  
  function THab_Pinta_Modo_Hotel(solo_lectura,lista_ocupacion,anio)
  {
    Misma_Tempo=Lista_Seleccion.TReserva_Distinct_Temporada();
	ndias=Lista_Seleccion.TReserva_NDias();
	salida="";
	cual=-1;
	  
	  //alert('Nº Hab disponibles:'+this.Lista_Hijas.length);
	cuantos_qdan=this.Lista_Hijas.length;
	for (ib=0;ib<this.Lista_Hijas.length;ib++)
	{
	  enc=false;
	  io=0;
      while ((io<lista_ocupacion.length) && (!enc))
	  {
	    if(lista_ocupacion[io]==this.Lista_Hijas[ib].id_habitacion_base)
		{
		  cuantos_qdan--;
		  enc=true;
		}
		io++;
	  }	
    }
	for (ib=0;ib<this.Lista_Hotel.length;ib++)
	  if(this.Lista_Hotel[ib]!=null)
	    cuantos_qdan=cuantos_qdan - this.Lista_Hotel[ib].n_seleccionado;
	
		if (this.tipo_agrupacion==0)
		  salida=this.THab_Pinta_Modo_Rural(solo_lectura,this.Lista_Hijas[0].id_habitacion_base,anio);
		else
		{
			nombre_tipo="";
			if (this.tipo_agrupacion==0) nombre_tipo+=casas; else
			if (this.tipo_agrupacion==1) nombre_tipo+=habitaciones; else
			if (this.tipo_agrupacion==2) nombre_tipo+=apartamentos; else
			if (this.tipo_agrupacion==3) nombre_tipo+=apartahoteles; else
			if (this.tipo_agrupacion==4) nombre_tipo+=casa; else
			if (this.tipo_agrupacion==5) nombre_tipo+=bungalows; else
			if (this.tipo_agrupacion==6) nombre_tipo+=cabanas; else
			if (this.tipo_agrupacion==7) nombre_tipo+=plazas2;
						
			presalidon=this.nombre;
			if (presalidon.length>16)
			  presalidon=presalidon.substring(0,16)+"...";
			anterior=new Array();
			salida="<tr><td height=\"1\">"+
					"<table width=\"436\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"4\"></td></tr></table></td></tr>";
			salida+="<tr><td height=\"4\"><span class=\"textos_oscuros\">&nbsp;&nbsp;"+ nombre_tipo +"</span> <span class=\"texto_oscuro_3\">&quot;"+presalidon+"&quot; </span>"+
					"</td></tr>";

			ulti=0;
			for (indo=0;indo<this.THab_Ocupacion[anio].length;indo++)
			if (this.THab_Ocupacion[anio][indo].comportamiento!=0)
			{
			  if (this.THab_Ocupacion[anio][indo].nseleccionado==0)
				precio_base=this.THab_Calcula_Precio(-1,Misma_Tempo)
			  else
				precio_base=this.THab_Calcula_Precio(this.THab_Ocupacion[anio][indo].num_personas,Misma_Tempo)
				
			  /*if(!Misma_Tempo)
				precio_dia=(precio_base);
			  else
				precio_dia=(ndias * precio_base);	
			  */
			  precio_dia=precio_base;
				
			  otro_elem=this.THab_Busca_Modo_Hotel(this.THab_Ocupacion[anio][indo].num_personas);
			  if (otro_elem!=null)
				precio_dia=(parseFloat(precio_dia) * parseFloat(otro_elem.n_seleccionado));
			  else
				precio_dia=(parseInt(precio_dia) * 0);
//			  precio_dia+="€";
			  precio_dia=FormateaNumero(precio_dia)+"€";
			  porcen=precio_dia+(precio_dia * this.iva / 100);
			  
			  valer=true;
			  ia=0;
			  while((ia<anterior.length) && (valer))
			  {
				if(anterior[ia]==this.THab_Ocupacion[anio][indo].num_personas)
				  valer=false;
				ia++;
			  }
			  if(valer)
			  {
				extension="";
				if (this.THab_Ocupacion[anio][indo].comportamiento==2)
				  extension=para+" "+ ulti +" + "+(parseInt(this.THab_Ocupacion[anio][indo].num_personas) - 999)+" (Supl.) ";
				else
				{
				  extension=para+" "+ this.THab_Ocupacion[anio][indo].num_personas +" "+personas+ " ";
				  ulti=this.THab_Ocupacion[anio][indo].num_personas;
				}
				salida+="<tr><td height=\"1\">";
				salida+="<table width=\"436\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:"+general_medio+";\">"+
					"<tr><td height=\"2\" colspan=\"11\"></td></tr><tr>"+
					"<td width=\"30\"></td><td width=\"230\" class=\"texto_oscuro_4\" align=\"left\">"+extension+"</td><td width=\"5\"></td>"+
					"<td width=\"60\" align=\"center\" class=\"textos_oscuros\">";
				salida+="<select name=\"select\" style=\"width:60px; height:17px;\" ";
				if (this.THab_Ocupacion[anio][indo].comportamiento==2)				
				  salida+="onChange=\"Globales.Hab_Seleccion.Actualiza_Hab_Ocupa_Hotel("+this.id_habitacion+","+this.THab_Ocupacion[anio][indo].num_personas+","+this.THab_Ocupacion[anio][indo].comportamiento+",this.value,"+ulti+");Pinta_Habitaciones_Libres();\">";
				else
				  salida+="onChange=\"Globales.Hab_Seleccion.Actualiza_Hab_Ocupa_Hotel("+this.id_habitacion+","+this.THab_Ocupacion[anio][indo].num_personas+","+this.THab_Ocupacion[anio][indo].comportamiento+",this.value,0);Pinta_Habitaciones_Libres();\">";
				poner=0;
				if (otro_elem!=null)
				  poner=otro_elem.n_seleccionado;
				for (indc=0;indc<=(parseInt(cuantos_qdan)+parseInt(poner));indc++)
				{
				  ext="";
				  if (otro_elem!=null)
					if (otro_elem.n_seleccionado==indc)
					  ext=" selected";
				  salida+="<option value=\"" + indc + "\""+ext+">" + indc + "</option>";
				}
				salida+="</select></td>";
				salida+="<td width=\"8\"></td><td width=\"1\" align=\"center\" valign=\"middle\"></td>";
								
				if ((otro_elem!=null) && (otro_elem.n_seleccionado>0))
				{
				  salida+="<td width=\"5\" class=\"textos_oscuros\"></td><td width=\"38\" align=\"center\" valign=\"middle\" class=\"habis_total_hotel\" style=\"background-color:"+general_claro+";\">"+ndias+"</td>"+
						"<td width=\"5\" class=\"textos_oscuros\"></td><td width=\"65\"></td><td></td>"+
						"</tr><tr><td height=\"2\" colspan=\"11\"></td></tr></table>";
				  total_euro=parseFloat(total_euro)+parseFloat(precio_dia);
				} else
				{
				  salida+="<td width=\"5\" class=\"textos_oscuros\"></td><td width=\"38\" align=\"center\" valign=\"middle\"></td>"+
						"<td width=\"5\" class=\"textos_oscuros\"></td><td width=\"65\"></td><td></td>"+
						"</tr><tr><td height=\"2\" colspan=\"11\"></td></tr></table>";
				}
				salida+="</td></tr>";
				anterior[anterior.length]=this.THab_Ocupacion[anio][indo].num_personas;
			  } // Si se puede pintar
			} // De la ocupacion
		
		} // Si no es casa completa
		salida+="<table width=\"436\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"10\"></td></tr></table>";

	return (salida);
  }
  
  function THab_Pinta_Listado_A_Elegir(solo_lectura,modo_hotel,id_hab_base,anio)
  {
	  //alert('Desactivada:'+this.desactivada+' / ModoHotel:'+modo_hotel+' / Habitacion:'+id_hab_base);
	if (this.desactivada==0)
	{
		if (modo_hotel)
			return (this.THab_Pinta_Modo_Hotel(solo_lectura,id_hab_base,anio));
		else
			return (this.THab_Pinta_Modo_Rural(solo_lectura,id_hab_base,anio));
	} else
		return ("");
  }
  
  function THab_Aniadir_Habitacion_Base(id_habitacion_base,nombre,desactivada)
  {
    this.Lista_Hijas[this.Lista_Hijas.length]=new THabitacion_Base(this.id_habitacion,id_habitacion_base,nombre,desactivada);
  }
  
  function THab_NHabitaciones_Base()
  {
	n_hab=this.Lista_Hijas.length;
	if(n_hab==0) n_hab=1;
	return (n_hab);
  }
  
  function THab_Busca_Habitacion_Base(id_habit_base)
  {
    enc_b=false;
	in_b=0;
	while ((in_b<this.Lista_Hijas.length) && (!enc_b))
	{
	  if (this.Lista_Hijas[in_b].id_habitacion_base==id_habit_base)
	  {
	    enc_b=true;
		return (this.Lista_Hijas[in_b]);
	  }
	  in_b++;
	}
  }
  
  function THab_Dame_Ocupacion(ocupacion,anio)
  {
    resultado=null;
    indoc=0;
	enco=false;
    while ((indoc<this.THab_Ocupacion[anio].length) && (!enco))
	{
	  if (this.THab_Ocupacion[anio][indoc]!=null)
	    if (this.THab_Ocupacion[anio][indoc].num_personas==ocupacion)
		{
		  enc=true;
		  resultado=this.THab_Ocupacion[anio][indoc];
		}
	  indoc++;
	}
	return (resultado);
  }
  
  function THab_Busca_Modo_Hotel(ocupacion)
  {
    indm=0;
	enc=false;
	resultado=null;
	while ((indm<this.Lista_Hotel.length) && (!enc))
	{
	  if (this.Lista_Hotel[indm].ocupacion==ocupacion)
	  {
	    resultado=this.Lista_Hotel[indm];
		end=true;
	  }
	  indm++;
	}
	return (resultado);
  }
  
  function THab_Add_Modo_Hotel(ocupacion,n_seleccionado,comportamiento,ulti)
  {
    //alert(ocupacion+' - '+n_seleccionado+' - '+comportamiento+' - '+ulti);
    elem=this.THab_Busca_Modo_Hotel(ocupacion);
	if (elem!=null)
	{
	  //alert('existe');
	  elem.ulti=ulti;
	  elem.ocupacion=ocupacion;
	  elem.n_seleccionado=n_seleccionado;
	  elem.comportamiento=comportamiento;
	} else
	{
	  //alert('No existe');
	  elem=new TModo_Hotel(ocupacion,n_seleccionado,comportamiento,ulti);
	  this.Lista_Hotel[this.Lista_Hotel.length]=elem;
	}	
  }
  
  function THab_Alguna_Seleccionada()
  {
	i9=0;
	vacis=false;
	while((i9<this.Lista_Hotel.length) && (!vacis))
	{
	  if (this.Lista_Hotel[i9].n_seleccionado>0)
	  vacis=true;
	  i9++;
	}
	if (!vacis)
	{
	  i9=0;
	  while((i9<this.Lista_Hijas.length) && (!vacis))
	  {
		if (this.Lista_Hijas[i9].nseleccionado>0)
		  vacis=true;
		i9++;
	  }
	}
	return (vacis);
  }
  
  function THab_Cuantas_Hotel()
  {
    total=0;
	for (i9=0;i9<this.Lista_Hotel.length;i9++)
	  if (this.Lista_Hotel[i9].n_seleccionado>0)
	    total=parseInt(total)+parseInt(this.Lista_Hotel[i9].n_seleccionado);
    return (total);
  }
  
  function THab_Habitacion_Completa_Hotel(lista_ocupacion,omitidas)
  {
    resultado=false;

	for(k=0;k<omitidas.length;k++)
	{
	  //alert("Globales => id_hab:" + this.id_habitacion + " / omitidas:" + omitidas[k]);
	  if (omitidas[k]==this.id_habitacion)
	    resultado=true;
	}
	  
	if(!resultado)
	{
		cuantas_hay=this.Lista_Hijas.length;
		cuantas_reserv=0;
		for(i=0;i<cuantas_hay;i++)
		{
		  enc=false;
		  j=0
		  while((j<lista_ocupacion.length) && (!enc))
		  {
		    //alert("id_coupada:"+lista_ocupacion[j] + " / id_base:" + this.Lista_Hijas[i].id_habitacion_base + " / id_hab:" + this.id_habitacion + " / cuantas_hay:" + cuantas_hay + " / cuantas_reserv:" + cuantas_reserv);
			if (lista_ocupacion[j]==this.Lista_Hijas[i].id_habitacion_base)
		    {
			  cuantas_reserv++;
			  enc=true;
			}
			j++;
		  }
		}
		resultado=(cuantas_hay==cuantas_reserv);
	}
		  
	return(resultado);
  }
  
  /**
  * Dado un id_agrupación devuelve la descripcion
  */
  function DameAgrupacion(tipo)
  {
	switch (tipo) 
	{
		case 0: return 'Casa completa';
		case 1: return 'Habitaciones';
		case 2: return 'Apartamentos';
		case 3: return 'Apartahoteles';
		case 4: return 'Casas';
		case 5: return 'Bungalows';
		case 6: return 'Cabañas';
		case 7: return 'Plazas';
		case 8: return 'Cuevas';
		break 
	} // Del Switch
  }
  
  /* - Devuelve las habitaciones separadas por ¨
  	y por cada habitacion las características separadas por |
		· $nombre => de la habitación
		· $tipo_agrupacion => nombre
		· $id_habitacion
		· $id_habitacion_base
		· $num_persona => nª de personas seleccionadas
		· $supletorias => nª de supletorias seleccionadas
  */
  function THab_PresupuestoV6(_modo_hotel)
  {
		resulta_='';
		if(_modo_hotel)
			ListaH=this.Lista_Hotel;
		else
			ListaH=this.Lista_Hijas;

		in_b=0;
		//alert(this.id_habitacion+': '+ListaH.length);
		while(in_b<ListaH.length)
		{
			hija=ListaH[in_b];
			//alert(hija.comportamiento);
			if(_modo_hotel)
				_nseleccionado=hija.n_seleccionado;
			else
				_nseleccionado=hija.nseleccionado;
			//alert(_nseleccionado);
			if (_nseleccionado>0)
			{
				//alert('Seleccionada(falta el id_hab_base): '+_nseleccionado+' - '+hija.ocupacion);				
				ocupacion_aux=hija.ocupacion;
				ocupacion_original=''+ocupacion_aux+'';
				supletorias_aux=0;
				Fechin=new Date();
				//alert('Año:'+Fechin.getFullYear());
				
			// ----- Modo rural -----
				if(!_modo_hotel)
				{
					
					// ----- Si ocupación es -1 => Ocupación por defecto
					if (hija.ocupacion==-1)
						ocupacion_aux=this.THab_Dame_Ocupacion_Seleccionada(-1,Fechin.getFullYear());
					// ----- Si ocupación tiene supletorias
					else if(ocupacion_original.indexOf("+")!=-1)
					{
						sta=ocupacion_original.indexOf("+")+2;
						fin=ocupacion_original.indexOf("(")-1;
						ocupacion_aux=ocupacion_original.substring(0,sta-2);
						supletorias_aux=ocupacion_original.substring(sta,fin);
						ocupacion_aux=ocupacion_aux.replace(' ','');
						supletorias_aux=supletorias_aux.replace(' ','');
					}
					
					if(resulta_!='')
						resulta_=resulta_+'¨';
					resulta_=resulta_+hija.nombre+'|'+this.DameAgrupacion(this.tipo_agrupacion)+'|'+
							this.id_habitacion+'|'+hija.id_habitacion_base+'|'+ocupacion_aux+'|'+supletorias_aux;
				} // Si es modo rural
				
			// ----- Modo HOTEL -----
				else
				{
					//if(id_casa==5815)
						//alert(_nseleccionado);
					// ----- Si ocupación es -1 => Ocupación por defecto
					if (hija.ocupacion==-1)
						ocupacion_aux=this.THab_Dame_Ocupacion_Seleccionada(-1,Fechin.getFullYear());
					// ----- Si ocupación tiene supletorias
					else
					{
						supletorias_aux=0;
						ocupacion_aux=hija.ocupacion;
						if(hija.ocupacion>999)
						{
							ocupacion_aux=hija.ulti;
							supletorias_aux=hija.ocupacion-999;
						}
					}
					
					// ----- Obtenemos el id_habitacion_base necesario para cada seleccion
					//alert(this.id_habitacion+' - Hijas: '+this.Lista_Hijas.length);
					for(_ind_sel=0;_ind_sel<_nseleccionado;_ind_sel++)
					{
						enc_id=false;
						_in_b_2=0;
						id_hab_base_aux=0;
						nombre_base_aux='';
						while ((!enc_id) && (_in_b_2<this.Lista_Hijas.length))
						{
							hab_base_=this.Lista_Hijas[_in_b_2];
							
							// ----- TEST
							if((false) && (id_casa==1554))
							{
								if(Lista_Reservas.Esta_Ocupada(hab_base_.id_habitacion_base))
									alert('Si => '+hab_base_.id_habitacion_base);
								else
									alert('No => '+hab_base_.id_habitacion_base);
								
							}else
							{
								//if(!Esta_En_Array(hab_base_.id_habitacion_base,this.THab_Marcadas_En_Presupuesto))
								if((!Esta_En_Array(hab_base_.id_habitacion_base,this.THab_Marcadas_En_Presupuesto)) 
									&& (!Lista_Reservas.Esta_Ocupada(hab_base_.id_habitacion_base)))
								{
									enc_id=true;
									id_hab_base_aux=hab_base_.id_habitacion_base;
									nombre_base_aux=hab_base_.nombre;
									this.THab_Marcadas_En_Presupuesto[this.THab_Marcadas_En_Presupuesto.length]=hab_base_.id_habitacion_base;
								}
							}
							_in_b_2++;
						}
						
		
						if(resulta_!='')
							resulta_=resulta_+'¨';
						resulta_=resulta_+nombre_base_aux+'|'+this.DameAgrupacion(this.tipo_agrupacion)+'|'+
								this.id_habitacion+'|'+id_hab_base_aux+'|'+ocupacion_aux+'|'+supletorias_aux;
					} // Del For para la selección
				} // Si es modo Hotel
			    
				//alert('Resultado2: ' +resulta_);				
			} // Si n_seleccionado>0
			in_b++;
		} // Del While
	  return resulta_;
  }

// Definición de la clase THabitacion
///////////////////////////////////////////////////////////////
  function THabitacion(id_habitacion,iva,nombre,tipo_agrupacion,desactivada)
  {
    this.id_habitacion=id_habitacion;
	this.iva=iva;
	this.nombre=nombre;
	this.tipo_agrupacion=tipo_agrupacion;  // 0=Casa_Completa 1=Habitacion 2=Apartamento 3=Apartahotel
	this.THab_Ocupacion=new Array();
	// Para los Precios/Años
	this.THab_Ocupacion[ano1]=new Array();
	if(ano1!=ano2)
		this.THab_Ocupacion[ano2]=new Array();	
	// Para pasar presupuesto
	this.THab_Marcadas_En_Presupuesto=new Array();

	this.seleccionado=-1;
	this.activo=0;
	this.desactivada=desactivada;
	this.Lista_Hijas=new Array();
	this.Lista_Hotel=new Array();
	this.THab_Aniadir_Ocupacion=THab_Aniadir_Ocupacion;
	this.THab_Aniadir_Habitacion_Base=THab_Aniadir_Habitacion_Base;
	this.THab_Mostrar_Ocupacion=THab_Mostrar_Ocupacion;
	this.THab_Pinta_Ocupacion=THab_Pinta_Ocupacion;
	this.THab_Dame_Precio_Base=THab_Dame_Precio_Base;
	this.THab_Dame_Precio=THab_Dame_Precio;
	this.THab_Calcula_Precio=THab_Calcula_Precio;
	this.THab_Pinta_Listado_A_Elegir=THab_Pinta_Listado_A_Elegir;
	this.THab_Pinta_Modo_Rural=THab_Pinta_Modo_Rural;
	this.THab_Pinta_Modo_Hotel=THab_Pinta_Modo_Hotel;
	this.THab_NHabitaciones_Base=THab_NHabitaciones_Base;
	this.THab_Busca_Habitacion_Base=THab_Busca_Habitacion_Base;
	this.THab_Dame_Ocupacion=THab_Dame_Ocupacion;
	this.THab_Dame_Ocupacion_Seleccionada=THab_Dame_Ocupacion_Seleccionada;
	this.THab_Busca_Modo_Hotel=THab_Busca_Modo_Hotel;
	this.THab_Add_Modo_Hotel=THab_Add_Modo_Hotel;
	this.THab_Alguna_Seleccionada=THab_Alguna_Seleccionada;
	this.THab_Cuantas_Hotel=THab_Cuantas_Hotel;
	this.THab_Habitacion_Completa_Hotel=THab_Habitacion_Completa_Hotel;
	this.THab_PresupuestoV6=THab_PresupuestoV6;
	this.DameAgrupacion=DameAgrupacion;
  }
  

//******************************************************************************************************************


  // Métodos de la clase TLista_Habitaciones
  function TLista_NHabitaciones()
  {
    cuantas=0;
    for (ib=0;ib<this.TLista_Lista_Hab.length;ib++)
	  if (this.TLista_Lista_Hab[ib].tipo_agrupacion!=0)
	    cuantas=cuantas+this.TLista_Lista_Hab[ib].THab_NHabitaciones_Base();
	return (cuantas);
  }
  
  function TLista_Buscar_Habitacion(id_habitacion)
  {
    resultado=null;
	i_busca=0;
    while ((i_busca<this.TLista_Lista_Hab.length) && (resultado==null))
	{
	  if (this.TLista_Lista_Hab[i_busca]!=null)
	    if (this.TLista_Lista_Hab[i_busca].id_habitacion==id_habitacion)
		  resultado=this.TLista_Lista_Hab[i_busca];
	  i_busca++;
	}
	return (resultado);
  }
  
  function TLista_Aniadir_Habitacion(id_habitacion,iva,nombre,tipo_agrupacion,desactivada)
  {
	this.TLista_Lista_Hab[this.TLista_Lista_Hab.length]=new THabitacion(id_habitacion,iva,nombre,tipo_agrupacion,desactivada);
  }
  
  function TLista_Aniadir_Ocupacion(id_habitacion,num_personas,tarifa,precio,comportamiento,predeterminado,anio)
  {
    Habita=this.TLista_Buscar_Habitacion(id_habitacion);
	Habita.THab_Aniadir_Ocupacion(num_personas,tarifa,precio,comportamiento,predeterminado,anio);
  }
  
  function TLista_Mostrar(anio)
  {
    salida="";
    for (i=0;i<this.TLista_Lista_Hab.length;i++)
	{
	  if (this.TLista_Lista_Hab[i]!=null)
	  {
	    salida=salida + this.TLista_Lista_Hab[i].id_habitacion + " - " + this.TLista_Lista_Hab[i].nombre + " \n ";
		salida=salida+this.TLista_Lista_Hab[i].THab_Mostrar_Ocupacion(anio)+ " \n \n";
	  }
	}
	alert(salida);
  }
  
  function TLista_Cargar()
  {
  }
  
  function TLista_Vaciar()
  {
	delete(TLista_Lista_Hab);
    this.TLista_Lista_Hab=null;
    this.TLista_Lista_Hab=new Array();
  }
  
  function TLista_Vacia()
  {
    vaci=true;
    for (i=0;i<this.TLista_Lista_Hab.length;i++)
	{
	  if (this.TLista_Lista_Hab[i]!=null)
	    vaci=false;
	}
	return (vaci);
  }
  
  function Actualiza_Hab_Ocupa(id_habi,ocupa,id_hab_b)
  {
    elemento=this.TLista_Buscar_Habitacion(id_habi);
	if (elemento!=null)
	{
	  elemento2=elemento.THab_Busca_Habitacion_Base(id_hab_b);
	  if (elemento2!=null)
	    elemento2.ocupacion=ocupa;
	}
  }
  
  function Actualiza_Hab_Ocupa_Hotel(id_habi,ocupa,comportamiento,cuantos,ulti)
  {
    ocupac=this.TLista_Buscar_Habitacion(id_habi);
	if (ocupac!=null)
	  ocupac.THab_Add_Modo_Hotel(ocupa,cuantos,comportamiento,ulti);
  }
  
  function Actualiza_Hab_Act(id_habit,id_habit_base)
  {
	  //alert(id_habit +' - '+ id_habit_base);
	  
    elemento=this.TLista_Buscar_Habitacion(id_habit);
	if (elemento!=null)
	{
	  elemento=elemento.THab_Busca_Habitacion_Base(id_habit_base);
	  if (elemento!=null)
	  {
	    if (elemento.nseleccionado==1)
	      elemento.nseleccionado=0;
	    else
	      elemento.nseleccionado=1;
	  }
	}
  }
  
  function TLista_Comprobar_Seleccionada()
  {
    vacis=false;
	i8=0;
    while ((i8<this.TLista_Lista_Hab.length) && (!vacis))
	{
	  elemento=this.TLista_Lista_Hab[i8];
	  if (elemento!=null)
	  {
	    if(modo_hotel)
	      vacis=elemento.THab_Alguna_Seleccionada();
		else
		{
	      i9=0;
	      while((i9<elemento.Lista_Hijas.length) && (!vacis))
		  {
	        if (elemento.Lista_Hijas[i9].nseleccionado>0)
	          vacis=true;
		    i9++;
		  }
		}
	  }
	  i8++;
	}
	return (vacis);
  }
  
  function TLista_Aniadir_Habitacion_Base(id_habitacion,id_habitacion_base,nombre,desactivado)
  {
    Habita=this.TLista_Buscar_Habitacion(id_habitacion);
	Habita.THab_Aniadir_Habitacion_Base(id_habitacion_base,nombre,desactivado);
  }
  
  function TLista_Vacia_Hotel()
  {
    for(ih=0;ih<this.TLista_Lista_Hab.length;ih++)
	  if (this.TLista_Lista_Hab[ih]!=null)
	  {
	     this.TLista_Lista_Hab[ih].Lista_Hotel=null;
		 this.TLista_Lista_Hab[ih].Lista_Hotel=new Array();
	  }
  }
  
  function TLista_Habitaciones_Presupuesto()
  // Genera una cadena con las habitaciones seleccionadas separadas por ;
  {
    resultado='';
	i_busca=-1;
	marcadas=new Array();
	//alert('Hab.: ' + this.TLista_Lista_Hab.length);
	while (i_busca<this.TLista_Lista_Hab.length)
	{
	  i_busca++;
	  if ((this.TLista_Lista_Hab[i_busca]!=null) && (!Esta_En_Array(this.TLista_Lista_Hab[i_busca].id_habitacion,marcadas)))
	  {
		marcadas[marcadas.length]=this.TLista_Lista_Hab[i_busca].id_habitacion;
		elem=this.TLista_Lista_Hab[i_busca];
		in_b=0;
		enc_b=false;
		
		// Modo Rural
		if(!modo_hotel)
		{
			//alert('Modo Rural => Hijos.: '+ elem.id_habitacion +' - '+ elem.Lista_Hijas.length);
			while ((in_b<elem.Lista_Hijas.length) && (!enc_b))
			{
			  if (elem.Lista_Hijas[in_b].nseleccionado>0)
			  {
				//enc_b=true;
				if(resultado.length==0) resultado+=elem.id_habitacion;
				else resultado+=';'+elem.id_habitacion;
			  }
			  in_b++;
			}
		}
		
		// Modo Hotel
		else
		{
			//alert('Modo Hotel => Hijos.: '+ elem.id_habitacion +' - '+ elem.Lista_Hotel.length);
			while (in_b<elem.Lista_Hotel.length)
			{
			  //if (elem.Lista_Hotel[in_b].n_seleccionado>0)
			  for(ind_marca=0;ind_marca<elem.Lista_Hotel[in_b].n_seleccionado;ind_marca++)
			  {
				enc_b=true;
				if(resultado.length==0) resultado+=elem.id_habitacion;
				else resultado+=';'+elem.id_habitacion;
			  }
			  in_b++;
			}
			
			// Si no hemos encontrado nada buscamos si es la casa completa
			if(!enc_b)
			{
				while (in_b<elem.Lista_Hijas.length)
				{
				  if (elem.Lista_Hijas[in_b].nseleccionado>0)
				  {
					enc_b=true;
					if(resultado.length==0) resultado+=elem.id_habitacion;
					else resultado+=';'+elem.id_habitacion;
					//alert('Completa: '+resultado);
				  }
				  in_b++;
				}
			}
		} // Modo Hotel

		// Resultado
		/*
		if(enc_b)
		{
			if(resultado.length==0) resultado+=elem.id_habitacion;
			else resultado+=';'+elem.id_habitacion;
			//alert(resultado);
		}
		*/
	  }
	}
	
	return (resultado);
  }
  

  /* ******************************************************************************************
	*	- Devuelve => String con los elementos a reservar separados por '¨'.
	*		Formato de elementos: Características de cada habitación separadp por '|'
	*		Características:
	*			· $nombre => de la habitación
	*			· $tipo_agrupacion => nombre
	*			· $id_habitacion
	*			· $id_habitacion_base
	*			· $num_persona => nª de personas seleccionadas
	*			· $supletorias => nª de supletorias seleccionadas
  */	
  function TLista_Habitaciones_PresupuestoV6()
  // Genera una cadena con las habitaciones seleccionadas separadas por ;
  {
		resultado_1='';
		i_busca=-1;
		marcadas=new Array();
		//alert('Hab.: ' + this.TLista_Lista_Hab.length);
		while (i_busca<this.TLista_Lista_Hab.length)
		{
			  i_busca++;
			  habitacion_actual=this.TLista_Lista_Hab[i_busca];
			  if ( (habitacion_actual!=null) && 
				   (!Esta_En_Array(habitacion_actual.id_habitacion,marcadas)) )
			  {
					marcadas[marcadas.length]=habitacion_actual.id_habitacion;
					//elem=habitacion_actual;
					_in_b=0;
					_enc_b=false;
					
					// ----- Modo Rural
					if(!modo_hotel)
					{
						habitacion_actual_resulta=habitacion_actual.THab_PresupuestoV6(false);
						if(habitacion_actual_resulta!='')
						{
							if(resultado_1=='') 
								resultado_1=habitacion_actual_resulta;
							else 
								resultado_1=resultado_1+'¨'+habitacion_actual_resulta;
						}
					} // Modo Rural
					
					// ----- Modo Hotel
					else
					{
						if(false)
						{
							alert('Modo Hotel => Hijos.: '+ habitacion_actual.id_habitacion+' - '+habitacion_actual.Lista_Hotel.length);
							alert('Casa Completa => Hijos.: '+ habitacion_actual.id_habitacion+' - '+habitacion_actual.Lista_Hijas.length);
						}
						
						_in_b_H=0;
						// Vaciamos las marcadas por si acaso para el nuevo presupuesto
						habitacion_actual.THab_Marcadas_En_Presupuesto=new Array();
						//while (_in_b_H<habitacion_actual.Lista_Hotel.length)
						if(true)
						{
						  //alert('Lista Hotel: '+habitacion_actual.Lista_Hotel.length);
						  //for(ind_marca=0;ind_marca<habitacion_actual.Lista_Hotel[_in_b_H].n_seleccionado;ind_marca++)
						  if(true)
						  {
							habitacion_actual_resulta=habitacion_actual.THab_PresupuestoV6(true);
							//alert('Hab: '+habitacion_actual_resulta);
							if(habitacion_actual_resulta!='')
							{
								if(resultado_1=='') 
									resultado_1=habitacion_actual_resulta
								else 
									resultado_1+='¨'+habitacion_actual_resulta
								_enc_b=true;
							} // si el habitacion_actualento no está vacío
						  }
						  _in_b_H++;
						}
						
						// Si no hemos encontrado nada buscamos si es la casa completa
						if(!_enc_b)
						{
							_in_b_H=0;
							//alert(habitacion_actual.Lista_Hijas.length);
							while (_in_b_H<habitacion_actual.Lista_Hijas.length)
							{
								//alert(habitacion_actual.Lista_Hijas[_in_b_H].nseleccionado);
							  if (habitacion_actual.Lista_Hijas[_in_b_H].nseleccionado>0)
							  {
								_enc_b=true;
								habitacion_actual_resulta=habitacion_actual.THab_PresupuestoV6(false);
								//alert('CC: '+habitacion_actual_resulta);
								if(habitacion_actual_resulta!='')
								{
									if(resultado_1=='') 
										//resultado_1+=habitacion_actual.id_habitacion;
										resultado_1=habitacion_actual_resulta
									else 
										//resultado_1+='¨'+habitacion_actual.id_habitacion;
										resultado_1+='¨'+habitacion_actual_resulta
								} // si el habitacion_actualento no está vacío
							  }
							  _in_b_H++;
							}
						}
					} // Modo Hotel
			
			  } // Si no esta en Array Marcadas y !=Null
		} // Del While
		
		return (resultado_1);
  }
  
// Definición de la clase TLista_Habitaciones
///////////////////////////////////////////////////////////////
  function TLista_Habitaciones()
  {
    this.TLista_Lista_Hab=new Array();
	this.TLista_Buscar_Habitacion=TLista_Buscar_Habitacion;
	this.TLista_Aniadir_Habitacion=TLista_Aniadir_Habitacion;
	this.TLista_Aniadir_Ocupacion=TLista_Aniadir_Ocupacion;
	this.TLista_Aniadir_Habitacion_Base=TLista_Aniadir_Habitacion_Base;
	this.TLista_NHabitaciones=TLista_NHabitaciones;
	this.TLista_Mostrar=TLista_Mostrar;
	this.TLista_Cargar=TLista_Cargar;
	this.TLista_Vaciar=TLista_Vaciar;
	this.TLista_Vacia=TLista_Vacia;
	this.Actualiza_Hab_Ocupa=Actualiza_Hab_Ocupa;
	this.Actualiza_Hab_Ocupa_Hotel=Actualiza_Hab_Ocupa_Hotel;
	this.Actualiza_Hab_Act=Actualiza_Hab_Act;
	this.TLista_Comprobar_Seleccionada=TLista_Comprobar_Seleccionada;
	this.TLista_Vacia_Hotel=TLista_Vacia_Hotel;
	this.TLista_Habitaciones_Presupuesto=TLista_Habitaciones_Presupuesto;
	this.TLista_Habitaciones_PresupuestoV6=TLista_Habitaciones_PresupuestoV6;
  }
  

