function flatCalendarCallback(cal) {
    return;
}
function disallowDateAfter(date, y, m, d) {
    var startDate;
    var endDate;
    var ONEDAY = 3600 * 24;

    //var unit = '{/literal}{$variables.unitid}{literal}';//This value can come from other places as well like value of a drop-down in case of multiple properties.
    if (unit != "0") {
        var d = (date.getMonth()+1)+'-'+(date.getDate())+'-'+date.getFullYear();
        for (var r in reserve[unit]) {
            if (reserve[unit][r] == d) {
                return true;
            }
        }
    }

    date = date.getTime();
    if ((endDate != null) && (date > (endDate - ONEDAY))) {
    //end date can't be before start date
    return true;
    }

    var now = new Date().getTime();
    if (date < (now - ONEDAY)) {
        //end date can't be prior to today
        return true;
    }
    return false;
}

function setupCalendar(numberMonths, monthsInRow, startPeriod, endPeriod)
{
    calObj = Zapatec.Calendar.setup({
    firstDay          : 1,
    weekNumbers       : false,
    titleHtml         : (numberMonths > 1) ? "<b>"+unitName+"</b>" : "",
    range             : [startPeriod, endPeriod],
    ifFormat          : "%m/%d/%Y",
    flat              : "calendar",
    dateStatusFunc    : disallowDateAfter, //the function to call
    flatCallback      : flatCalendarCallback,
    numberMonths     : numberMonths,
    monthsInRow      : monthsInRow,
    electric         : false,
    noHelp           : true
    });

    if (numberMonths == 1) {
        var div = document.getElementById('calendar');
        var p = document.createElement('P');
        p.innerHTML = '<p style="margin: 0px;" align="center" class="unitName"><b>'+unitName+'</b></p>';
        div.insertBefore(p, div.firstChild);
    }
}