Datepicker not excluding weekends as it should be

Datepicker not excluding weekends as it should be

Hello,

I'm using the jQuery ui datepicker and it's supposed to be excluding weekends but doesn't seem to be doing that. 

Please help.
Thanks!
Susan

  1. //datepicker
    var natDays = [
        [1, 1, 'New Year'], //2014
        [1, 20, 'Martin Luther King'], //2014
        [2, 17, 'Washingtons Birthday'], //2014       
        [5, 26, 'Memorial Day'], //2014
        [7, 4, 'Independence Day'], //2014
        [9, 1, 'Labour Day'], //2014
        [10, 14, 'Columbus Day'], //2013
        [11, 11, 'Veterans Day'], //2013
        [11, 28, 'Thanksgiving Day'], //2013 
        [12, 25, 'Christmas'] //2013     
        ];

    // dateMin is the minimum delivery date
    var dateMin = new Date();
    dateMin.setDate(dateMin.getDate() + (dateMin.getHours() >= 14 ? 1 : 0));

    function AddBusinessDays(curdate, weekDaysToAdd) {
        var offset = (weekDaysToAdd > 0 ? +1 : -1);
        weekDaysToAdd = Math.abs(weekDaysToAdd);
        var date = new Date(curdate.getTime());
        while (weekDaysToAdd > 0) {
            date.setDate(date.getDate() + offset);
            //check if current day is business day
            if (noWeekendsOrHolidays(date)) {
                weekDaysToAdd--;
            }
        }
        return date;
    }

    function noWeekendsOrHolidays(date) {
        var noWeekend = $.datepicker.noWeekends(date);
        return (noWeekend[0] ? nationalDays(date) : noWeekend);
    }

    function nationalDays(date) {
        for (i = 0; i natDays.length; i++) {
            if (date.getMonth() =natDays[i][0] && date.getDate() =natDays[i][1]) {
                return [false, natDays[i][2] '_day'];
            }
        }
        return [true, ''];
    }

    function setDeliveryDate(date) {
        $('#delivery-date').text($.datepicker.formatDate('DD, MM d, yy'date));
        $('#datepicker3').text($.datepicker.formatDate('DD, MM d, yy',
            AddBusinessDays(date, -1)));
        $('#datepicker2').text($.datepicker.formatDate('DD, MM d, yy',
            AddBusinessDays(date, -2)));
    }

    setDeliveryDate(AddBusinessDays(dateMin, 4));

    $.datepicker.setDefaults({
        beforeShowDay: noWeekendsOrHolidays,
        showOn: 'both',
        firstDay: 0,
        dateFormat: 'mm/dd/yy',
        changeFirstDay: false,
        showButtonPanel: true
    });
    /use datepicker to choose different delivery date    
        $('#datepicker').datepicker({
        minDate: AddBusinessDays(dateMin, 4),
        onSelect: function(datestring) {
            setDeliveryDate($(this).datepicker('getDate'));
        }
    });