
//Funcion de limpieza/Carga de combos de capacidades
function CombosManagementOffer(actualRoomId, totalHab, maxAdult, maxChild, maxBebe, standCap)
{
	//Limpiar combos de la linea modelo
	LimpiarCombo(document.getElementById("ddlTotalRooms" + actualRoomId));
	LimpiarCombo(document.getElementById("ddlAdultos_X" + actualRoomId));
	LimpiarCombo(document.getElementById("ddlPeques_X" + actualRoomId));
	LimpiarCombo(document.getElementById("ddlBebes_X" + actualRoomId));

	//Cargar elementos maximos en los combos de la linea modelo
	for ( var i = 1; i <= totalHab; i++ )
		AnyadeOpcion(i, i, document.getElementById("ddlTotalRooms" + actualRoomId));

	for ( var i = 1; i <= maxAdult; i++ )
		AnyadeOpcion(i, i, document.getElementById("ddlAdultos_X" + actualRoomId));

	AnyadeOpcion(0, "", document.getElementById("ddlPeques_X" + actualRoomId));
	for ( var i = 1; i <= maxChild; i++ )
		AnyadeOpcion(i, i, document.getElementById("ddlPeques_X" + actualRoomId));

	AnyadeOpcion(0, "", document.getElementById("ddlBebes_X" + actualRoomId));
	for ( var i = 1; i <= maxBebe; i++ )
		AnyadeOpcion(i, i, document.getElementById("ddlBebes_X" + actualRoomId));

	document.getElementById("ddlAdultos_X" + actualRoomId).selectedIndex = standCap - 1;
	document.getElementById("ddlTotalRooms" + actualRoomId).selectedIndex = 0;
	RoomNumber_onChange_Offer(actualRoomId);
}

//Inserción de filas dinámicamente en función del número de habitaciones
function RoomNumber_onChange_Offer(actualRoomId)
{
	var iNumHabs = document.getElementById("ddlTotalRooms" + actualRoomId).value;	
	var tblRooms = document.getElementById("td_Rooms");
	var strInner = "<table cellSpacing='0' cellPadding='0' width='100%' border='0'>";
	var strSep = document.getElementById("tr_CombosLinea_Separacion").innerHTML;

	var line_in = ""; var line_out = ""; var comparer = true;
	for(var i=0; i < iNumHabs; i++)
	{
		var line_in = ""; var line_out = ""; var comparer = true;
		line_in = document.getElementById("tr_CombosLinea_Modelo").innerHTML;

		while (comparer)
		{
			line_out = line_in.replace('_X', (i + 1));
			if (line_out == line_in) comparer = false;
			line_in = line_out;
		}

		// Línea de datos
		strInner += "<tr>" + line_out + "</tr>" + "<tr>" + strSep + "</tr>";
		
		var ind= i +1;
	}

	strInner += "</table>";
	tblRooms.innerHTML = strInner;
}

//Funcion encargada de validar los paxes y llamar al Evento CLICK de SERVIDOR
function ValidateOfferCapacity(e, _actualRoomId, _alternativeRoomId, _mensaje_sobra, _mensaje_falta, _mensaje_fechas, _cultura)
{
	var bContinuar = true;
	var iNumHabs = document.getElementById("ddlTotalRooms" + _actualRoomId).value;

	var _individualRooms = false;
	var _dobleRooms = false;

	var totalCap;
	var adultos;
	var ninyos;
	var bebes;

	for (var _index=1; _index <= iNumHabs; _index++)
	{
		if ( bContinuar == true )
		{
			if (_index == null) 
				_index = "_X";

			adultos = ANumero(document.getElementById("ddlAdultos" + _index + _actualRoomId).value);
			ninyos = ANumero(document.getElementById("ddlPeques" + _index + _actualRoomId).value);
			bebes = ANumero(document.getElementById("ddlBebes" + _index + _actualRoomId).value);
			var capacidad_max = document.getElementById("hCapMax").value;
			var capacidad_min = document.getElementById("hCapMin").value;
			var ocupacion = adultos + ninyos + bebes;

			if (capacidad_max == "" || capacidad_min == "")
			{
				alert("ERROR - capacidad = " + capacidad_max + " | " + capacidad_min);
				bContinuar =  false;
			}
			else
			{
				if ( ocupacion > capacidad_max )
				{
					alert (_mensaje_sobra + " " + _index + ". El maximo de personas para esta habitacion es de " + capacidad_max);
					bContinuar =  false;
				}

				if ( ocupacion < capacidad_min )
				{
					alert (_mensaje_falta + " " + _index + ". El minimo de personas para esta habitacion es de " + capacidad_min);
					bContinuar = false;
				}
			}
		}
	}

	var fechaIn = document.getElementById("ctlSelectFechas_dtpFechaEntrada_txtDate").value;
	var fechaOut = document.getElementById("ctlSelectFechas_dtpFechaSalida_txtDate").value;

	if ( (bContinuar == true) && (fechaIn == "" || fechaOut == "") )
	{
		alert(_mensaje_fechas);
		bContinuar = false
	}

	

	//Comprobacion de habitacion alternativa
	if ( _actualRoomId != _alternativeRoomId )
	{
		iNumHabs = document.getElementById("ddlTotalRooms" + _actualRoomId).value;	

		for (var _index=1; _index <= iNumHabs; _index++)
		{
			adultos = ANumero(document.getElementById("ddlAdultos" + _index + _actualRoomId).value);
			ninyos = ANumero(document.getElementById("ddlPeques" + _index + _actualRoomId).value);
			bebes = ANumero(document.getElementById("ddlBebes" + _index + _actualRoomId).value);
			totalCap = adultos + ninyos + bebes;

			if ( totalCap <= document.getElementById('hCapLimite').value )
			{
				document.getElementById("hAlternativeRoomId").value = _alternativeRoomId;
				_individualRooms = true;
			}
			else
			{
				document.getElementById("hAlternativeRoomId").value = _actualRoomId;
				_dobleRooms = true;
			}
		}
	}
	else
	{
		document.getElementById("hAlternativeRoomId").value = _actualRoomId;
	}
		
	if ( _individualRooms == true && _dobleRooms == true )
	{
		MostrarAvisoResCall(e, _cultura);
		bContinuar = false;
	}

	if ( bContinuar == true )
		document.getElementById("btnReservaOculto").click();
}

//Funcion encargada de abrir el Popup de oferta
function MostrarOfferDesc(e, offerId, hotelId, rutaImagen, cultura)
{
	var request = null;

	try
	{
		// Firefox, Opera 8.0+, Safari
		request = new XMLHttpRequest();
	}
	catch(ex)  
	{
		// Internet Explorer
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex)
		{
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	request.open("GET","http://" + window.document.domain + "/Barcelo.Portal.B2C.Web/Paginas/OfferDesc.aspx" + "?OfferId=" + offerId + "&HotelId=" + hotelId + "&Ruta=" + rutaImagen + "&sCultura=" + cultura, false, false);
	request.send(null);

	//Atencion, es necesario eliminar el TAG "form" si no salta error JavaScript
	var response = request.responseText;
	var ini = response.indexOf("<!--#FormEnd##-->");
	var fin = response.indexOf("</form>");
	response = response.substring(ini + 17, fin);
	document.getElementById('divCerrar').innerHTML = response;

	var diva = document.getElementById('divCerrar');
	diva.style.display = "inline";

	//Se centra el DIV
	var documentHeight;
	var documentWidth;

	if (document.all)
	{
		documentHeight = document.documentElement.offsetHeight;
		documentWidth = document.documentElement.offsetWidth;
	}
	else
	{
		documentHeight = document.height/2;
		documentWidth = document.width;
	}

    diva.style.top = (( documentHeight - diva.offsetHeight)/2) +  document.body.scrollTop;
    // Aseguramos que la ventana popup al crecer no lo haga por encima del la imagen superior
   	var _temptop = diva.style.top.replace('px','') ;
	
	_temptop = parseInt(_temptop);
   
    if (_temptop < 180)
    {
		diva.style.top = "180";
	}
    diva.style.left = (( documentWidth - diva.offsetWidth)/2) + document.body.scrollLeft;
    diva.style.border = "#a2b4ba 5px";

    //Se evita el solape con los controles por debajo
	if ( document.getElementById("frameSoporte") )
	{
		document.getElementById("frameSoporte").style.top = diva.style.top;
		document.getElementById("frameSoporte").style.left = diva.style.left;
		document.getElementById("frameSoporte").style.height = diva.offsetHeight;
		document.getElementById("frameSoporte").style.width = diva.offsetWidth;
		document.getElementById("frameSoporte").style.display = "inline";
	}
}

//Funcion encargada de cerrar el Popup de oferta
function CloseDiv()
{
	document.getElementById("divCerrar").style.display = "none";

	if (document.getElementById("frameSoporte"))
		document.getElementById("frameSoporte").style.display = "none";
}

//Funcion que llama a la pagina que contiene el control de descripcion y foto del Hotel
//y lo inyecta en un DIV de la pagina principal
function MostrarAvisoResCall(e, cultura)
{
	var request = null;

	try
	{
		// Firefox, Opera 8.0+, Safari
		request = new XMLHttpRequest();
	}
	catch(ex)  
	{
		// Internet Explorer
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex)
		{
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	request.open("GET", "http://" + window.document.domain +  "/Barcelo.Portal.B2C.Web/Paginas/AvisoResCall.aspx" + "?sCultura=" + cultura, false, false);
	request.send(null);

	//Atencion, es necesario eliminar el TAG "form" si no salta error JavaScript
	var response = request.responseText;
	var ini = response.indexOf("<!--#FormEnd##-->");
	var fin = response.indexOf("</form>");
	response = response.substring(ini + 17, fin);
	document.getElementById('divCerrar').innerHTML = response;
	
	var diva = document.getElementById('divCerrar');
	diva.style.display = "inline";

	 //Se centra el DIV
	 var documentHeight;
	 var documentWidth;

	 if (document.all)
	 {
		documentHeight = document.documentElement.offsetHeight;
		documentWidth = document.documentElement.offsetWidth;
	 }
	 else
	 {
		documentHeight = document.height;
		documentWidth = document.width;
	 }

     diva.style.top = (( documentHeight - diva.offsetHeight)/2) +  document.body.scrollTop;
     // Aseguramos que la ventana popup al crecer no lo haga por encima del la imagen superior
   	var _temptop = diva.style.top.replace('px','') ;
	
	_temptop = parseInt(_temptop);
   
    if (_temptop < 180)
    {
		diva.style.top = "180";
	}
     diva.style.left = (( documentWidth - diva.offsetWidth)/2) + document.body.scrollLeft;

   	//Se evita el solape con los controles por debajo
	if ( document.getElementById("frameSoporte") )
	{
		document.getElementById("frameSoporte").style.top = diva.style.top;
		document.getElementById("frameSoporte").style.left = diva.style.left;
		document.getElementById("frameSoporte").style.height = diva.offsetHeight;
		document.getElementById("frameSoporte").style.width = diva.offsetWidth;
		document.getElementById("frameSoporte").style.display = "inline";
	}
}
