var quiereFactura=0;
var params="";
/**
 *	Retorna un string amb la data (yyyy-mm-dd) a partir del formulari del ticket de preus
 */
function frmPricesToStrDate(frm, quinaData)
{
	if (quinaData == "arrival"){
		var ad = frm.ArrivalDay.value;
		if (ad < 10) ad = "0"+parseInt(ad,10)
		var ama = frm.ArrivalMonthYear.value;
		var amaArr = ama.split("-")
		var am = amaArr[0];
		if (am < 10) am = "0"+parseInt(am,10);
		var aa = amaArr[1];
		return aa+"-"+am+"-"+ad;
	}
	if (quinaData == "departure"){
		var dd = frm.DepartureDay.value;
		if (dd < 10) dd = "0"+parseInt(dd,10)
		var dma = frm.DepartureMonthYear.value;
		var dmaArr = dma.split("-")
		var dm = dmaArr[0];
		if (dm < 10) dm = "0"+parseInt(dm,10)
		var da = dmaArr[1];
		return da+"-"+dm+"-"+dd;
	}
	return "";
}
function modificaFactura(chk)
{
	if (chk.checked)
		quiereFactura=1;
	else
		quiereFactura=0;
}
function submitTicket(tipusReserva)
{
	if(!tipusReserva) tipusReserva = TIPUS_RESERVA_ONLINE;

	if(tipusReserva == TIPUS_RESERVA_PETICIO){
		if(local) 	document.location="booking2-DatosCliente_peticion.php"+params+"&factura="+quiereFactura+"&productId="+jsProductId;
		else 		document.location = "https://"+HOST+"/booking2-DatosCliente_peticion.php"+params+"&factura="+quiereFactura+"&productId="+jsProductId;
	}
	else{
		if(local) 	document.location="booking2-DatosCliente.php"+params+"&factura="+quiereFactura+"&productId="+jsProductId;
		else 		document.location = "https://"+HOST+"/booking2-DatosCliente.php"+params+"&factura="+quiereFactura+"&productId="+jsProductId;
	}

}
function calculatePrices()
{
	gHiHaTicket = true; // Si estem a la pestanya calendari, apareixaràn els dies que es vol reservar en verd

	//if (factura == undefined) factura = ""
	frm = document.getElementById('apartmentPrices');
	if (!isValidRangeDates(frm)) return;

	var frm = document.getElementById("apartmentPrices");
	if (!frm) return;


	var strArrivalDate = frmPricesToStrDate(frm, "arrival");
	var strDepartureDate = frmPricesToStrDate(frm, "departure");
	numPer = frm.NumPer.value;

	var fact = document.getElementById("factura");
	var sFact;
	if (fact) sFact = (fact.checked) ? "1" : "0";
	else			sFact = globalFact;
	globalFact=sFact;
	var rand = aleat();
	document.getElementById("ticketDiv").style.display="inline";
	document.getElementById("ticketTable").innerHTML="<p style='margin:10px;'>"+idma["calculating"]+"</p>";
	var uri = PROCESS_PATH+"processBooking.php?action=calculatePrices&productId="+jsProductId+"&rand=" + rand + "&idioma="+jsIdioma+"&factura="+sFact;
	uri += "&arrivalDate="+strArrivalDate+"&departureDate="+strDepartureDate+"&numPersons="+numPer+"&noComprovisMinNights=1";
	if(jsBookingId!="")
		uri += "&bookingId="+jsBookingId;

	uri+= "&currency="+CURRENCY;

	consultaHttp(uri);
}

/**
 *	Escriu el ticket de preus i reemplaça els links de les pestanyes de la fitxa de l'apartament
 */
function escriuTicket(arr,servicesName,servicePrices)
{
	params="";
	var table=document.getElementById("ticketTable");
	//lista de parámetros para todas las urls, tanto de pestañas como de booking
	tmpDate=arr['arrivalDate'].split(" ");
	params+="?arrivalDate="+tmpDate[1];
	params+="&arrivalDay="+tmpDate[0];
	tmpDate=arr['departureDate'].split(" ");
	params+="&departureDate="+tmpDate[1];
	params+="&departureDay="+tmpDate[0];
	params+="&numPer="+arr['numPer']+"&codiSecuretat="+arr['codiSeguretat'];
	params+="&disponible="+arr["disponible"];
	params+="&pricePerNight="+arr["pricePerNight"];
	params+="&totalRent="+arr["totalRent"];
	params+="&totalPrice="+arr["totalPrice"];
	params+="&deposit="+arr["deposit"];
	params+="&balanceDueOnArrival="+arr["balanceDueOnArrival"];
	params+="&comentaryNoDisponible="+arr["comentaryNoDisponible"];
	params+="&numServices="+servicesName.length;
	params+="&totalDiscount="+arr["totalDiscount"];
	for(var j=0;j<servicesName.length;j++)
	{
		params+="&servicesName"+j+"="+servicesName[j];
		params+="&servicePrices"+j+"="+float2str(servicePrices[j],2,",");
	}

	var str="";

	str+="<table class='gris' style='width:100%;' cellpadding='0' cellspacing='0'>";
		str+="<tr style='height:30px;'>";
			str+="<td style='padding-left:10px;' align='left'>"+idma["arrivalDate"]+"</td>";
			str+="<td style='padding-right:10px;' align='right'><b>"+adaptaData(arr['arrivalDate'], jsIdioma)+"</b></td>";
		str+="</tr>";
		str+="<tr style='height:30px;'>";
			str+="<td style='padding-left:10px;' align='left'>"+idma["departureDate"]+"</td>";
			str+="<td style='padding-right:10px;' align='right'><b>"+adaptaData(arr['departureDate'], jsIdioma)+"</b></td>";
		str+="</tr>";
		str+="<tr style='height:30px;'>";
			str+="<td style='padding-left:10px;border-bottom:1px #757575 dotted;' align='left' >"+idma["numPer"]+"</td>";
			str+="<td style='padding-right:10px;border-bottom:1px #757575 dotted;' align='right'><b>"+arr['numPer']+"&nbsp;</b></td>";
		str+="</tr>";
		if(arr['disponible']!="no")
		{
			str+="<tr style='height:30px;'>";
				str+="<td style='padding-left:10px;' align='left'>"+idma["pricePerNight"]+"</td>";
				str+="<td style='padding-right:10px;' align='right'><b>"+writeCurrency(arr['pricePerNight'])+"</b></td>";
			str+="</tr>";
			str+="<tr style='height:30px;'>";
				str+="<td style='padding-left:10px;' align='left'>"+idma["totalRent"]+"</td>";
				str+="<td style='padding-right:10px;' align='right'><b>"+writeCurrency(arr['totalRent'])+"</b></td>";
			str+="</tr>";
			if(arr["totalDiscount"]>0)
			{
				str+="<tr style='height:30px;'>";
					str+="<td class='blau' style='padding-left:10px;' align='left'><b>"+idma["totalDiscount"]+"</b></td>";
					str+="<td class='blau' style='padding-right:10px;' align='right'><b>-"+writeCurrency(arr['totalDiscount'])+"</b></td>";
				str+="</tr>";
			}
			//servicios
			for(i=0;i<servicesName.length;i++)
			{
				str+="<tr style='height:30px;'>";
				str+="<td style='padding-left:10px;' align='left'>"+servicesName[i]+"</td>";
				str+="<td style='padding-right:10px;' align='right'><b>"+writeCurrency(servicePrices[i])+"</b></td>";
				str+="</tr>";
			}

			// Deixem una mica d'espai
			str+="<tr style='height:10px;'><td colspan=2></td></tr>";

			detFac=idma["infoNoFactura"];
			detFac=detFac.replace(/#iva#/g,arr["tax"]);
			// Si l'apartament admet factura...
			if(parseInt(factura,10)==1)
			{
				var detFac = "";
				if(arr["isTaxApplied"]==1)  detFac = idma["infoFactura"];
				else	detFac = idma["infoNoFactura"];
				detFac = detFac.replace(/#iva#/g, arr["tax"]);
			}


			str+="<tr style='height:30px;'>";
				str+="<td colspan='2' align='left' >";
					str+="<table class='gris' celspacing='1' style='width:100%;border:1px solid #ffffff;'>";
						str+="<tr style='height:30px;'>";
							str+="<td style='background-color:#ffffff;'>";
								str+="<table class='gris' cellpadding='0' cellspacing='0' style='width:100%;padding:0 5px 0 5px;'>";
									str+="<tr style='height:30px;'>";
										str+="<td align='left' class='grisPetit'><b class='blau'>"+idma["totalPrice"]+"</b><br>"+detFac+"</td>";
										str+="<td align='right'><b>"+writeCurrency(arr['totalPrice'])+"</b></td>";
									str+="</tr>";
									str+="<tr style='height:30px;'>";
										str+="<td align='left'>"+idma["deposit"]+"</td>";
										str+="<td align='right'><b>"+writeCurrency(arr['deposit'])+"</b></td>";
									str+="</tr>";
								str+="</table>";
							str+="</td>";
						str+="</tr>";
					str+="</table>";
				str+="</td>";
			str+="</tr>";
			str+="<tr style='height:30px;'>";
				str+="<td style='padding-left:10px;' align='left'>"+idma["balanceDueOnArrival"]+"</td>";
				str+="<td style='padding-right:10px;' align='right'><b>"+writeCurrency(arr['balanceDueOnArrival'])+"</b></td>";
			str+="</tr>";

			// Si l'apartament admet factura...
			if(parseInt(factura,10)==1)
			{
				str+="<tr style='height:30px;'>";
					str+="<td colspan=2 style='padding-left:10px;' align='left'>";
						var ch = (arr["isTaxApplied"]==1) ? "checked" : "";
						str+="<input type='checkbox' value='1' onClick='modificaFactura(this);' name='factura' id='factura' "+ch+" >&nbsp;";
						str += "<label for='factura'>"+idma["taxes"]+"</label>";
					str+="</td>";
				str+="</tr>";
			}

			var tmpStrBoto = "";

			if(typeof arr["invoiceType"] == "undefined") arr["invoiceType"] = TIPUS_RESERVA_ONLINE;

			// Mirem si l'apartament té reserves online o sota peticio
			if(arr["invoiceType"] == TIPUS_RESERVA_PETICIO){
				tmpStrBoto = idma["idmaEnquiry"];
			}
			else{
				tmpStrBoto = idma["booking"];
			}

			str+="<tr>";
				str+="<td colspan=2 style='padding:10px;' align='right'>";
					str += "<input id='bookButton' type='button' class='botoBlau' onClick='submitTicket("+arr["invoiceType"]+");' value='"+tmpStrBoto+"'>";
				str += "</td>";
			str+="</tr>";

			if(arr["invoiceType"] == TIPUS_RESERVA_PETICIO)
			{
				str+="<tr>";
					str+="<td colspan=2 style='padding:10px;' class='blau'>";
						str += "<b>"+idma["explicacionBookingEnquiry"]+"</b>";
					str += "</td>";
				str+="</tr>";
			}
		}
		else
		{
			str+="<tr style='height:30px;'>";
				str+="<td style='padding:0 10px 0 10px;' align='center' colspan='2'>"+idma["notAvailable"]+"</td>";
			str+="</tr>";
			str+="<tr style='height:30px;'>";
				str+="<td style='padding:0 10px 0 10px;' align='center' colspan='2'>"+arr['comentaryNoDisponible']+"</td>";
			str+="</tr>";
		}
	str+="</table>";
	table.innerHTML=str;
	document.getElementById("calculateButton").value=idma["recalculate"];
	var pest=null;
	var printUri=document.getElementById("printUri").href;
	//alert(printUri);
	printUri=printUri.split("?");
	document.getElementById("printUri").href=printUri[0]+params;
	for(var z=0;z<4;z++)
	{
		pest=document.getElementById("linkPestanyesUrl"+z);

		if(pest)
		{
			uri=pest.href;
			uri=uri.split("?");
			pest.href=uri[0]+params;
		}
	}
	var buto=document.getElementById("bookButton");
	if(buto)
	{
		buto.focus();
		buto.blur();
	}

	return true;
}


