YAHOO.namespace("prr.calendar"); YAHOO.prr.calendar.init = function() { YAHOO.prr.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container"); YAHOO.prr.calendar.cal1.addRenderer("10/13/2007,10/27/2007,10/17/2007,11/10/2007,11/7/2007,11/14/2007,11/23/2007,2/20/2008,2/19/2008,2/21/2008,3/18/2008,3/19/2008,3/13/2008,4/11/2008,5/20/2008,5/21/2008,4/28/2008,4/29/2008,4/30/2008,5/24/2008,6/28/2008,6/27/2008,7/15/2008,6/18/2008,8/14/2008,9/1/2007,", YAHOO.prr.calendar.cal1.renderCellStyleHighlight1); YAHOO.prr.calendar.cal1.changePageEvent.subscribe(calChangedHandler, YAHOO.prr.calendar.cal1, true); YAHOO.prr.calendar.cal1.selectEvent.subscribe(mySelectHandler, YAHOO.prr.calendar.cal1, true); YAHOO.prr.calendar.cal1.render(); } var calChangedHandler = function(type,args,obj) { var month = YAHOO.prr.calendar.cal1.cfg.getProperty("pagedate").getMonth() + 1; var year = YAHOO.prr.calendar.cal1.cfg.getProperty("pagedate").getFullYear(); getCalendarInfo(0, month, year); }; var mySelectHandler = function(type,args,obj) { var selected = args[0]; selected = selected[0]; getCalendarDayDetail(selected[2], selected[1], selected[0]); }; YAHOO.util.Event.onDOMReady(YAHOO.prr.calendar.init); function closebodyblock() { var newdiv = document.getElementById("calpopup"); newdiv.innerHTML = ""; } var pingAJAX; function createXHR() { if ( window.XMLHttpRequest ) { pingAJAX = new XMLHttpRequest(); } else { pingAJAX = new ActiveXObject("MSXML2.XMLHTTP"); } pingAJAX.onreadystatechange = calendarCallback; } function getCalendarDayDetail(selDay, selMonth, selYear) { var queryString = "calInfo.asp?d=" + selDay + "&m=" + selMonth + "&y=" + selYear; createXHR(); pingAJAX.open("GET", queryString, true ); pingAJAX.setRequestHeader("If-Modified-Since", new Date(0)); pingAJAX.onreadystatechange = calendarDetailCallback; pingAJAX.send(null); } function calendarDetailCallback() { try { if ( pingAJAX.readyState == 4 ) { closebodyblock(); if ( pingAJAX.responseText.length > 0 ) { var calinfo = eval(pingAJAX.responseText); var cc = document.getElementById("cal1Container"); var newdiv = document.getElementById("calpopup"); newdiv.innerHTML = calinfo[0].month+"/"+calinfo[0].day+": "+ unescape(calinfo[0].info) + "
" + unescape(calinfo[0].body) + "
"; } } } catch (err) { alert(err.description); } } function getCalendarInfo(selDay, selMonth, selYear) { var queryString = "calInfo.asp?m=" + selMonth + "&y=" + selYear; createXHR(); pingAJAX.open("GET", queryString, true ); pingAJAX.setRequestHeader("If-Modified-Since", new Date(0)); pingAJAX.send(null); } function calendarCallback() { if ( pingAJAX.readyState == 4 ) { document.getElementById("cal1Details").innerHTML = ""; closebodyblock(); if ( pingAJAX.responseText.length > 0 ) { var calinfo = eval(pingAJAX.responseText); var str = "Events This Month:
"; for (i = 0; i < calinfo.length; i++) { str += "
" + calinfo[i].month + "/" + calinfo[i].day + ": " + unescape(calinfo[i].info) + "
"; } document.getElementById("cal1Details").innerHTML = str; } } } function getMonthEvents() { var d=new Date() var curMonth = d.getMonth() +1; var curYear = d.getFullYear(); getCalendarInfo(0,curMonth, curYear); }