var attendanceDatesToSend=[[1,17,2024].join("^@^"),[1,18,2024].join("^@^"),[9,9,2023].join("^@^"),[2,5,2024].join("^@^")].join("*,^");
function getCalendar(dropDownName,id){
var calendar='';
var namesOfDays=['So','Mo','Tu','We','Th','Fr','Sa'];
var monthName=["Janurary","February","March","April","May","June","July","August","September","October","November","December"];
var date=new Date();
var monthNumber=date.getMonth();
let todaysYear=date.getFullYear();
let todaysMonth=date.getMonth()+1;
let todaysDay=date.getDate();
if(todaysMonth<10){
todaysMonth="0"+todaysMonth;}
if(todaysDay<10){
todaysDay="0"+todaysDay;}
let todaysDateOnCalendar=todaysYear+"-"+todaysMonth+"-"+todaysDay;
calendar="<div style='margin-bottom:5px;overflow:auto;'><input type='date' id=\"selectedCalendarDate"+id+"\"value='"+todaysDateOnCalendar+"' onchange='updateCalendar(\""+id+"\")' style='padding:10px 10px;border:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;margin-bottom:10px;'><div style='clear:left'></div></div>";
calendar=calendar+"<div id='calendar"+id+"'>";
for(var i=0;i<7;i++){
calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:gray;color:white;text-align:center;'>"+namesOfDays[i]+"</div>";}
var d = new Date("Janurary 1, 2024");
var timeInMillis = d.getTime();
var day="";
var updatedDate;
updatedDate=new Date(timeInMillis);
for(var week=0;week<6;week++){
calendar=calendar+"<div style='clear:left'></div>";
for(var day=0;day<7;day++){
if(updatedDate.getDay()==day&&updatedDate.getMonth()==monthNumber){
if(day==3||day==5){calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:lightgreen;color:black;text-align:center;'>"+updatedDate.getDate()+"</div>";}else{
calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:whitesmoke;color:black;text-align:center;'>"+updatedDate.getDate()+"</div>";}
timeInMillis=timeInMillis+1000*60*60*24;
updatedDate=new Date(timeInMillis);}else{
calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:whitesmoke;color:black;text-align:center;'>"+" </div>";
}
}
}
calendar=calendar+"</div>";
return "<h3 style='background-color:#00C0FF;color:white;margin-left:10px;padding:5px 5px;cursor:pointer;' onclick=javascript:toggle(\'"+id+"\')>"+dropDownName+"</h3><div id='"+id+"' style='display:none;margin-left:10px;margin-bottom:10px;overflow:auto;'>"+calendar+"</div>";
}
function addTodaysDate(id){
let attendanceDates=localStorage[id].split("*,^");
let date=new Date();
let todaysYear=date.getFullYear();
let todaysMonth=date.getMonth()+1;
let todaysDay=date.getDate();
let lastDate;
try{lastDate=attendanceDates[attendanceDates.length-1].split("^@^");
}catch(err){
attendanceDates=[];
attendanceDates[attendanceDates.length]=[todaysMonth,todaysDay,todaysYear].join("^@^");
sendDataToGoogleSheets([[[3,indexArrayIndex,1].join("^,^"),attendanceDates.join("*,^")].join("*.^")],googleSheetsPortalScriptLMS);
}
if(todaysYear==lastDate[2]&&todaysMonth==lastDate[0]&&todaysDay==lastDate[1]){
updateCalendar(id);}else{
attendanceDates[attendanceDates.length]=[todaysMonth,todaysDay,todaysYear].join("^@^");
sendDataToGoogleSheets([[[3,indexArrayIndex,1].join("^,^"),attendanceDates.join("*,^")].join("*.^")],googleSheetsPortalScriptLMS);
}
if(todaysMonth<10){
todaysMonth="0"+todaysMonth;}
if(todaysDay<10){
todaysDay="0"+todaysDay;}
let todaysDateOnCalendar=todaysYear+"-"+todaysMonth+"-"+todaysDay;
}
function updateCalendar(id){
var namesOfDays=['So','Mo','Tu','We','Th','Fr','Sa'];
var monthName=["Janurary","February","March","April","May","June","July","August","September","October","November","December"];
var calendar='';
var selectedDate = new Date(document.getElementById('selectedCalendarDate'+id).value+"T00:00:00");
var dateForCalendar=new Date(monthName[selectedDate.getMonth()]+", 1 "+selectedDate.getFullYear());
var monthNumber=dateForCalendar.getMonth();
for(var i=0;i<7;i++){
calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:gray;color:white;text-align:center;'>"+namesOfDays[i]+"</div>";}
var timeInMillis = dateForCalendar.getTime();
var day="";
var updatedDate;
updatedDate=new Date(timeInMillis);
for(var week=0;week<6;week++){
calendar=calendar+"<div style='clear:left'></div>";
for(var day=0;day<7;day++){
if(updatedDate.getDay()==day&&updatedDate.getMonth()==monthNumber){
let correctDayColor="<div style='float:left;width:4vw;padding:10px 10px;background-color:whitesmoke;color:black;text-align:center;'>"+updatedDate.getDate()+"</div>";
let attendanceDates=localStorage[id].split("*,^");
for(let k=0;k<attendanceDates.length;k++){
let attendanceDateAsArray=attendanceDates[k].split("^@^");
if(attendanceDateAsArray[2]==updatedDate.getFullYear()){
//correct month
if(attendanceDateAsArray[0]==(1+updatedDate.getMonth())){
//correct day
if(attendanceDateAsArray[1]==(updatedDate.getDate())){
correctDayColor="<div style='float:left;width:4vw;padding:10px 10px;background-color:lightgreen;color:black;text-align:center;'>"+updatedDate.getDate()+"</div>";
}
}
}
}
calendar=calendar+correctDayColor;
timeInMillis=timeInMillis+1000*60*60*24;
updatedDate=new Date(timeInMillis);
if(updatedDate.getDay()==day){
timeInMillis=timeInMillis+1000*60*60*24;
updatedDate=new Date(timeInMillis);
}
}else{
calendar=calendar+"<div style='float:left;width:4vw;padding:10px 10px;background-color:orange;color:black;text-align:center;'>"+" </div>";
}
}
}
document.getElementById("calendar"+id).innerHTML=calendar;
}