defaultZone = 1000 * 60 * 60 * -7;
function defaultTZ(t) {
    if (!t) t = new Date();
    t.setTime(getTZTime(t));
    return t;
}
function getTZTime(t) {
    var localOffset = t.getTimezoneOffset() * 60 * 1000;
    var utc = t.getTime() + localOffset;
    return utc + defaultZone;
}

function getMidnight() {
    var midnight = new Date();
    midnight.setTime(midnight.getTime() + 1000*60*60*24);
    midnight.setHours(0);
    midnight.setMinutes(0);
    midnight.setSeconds(0);
    midnight.setMilliseconds(0);
    defaultTZ(midnight);
    return midnight;
}