time button

by social_quotient

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js"></script>
<button type="button" class="btn btn-info" id="contact-us">Info</button>

JavaScript

//email us at 6pm central and then back to call us at 8am

jQuery(document).ready(function () {
    var $btn = $('#contact-us');
    var holidays = [
        [2015, 4, 4],
        [2016, 0, 1]
    ];
    var centralOffset = -5;
    var $now = moment().utcOffset(centralOffset);
    // today 08:00:00
    var $start = moment().utcOffset(centralOffset).hours(8).minutes(0).seconds(0);
    // today 18:00:00
    var $end = moment().utcOffset(centralOffset).hours(18).minutes(0).seconds(0);

    //console.log("$now = %o", $now);
    //console.log("$start = %o", $start);
    //console.log("$end = %o", $end);

    if ($now.isBetween($start, $end) && !isHoliday($now)) {
        $btn.html('Call us');
    } else {
        $btn.html('Email us');
    }

    function isHoliday($n) {
        var ret = false;
        $.each(holidays, function () {
            if ($n.format("L") == moment(this).utcOffset(centralOffset).format("L")) {
                ret = true;
                return true;
            }
        });
        return ret;
       
    }

});