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 centralOffset = -5;

    //define holidays with begin and end moment in an array [[$start1, $end1],[$start2, $end2], ...]
    var $holidays = [
        [moment("2015-05-01 18:00:00").utcOffset(centralOffset),
         moment("2015-05-03 08:00:00").utcOffset(centralOffset)],
        [moment("2015-05-12 18:00:00").utcOffset(centralOffset),
         moment("2015-05-26 08:00:00").utcOffset(centralOffset)]];
    
    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);

    //check if we are in holiday
    var $inHoliday = false;
    //go through all the holidays
    for (var $x = 0; $x < $holidays.length; $x++) {
        if ($now.isBetween($holidays[$x][0], $holidays[$x][1])) {
            $inHoliday = true;
        }
    }
    if ( $inHoliday || !$now.isBetween($start, $end) ) {
        $btn.html('Email us');
    } else {
        $btn.html('Call us');
    }

});