Или можно задать дату конкретным числом с минутами-секундами :
var d=new Date(2012,04,04,15,15,0);
var today=new Date();
var dRest=Math.floor((d.getTime()-today.getTime())/(1000*60*60*24))
где dRest - количество оставшихся дней. Если надо уберете из знаменателя лишнее (1000*60*60*24) получите оставшиеся минуты, часы и т.п. А дальше функцию обратного счета нужно сделать...