var nbActs = (function(){
	function _padNumber(num) {
		if (num <= 9) {
	    	return "0" + num;
	  	}
	  	return num;
	}
	function _getActivityType(title){		
		title = title.toLowerCase();
		if(title.indexOf('meeting') > 0 || title.indexOf('rehearsal') > 0) {
			return 'meeting';
		}
		return 'event';
	}
	function _buildActXml(root){
		var results = '';
		if (root.length > 0) {
			var xmlArr = [];
	    	for (var i = 0; i < root.length; i++) {
	      		var event = root[i];
				var details = event.getContent().getText();
				var title = event.getTitle().getText();
				var detailsXml = xmlBuilder.xmlElement('details', details != '' ? details : '');
				var titleXml = xmlBuilder.xmlElement('title', title);
				var captionXml = xmlBuilder.xmlElement('caption');
				var startDateXml = '';
				var endDateXml = '';
				var allDayXml = '';
			    var times = event.getTimes();	
			    if (times.length > 0) {
					var time = times[0];					
			    	var startDateTime = time.getStartTime();		
			      	var startJSDate = startDateTime.getDate();
					var sDateString = (startJSDate.getMonth() + 1) + "/" + startJSDate.getDate() + '/' + startJSDate.getFullYear();
				    allDayXml = xmlBuilder.xmlElement('allDay', 'true');
					if (!startDateTime.isDateOnly()) {
						allDayXml = xmlBuilder.xmlElement('allDay', 'false');
				    	sDateString += " " + startJSDate.getHours() + ":" + _padNumber(startJSDate.getMinutes());
				    }
					startDateXml = xmlBuilder.xmlElement('startDate', sDateString);					
			    	var endDateTime = time.getEndTime();
			      	var endJSDate = endDateTime.getDate();
					var eDateString = (endJSDate.getMonth() + 1) + "/" + endJSDate.getDate() + '/' + endJSDate.getFullYear();
				    if (!endDateTime.isDateOnly()) {
				    	eDateString += " " + endJSDate.getHours() + ":" + _padNumber(endJSDate.getMinutes());
				    }
					endDateXml = xmlBuilder.xmlElement('endDate', eDateString);
			    }		
				var attrs = {};
				attrs.id = i.toString();
				attrs.type = _getActivityType(title);
				xmlArr.push(xmlBuilder.xmlElement('activity', titleXml + captionXml + startDateXml + endDateXml + allDayXml + detailsXml, attrs));
	    	}
		 	results = xmlBuilder.xmlElement('activities', xmlArr.join(''));
		}
		return results;
	}
	return {
		callback: function(root, config) {	
			var ax = _buildActXml(root);					
			new Ajax.Request('data/activityGenerator.php', {
				parameters: {
					'activities':ax,
					'fromHome':config.fromHome,
					'filterType':config.filterType,
					'filterMonth': config.filterMonth,
					'activityContent':config.activityContent,
					'act':config.act
				},
				onSuccess: function(transport){
					document.getElementById(config.container).innerHTML = transport.responseText;												
				}
			});
		}
	};
})();

