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()
{
	document.location = links["formulari reserva"]["url"]+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 = ""
	var 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("ticketTable").innerHTML="<p style='text-align:center; margin:20px;'>"+idma["calculating"]+" ...</p>";
	document.getElementById("ticketDiv").style.display = "block";
	var uri = PROCESS_PATH+"processBooking.php?action=calculatePrices&productId="+jsProductId+"&rand=" + rand + "&idioma="+jsIdioma+"&factura="+sFact;
	uri += "&arrivalDate="+strArrivalDate+"&departureDate="+strDepartureDate+"&numPersons="+numPer;
	if(jsBookingId!="") uri += "&bookingId="+jsBookingId;
	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)
{
	var table = document.getElementById("ticketTable");

	//lista de parámetros para todas las urls, tanto de pestañas como de booking
	var tmpDate=arr['arrivalDate'].split(" ");
	params = "";
	params += "?arrivalDate="+tmpDate[1];
	params += "&arrivalDay="+tmpDate[0];
	var strArrivalDate = tmpDate[0]+" "+adaptaData(tmpDate[1], jsIdioma);
	tmpDate=arr['departureDate'].split(" ");
	params += "&departureDate="+tmpDate[1];
	params += "&departureDay="+tmpDate[0];
	var strDepartureDate = tmpDate[0]+" "+adaptaData(tmpDate[1], jsIdioma);
	params += "&numPer="+arr['numPer'];
	params += "&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"];
	params += "&sumBasePrice="+arr["sumBasePrice"];
	for(var j=0;j<servicesName.length;j++)
	{
		params+="&servicesName"+j+"="+servicesName[j];
		params+="&servicePrices"+j+"="+float2str(servicePrices[j],2,",");
	}

	var numDeNits = arr["numNights"];

	var str="";
	var botoReservarTicket = "";
	str+="<table class='gris12' style='width:320px;' 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>"+strArrivalDate+"</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>"+strDepartureDate+"</b></td>";
		str+="</tr>";
		str+="<tr style='height:30px;'>";
			str+="<td style='padding-left:10px;' align='left' >"+idma["totalNoches"]+"</td>";
			str+="<td style='padding-right:10px;' align='right'><b>"+numDeNits+"&nbsp;</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["totalRent"]+"</td>";
				str+="<td style='padding-right:10px;' align='right'><b>"+arr['sumBasePrice']+"&nbsp;&euro;</b></td>";
				//str+="<td style='padding-right:10px;' align='right'><b>"+arr['totalRent']+"&nbsp;&euro;</b></td>";
			str+="</tr>";
			var strTotalDisc = new String(arr["totalDiscount"]);
			strTotalDisc = strTotalDisc.replace(",", ".");
			var floatTotalDisc = parseFloat(strTotalDisc, 10);
			if(floatTotalDisc>0)
			{
				str+="<tr style='height:30px;'>";
					str+="<td class='color' style='padding-left:10px;' align='left'><b>"+idma["totalDiscount"]+"</b></td>";
					str+="<td class='color' style='padding-right:10px;' align='right'><b>-"+arr['totalDiscount']+"&nbsp;&euro;</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>"+servicePrices[i]+"&nbsp;&euro;</b></td>";
				str+="</tr>";
			}

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

			// Si l'apartament admet factura...
			/*var detFac = "";

			var separadorDecimals = ".";
			if (jsIdioma == "ES") separadorDecimals = ",";
			var tmp = arr["tax"].replace(",", ".");
			var strTax = float2str(tmp, -1, separadorDecimals);
			if(parseInt(factura,10)==1){
				if(arr["isTaxApplied"]==1)  detFac = idma["infoFactura"];
				else	detFac = idma["infoNoFactura"];
				detFac = detFac.replace(/\[iva\]/g, strTax);
			}
			else{
				detFac=idma["infoNoFactura"];
				detFac=detFac.replace(/\[iva\]/g, strTax);
			}*/


			str+="<tr style='height:30px;'>";
				str+="<td colspan='2' align='left' >";
					str+="<table class='gris12' celspacing='1' style='width:100%;border:1px solid #e5e5e5;'>";
						str+="<tr style='height:30px;'>";
							str+="<td style='background-color:#f8f8f8;'>";
								str+="<table class='gris12' cellpadding='0' cellspacing='0' style='width:100%;padding:0 5px 0 5px;'>";
									str+="<tr style='height:30px;'>";
										str+="<td align='left'>"+idma["pricePerNight"]+"</td>";
										str+="<td align='right'><b>"+arr['pricePerNight']+"&nbsp;&euro;</b></td>";
									str+="</tr>";
									str+="<tr style='height:30px;'>";
										str+="<td align='left' class='gris'><b class='color'>"+idma["totalPrice"]+"</b><br>"+idma["Se aplica IVA"]+"</td>";
										str+="<td align='right'><b>"+arr['totalPrice']+"&nbsp;&euro;</b></td>";
									str+="</tr>";
									str+="<tr style='height:30px;'>";
										str+="<td align='left'>"+idma["deposit"]+"</td>";
										str+="<td align='right'><b>"+arr['deposit']+"&nbsp;&euro;</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>"+arr['balanceDueOnArrival']+"&nbsp;&euro;</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>";
			}*/
			str+="<tr style='height:20px;'><td colspan=2></td></tr>";
			botoReservarTicket += "<div style='positiona:relative; text-align:right; padding:0px 5px 10px 0px; z-index:10;'>";
			botoReservarTicket += "<a id='bookButton' class='boto' onClick='submitTicket();'><span>"+links["formulari reserva"]["nom"]+"</span></a>";
			botoReservarTicket += "</div>";
		}
		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>";
	str += botoReservarTicket;
	table.innerHTML = str;
	document.getElementById("calculateButton").value = idma["recalculate"];

	// Pagina d'impressio
	var printUri=document.getElementById("printUri").href;
	printUri=printUri.split(".html");
	document.getElementById("printUri").href=printUri[0]+".html"+params;

	var pest=null;
	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;
}
