calenstyle
Version:
CalenStyle is a Responsive Drag-and-Drop Event Calendar for Web, iOS, Android & Windows. CalenStyle is customizable plugin having multiple, clean-designed event calendar templates specially designed for web & mobile applications.
2,077 lines (1,844 loc) • 53.7 kB
JavaScript
var bShowMore = true;
var iUnitTimeIntervalCJG = 20;
var iMS = { m: 6E4, h: 36E5, d: 864E5, w: 6048E5 };
var sDateTimeSeparatorCJG = " ";
var sDateSeparatorCJG = "-";
var sTimeSeparatorCJG = ":";
var sHourFormatCJG = "24-Hour";
var sArrTimeCJG;
var sArrEventCalendarCJG;
var sURLCJG = ""; //"http://www.google.com/";
var sDescCJG = "";
var sArrDayNameShort = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var sArrDayNameFull = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var sArrTags = ["Tag1", "Tag2", "Tag3"];
var sArrUsers = ["Person1", "Person2", "Person3"];
var iArrTimeDurations = [10, 20, 30, 60];
var dToday = new Date();
/* ---------------------------- Event Prototype Start ------------------------------------------ */
function CalEvent(ceIdentifier, ceAllDay, ceStartDate, ceEndDate, ceType, ceTitle, ceDescription, ceUrl)
{
this.id = ceIdentifier;
this.isAllDay = ceAllDay;
this.start = ceStartDate;
this.end = ceEndDate;
this.type = ceType;
this.title = ceTitle;
this.desc = ceDescription;
this.url = ceUrl;
}
CalEvent.prototype = {
constructor : CalEvent
};
/* ---------------------------- Event Prototype End -------------------------------------------- */
Array.prototype.random = function (length)
{
return this[Math.floor((Math.random() * length))];
};
/* ---------------------------- Event Json Generation Start --------------------------------- */
function getEventCalendarsArray()
{
var sArrEventCalendar = [];
sArrEventCalendar = ["Fitness", "Birthday", "Personal", "Entertainment", "Work"];
return sArrEventCalendar;
}
sArrEventCalendarCJG = getEventCalendarsArray();
function getEventCalendarColors(sEventCalendar)
{
var sEventCalendarColor = "";
if(sEventCalendar === "Fitness")
{
sEventCalendarColor = "16A085";
}
else if(sEventCalendar === "Birthday")
{
sEventCalendarColor = "D35400";
}
else if(sEventCalendar === "Personal")
{
sEventCalendarColor = "D2527F";
}
else if(sEventCalendar === "Entertainment")
{
sEventCalendarColor = "3498DB";
}
else if(sEventCalendar === "Work")
{
sEventCalendarColor = "8E44AD";
}
return sEventCalendarColor;
}
function getDaysArray(iNumberOfDays)
{
var sArrDays = [];
for(var iDay = 1; iDay <= iNumberOfDays; iDay++)
{
var sDay = "";
if(iDay > 9)
sDay = iDay;
else
sDay = "0" + iDay;
sArrDays.push(sDay);
}
return sArrDays;
}
function getTimeArray(sHourFormatCJG, sTimeSeparatorCJG)
{
var sArrTimeCJG = [];
var iMaxHour;
if(sHourFormatCJG === "24-Hour")
iMaxHour = 24;
else if(sHourFormatCJG === "12-Hour")
iMaxHour = 12;
for(var iHour = 0; iHour < 24; iHour++)
{
var sTime1, sTime2;
if(iHour < 10)
{
sTime1 = "0" + iHour + sTimeSeparatorCJG + "00";
sTime2 = "0" + iHour + sTimeSeparatorCJG + "30";
}
else
{
sTime1 = iHour + sTimeSeparatorCJG + "00";
sTime2 = iHour + sTimeSeparatorCJG + "30";
}
if(iMaxHour === 12)
{
if(iHour < 12)
{
sTime1 += " AM";
sTime2 += " AM";
}
else
{
sTime1 += " PM";
sTime2 += " PM";
}
}
sArrTimeCJG.push(sTime1);
sArrTimeCJG.push(sTime2);
}
return sArrTimeCJG;
}
sArrTimeCJG = getTimeArray("24-Hour", sTimeSeparatorCJG);
function getTimeString(sHourFormatCJG, sTimeSeparatorCJG, iHourValue, iMinuteValue)
{
var sTimeString = "";
if(sHourFormatCJG === "12-Hour")
{
if(iHourValue > 12)
iHourValue -= 12;
}
if(iHourValue > 9)
sTimeString = iHourValue + sTimeSeparatorCJG + iMinuteValue;
else
sTimeString = "0" + iHourValue + sTimeSeparatorCJG + iMinuteValue;
if(sHourFormatCJG === "12-Hour")
{
if(iHourValue < 12)
sTimeString += " AM";
else
sTimeString += " PM";
}
return sTimeString;
}
function compareDates(dTempDate1, dTempDate2)
{
dTempDate1 = new Date(dTempDate1.getFullYear(), dTempDate1.getMonth(), dTempDate1.getDate(), 0, 0, 0, 0);
dTempDate2 = new Date(dTempDate2.getFullYear(), dTempDate2.getMonth(), dTempDate2.getDate(), 0, 0, 0, 0);
var iDateDiff = Math.floor((dTempDate1.getTime() - dTempDate2.getTime())/iMS.d);
return (iDateDiff === 0) ? iDateDiff: (iDateDiff/Math.abs(iDateDiff));
}
function compareDateTimes(dTempDate1, dTempDate2)
{
var iDateTimeDiff = (dTempDate1.getTime() - dTempDate2.getTime())/iMS.m;
return (iDateTimeDiff === 0) ? iDateTimeDiff: (iDateTimeDiff/Math.abs(iDateTimeDiff));
}
var oEventsTemplate =
[
//--------------------------------- Birthdays ------------------------------------------------------
{
"type": "Birthday",
"date": 15,
"month": 0,
"title": "Ted's Birthday",
"tagIndex": 1
},
{
"type": "Birthday",
"date": 23,
"month": 0,
"title": "Remi's Birthday",
"tagIndex": 2
},
{
"type": "Birthday",
"date": 2,
"month": 1,
"title": "Mili's Birthday",
"tagIndex": 3
},
{
"type": "Birthday",
"date": 17,
"month": 1,
"title": "Alice's Birthday",
"tagIndex": 4
},
{
"type": "Birthday",
"date": 12,
"month": 2,
"title": "Saara's Birthday",
"tagIndex": 5
},
{
"type": "Birthday",
"date": 30,
"month": 2,
"title": "Jack's Birthday",
"tagIndex": 6
},
{
"type": "Birthday",
"date": 7,
"month": 3,
"title": "Meet's Birthday",
"tagIndex": 7
},
{
"type": "Birthday",
"date": 19,
"month": 3,
"title": "Stuart's Birthday",
"tagIndex": 8
},
{
"type": "Birthday",
"date": 6,
"month": 4,
"title": "Ana's Birthday",
"tagIndex": 9
},
{
"type": "Birthday",
"date": 25,
"month": 4,
"title": "Paulin's Birthday",
"tagIndex": 10
},
{
"type": "Birthday",
"date": 8,
"month": 5,
"title": "Matt's Birthday",
"tagIndex": 11
},
{
"type": "Birthday",
"date": 23,
"month": 5,
"title": "Purva's Birthday",
"tagIndex": 12
},
{
"type": "Birthday",
"date": 6,
"month": 6,
"title": "Penny's Birthday",
"tagIndex": 13
},
{
"type": "Birthday",
"date": 17,
"month": 6,
"title": "Sam's Birthday",
"tagIndex": 14
},
{
"type": "Birthday",
"date": 2,
"month": 7,
"title": "Mac's Birthday",
"tagIndex": 15
},
{
"type": "Birthday",
"date": 26,
"month": 7,
"title": "Sandra's Birthday",
"tagIndex": 16
},
{
"type": "Birthday",
"date": 3,
"month": 8,
"title": "Nia's Birthday",
"tagIndex": 17
},
{
"type": "Birthday",
"date": 13,
"month": 8,
"title": "Merlin's Birthday",
"tagIndex": 18
},
{
"type": "Birthday",
"date": 31,
"month": 9,
"title": "Kelly's Birthday",
"tagIndex": 19
},
{
"type": "Birthday",
"date": 14,
"month": 9,
"title": "Phil's Birthday",
"tagIndex": 20
},
{
"type": "Birthday",
"date": 4,
"month": 10,
"title": "Dinky's Birthday",
"tagIndex": 21
},
{
"type": "Birthday",
"date": 21,
"month": 10,
"title": "Gary's Birthday",
"tagIndex": 22
},
{
"type": "Birthday",
"date": 7,
"month": 11,
"title": "Liley's Birthday",
"tagIndex": 23
},
{
"type": "Birthday",
"date": 29,
"month": 11,
"title": "Diana's Birthday",
"tagIndex": 24
},
//-------------------------------- Exercise -----------------------------------------
{
"type": "Cycling",
"title": "Cycling",
"day": ["Monday", "Wednesday", "Friday"],
"startTime": 6,
"endTime": 7,
"tagIndex": 25
},
{
"type": "Running",
"title": "Running",
"day": ["Tuesday", "Thursday"],
"startTime": 6,
"endTime": 7,
"tagIndex": 26
},
{
"type": "Swimming",
"title": "Swimming",
"day": ["Saturday"],
"startTime": 6,
"endTime": 7,
"tagIndex": 25
},
{
"type": "Gym",
"title": "Gym",
"day": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"startTime": 12,
"endTime": 13,
"tagIndex": 25
},
{
"type": "Hiking",
"title": "Hiking",
"day": ["Saturday"],
"startTime": 17,
"endTime": 15,
"tagIndex": 26
},
{
"type": "Movie",
"title": "Movie",
"day": ["Sunday"],
"startTime": 18,
"endTime": 20,
"tagIndex": 25
},
{
"type": "RegularMeeting",
"title": "Meeting",
"day": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"startTime": 11,
"endTime": 12,
"tagIndex": 26
},
{
"type": "ClientCall",
"title": "Client Call",
"day": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"startTime": 14,
"endTime": 15,
"tagIndex": 26
},
{
"type": "RegularDinner",
"title": "Dinner",
"day": ["Sunday"],
"startTime": 21,
"endTime": 22,
"tagIndex": 26
},
//---------------------------------- Coffee --------------------------------------------
{
"type": "Coffee",
"date": 3,
"month": 0,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Victor",
"people": ["Victor"],
"tagIndex": 1
},
{
"type": "Coffee",
"date": 26,
"month": 1,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Merlin",
"people": ["Merlin"],
"tagIndex": 3
},
{
"type": "Coffee",
"date": 16,
"month": 2,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Kelvin",
"people": ["Kelvin"],
"tagIndex": 5
},
{
"type": "Coffee",
"date": 24,
"month": 3,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Roger",
"people": ["Roger"],
"tagIndex": 7
},
{
"type": "Coffee",
"date": 9,
"month": 4,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Agnes",
"people": ["Agnes"],
"tagIndex": 9
},
{
"type": "Coffee",
"date": 22,
"month": 5,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Celine",
"people": ["Celine"],
"tagIndex": 11
},
{
"type": "Coffee",
"date": 9,
"month": 6,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Dora",
"people": ["Dora"],
"tagIndex": 13
},
{
"type": "Coffee",
"date": 20,
"month": 7,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Arnold",
"people": ["Arnold"],
"tagIndex": 15
},
{
"type": "Coffee",
"date": 16,
"month": 8,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Edwin",
"people": ["Edwin"],
"tagIndex": 17
},
{
"type": "Coffee",
"date": 19,
"month": 9,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Felicia",
"people": ["Felicia"],
"tagIndex": 19
},
{
"type": "Coffee",
"date": 14,
"month": 10,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Jennifer",
"people": ["Jennifer"],
"tagIndex": 21
},
{
"type": "Coffee",
"date": 23,
"month": 11,
"startTime": 17,
"endTime": 18,
"title": "Coffee with Warren",
"people": ["Warren"],
"tagIndex": 23
},
//--------------------------------- Lunch ----------------------------------------
{
"type": "Lunch",
"date": 27,
"month": 0,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Victor",
"people": ["Victor"],
"tagIndex": 2
},
{
"type": "Lunch",
"date": 2,
"month": 1,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Merlin",
"people": ["Merlin"],
"tagIndex": 4
},
{
"type": "Lunch",
"date": 5,
"month": 2,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Kelvin",
"people": ["Kelvin"],
"tagIndex": 6
},
{
"type": "Lunch",
"date": 25,
"month": 3,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Roger",
"people": ["Roger"],
"tagIndex": 8
},
{
"type": "Lunch",
"date": 23,
"month": 4,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Agnes",
"people": ["Agnes"],
"tagIndex": 10
},
{
"type": "Lunch",
"date": 7,
"month": 5,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Celine",
"people": ["Celine"],
"tagIndex": 12
},
{
"type": "Lunch",
"date": 21,
"month": 6,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Dora",
"people": ["Dora"],
"tagIndex": 14
},
{
"type": "Lunch",
"date": 10,
"month": 7,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Arnold",
"people": ["Arnold"],
"tagIndex": 16
},
{
"type": "Lunch",
"date": 20,
"month": 8,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Edwin",
"people": ["Edwin"],
"tagIndex": 18
},
{
"type": "Lunch",
"date": 14,
"month": 9,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Felicia",
"people": ["Felicia"],
"tagIndex": 20
},
{
"type": "Lunch",
"date": 17,
"month": 10,
"startTime": 12,
"endTime": 13,
"title": "Lunch with Jennifer",
"people": ["Jennifer"],
"tagIndex": 22
},
{
"type": "Lunch",
"date": 13,
"month": 11,
"startTime": 13,
"endTime": 14,
"title": "Lunch with Warren",
"people": ["Warren"],
"tagIndex": 24
},
//------------------------------ Dinner ---------------------------------------------
{
"type": "Dinner",
"date": 15,
"month": 0,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Kelvin",
"people": ["Kelvin"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 23,
"month": 1,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Roger",
"people": ["Roger"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 21,
"month": 2,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Victor",
"people": ["Victor"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 20,
"month": 3,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Merlin",
"people": ["Merlin"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 2,
"month": 4,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Dora",
"people": ["Dora"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 16,
"month": 5,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Arnold",
"people": ["Arnold"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 26,
"month": 6,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Agnes",
"people": ["Agnes"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 17,
"month": 7,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Celine",
"people": ["Celine"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 12,
"month": 8,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Jennifer",
"people": ["Jennifer"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 14,
"month": 9,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Matt",
"people": ["Warren"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 3,
"month": 10,
"startTime": 21,
"endTime": 22,
"title": "Dinner with Edwin",
"people": ["Edwin"],
"tagIndex": 25
},
{
"type": "Dinner",
"date": 18,
"month": 11,
"startTime": 22,
"endTime": 23,
"title": "Dinner with Felicia",
"people": ["Felicia"],
"tagIndex": 25
},
//------------------------------ Meeting with Colleagues ------------------------------------------
{
"type": "Meeting",
"date": 31,
"month": 0,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 28,
"month": 1,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 2,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Edwin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 30,
"month": 3,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Victor"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 4,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Edwin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 30,
"month": 5,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Victor"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 6,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Edwin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 7,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Victor"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 30,
"month": 8,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Edwin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 9,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Victor"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 30,
"month": 10,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Edwin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 31,
"month": 11,
"startTime": 10,
"endTime": 12,
"title": "Meeting with Colleagues",
"people": ["Merlin", "Agnes", "Dora", "Victor"],
"tagIndex": 26
},
//------------------------------- Meeting ---------------------------------------
{
"type": "Meeting",
"date": 5,
"month": 0,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Sam",
"people": ["Sam"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 6,
"month": 1,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Kelvin",
"people": ["Kelvin"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 7,
"month": 3,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Matt",
"people": ["Matt"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 8,
"month": 4,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Sandra",
"people": ["Sandra"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 9,
"month": 5,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Celine",
"people": ["Celine"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 11,
"month": 6,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Donna",
"people": ["Donna"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 12,
"month": 7,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Arnold",
"people": ["Arnold"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 13,
"month": 8,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Richard",
"people": ["Richard"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 14,
"month": 9,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Ana",
"people": ["Ana"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 15,
"month": 10,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Jennifer",
"people": ["Jennifer"],
"tagIndex": 26
},
{
"type": "Meeting",
"date": 14,
"month": 11,
"startTime": 17,
"endTime": 18,
"title": "Meeting with Scott",
"people": ["Scott"],
"tagIndex": 26
}
//---------------------------------------------------------------------------------------
];
function generateJsonEvents(dFromDate, dToDate)
{
var iMaxIdentifier = 0,
iEventsIndex = 1,
oArrJson = [],
sStatus = "";
iTimeDiff = dToDate.getTime() - dFromDate.getTime(),
iNumOfDays = Math.floor(iTimeDiff / iMS.d) + 1,
iFromDate = dFromDate.getDate(),
iFromMonth = dFromDate.getMonth(),
iFromYear = dFromDate.getFullYear(),
iToDate = dToDate.getDate(),
iToMonth = dToDate.getMonth(),
iToYear = dToDate.getFullYear(),
iEventCount = 0,
iArrMonths = [];
if(iFromYear === iToYear && iFromMonth === iToMonth)
{
iArrMonths.push([iFromMonth, iFromYear]);
}
else
{
for(var iYearIndex = iFromYear; iYearIndex <= iToYear; iYearIndex++)
{
var iNumOfMonths, iStartMonth, iEndMonth;
if(iFromYear === iToYear)
{
iNumOfMonths = iToMonth - iFromMonth;
iStartMonth = iFromMonth;
iEndMonth = iToMonth;
}
else if(iYearIndex === iFromYear)
{
iNumOfMonths = 12 - iFromMonth;
iStartMonth = iFromMonth;
iEndMonth = 11;
}
else if(iYearIndex === iToYear)
{
iNumOfMonths = iToMonth;
iStartMonth = 0;
iEndMonth = iToMonth;
}
else
{
iNumOfMonths = 12;
iStartMonth = 0;
iEndMonth = 11;
}
for(var iMonthIndex = iStartMonth; iMonthIndex <= iEndMonth; iMonthIndex++)
{
iArrMonths.push([iMonthIndex, iYearIndex]);
}
}
}
var sIdentifier = iMaxIdentifier + iEventsIndex;
var iTempIndex, iTempIndex1, iTempIndex2,
dStartDateTime, dEndDateTime,
thisObject, sDesc;
for(iTempIndex = 0; iTempIndex < oEventsTemplate.length; iTempIndex++)
{
var oEvent = oEventsTemplate[iTempIndex],
bWeeklyEvents = (oEvent.type === "Swimming" ||
oEvent.type === "Running" ||
oEvent.type === "Cycling" ||
oEvent.type === "Movie" ||
oEvent.type === "Hiking" ||
oEvent.type === "Gym" ||
oEvent.type === "RegularMeeting" ||
oEvent.type === "ClientCall" ||
oEvent.type === "RegularDinner"
);
if(bWeeklyEvents)
{
var dTempDate = new Date(dFromDate),
iTempDate = dTempDate.getTime();
iEventCount = 0;
for(iTempIndex1 = 0; iTempIndex1 < iNumOfDays; iTempIndex1++)
{
var sTempDay = sArrDayNameFull[dTempDate.getDay()],
oArrDays = oEvent.day;
for(iTempIndex2 = 0; iTempIndex2 < oArrDays.length; iTempIndex2++)
{
iEventCount++;
var sDay = oArrDays[iTempIndex2],
bMovie = (oEvent.type === "Movie") ? true : false,
bValidate = bMovie ? (sDay === sTempDay && dTempDate.getDate() >= 21 && dTempDate.getDate() <= 31) : (sDay === sTempDay);
if(bShowMore || oEvent.type === "Cycling" || ((oEvent.type === "RegularMeeting" || oEvent.type === "ClientCall") && dTempDate.getMonth() === 9 && dTempDate.getDate() === 14) || iEventCount % 4 === 0) //Comment To See More Events
{
if(bValidate)
{
dStartDateTime = new Date(dTempDate);
dStartDateTime.setHours(oEvent.startTime);
dStartDateTime.setMinutes(0);
dStartDateTime.setSeconds(0);
dEndDateTime = new Date(dTempDate);
if(oEvent.type === "Hiking")
{
dEndDateTime.setHours(oEvent.startTime + 92);
dEndDateTime.setMinutes(0);
}
else if(oEvent.type === "Gym")
{
dStartDateTime.setMinutes(30);
dEndDateTime.setHours(oEvent.endTime);
dEndDateTime.setMinutes(30);
}
else
{
if(oEvent.type === "Running")
{
dEndDateTime.setHours(oEvent.startTime);
dEndDateTime.setMinutes(30);
}
else
{
dEndDateTime.setHours(oEvent.endTime);
dEndDateTime.setMinutes(0);
}
}
dEndDateTime.setSeconds(0);
sDesc = oEvent.title + " is of \n type " + oEvent.type;
//sDesc = sDesc.replace(/(\r\n|\n|\r)/gm,"<br>");
var thisObject = new CalEvent(sIdentifier, false, dStartDateTime.getTime(), dEndDateTime.getTime(), oEvent.type, oEvent.title, sDesc, sURLCJG);
if(oEvent.type === "Swimming" || oEvent.type === "Running" || oEvent.type === "Cycling" || oEvent.type === "Gym")
{
thisObject.calendarId = "Fitness";
}
else if(oEvent.type === "Movie" || oEvent.type === "Hiking")
{
thisObject.calendarId = "Entertainment";
}
else if(oEvent.type === "RegularMeeting" || oEvent.type === "ClientCall")
{
thisObject.calendarId = "Work";
}
else if(oEvent.type === "RegularDinner")
{
thisObject.calendarId = "Personal";
}
//CapeHoney AliceBlue Madang
if(oEvent.type === "Running")
{
if(sDay === "Tuesday")
thisObject.droppableId = "Madang";
}
else if(oEvent.type === "Cycling")
{
if(sDay === "Friday")
thisObject.droppableId = "AliceBlue,Madang";
}
else if(oEvent.type === "Movie")
{
thisObject.droppableId = "CapeHoney,AliceBlue";
}
var sIconName = "cs-icon-" + oEvent.type;
if(oEvent.type === "RegularMeeting")
sIconName = ""; // "cs-icon-Meeting";
else if(oEvent.type === "ClientCall")
sIconName = "cs-icon-Call";
else if(oEvent.type === "RegularDinner")
sIconName = "cs-icon-Dinner";
//thisObject.backgroundColor = getEventCalendarColors(thisObject.calendarId);
thisObject.singleColor = getEventCalendarColors(thisObject.calendarId);
thisObject.title = oEvent.title;
thisObject.tag = "Personal";
thisObject.icon = sIconName;
thisObject.tagIndex = oEvent.tagIndex;
if(oEvent.type === "Swimming")
{
thisObject.isResizeInDetailView = false;
thisObject.isDragNDropInDetailView = false;
}
if(dStartDateTime.getMonth() !== 7)
{
if(iEventCount % 3 === 0)
thisObject.status = "Overdue";
else if(iEventCount % 3 === 1)
thisObject.status = "Completed";
else if(iEventCount % 3 === 2)
thisObject.status = "InProgress";
}
sStatus += thisObject.status + " ";
//if(oEvent.type === "Hiking")
// thisObject.isMarked = true;
//thisObject.backgroundColor = "FF66FF";
//thisObject["location"] = "Mumbai";
//thisObject["popovertitle"] = "this popover title";
//thisObject["popovercontent"] = "this popover content";
//if(compareDateTimes(dToDate, dEndDateTime) >= 0 && (compareDateTimes(dStartDateTime, dToday) <= 0 && compareDateTimes(dEndDateTime, dToday) >= 0))
if(compareDateTimes(dToDate, dEndDateTime) >= 0)
{
oArrJson.push(thisObject);
}
sIdentifier++;
}
}
}
iTempDate += iMS.d;
dTempDate = new Date(iTempDate);
}
}
else
{
for(iTempIndex1 = 0; iTempIndex1 < iArrMonths.length; iTempIndex1++)
{
var iMonthYear = iArrMonths[iTempIndex1];
var bValidate1 = (iMonthYear[0] === iFromMonth) && (iFromMonth === oEvent.month && iFromDate < oEvent.date);
var bValidate2 = (iMonthYear[0] !== iFromMonth && iMonthYear[0] !== iToMonth);
var bValidate3 = (iMonthYear[0] === iToMonth) && (iToMonth === oEvent.month && iToDate > oEvent.date);
if(bValidate1 || bValidate2 || bValidate3)
{
if(iMonthYear[0] === oEvent.month)
{
if(oEvent.type === "Birthday")
{
dStartDateTime = new Date(iMonthYear[1], iMonthYear[0], oEvent.date, 0, 0, 0, 0);
dEndDateTime = new Date(iMonthYear[1], iMonthYear[0], oEvent.date + 1, 0, 0, 0, 0);
}
else
{
dStartDateTime = new Date(iMonthYear[1], iMonthYear[0], oEvent.date, oEvent.startTime, 0, 0, 0);
dEndDateTime = new Date(iMonthYear[1], iMonthYear[0], oEvent.date, oEvent.endTime, 0, 0, 0);
}
var sEventTitle = oEvent.title;
sDesc = oEvent.title + " is of \n type " + oEvent.type;
//sDesc = sDesc.replace(/(\r\n|\n|\r)/gm,"<br>");
thisObject = new CalEvent(sIdentifier, false, dStartDateTime, dEndDateTime, oEvent.type, sEventTitle, sDesc, sURLCJG);
thisObject.icon = "cs-icon-" + oEvent.type;
if(oEvent.type !== "Birthday")
{
if(oEvent.type === "Dinner" || oEvent.type === "Lunch")
{
thisObject.calendarId = "Personal";
thisObject.tag = "Personal";
}
else
{
thisObject.calendarId = "Work";
thisObject.tag = "Work";
}
thisObject.people = oEvent.people || [];
}
else
{
thisObject.calendarId = "Birthday";
thisObject.tag = "Personal";
thisObject.isAllDay = true;
thisObject.isMarked = true;
thisObject.icon = null;
}
//thisObject.icon = null;
//thisObject.isAllDay = true;
if(oEvent.type === "Birthday")
{
var sBaseColor = getEventCalendarColors(thisObject.calendarId);
//thisObject.backgroundColor = sBaseColor;
//thisObject.textColor = "FFFFFF";
thisObject.singleColor = getEventCalendarColors(thisObject.calendarId);
}
else
{
thisObject.singleColor = getEventCalendarColors(thisObject.calendarId);
//thisObject.backgroundColor = getEventCalendarColors(thisObject.calendarId);
}
thisObject.tagIndex = oEvent.tagIndex;
if(dStartDateTime.getMonth() !== 7)
{
if(iTempIndex % 3 === 0)
thisObject.status = "Overdue";
else if(iTempIndex % 3 === 1)
thisObject.status = "Completed";
else if(iTempIndex % 3 === 2)
thisObject.status = "InProgress";
}
sStatus += thisObject.status + " ";
if(oEvent.type !== "Dinner" || (oEvent.type === "Dinner" && dStartDateTime.getDay() !== 0))
{
oArrJson.push(thisObject);
sIdentifier++;
}
}
}
}
}
//console.log("Status : ");
//console.log(sStatus);
}
//---------------------- All Day Event --------------------------
/*
var dStartDateTime = new Date();
dStartDateTime.setHours(0);
dStartDateTime.setMinutes(0);
dStartDateTime.setSeconds(0);
var dEndDateTime = new Date();
dEndDateTime.setHours(0);
dEndDateTime.setMinutes(0);
dEndDateTime.setSeconds(0);
var thisObject = new CalEvent(sIdentifier, true, dStartDateTime.getTime(), null, "Movie", "MyMovie", "", "");
thisObject.title = "My Movie";
thisObject.tag = "Personal";
thisObject.icon = "cs-icon-" + oEvent.type;
oArrJson.push(thisObject);
*/
//---------------------- All Day Event --------------------------
//console.log("oArrJson");
//console.log(oArrJson);
var sJsonStr = JSON.stringify(oArrJson);
return [true, oArrJson];
}
function getEventCalendarList(dFromDate, dToDate)
{
var oArrEventCalendars = [];
for(var iTempIndex = 0; iTempIndex < sArrEventCalendarCJG.length; iTempIndex++)
{
var sEventCalendar = sArrEventCalendarCJG[iTempIndex];
var oTempCalendar = {};
oTempCalendar.calendarId = sEventCalendar;
oTempCalendar.calendar = sEventCalendar;
oTempCalendar.icon = "cs-icon-" + sEventCalendar;
oTempCalendar.backgroundColor = getEventCalendarColors(sEventCalendar);
oTempCalendar.displayStatus = "show";
oTempCalendar.isSelected = true;
oArrEventCalendars.push(oTempCalendar);
}
var sJsonStr = JSON.stringify(oArrEventCalendars);
return [true, sJsonStr];
}
function getJsonEventCount(dFromDate, dToDate)
{
var oArrEventJson = generateJsonEvents(dFromDate, dToDate),
oArrEvents = oArrEventJson[1],
oJsonCount = [];
var dTempDate = new Date(dFromDate);
if(typeof oArrEventJson[1] === "string")
oArrEventJson = JSON.parse(oArrEventJson[1]);
while(compareDateTimes(dTempDate, dToDate) <= 0)
{
var iDateEventCount = 0;
for(var iTempIndex = 0; iTempIndex < oArrEventJson.length; iTempIndex++)
{
var oEvent = oArrEventJson[iTempIndex],
dEventStartDate = new Date(oEvent.start),
dEventEndDate = new Date(oEvent.end),
iCompStartDate = compareDates(dTempDate, dEventStartDate),
iCompEndDate = compareDates(dTempDate, dEventEndDate),
bGTStartDate = (iCompStartDate >= 0),
bLTEndDate = (iCompEndDate <= 0);
if(bGTStartDate && bLTEndDate)
iDateEventCount++;
}
var oTempCount = {};
oTempCount.date = new Date(dTempDate);
oTempCount.count = iDateEventCount;
oJsonCount.push(oTempCount);
dTempDate = new Date(dTempDate.getTime() + iMS.d);
}
var sJsonStr = JSON.stringify(oJsonCount);
return [true, sJsonStr];
}
function getJsonTimeSlotCount(dFromDate, dToDate, bIsFree)
{
var oArrTimeSlotJson = generateJsonSlotAvailability(dFromDate, dToDate),
oArrTimeSlotJson = oArrTimeSlotJson[1],
oJsonCount = [];
var dTempDate = new Date(dFromDate);
if(typeof oArrTimeSlotJson === "string")
oArrTimeSlotJson = JSON.parse(oArrTimeSlotJson);
while(compareDateTimes(dTempDate, dToDate) <= 0)
{
var iDateTimeSlotCount = 0;
for(var iTempIndex = 0; iTempIndex < oArrTimeSlotJson.length; iTempIndex++)
{
var oTimeSlot = oArrTimeSlotJson[iTempIndex],
dSlotStartDate = new Date(oTimeSlot.start),
dSlotEndDate = new Date(oTimeSlot.end),
iCompStartDate = compareDates(dTempDate, dSlotStartDate),
iCompEndDate = compareDates(dTempDate, dSlotEndDate),
bGTStartDate = (iCompStartDate >= 0),
bLTEndDate = (iCompEndDate <= 0);
if(bGTStartDate && bLTEndDate && (bIsFree === (oTimeSlot.status === "Free")))
{
iDateTimeSlotCount++;
}
}
var oTempCount = {};
oTempCount.date = new Date(dTempDate);
oTempCount.count = iDateTimeSlotCount;
oJsonCount.push(oTempCount);
dTempDate = new Date(dTempDate.getTime() + iMS.d);
}
var sJsonStr = JSON.stringify(oJsonCount);
return [true, sJsonStr];
}
/* ---------------------------- Event Json Generation End --------------------------------- */
/* ----------------------- Available Time Json Generation Start -------------------------- */
function TimeString(dStartTime, dEndTime)
{
this.startTime = dStartTime;
this.endTime = dEndTime;
}
TimeString.prototype =
{
constructor : TimeString
};
function RestrictedSection(dStartDateTime, dEndDateTime, sBGColor, bIsDroppable, sDroppableId, sArrAllowedDroppables)
{
this.start = dStartDateTime;
this.end = dEndDateTime;
if(sBGColor !== null)
this.backgroundColor = sBGColor;
if(bIsDroppable !== null)
this.isDroppable = bIsDroppable;
if(sDroppableId !== null)
this.droppableId = sDroppableId;
if(sArrAllowedDroppables !== null)
this.allowedDroppables = sArrAllowedDroppables;
}
RestrictedSection.prototype =
{
constructor : RestrictedSection
};
function BusinessHoursArray(sDayName, dArrTime)
{
this.dayName = sDayName;
this.times = dArrTime;
}
BusinessHoursArray.prototype =
{
constructor : BusinessHoursArray
};
function generateJsonBusinessHours()
{
var oArrBusinessHours = [];
var oArrTimes, sDayName;
for(var iDayIndex = 0; iDayIndex < 7; iDayIndex++)
{
sDayName = sArrDayNameFull[iDayIndex];
oArrTimes = [];
oArrTimes.push(new TimeString("10:00", "15:00"));
if(iDayIndex % 2 === 0)
oArrTimes.push(new TimeString("17:00", "19:00"));
oArrBusinessHours.push(new BusinessHoursArray(sDayName, oArrTimes));
}
var sJsonStr = JSON.stringify(oArrBusinessHours);
return sJsonStr;
}
function generateJsonRestrictedSection(dFromDate, dToDate)
{
var dArrResSec = [],
iNumOfDays = Math.floor((dToDate.getTime() - dFromDate.getTime()) / iMS.d),
iNumOfResSec = Math.round(iNumOfDays / 2),
dWkDate = new Date(dFromDate),
sArrDates = [],
bTwoEvents = false;
for(var iWkDay = 0; iWkDay < iNumOfDays; iWkDay++)
{
sArrDates.push(dWkDate);
var iWkDateMS = dWkDate.getTime(),
iNewWkDateMS = iWkDateMS + iMS.d;
dWkDate = new Date(iNewWkDateMS);
}
//console.log("dArrResSec");
for(var iDayIndex = 0; iDayIndex < iNumOfResSec; iDayIndex++)
{
var iDateIndex = Math.floor(Math.random() * (sArrDates.length - 1)),
dStartDate = sArrDates[iDateIndex],
dEndDate = new Date(dStartDate),
sBGColor = null, bIsDroppable = null,
sDroppableId = null, sArrAllowedDroppables = null,
iDuration, iStartDateMS, iEndDateMS;
iStartTimeIndex = Math.floor((Math.random() * (sArrTimeCJG.length - 11))),
sStartTime = sArrTimeCJG[iStartTimeIndex],
sTimeComponents = [];
if(iDayIndex % 6 === 0)
{
dStartDate.setHours(7);
dStartDate.setMinutes(0);
dStartDate.setSeconds(0);
iEndDateMS = dStartDate.getTime() + (3 * iMS.h);
dEndDate = new Date(iEndDateMS);
bTwoEvents = true;
sBGColor = "FDE3A7"; bIsDroppable = true;
sDroppableId = "CapeHoney"; sArrAllowedDroppables = ["CapeHoney", "AliceBlue"];
}
else if(iDayIndex % 5 === 0)
{
dStartDate.setHours(0);
dStartDate.setMinutes(0);
dStartDate.setSeconds(0);
iEndDateMS = dStartDate.getTime() + iMS.d;
dEndDate = new Date(iEndDateMS);
sBGColor = "E4F1FE"; bIsDroppable = true;
sDroppableId = "AliceBlue"; sArrAllowedDroppables = ["AliceBlue"];
}
else if(iDayIndex % 3 === 0)
{
dStartDate.setHours(10);
dStartDate.setMinutes(0);
dStartDate.setSeconds(0);
iEndDateMS = dStartDate.getTime() + iMS.d;
dEndDate = new Date(iEndDateMS);
sBGColor = "C8F7C5"; bIsDroppable = true;
sDroppableId = "Madang"; sArrAllowedDroppables = ["All"];
}
else if(iDayIndex % 2 === 0)
{
dStartDate.setHours(7);
dStartDate.setMinutes(0);
dStartDate.setSeconds(0);
iEndDateMS = dStartDate.getTime() + 3 * iMS.d;
dEndDate = new Date(iEndDateMS);
}
else
{
if(sHourFormatCJG === "24-Hour")
{
sTimeComponents = sStartTime.split(':');
dStartDate.setHours(parseInt(sTimeComponents[0]));
dStartDate.setMinutes(parseInt(sTimeComponents[1]));
}
else if(sHourFormatCJG === "12-Hour")
{
var sTimeStringComponents = sStartTime.split(' '),
sTimeStr = sTimeStringComponents[0],
sSuffixStr = sTimeStringComponents[1];
sTimeComponents = sTimeStr.split(':');
var iHourValue = parseInt(sTimeComponents[0]),
iMinuteValue = parseInt(sTimeComponents[1]);
if(sSuffixStr === "AM" && iHourValue === 12)
iHourValue = 0;
else if(sSuffixStr === "PM" && iHourValue < 12)
iHourValue += 12;
dStartDate.setHours(iHourValue);
dStartDate.setMinutes(iMinuteValue);
}
iDuration = iUnitTimeIntervalCJG * Math.floor(Math.random() * 4);
iStartDateMS = dStartDate.getTime();
iEndDateMS = iStartDateMS + (iUnitTimeIntervalCJG * iMS.m * 4);
dEndDate = new Date(iEndDateMS);
}
dArrResSec.push(
new RestrictedSection(
new Date(dStartDate),
new Date(dEndDate),
sBGColor,
bIsDroppable,
sDroppableId,
sArrAllowedDroppables
)
);
if(bTwoEvents)
{
sBGColor = null; bIsDroppable = null;
sDroppableId = null; sArrAllowedDroppables = null;
dStartDate.setHours(15);
dStartDate.setMinutes(0);
dStartDate.setSeconds(0);
iEndDateMS = dStartDate.getTime() + (3 * iMS.h);
dEndDate = new Date(iEndDateMS);
dArrResSec.push(
new RestrictedSection(
new Date(dStartDate),
new Date(dEndDate),
sBGColor,
bIsDroppable,
sDroppableId,
sArrAllowedDroppables
)
);
bTwoEvents = false;
}
}
var sJsonStr = JSON.stringify(dArrResSec);
return [true, sJsonStr];
}
/* ----------------------- Available Time Json Generation End -------------------------- */
function generateJsonSlotAvailability(dFromDate, dToDate)
{
var iThisDate = dToday.getTime(),
dNextDay1 = new Date(iThisDate + iMS.d),
dNextDay2 = new Date(iThisDate + (2 * iMS.d)),
oArrJson = [],
sArrStatus = ["Free", "Busy"],
iArrCount = [0, 1, 2, 3, 4, 5],
iNumOfDays = Math.floor((dToDate.getTime() - dFromDate.getTime()) / iMS.d) + 1,
dThisDate = new Date(dFromDate),
iCounter = 0;
for(var iTempIndex = 0; iTempIndex < iNumOfDays; iTempIndex++)
{
var iTimeSlotDuration = iArrTimeDurations.random(iArrTimeDurations.length),
iThisDateDay = dThisDate.getDate(),
iThisDateMonth = dThisDate.getMonth(),
iThisDateYear = dThisDate.getFullYear(),
iStartHour = 8,
iEndHour = 22,
iThisHour = iStartHour,
dTempDate = new Date(iThisDateYear, iThisDateMonth, iThisDateDay, iThisHour, 0, 0, 0),
iTempCount = (iEndHour - iStartHour) * (60 / iTimeSlotDuration);
for(var iTempIndex1 = 0; iTempIndex1 < iTempCount; iTempIndex1++)
{
iCounter++;
var dStartDate = new Date(dTempDate),
iStartDateMS = dStartDate.getTime(),
iEndDateMS = iStartDateMS + (iTimeSlotDuration * iMS.m) - iMS.m,
dEndDate = new Date(iEndDateMS),
sStartTimeString = getTimeString(sHourFormatCJG, sTimeSeparatorCJG, dStartDate.getHours(), dStartDate.getMinutes()),
sEndTimeString = getTimeString(sHourFormatCJG, sTimeSeparatorCJG, dEndDate.getHours(), dEndDate.getMinutes()),
sStartDateTime = dStartDate.getDate() + sDateSeparatorCJG + dStartDate.getMonth() + sDateSeparatorCJG + dStartDate.getFullYear() + sDateTimeSeparatorCJG + sStartTimeString,
sEndDateTime = dEndDate.getDate() + sDateSeparatorCJG + dEndDate.getMonth() + sDateSeparatorCJG + dEndDate.getFullYear() + sDateTimeSeparatorCJG + sEndTimeString;
var oJson = {};
oJson.start = dStartDate; // dStartDate (ISO) || sStartDateTime (String)
oJson.end = dEndDate; // dEndDate(ISO) || sEndDateTime (String)
if(iCounter % 4 === 0)
{
oJson.count = iArrCount.random(iArrCount.length);
if(oJson.count === 0)
oJson.status = "Busy";
else
oJson.status = "Free";
}
else
oJson.status = sArrStatus.random(sArrStatus.length);
oArrJson.push(oJson);
dTempDate = new Date(iEndDateMS + iMS.m);
}
iThisDate = dThisDate.getTime() + iMS.d;
dThisDate = new Date(iThisDate);
}
var sJsonStr = JSON.stringify(oArrJson);
return [true, sJsonStr];
}
/* ------------------------- EventList Related Functions Start --------------------------- */
function displayEventsInList(oCS, dTempViewStartDate, dTempViewEndDate)
{
var iEventId = 0, iEventCount = 0;
var oArrViewDetails = new Array();
if(oCS.compareDates(dTempViewStartDate, dTempViewEndDate) == 0)
{
var oViewDetails = new Object();
oViewDetails.date = new Date(dTempViewStartDate);
var dTempVSDate = oCS.setDateInFormat({"date": dTempViewStartDate}, "START"),
dTempVEDate = oCS.setDateInFormat({"date": dTempViewStartDate}, "END");
oViewDetails.events = oCS.getArrayOfEventsForView(dTempVSDate, dTempVEDate);
oArrViewDetails.push(oViewDetails);
iEventCount += oViewDetails.events.length;
}
else
{
var dTempDate = new Date(dTempViewStartDate);
while(oCS.compareDates(dTempDate, dTempViewEndDate) != 0)
{
var oViewDetails = new Object();
oViewDetails.date = new Date(dTempDate);
var dTempVSDate = oCS.setDateInFormat({"date": dTempDate}, "START"),
dTempVEDate = oCS.setDateInFormat({"date": dTempDate}, "END");
oViewDetails.events = oCS.getArrayOfEventsForView(dTempVSDate, dTempVEDate);
oArrViewDetails.push(oViewDetails);
iEventCount += oViewDetails.events.length;
dTempDate.setDate(dTempDate.getDate() + 1);
}
}
var sTempStr = "";
sTempStr += "<table class='cListTable'>";
sTempStr += "<tbody>";
if(iEventCount > 0)
{
for(var iTempIndex = 0; iTempIndex < oArrViewDetails.length; iTempIndex++)
{
var oViewDetails = oArrViewDetails[iTempIndex],
dThisDate = oViewDetails.date,
oArrTempEvents = oViewDetails.events,
iColspan = oCS.setting.hideEventIcon[oCS.setting.visibleView] ? 3 : 4;
if(oArrViewDetails.length > 1)
{
var sFullDate = oCS.getDateInFormat({"date": dThisDate}, "DDD MMM dd, yyyy", false, true);
var sDateId = "Date-" + sFullDate;
sTempStr += "<tr><td colspan='"+iColspan+"'><div id='" + sDateId + "' class='cListDate'>" + sFullDate + "</div></td></tr>";
}
if(oArrTempEvents.length > 0)
{
for(var iEventIndex = 0; iEventIndex < oArrTempEvents.length; iEventIndex++)
{
var oEvent = oArrTempEvents[iEventIndex],
dStartDateTime = null, dEndDateTime = null,
bIsAllDay = 0, sTitle = "", sURL = "", sEventColor = "", sDesc = "",
bIsMarked = false;
if(oEvent.start != null)
dStartDateTime = oEvent.start;
if(oEvent.end != null)
dEndDateTime = oEvent.end;
if(oEvent.isAllDay != null)
bIsAllDay = oEvent.isAllDay;
if(oEvent.title != null)
sTitle = oEvent.title;
if(oEvent.desc !== null)
sDesc = oEvent.desc;
if(oEvent.url != null)
sURL = oEvent.url;
if(oEvent.isMarked !== null)
bIsMarked = oEvent.isMarked;
if(bIsMarked)
bIsAllDay = true;
var sArrEventDateTime = oCS.getEventDateTimeDataForAgendaView(dStartDateTime, dEndDateTime, bIsAllDay, dThisDate, "cListEventTime"),
sEventDateTime = sArrEventDateTime[0];
if(sEventDateTime === "")
sEventDateTime = "All Day";
sEventColor = oEvent.fromSingleColor ? oEvent.textColor : oEvent.backgroundColor;
sEventColor = ($.cf.compareStrings(sEventColor, "") || $.cf.compareStrings(sEventColor, "transparent")) ? "transparent" : sEventColor;
var sId = "Event" + (++iEventId),
sStyleColorHeight = sArrEventDateTime[1],
sIcon, sEventIconStyle,
sEventClass = "cListEvent",
sFontIconClass;
if(bIsMarked)
{
sEventClass += " cMarkedDayEvent";
sIcon = ($.cf.isValid(oEvent.icon) && oEvent.icon !== "Dot") ? oEvent.icon : "cs-icon-Mark";
sEventIconStyle = "background: " + sEventColor + ";";
sFontIconClass = "cListEventIconFont " + sIcon;
}
else
{
sIcon = $.cf.isValid(oEvent.icon) ? oEvent.icon : oCS.setting.eventIcon;
sEventIconStyle = "background: " + sEventColor + "; ";
if($.cf.compareStrings(sIcon, "Dot"))
sFontIconClass = "cListEventIconDot";
else
sFontIconClass = "cListEventIconFont " + sIcon;
}
if($.cf.compareStrings(oCS.setting.visibleView, "DayEventListView") && $.cf.isValid(oEvent.status))
{
if($.cf.compareStrings(sIcon, "Dot"))
sFontIconClass += " cListEventIconDotStatus";
else
sFontIconClass += " cListEventIconFontStatus";
sEventIconStyle += "border-color: " + oEvent.statusColor + ";";
}
sTempStr += "<tr id='" + sId + "' class='" + sEventClass + "'>";
sTempStr += "<td class='cListEventColor'><span style='background:" + sEventColor + "; height:" + sStyleColorHeight + ";'></span></td>";
sTempStr += "<td class='cListEventTime'>" + sEventDateTime + "</td>";
if(bIsMarked)
sTempStr += "<td class='cListEventIcon'><span class='" + sFontIconClass + "' style='" + sEventIconStyle + "'></span></td>";
else
{
if(!oCS.setting.hideEventIcon[oCS.setting.visibleView])
{
if($.cf.compareStrings(sIcon, "Dot"))
sTempStr += "<td class='cListEventIcon'><span class='" + sFontIconClass + "' style='" + sEventIconStyle + "'></span></td>";
else
{
sFontIconClass = "cListEventIconFont " + ($.cf.compareStrings(oCS.setting.visibleView, "DayEventListView") && $.cf.isValid(oEvent.status) ? "cListEventIconFontStatus " : "") + sIcon;
sTempStr += "<td class='cListEventIcon'><span class='" + sFontIconClass + "' style='" + sEventIconStyle + "'></span></td>";
}
}
}
sTempStr += "<td class='cListEventContent'>";
sTempStr += "<div class='cListEventTitle'>" + sTitle + "</div>";
sTempStr += "<div class='cListEventDesc'>" + sDesc + "</div>";
sTempStr += "</td>";
sTempStr += "</tr>";
sTempStr += "<tr class='cListEventSeparator'><td colspan='"+iColspan+"'><hr/></td></tr>";
}
}
else
sTempStr = "<tr><td colspan='"+iColspan+"' class='cEmptyList'>No Events</td></tr>";
}
}
else
sTempStr += "<tr><td class='cEmptyList'>No Events</td></tr>";
sTempStr += "</tbody>";
sTempStr += "</table>";
return sTempStr;
}
function displayEventsInListAgenda(oCS, oViewDetails)
{
var iEventId = 0, iEventCount = oViewDetails["eventCount"],
oArrViewDetails = oViewDetails.eventList;
var sTempStr = "";
sTempStr += "<table class='cListTable'>";
sTempStr += "<tbody>";
if(iEventCount > 0)
{
for(var iTempIndex = 0; iTempIndex < oArrViewDetails.length; iTempIndex++)
{
var oViewDetails = oArrViewDetails[iTempIndex],
dThisDate = oViewDetails.date,
oArrTempEvents = oViewDetails.events,
iColspan = oCS.setting.hideEventIcon[oCS.setting.visibleView] ? 3 : 4;
if(oArrViewDetails.length > 1)
{
var sFullDate = oCS.getDateInFormat({"date": dThisDate}, "DDD MMM dd, yyyy", false, true);
var sDateId = "Date-" + sFullDate;
sTempStr += "<tr><td colspan='"+iColspan+"'><div id='" + sDateId + "' class='cListDate'>" + sFullDate + "</div></td></tr>";
}
if(oArrTempEvents.length > 0)
{
for(var iEventIndex = 0; iEventIndex < oArrTempEvents.length; iEventIndex++)
{
var oEvent = oArrTempEvents[iEventIndex];
var dStartDateTime = null, dEndDateTime = null,
bIsAllDay = 0, sTitle = "", sURL = "", sEventColor = "", sDesc = "",
bIsMarked = false;
if(oEvent.start != null)
dStartDateTime = oEvent.start;
if(oEvent.end != null)
dEndDateTime = oEvent.end;
if(oEvent.isAllDay != null)
bIsAllDay = oEvent.isAllDay;
if(oEvent.title != null)
sTitle = oEvent.title;
if(oEvent.desc !== null)
sDesc = oEvent.desc;
if(oEvent.url != null)
sURL = oEvent.url;
if(oEvent.isMarked !== null)
bIsMarked = oEvent.isMarked;
if(bIsMarked)
bIsAllDay = true;
var sArrEventDateTime = oCS.getEventDateTimeDataForAgendaView(dStartDateTime, dEndDateTime, bIsAllDay, dThisDate, "cListEventTime"),
sEventDateTime = sArrEventDateTime[0];
if(sEventDateTime == "")
sEventDateTime = "All Day";
sEventColor = oEvent.fromSingleColor ? oEvent.textColor : oEvent.backgroundColor;
sEventColor = ($.cf.compareStrings(sEventColor, "") || $.cf.compareStrings(sEventColor, "transparent")) ? "transparent" : sEventColor;
var sId = "Event" + (++iEventId),
sStyleColorHeight = sArrEventDateTime[1],
sIcon, sEventIconStyle,
sEventClass = "cListEvent";
if(bIsMarked)
{
sEventClass += " cMarkedDayEvent";
sIcon = ($.cf.isValid(oEvent.icon) && oEvent.icon !== "Dot") ? oEvent.icon : "cs-icon-Mark";
sEventIconStyle = "background: " + sEventColor + ";";
}
else
{
sIcon = $.cf.isValid(oEvent.icon) ? oEvent.icon : oCS.setting.eventIcon;
sEventIconStyle = "background: " + sEventColor + "; ";
}
sTempStr += "<tr id='" + sId + "' class='" + sEventClass + "'>";
sTempStr += "<td class='cListEventColor'><span style='background:" + sEventColor + "; height:" + sStyleColorHeight + ";'></span></td>";
sTempStr += "<td class='cListEventTime'>" + sEventDateTime + "</td>";
if(bIsMarked)
{
sTempStr += "<td class='cList