рони,
Как обычно коротко, но можно голову сломать пока поймёшь, как работает. Кстати, в коде (5 != c || d ? b[c] : 0) непонятно, зачем часы с 5 сравнивать, нужно ведь учитывать время в пятницу от 0 до 1 ночи. Все эти a,b,c трудно читаются. Доработал свой говнокод, получилось так:
var today = new Date();
var currentDay = today.getDay();
var currentHours = today.getHours();
var timeToEndAction;
var arr=[5,4,3,2,1,7,6];
timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate()+( (currentDay === 5 && currentHours < 1 ) ? 0 : arr[currentDay] ))).setHours(1)).setMinutes(0)).setSeconds(0);
$('#countdown').timeTo( {
timeTo: new Date(timeToEndAction),
displayDays: 2
} );