  var SPECIAL_DAYS = {
    0 : [ 1, 15, 16, 17, 20, 26 ],		// special days in January
    2 : [ 21 ],
    3 : [ 7, 13, 14, 18 ],	// special days in april
    4 : [ 1 ],
    7 : [ 15, 23 ],
    8 : [ 3 ],
    9 : [ 1, 2, 8, 9, 27 ],		// 
    11: [ 9, 25 ]
  };
  function dateIsSpecial(year, month, day) {
    var m = SPECIAL_DAYS[month];
    if (!m) return false;
    for (var i in m) if ((m[i] == day) && year == "2008") return true;
    return false;
  };
  function dateChanged(calendar) {
    if (calendar.dateClicked) {
      var y = calendar.date.getFullYear();
      var m = calendar.date.getMonth();     // integer, 0..11
      var d = calendar.date.getDate();      // integer, 1..31
      var months = new Array(13);
        months[0]  = "January";
        months[1]  = "February";
        months[2]  = "March";
        months[3]  = "April";
        months[4]  = "May";
        months[5]  = "June";
        months[6]  = "July";
        months[7]  = "August";
        months[8]  = "September";
        months[9]  = "October";
        months[10] = "November";
        months[11] = "December";
      var temp = months[m];
      var temp1 = temp + d + y;
      switch(temp1) {
       case 'January12008' : {alert ("New Year Day"); break; }
       case 'January152008' : {alert ("Pongal"); break; }
       case 'January162008' : {alert ("Thiruvalluvar Day"); break;}
       case 'January172008' : {alert ("Uzhavar Thirunal"); break;}
       case 'January202008' : {alert ("Muharram"); break; }
       case 'January262008' : {alert ("Republic Day"); break; }
       case 'March212008'   : {alert ("Meelad-un-Nabi/Good Friday"); break; }
       case 'April72008'    : {alert ("Telugu New Year Day"); break; }
       case 'April132008'    : {alert ("Tamil New Year Day"); break; }
       case 'April142008'   : {alert ("Dr. B.R. Ambedhkar Birthday"); break; }
       case 'April182008'   : {alert ("Mahaveer Jayanthi"); break; }
       case 'May12008'      : {alert ("May Day"); break; }
       case 'August152008'  : {alert ("Independence Day"); break; }
       case 'August232008'  : {alert ("Sri Krishna Jayanthi"); break; }
       case 'September32008' : {alert ("Vinayaka Chathurthi"); break; }
       case 'October12008'  : {alert ("Ramzan"); break; }
       case 'October22008'  : {alert ("Gandhi Jayanthi"); break; }
       case 'October82008' : {alert ("Ayudha Pooja"); break; }      
       case 'October92008'  : {alert ("Vijaya Dasami"); break; }
       case 'October272008'  : {alert ("Deepavali"); break; }
       case 'December92008': {alert ("Bakrid"); break; }     
       case 'December252008' : {alert ("Christmas"); }     
      }
    }
  };
  function ourDateStatusFunc(date, y, m, d) {
    if (dateIsSpecial(y, m, d))
      return "special";
    else
      return false; // other dates are enabled
  };
  Calendar.setup(
    {
      flat         : "calendar-container", // ID of the parent element
      flatCallback : dateChanged,          // our callback function
      dateStatusFunc : ourDateStatusFunc
    }
  );
