
var page = {
	
	init : function(){
		this.validateForms();
		if($('.calendar').length > 0){
			calendar.setUp();
		}
	},
	
	validateForms : function(){
		$('.formToValidate').validate();
	}
	
};


var calendar = {};

calendar.cManager = new CalendarManager([]);

calendar.setUp = function(){

	$('#date_picker').datepicker({
		beforeShowDay: function(date){
		 	if(!calendar.cManager.READY){
				calendar.feed(calendar.cManager.YEAR,calendar.cManager.MONTH);
				calendar.cManager.READY = true;			
			}
					
			return calendar.cManager.addCalendarEvents(date);
		},
		onChangeMonthYear : function(year,month){
			calendar.cManager.READY = false;
			calendar.cManager.MONTH = month;
			calendar.cManager.YEAR = year;	
		},
		onSelect: function(date){
			// rimuovo un eventuale box di evento
			calendar.cManager.clearEvent();
			// ciclo su tutte le celle data del calendario con un evento associato
			$(".is_calendar_event").each(function(){
				// recupero i nodi A (in teoria l'unico che ha la data)
				var c = $(this).find('a');
				// la casella della data è quella che ha selezionato l'utente
				if (c.length == 1 && parseInt(c[0].innerHTML) == date.split("/")[1]) {
					calendar.cManager.checkForCalendarEvent(c[0], date);
				}
			});
		}
	});
			
}

calendar.feed = function(calYear,calMonth){
	
	$.ajax({
		url: calendarSets.url + '?year=' + calYear + '&month=' + calMonth + '&lang=' + calendarSets.metaLanguage,
		dataType: 'json',
		async : false,
		success: function(msg){
			//sovrascrivi gli eventi in memoria
			calendar.cManager.EVENTS = [];
			calendar.cManager.EVENTS = msg;
		}
	});
}			

var workshops = {};

workshops.loadingIcon = '<tr><td colspan="6" align="center"><img src="' + rootPath + '/img/css/ajax-loader.gif"/></td></tr>';

workshops.handleData = function(id,data){
	var $tbody = $('#body_' + id);
	$tbody.html(data);	
	var $spans = $tbody.find('span');
	$spans.tooltip({ 
   		showURL: false, 
		bodyHandler: function() {
			var rel = $(this).attr('rel');
			var html =  $('##' + rel).html();
       		return html; 
    	}  
	}).css({cursor:'pointer'});
}
workshops.loadData = function(catid){
	var params = {
		method : 'getWorkShops',
		returnFormat :'json',
		workshopcategoryid : catid
	}
	var $state = $('#state_' + catid);
	if($state.val() != 0){
		params.workshopstate = $state.val()
	}
	
	$.ajax({
		url : rootPath + '/remote/cfm/getWorkshops.cfm',
		data : params,
		dataType : 'json',
		cache:false,
		beforeSend : function(){
			$('#body_' + catid).html(workshops.loadingIcon);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert(XMLHttpRequest.statusText);
		},
		success : function(data){
			if(data.success){
				workshops.handleData(catid,data.data);
			}else{
				alert(data.text);
			}
		}
	});
}

workshops.register = function(catid){
	$('#state_' + catid).change(function(){
		workshops.loadData(catid);
	});
}

