<!--

//
// Calendar for Prototype 1.6
// 

window.monthToWord = new Array()

var d=new Date()
var toRender = ""
var month=monthToWord[d.getMonth()]
var monthWord
var firstDay;
var dateArray = new Array()
var EventsCalendar = Class.create()
var allEvents

EventsCalendar.prototype = {
  
  initialize: function(events,displayMonths,displayDays) {
    monthToWord = displayMonths
    this.displayDays = displayDays
    this.events = events
    this.updateMonth() //Display current month
  },
  
  getDaysInMonth: function(month, year) {
	  var dd = new Date(year, month, 0)
	  return dd.getDate()
  },

  num_abbrev_str: function(num) {
    var len = num.length, last_char = num.charAt(len - 1), abbrev
    if (len == 2 && num.charAt(0) == '1') {
  		abbrev = 'th'
	} else {
		if (last_char == '1') {
				abbrev = 'st'
		} else if (last_char == '2') {
				abbrev = 'nd'
		} else if (last_char == '3') {
				abbrev = 'rd'
		} else {
				abbrev = 'th'
		}
	}
	
	return num + abbrev

	},
  
	showEvent: function(theid,display){
		
		var moreInfo
		
		if (this.events[theid].file){
			moreInfo = '<p><a href="' + this.events[theid].file + '" target="_blank">More Information</a></p>'
		}
		
		if (moreInfo.length>60){
			var content = "<h2>" + this.events[theid].title + "</h2>" + this.events[theid].description + moreInfo
		}else{
			var content = "<h2>" + this.events[theid].title + "</h2>" + this.events[theid].description
		}
			
			$(display).innerHTML = content
	},

  fill_table: function(month,monthLength,year,displayId){
    var self = this
	var eventsRender = ''
    day=1

    firstDay = new Date(2008, monthNumber-1,1)
    startDay = firstDay.getDay()+1;

    toRender+=("<center><TABLE width=\"220\" id=\"when\"><TR class=\"currentMonth\"><td><a href=\"javascript:;\" onClick=\"x.updateMonth('prev');\"><img src=\"/assets/calArrowLeft.jpg\" class=\"monthPrev\" style=\"margin-left: 15px;\"/></td>")
    toRender+=("<TD COLSPAN=5 ALIGN=center id=\"monthYear\"><B>"+month+"   "+year+"</B></td><td align=\"right\" style=\"text-align: right;\"><a href=\"javascript:;\" onClick=\"x.updateMonth('next');\"><img src=\"/assets/calArrowRight.jpg\" class=\"monthRight\" style=\"margin-right: 18px;\"/></td><tr></table><table id=\"dayHolder\">")
    
    self.displayDays.each(function(day){self.dayTitle(day)})

    toRender+=("</TR><TR>")
    for (var i=1;i<startDay;i++){
          toRender+=("<TD>")
    }

    // fill the first week of days
    for (var i=startDay;i<8;i++){
          toRender+=("<TD ALIGN=center id=\"" + day + "\" class=\"day\">"+day+"</TD>")
          day++
    }

    toRender+=("<TR>")
    // fill the remaining weeks
    while (day <= monthLength) {
       for (var i=1;i<=7 && day<=monthLength;i++){
           toRender+=("<TD ALIGN=center class=\"day\" id=\""+day+"\">"+day+"</TD>")
           day++
       }
       toRender+=("</TR><TR>")
//
  	 // the first day of the next month
//
       startDay=i
    }

    toRender+=("</TR></TABLE><BR>")
    $(displayId).innerHTML = toRender
    toRender = ""
    var x = 0
    var self = this

	this.events.each(function(e) {
	//alert(self.events[1].title)	
	})

	this.events.each(function(event) {
		
		if(event.keys().include('eDate')) {
			var toSplit=event.get('eDate')

  			dateArray=toSplit.split("/")
  			eDay = dateArray[0]
  			eMonth = dateArray[1]
  			eYear = dateArray[2]	
	    	
			if (monthNumber==eMonth && year==eYear) {
			
			    if (x==1){
					eventsRender += "<hr>"
					x=0
				}
				var date_text = eDay + '.' + eMonth + '.' + eYear
				var desc = event.get('description')
				desc = desc.replace("'","\\'")
				eventsRender += '<span class="calEventDate">' + date_text + '</span><span class="eventName"><a class="lightwindow" href="/infobox/events-' + event.get('id') + '" params="lightwindow_width=400,lightwindow_height=400,lightwindow_type=external">' + (event.get('title')).truncate(30) + '</a></span>' + '<span class="eventDesc">' + desc + '</span>'
				x++
				
			}
		}
				
  		if ($(eDay) && monthNumber==eMonth && year==eYear) $(eDay).className = "markEvent"

      });
	
	$('thisMonth').innerHTML = eventsRender
	lightwindowInit();
	eventsRender=""

  },
  
  
  dayTitle: function(dayName){
       toRender+=("<TD ALIGN=center WIDTH=28>"+dayName+"</TD>")
  },
  
  
  updateMonth: function(direction){

  	if (direction=='next'){ //Get next month
  		if (monthNumber==12){
  			year++
  			monthNumber=1
  		}else{
  			monthNumber++
  		}
  	}else if(direction=='prev'){ //Get Previous Month

  		if (monthNumber==1){
  			year--
  			monthNumber=12
  		}else{
  			monthNumber--
  		}

  	}else{ //Get Current Month
  		monthWord = monthToWord[6]

  	}

  	monthWord = monthToWord[monthNumber-1]
  	daysInMonth = this.getDaysInMonth(monthNumber,year)

 
  	this.fill_table(monthWord,daysInMonth,year,'display')

  }
	
}
// end hiding -->