рони,
я вот смотрю на твой код..и он кажется таким простым и гениальным.
если б не одно но: я половину не понимаю)
особенно вот эти 2 момента:
arr = [].map.call( days, function(sel) {
return +sel.value
});
(!!~arr.indexOf(today.getDay()))
не мог бы объяснить, пожалуйста?
а своими силами я написал вот такой трэш:
var today = new Date();
var futureDay = new Date(2016, 1, 21);
var oneDay=1000*3600*24;
var sum=0;
var test =today;
var days = (futureDay - today)/oneDay;
function go(){
sum=0;
var mon, tue, wed, thu, fri, sat, sund;
if (checkMon.checked){
mon=1;
};
if (checkTue.checked){
tue=2;
};
if (checkWed.checked){
wed=3;
};
if (checkThu.checked){
thu=4;
};
if (checkFri.checked){
fri=5;
};
if (checkSat.checked){
sat=6;
};
if (checkSund.checked){
sund=0;
};
for (i=0; i<days; i++) {
if (test.getDay()==sund || test.getDay()==mon || test.getDay()==tue || test.getDay()==wed || test.getDay()==thu || test.getDay()==fri || test.getDay()==sat){
sum+=1
};
test.setDate(test.getDate()+1);
};
alert(sum);
}