',
calendar:'',
week:'
{week}
', dayClickable:'
{date} | ', dayCurrent:'
{date} | ', dayNone:'
| ', day:'
{date} | ', search:''
},
// Stored objects
$container = $(loc),
now = new Date(),
current = now,
minDate = new Date('12/5/2007'),
station = wng_pageInfo.affiliateName||'kotv',
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthLengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
// Helper methods
renderTemplate = function(tpl, vars) {
var retVal = templates[tpl];
if (typeof(retVal) === 'string') {
for (var i in vars) {
var regEx = new RegExp('\{' + i + '\}', 'g');
retVal = retVal.replace(regEx, vars[i]);
}
} else {
retVal = null;
}
return retVal;
},
// Renderers
makeCalendar = function(date) {
// Copy the date to a new object (so as not to overwrite the original) and set us to the beginning of the month
date = new Date(date);
date.setDate(1);
current = date;
var
month = date.getMonth(),
year = date.getFullYear(),
firstDay = date.getDay(),
out = '',
days = '',
colCount = 0,
monthLength = monthLengths[month] + (month == 1 && year % 4 == 0 ? 2 : 1); // Figure up the month length taking into consideration leap years. Not accurate to 100+ years
// Render the days before the start of the month if necessary
for (var i = 0; i = minDate) {
tpl = 'dayClickable';
}
days += renderTemplate(tpl, {date:i});
colCount++;
if (colCount % 7 == 0) {
out += renderTemplate('week', {week:days});
days = '';
}
}
// Tack on the last week
if (days != '') {
out += renderTemplate('week', {week:days});
}
// Render to the DOM
out = renderTemplate('calendar', {days:out});
out = renderTemplate('controls', {month:months[month], year:year}) + out + templates.search;
$container.html(out);
// Determine whether the previous/next buttons should be shown
date.setDate(1);
if (date 12) {
month = 1;
year++;
}
makeCalendar(new Date(month + '/1/' + year));
}
},
// Init
init = function() {
$container.addClass('gnmCalendar');
makeCalendar(now);
};
init();
};
rambus rambus pabst blue ribbon pabst blue ribbon mac miller omarion gabby
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.