
var General = {
	upcomingList : null,
	upcomingListItems : null,
	upcomingListExtras : [],
	upcomingListAllShown : false,
	
	
	init : function() {
		var $ = General;
		
		$.upcomingList = document.getElementById("upcoming-dates-times");
		if ($.upcomingList === null) { return; }
		
		$.upcomingListItems = $.upcomingList.getElementsByTagName("dd");
		if ($.upcomingListItems === null) { return; }
		
		$.removeExcessListItems();
	},
	
	dispose : function() {
		
	},
	
	removeExcessListItems : function() {
		var $ = General, $u = Utilities;
		var cls = null;
		
		if ($.upcomingListItems.length > 5) {
			while ($.upcomingListItems.length > 5) {
				if (cls === null) {
					if ($.upcomingListItems[5].className.indexOf("odd") > -1) {
						cls = " odd";
					} else {
						cls = "";
					}
				}
				$.upcomingListExtras.push($.upcomingList.removeChild($.upcomingListItems[5]));
			}
			
			var dd = $u.createFormElement(null, "dd", [], "last" + cls, "");
			var link = $u.createFormElement(dd, "a", [{name:"href",value:"javascript:void(0);"}], "", "View more upcoming dates");
			YAHOO.util.Event.addListener(link, "click", $.event_UpcomingListToggle, dd);
			
			$.upcomingList.appendChild(dd);			
		}
	},
	
	event_UpcomingListToggle : function(sender, param, args) {
		var $ = General;
		
		if (param === null) { return; }
		
		$.upcomingList.removeChild(param);
		
		for (var i = 0; i < $.upcomingListExtras.length; i++) {
			$.upcomingList.appendChild($.upcomingListExtras[i]);
		}
	}
};