Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Title =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
- Upcoming Birthdays
- Header =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~
- <script>
- KWizCom.DVPWP.Instances['_WPQ_'].Load = function()
- {
- var numOfWeeksToShow = 10;
- var monthNames = {
- "01": "Jan",
- "02": "Feb",
- "03": "Mar",
- "04": "Apr",
- "05": "May",
- "06": "Jun",
- "07": "Jul",
- "08": "Aug",
- "09": "Sep",
- "010": "Oct",
- "011": "Nov",
- "012": "Dec",
- }
- var groupNames = {
- "today": "Today",
- "tomorrow": "Tomorrow",
- "thisweek": "This week",
- "upcoming": "Upcoming"
- }
- var make2DigitString = function (n) {
- return n < 10 ? "0" + n : "" + n;
- }
- var now = new Date();
- var tomorrow = new Date(now.getTime() + 24 * 60 * 60 * 1000);
- var nextWeek = new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000);
- var endDate = new Date(now.getTime() + numOfWeeksToShow * 7 * 24 * 60 * 60 * 1000);
- var $list = $kw("#_WPQ_Birthdays");
- var $placeholder = $kw("#_WPQ_BirthdaysPlaceHolder");
- var currentYear = now.getFullYear();
- var nextYear = currentYear + 1;
- var currentMonth = now.getMonth() + 1;//it is zero based
- var currentDay = now.getDate();
- var tomorrowMonth = tomorrow.getMonth() + 1;
- var tomorrowDay = tomorrow.getDate();
- var tomorrowYear = tomorrow.getFullYear();
- var nextWeekMonth = nextWeek.getMonth() + 1;
- var nextWeekDay = nextWeek.getDate();
- var nextWeekYear = nextWeek.getFullYear();
- var endMonth = endDate.getMonth() + 1;
- var endDay = endDate.getDate();
- var endYear = endDate.getFullYear();
- var todayString = currentYear + "-" + make2DigitString(currentMonth) + "-" + make2DigitString(currentDay);
- var tomorrowString = tomorrowYear + "-" + make2DigitString(tomorrowMonth) + "-" + make2DigitString(tomorrowDay);
- var nextWeekString = nextWeekYear + "-" + make2DigitString(nextWeekMonth) + "-" + make2DigitString(nextWeekDay);
- var endDateString = endYear + "-" + make2DigitString(endMonth) + "-" + make2DigitString(endDay);
- var birthdaysList = new Array();
- $list.find("li").each(function () {
- try{
- var title = $kw(this).attr("data-title");
- var month = parseInt($kw(this).attr("data-month"),10);
- var day = parseInt($kw(this).attr("data-day"),10);
- var sortableString = currentYear + "-" + make2DigitString(month) + "-" + make2DigitString(day);
- if (sortableString < todayString)//this one passed. move it to next year
- sortableString = nextYear + "-" + make2DigitString(month) + "-" + make2DigitString(day);
- if( sortableString <= endDateString )
- birthdaysList[birthdaysList.length] = sortableString + ":" + title;
- } catch (e) {
- }
- });
- birthdaysList.sort();//now we got sorted birthdays
- var titleMode = null;
- var html = "";
- for (var i = 0; i < birthdaysList.length; i++) {
- var datePart = birthdaysList[i].split(":")[0];
- var titlePart = birthdaysList[i].split(":")[1];
- var dateArr = datePart.split("-");
- var dateString = monthNames[dateArr[1]] + " " + dateArr[2];
- var newGroup = false;
- if (todayString == datePart) {
- if (titleMode != "today")//add title
- {
- newGroup = true;
- titleMode = "today";
- }
- }
- else if (tomorrowString == datePart) {
- if (titleMode != "tomorrow")//add title
- {
- newGroup = true;
- titleMode = "tomorrow";
- }
- }
- else if (nextWeekString >= datePart) {
- if (titleMode != "thisweek")//add title
- {
- newGroup = true;
- titleMode = "thisweek";
- }
- }
- else {
- if (titleMode != "upcoming")//add title
- {
- newGroup = true;
- titleMode = "upcoming";
- }
- }
- if (newGroup)
- {
- if (html != "") html += "</div>";
- html += "<h3>"+groupNames[titleMode]+"</h3><div>";
- }
- html += "<p>" + titlePart + "<span style='float:right'>" + dateString + "</span></p>";
- }
- if (html != "") {
- html += "</div>";
- $placeholder.append(html);
- //$placeholder.accordion({
- // heightStyle: "content"
- //});
- }
- else {
- $kw("#_WPQ_NoBirthdaysPlaceHolder").show();
- }
- }
- </script>
- <div id="_WPQ_BirthdaysPlaceHolder"></div>
- <div id="_WPQ_NoBirthdaysPlaceHolder" style="display:none">No upcoming birthdays.</div>
- <ul id="_WPQ_Birthdays" style="display:none">
- Body =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
- <li data-title="{item:Title:value}" data-month="{item:Month:value}" data-day="{item:Day:value}">
- {item:Title:value} - {item:Month:value} - {item:Day:value}
- </li>
- Footer =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
- </ul>
- EmptyView =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
- Threre are no upcoming birthdays.
- Description =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
- This shows a simple grouped list with the next 10 weeks of birthdays coming up.
- It splits them into groups: Today, tomorrow, this week, or upcoming.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement