﻿
function validateDeliveryDate( deliveryDate, y, m, d )
{
    if( blockedDates )
    {
        for( var i = 0; i < blockedDates.length; i++ )        
        {
            var dateParts = blockedDates[i].split("/");
                        
            if( deliveryDate.getDate() == parseInt(dateParts[0], 10)
                && deliveryDate.getMonth() == parseInt(dateParts[1], 10) - 1
                && deliveryDate.getFullYear() == parseInt(dateParts[2], 10) )
                return true;      
        }
    }

    var myDate = new Date();
    myDate.setDate(myDate.getDate());

    if (deliveryDate < myDate)
        return true;

    if (deliveryDate.getDay() == 0)
        return true;

    if (deliveryDate.getDay() == 6) {
        myDate.setDate(myDate.getDate() + 1);
        if (deliveryDate < myDate)
            return true;
    }
       
    return false;
}

function earliestTime() {

    debugger;
    var date = new Date();
    date.setDate(date.getDate() + 1);
    
    if (date.getDay() == 0) {
        date.setDate(date.getDate() + 1);
    }

    if (date.getDay() == 6) {
        date.setDate(date.getDate() + 2);
    }
    
    var blocked = true;
    while (blocked == true){
        blocked = CheckBlocked(date);
      if (blocked == true) {
          date.setDate(date.getDate() + 1);
      }
    }

    var curr_date = date.getDate();
    var curr_month = date.getMonth() + 1;
    var curr_year = date.getFullYear();

    var curr_month_string = null;
    var curr_date_string = null;
    
    if (curr_month < 10) {
        curr_month_string = "0" + curr_month.toString();
    }
    else {
        curr_month_string = curr_month.toString();
    }

    if (curr_date < 10) {
        curr_date_string = "0" + curr_date.toString();
    }
    else {
        curr_date_string = curr_date.toString();
    }

    var closestDate = curr_date_string + "/" + curr_month_string + "/" + curr_year;
    
    return closestDate;

}

function CheckBlocked(date) {

    for (var i = 0; i < blockedDates.length; i++) {
        var dateParts = blockedDates[i].split("/");

        if (date.getDate() == parseInt(dateParts[0], 10)
                && date.getMonth() == parseInt(dateParts[1], 10) - 1
                && date.getFullYear() == parseInt(dateParts[2], 10))
            return true;
    }
    
    return false;
}