var thisLang = "es";
var pI = "12229";
var todaysDate = "22/05/2026";
var calendarTitle = "Por favor selecciona un rango de fechas";
var bookedTitle = "No disponible";
var availableTitle = "Disponible";
var unavailableUIAMDates = ["15-10-2026","1-11-2026"];
var unavailableUIPMDates = ["31-10-2026","30-4-2027"];
var unavailableUIDates = ["15-10-2026","16-10-2026","17-10-2026","18-10-2026","19-10-2026","20-10-2026","21-10-2026","22-10-2026","23-10-2026","24-10-2026","25-10-2026","26-10-2026","27-10-2026","28-10-2026","29-10-2026","30-10-2026","31-10-2026","1-11-2026","2-11-2026","3-11-2026","4-11-2026","5-11-2026","6-11-2026","7-11-2026","8-11-2026","9-11-2026","10-11-2026","11-11-2026","12-11-2026","13-11-2026","14-11-2026","15-11-2026","16-11-2026","17-11-2026","18-11-2026","19-11-2026","20-11-2026","21-11-2026","22-11-2026","23-11-2026","24-11-2026","25-11-2026","26-11-2026","27-11-2026","28-11-2026","29-11-2026","30-11-2026","1-12-2026","2-12-2026","3-12-2026","4-12-2026","5-12-2026","6-12-2026","7-12-2026","8-12-2026","9-12-2026","10-12-2026","11-12-2026","12-12-2026","13-12-2026","14-12-2026","15-12-2026","16-12-2026","17-12-2026","18-12-2026","19-12-2026","20-12-2026","21-12-2026","22-12-2026","23-12-2026","24-12-2026","25-12-2026","26-12-2026","27-12-2026","28-12-2026","29-12-2026","30-12-2026","31-12-2026","1-1-2027","2-1-2027","3-1-2027","4-1-2027","5-1-2027","6-1-2027","7-1-2027","8-1-2027","9-1-2027","10-1-2027","11-1-2027","12-1-2027","13-1-2027","14-1-2027","15-1-2027","16-1-2027","17-1-2027","18-1-2027","19-1-2027","20-1-2027","21-1-2027","22-1-2027","23-1-2027","24-1-2027","25-1-2027","26-1-2027","27-1-2027","28-1-2027","29-1-2027","30-1-2027","31-1-2027","1-2-2027","2-2-2027","3-2-2027","4-2-2027","5-2-2027","6-2-2027","7-2-2027","8-2-2027","9-2-2027","10-2-2027","11-2-2027","12-2-2027","13-2-2027","14-2-2027","15-2-2027","16-2-2027","17-2-2027","18-2-2027","19-2-2027","20-2-2027","21-2-2027","22-2-2027","23-2-2027","24-2-2027","25-2-2027","26-2-2027","27-2-2027","28-2-2027","1-3-2027","2-3-2027","3-3-2027","4-3-2027","5-3-2027","6-3-2027","7-3-2027","8-3-2027","9-3-2027","10-3-2027","11-3-2027","12-3-2027","13-3-2027","14-3-2027","15-3-2027","16-3-2027","17-3-2027","18-3-2027","19-3-2027","20-3-2027","21-3-2027","22-3-2027","23-3-2027","24-3-2027","25-3-2027","26-3-2027","27-3-2027","28-3-2027","29-3-2027","30-3-2027","31-3-2027","1-4-2027","2-4-2027","3-4-2027","4-4-2027","5-4-2027","6-4-2027","7-4-2027","8-4-2027","9-4-2027","10-4-2027","11-4-2027","12-4-2027","13-4-2027","14-4-2027","15-4-2027","16-4-2027","17-4-2027","18-4-2027","19-4-2027","20-4-2027","21-4-2027","22-4-2027","23-4-2027","24-4-2027","25-4-2027","26-4-2027","27-4-2027","28-4-2027","29-4-2027","30-4-2027"];
var unavailableAMDates = ["2026-10-15","2026-11-01"];
var unavailablePMDates = ["2026-10-31","2027-04-30"];
var unavailableDates = [["15/10/2026","16/10/2026","17/10/2026","18/10/2026","19/10/2026","20/10/2026","21/10/2026","22/10/2026","23/10/2026","24/10/2026","25/10/2026","26/10/2026","27/10/2026","28/10/2026","29/10/2026","30/10/2026","31/10/2026"],["01/11/2026","02/11/2026","03/11/2026","04/11/2026","05/11/2026","06/11/2026","07/11/2026","08/11/2026","09/11/2026","10/11/2026","11/11/2026","12/11/2026","13/11/2026","14/11/2026","15/11/2026","16/11/2026","17/11/2026","18/11/2026","19/11/2026","20/11/2026","21/11/2026","22/11/2026","23/11/2026","24/11/2026","25/11/2026","26/11/2026","27/11/2026","28/11/2026","29/11/2026","30/11/2026","01/12/2026","02/12/2026","03/12/2026","04/12/2026","05/12/2026","06/12/2026","07/12/2026","08/12/2026","09/12/2026","10/12/2026","11/12/2026","12/12/2026","13/12/2026","14/12/2026","15/12/2026","16/12/2026","17/12/2026","18/12/2026","19/12/2026","20/12/2026","21/12/2026","22/12/2026","23/12/2026","24/12/2026","25/12/2026","26/12/2026","27/12/2026","28/12/2026","29/12/2026","30/12/2026","31/12/2026","01/01/2027","02/01/2027","03/01/2027","04/01/2027","05/01/2027","06/01/2027","07/01/2027","08/01/2027","09/01/2027","10/01/2027","11/01/2027","12/01/2027","13/01/2027","14/01/2027","15/01/2027","16/01/2027","17/01/2027","18/01/2027","19/01/2027","20/01/2027","21/01/2027","22/01/2027","23/01/2027","24/01/2027","25/01/2027","26/01/2027","27/01/2027","28/01/2027","29/01/2027","30/01/2027","31/01/2027","01/02/2027","02/02/2027","03/02/2027","04/02/2027","05/02/2027","06/02/2027","07/02/2027","08/02/2027","09/02/2027","10/02/2027","11/02/2027","12/02/2027","13/02/2027","14/02/2027","15/02/2027","16/02/2027","17/02/2027","18/02/2027","19/02/2027","20/02/2027","21/02/2027","22/02/2027","23/02/2027","24/02/2027","25/02/2027","26/02/2027","27/02/2027","28/02/2027","01/03/2027","02/03/2027","03/03/2027","04/03/2027","05/03/2027","06/03/2027","07/03/2027","08/03/2027","09/03/2027","10/03/2027","11/03/2027","12/03/2027","13/03/2027","14/03/2027","15/03/2027","16/03/2027","17/03/2027","18/03/2027","19/03/2027","20/03/2027","21/03/2027","22/03/2027","23/03/2027","24/03/2027","25/03/2027","26/03/2027","27/03/2027","28/03/2027","29/03/2027","30/03/2027","31/03/2027","01/04/2027","02/04/2027","03/04/2027","04/04/2027","05/04/2027","06/04/2027","07/04/2027","08/04/2027","09/04/2027","10/04/2027","11/04/2027","12/04/2027","13/04/2027","14/04/2027","15/04/2027","16/04/2027","17/04/2027","18/04/2027","19/04/2027","20/04/2027","21/04/2027","22/04/2027","23/04/2027","24/04/2027","25/04/2027","26/04/2027","27/04/2027","28/04/2027","29/04/2027","30/04/2027"]];
var reserveURL = "https://www.coastalpropertiesmojacar.com/es/reservacion.html";
$(document).ready(function() {
var cHeight = $("#mainPhotos").height();
$("#mainPhotos li a").height(cHeight + "px");
$('[data-fancybox="gallery"]').fancybox({
loop: true,
transitionEffect: "slide",
thumbs: {
autoStart: true,
}
});
$('[data-fancybox="galleryW"]').fancybox({
loop: true,
transitionEffect: "slide",
thumbs: {
autoStart: true,
}
});
$('#mainPhotos').slick({
centerMode: true,
centerPadding:"0",
slidesToShow: 1,
infinite: true,
arrows: false,
adaptiveHeight:true,
speed: 600
});
$('#thumbsCarousel').slick({
slidesToShow: 1,
slidesToScroll: 1,
dots: false,
centerMode: true,
focusOnSelect: true,
arrows: false,
infinite: false,
asNavFor: '#mainPhotos'
});
$(document).on("click", "#previousPhoto", function () {
$('#mainPhotos').slick('slickPrev');
});
$(document).on("click", "#nextPhoto", function () {
$('#mainPhotos').slick('slickNext');
});
$("#mainPhotos").on("afterChange", function(event, slick, currentSlide) {
var slideCount = parseInt(currentSlide) + 1;
$("#slideCount span").html(slideCount);
var slideNo = parseInt(currentSlide);
$("#thumbsCarousel").slick('slickGoTo', slideNo);
});
$(document).on("click", "#propertyFeatureLinks a", function () {
var scrollDownTo = $(this).data("lt");
if ($.trim(scrollDownTo) != "") {
$("html,body").animate({
scrollTop:$("#" + scrollDownTo).offset().top - 60
},1000);
}
});
var sD = $("#propertyRentalDatesH").val();
$("#propertyRentalDates").dateRangePicker({
language:thisLang,
separator: " - ",
format: "DD/MM/YYYY",
startOfWeek: "monday",
startDate: todaysDate,
customArrowPrevSymbol: '',
customArrowNextSymbol: '',
setValue: function(s,s1,s2) {
$("#propertyRentalDates").val(s1 + ' - ' + s2);
$("#propertyRentalDatesH").val(s1 + '|' + s2);
var nD = s1 + '|' + s2;
if (sD == nD) {
} else {
getBookingPrices(pI);
sD = s1 + '|' + s2;
}
},
minDays: 1,
autoClose: true,
beforeShowDay: function(t) {
var thisDate = moment(t).format("DD/MM/YYYY");
var isValid = true;
var _class = "";
var _tooltip = "";
for (var ii = 0; ii < unavailableDates.length; ii++) {
var thisBlock = unavailableDates[ii];
for (var iii = 0; iii < thisBlock.length; iii++) {
if (thisDate == thisBlock[iii]) {
if (_class == "bookedDateEnd") {
_class = "bookedDate";
_tooltip = bookedTitle;
isValid = false;
} else if (iii == 0) {
_class = "bookedDateStart";
} else if (iii == thisBlock.length - 1) {
_class = "bookedDateEnd";
} else {
_class = "bookedDate";
_tooltip = bookedTitle;
isValid = false;
}
}
}
}
return [isValid,_class,_tooltip];
}
});
$(document).on("change", "#noGuests", function() {
getBookingPrices(pI);
});
$(document).on("click", ".showBookingBtn", function() {
if ($("#propertyBookingColumn").hasClass("showBooking")) {
$("body").removeClass("fixed");
$("#propertyBookingColumn").removeClass("showBooking");
} else {
$("body").addClass("fixed");
$("#propertyBookingColumn").addClass("showBooking");
}
});
$(document).on("click", "#closeBookingForm", function() {
var screenHeight = $(window).height();
var titleHeight = $("#propertyBookingTitle").height() + 20;
var closedOffset = screenHeight - titleHeight;
$("body").removeClass("fixed");
$("#propertyBookingColumn").removeClass("showBooking");
});
$(document).on("click", "#pbSendEnq, #pSendIEnq", function() {
$("body").addClass("fixed");
$("#enquiryBGContainer").addClass("unfold");
$("nav").removeClass("is-active");
$("#showMenu").removeClass("is-active");
});
$("#enquiryDates").dateRangePicker({
language:thisLang,
separator: " - ",
format: "DD/MM/YYYY",
startOfWeek: "monday",
startDate: todaysDate,
customArrowPrevSymbol: '',
customArrowNextSymbol: '',
minDays: 1,
setValue: function(s,s1,s2) {
$("#enquiryDates").val(s1 + ' - ' + s2);
$("#enquiryDatesH").val(s1 + '|' + s2);
}
});
/*
$(document).on("click", "#propertyBookingButton", function() {
var sVID = $("#sVID").val();
$("body").addClass("fixed");
$.ajax({
type:"GET",
url: "/property-booking-darcy.php?lang=" + thisLang,
data:"sVID=" + sVID,
cache:false,
success:function(popContent) {
$("#bookingIFContainer").html(popContent);
$("#bookingBGContainer").addClass("unfold");
$("nav").removeClass("is-active");
$("#showMenu").removeClass("is-active");
}
});
});
*/
$(document).on("click", "#sendContact", function() {
$("#sendContact, #eFormError").slideUp("fast");
$("#eFormEError").css("display", "none");
$("#enquiryName").parents(".formInput").removeClass("formError");
$("#enquiryEmail").parents(".formInput").removeClass("formError");
$("#enquiryMessage").parents(".formInput").removeClass("formError");
var eN = $("#enquiryName").val();
var eE = $("#enquiryEmail").val();
var eT = $("#enquiryTel").val();
var eD = $("#enquiryDatesH").val();
var eM = $("#enquiryMessage").val();
var dCon;
if ($("#dataConsent").is(":checked")) {
dCon = "&consent=true";
} else {
dCon = "";
}
var formValid = true;
if ($.trim(eN) == "") {
formValid = false;
$("#enquiryName").parents(".formInput").addClass("formError");
}
if ($.trim(eE) == "") {
formValid = false;
$("#enquiryEmail").parents(".formInput").addClass("formError");
}
if ($.trim(eM) == "") {
formValid = false;
$("#enquiryMessage").parents(".formInput").addClass("formError");
}
if (formValid == true) {
$("#contactWaiting").fadeIn('fast');
var dataVars = "pT=holiday&pI=" + pI + "&eN=" + encodeURIComponent(eN) + "&eE=" + encodeURIComponent(eE) + "&eT=" + encodeURIComponent(eT) + "&eD=" + encodeURIComponent(eD) + "&eM=" + encodeURIComponent(eM) + dCon;
$.ajax({
url:"/property-enquiry.php?lang=" + thisLang,
data: dataVars,
type: "POST",
dataType:"JSON",
cache: false,
success: function(data) {
var responseType = data.responseType;
if (responseType == 'valid') {
$("#enquiryResponse").html(data.contactResponse);
$("#enquiryFormInput").slideUp('slow', function(){
$("#contactWaiting").fadeOut('fast');
$("#enquiryResponse").slideDown("slow");
});
} else {
$("#eFormEOError").html(data.contactResponse);
$("#eFormEError").css("display", "none");
$("#eFormEOError").css("display", "block");
$("#sendContact").delay(600).fadeIn('slow', function(){
$("#contactWaiting").fadeOut('fast');
$("#eFormError").slideDown("slow");
});
}
}
});
} else {
$("#eFormEOError").css("display", "none");
$("#eFormEError").css("display", "block");
$("#sendContact, #eFormError").slideDown("slow");
}
return false;
});
$(document).on("click", "#enquiryBG", function(e) {
var thisID = $(e.target).attr('id');
if (thisID == "enquiryBG") {
$("#enquiryBGContainer").addClass("out");
setTimeout(function() {
$("#enquiryBGContainer").removeClass("unfold").removeClass("out");
$("body").removeClass("fixed");
}, 1200);
}
});
$(document).on("click", "#closeEnquiry", function() {
$("#enquiryBGContainer").addClass("out");
setTimeout(function() {
$("#enquiryBGContainer").removeClass("unfold").removeClass("out");
$("body").removeClass("fixed");
}, 1200);
});
$(document).on("click", "#showMoreFeatures", function() {
var isHidden = $("#moreFeatures").css("display");
if (isHidden == "none") {
$("#moreFeatures").slideDown("slow", function() {
$("#showMoreFeatures i").removeClass("fa-caret-down").addClass("fa-caret-up");
});
} else {
$("#moreFeatures").slideUp("slow", function() {
$("#showMoreFeatures i").removeClass("fa-caret-up").addClass("fa-caret-down");
});
}
});
$(document).on("click", "#bookingBG", function(e) {
var thisID = $(e.target).attr('id');
if (thisID == "bookingBG") {
$("#bookingBGContainer").addClass("out");
setTimeout(function() {
$("#bookingBGContainer").removeClass("unfold").removeClass("out");
$("body").removeClass("fixed");
}, 1200);
}
});
$(document).on("click", "#closeBooking", function() {
$("#bookingBGContainer").addClass("out");
setTimeout(function() {
$("#bookingBGContainer").removeClass("unfold").removeClass("out");
$("body").removeClass("fixed");
}, 1200);
});
$(document).on("click", "#termsBtn", function() {
if ($(this).hasClass("termsAccepted")) {
$(this).removeClass("termsAccepted");
$("#tca").val("0");
} else {
$(this).addClass("termsAccepted");
$("#tca").val("1");
}
});
$(document).on("click", "#reservationSubmit", function() {
var sVID = $("#sVID").val();
var bN = $("#bookingName").val();
var bT = $("#bookingTel").val();
var bE = $("#bookingEmail").val();
var uC = $("#userCode").val();
var tAC = $("#tca").val();
$("#rFormError").slideUp("fast");
$("#bookingName").parents(".formInput").removeClass("formError");
$("#bookingEmail").parents(".formInput").removeClass("formError");
$("#termsBtn").parents(".formInputW").removeClass("formError");
var formValid = true;
if ($.trim(bN) == "") {
formValid = false;
$("#bookingName").parents(".formInput").addClass("formError");
}
if ($.trim(bE) == "") {
formValid = false;
$("#bookingEmail").parents(".formInput").addClass("formError");
}
if (tAC == "0") {
formValid = false;
$("#termsBtn").parents(".formInputW").addClass("formError");
}
if (formValid == true) {
$("#reservationSubmit").slideUp("fast");
$("#reservationWaiting").fadeIn('fast');
var dataVars = "rC=true&sVID=" + sVID + "&bN=" + encodeURIComponent(bN) + "&bT=" + encodeURIComponent(bT) + "&bE=" + encodeURIComponent(bE) + "&uC=" + encodeURIComponent(uC);
$.ajax({
url:"/property-booking-darcy.php?lang=" + thisLang,
data: dataVars,
type: "POST",
dataType:"JSON",
cache: false,
success: function(data) {
var responseType = data.responseType;
if (responseType == 'valid') {
} else {
$("#rFormError").html(data.contactResponse);
$("#reservationSubmit").stop();
$("#reservationSubmit").delay(600).slideDown('slow', function(){
$("#reservationWaiting").fadeOut('fast');
$("#rFormError").slideDown("slow");
});
}
}
});
}
});
getBookingPrices(pI);
var screenWidth = $(window).width();
if ($("#availabilityCalendar").length) {
setupCalendar(screenWidth);
}
var doIt;
$(window).on("resize", function() {
clearTimeout(doIt);
doIt = setTimeout(resizedW, 100);
});
function resizedW() {
var screenDWidth = $(window).width();
if (screenDWidth != screenWidth) {
$("#availabilityCalendar").datepicker("destroy");
setupCalendar(screenDWidth);
screenWidth = $(window).width();
}
}
function setupCalendar(screenWidth) {
var divW = $("#availabilityCalendar").width();
var noMonthsS = Math.floor(divW / 270);
var noMonths;
var noSteps;
if (screenWidth < 1000) {
noMonths = [3,noMonthsS];
noSteps = 3 * noMonthsS;
} else if (screenWidth < 1400) {
noMonths = [4,noMonthsS];
noSteps = 4 * noMonthsS;
} else {
noMonths = [3,4];
noSteps = 12;
}
$('#availabilityCalendar').datepicker({
numberOfMonths:noMonths,
minDate: 0,
firstDay:1,
stepMonths: noSteps,
beforeShowDay:bookedDates
});
}
function bookedDates(date) {
dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
if ( ($.inArray(dmy, unavailableUIDates) == -1)) {
return [true, "", "Available"];
} else {
if (($.inArray(dmy, unavailableUIAMDates) != -1) && ($.inArray(dmy, unavailableUIPMDates) != -1)) {
return [false,"datePickerChangeover", bookedTitle];
} else if ($.inArray(dmy, unavailableUIAMDates) != -1) {
return [true,"datePickerAMAvailable", availableTitle];
} else if ($.inArray(dmy, unavailableUIPMDates) != -1) {
return [true,"datePickerPMAvailable", availableTitle];
} else {
return [false,"datePickerLT", bookedTitle];
}
}
}
function getBookingPrices(propID) {
$("#propertyBookingButton").slideUp("fast", function() {
$("#propertyBookingResponse").slideUp("fast");
var setDates = $("#propertyRentalDatesH").val();
var noGuests =$("#noGuests").val();
if ( ($.trim(setDates) != "") && ($.trim(noGuests) != "") ) {
$.ajax({
url:"/property-booking-darcy.php?lang=" + thisLang,
data: "gV=true&pI=" + propID + "&bD=" + setDates + "&nG=" + noGuests,
type: "POST",
dataType: "JSON",
cache: false,
success: function(sessionData) {
var sessionVar = sessionData.sessionVar;
var dLink = sessionData.dLink;
$("#sVID").val(sessionVar);
if ($("#propertyBookingButton").hasClass("propertyBookingButtonDSB")) {
} else {
$("#propertyBookingButton").attr("href", dLink);
}
}
});
$.ajax({
url:"/property-booking-darcy.php?lang=" + thisLang,
data: "bC=true&pI=" + propID + "&bD=" + setDates + "&nG=" + noGuests,
type: "POST",
cache: false,
success: function(bookingCost) {
$("#propertyBookingResponse").html(bookingCost);
$("#propertyBookingResponse").slideUp();
$("#propertyBookingResponse").slideDown("slow", function() {
if ($("#bookingPriceWarning").length) {
} else {
if ($("#propertyBookingButton").hasClass("propertyBookingButtonDSB")) {
} else {
$("#propertyBookingButton").slideDown("slow");
}
}
});
}
});
}
});
}
});