jurvrn,
было
for(var i = 1; i <= Dlast; i++) {
if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth())
станет
for(var i = 1; i <= Dlast; i++) {
var time = new Date();time.setTimezoneOffset(-180);
if (i == time.getDate() && D.getFullYear() == time.getFullYear() && D.getMonth() == time.getMonth())
и так везде где есть new Date()