var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; getEvents = function (day, callback) { executePageMethod("GetEventsByDay", "{'day':'" + day + "'}", callback, function () { alert('An error occurred while attempting to fetch the event data.') }) }; var executePageMethod = function (methodName, dataString, callback, error) { if (typeof (callback) == 'function' && typeof (error) == 'function') { $.ajax({ type: "POST", url: "default.aspx/" + methodName, data: dataString, contentType: "application/json; charset=utf-8", dataType: "json", success: callback, error: error }) } }; var formatHtml = function () { for (var i = 1; i < arguments.length; i++) { var exp = new RegExp('\\{' + (i - 1) + '\\}', 'gm'); arguments[0] = arguments[0].replace(exp, arguments[i]) } return arguments[0] }; var getIdFromUrl = function (url) { if (url == null) { url = '' } return (url.indexOf('#') > -1) ? url.substr(url.lastIndexOf('#') + 1, url.length - url.lastIndexOf('#')) : 0 }; $(function () { mainNav(); autoComplete($('input#tbSearchText')); $('a#searchLink').click(function () { var searchPath = "/pages/search/" + $('input#tbSearchText').val(); window.location.href = searchPath }); var calendarItemHtml = '<li><span class=\"ceTime\">{0} <span class=\"meri\">{1}</span></span><span class="ceLink"><a href=\"{2}\">{3}</a><br />{4}</span><div style=\"clear: both;\"></div></li>'; $('a.calendarDayLink').click(function () { var dayLink = $(this); var day = new Date(); switch (getIdFromUrl(dayLink.attr('href'))) { case 'tomorrow': day.setDate(day.getDate() + 1); break; case 'dayAfterTomorrow': day.setDate(day.getDate() + 2); break }; getEvents(day.getMonth() + 1 + '-' + day.getDate() + '-' + day.getFullYear(), function (data) { $('a.calendarDayLink').parent('li').removeClass('selected'); dayLink.parent('li').addClass('selected'); $('ul#calendarEventList').html(''); $('ul#calendarEventList').append(formatHtml('<li class=\"day\"><h4>{0} <span>{1}</span></h4></li>', monthNames[day.getMonth()] + ' ' + day.getDate(), dayNames[day.getDay()])); if (data.d.length > 0) { $.each(data.d, function () { var calendarItem = formatHtml(calendarItemHtml, this.EventTime, this.EventTimeMeri, this.EventUrl, this.EventTitle, this.EventLocation); $('ul#calendarEventList').append(calendarItem) }) } else { $('ul#calendarEventList').append('<li>No events are currently scheduled.</li>') } $('div#calendarEventListWrapper').jScrollPane({ scrollbarMargin: 0 }) }); return false }); $('div#calendarEventListWrapper').jScrollPane({ scrollbarMargin: 0 }) });
