var toChange;
var toCollapse;
var languageID;
var fallbackLanguageID;

function collapseCalendar(){
	toCollapse = $$("TR.extraContent");
	toChange = $$("TR.change TD");

	for (var i=0; i<toCollapse.length; i++) {
		toCollapse[i].setStyle('display', 'none');
	}

	toChange.each(function(elem){
		elem.getParent().setStyle('font-weight', 'normal');
		elem.addEvent('click', function() {
			var id = elem.getParent().getProperty('id');
			if($("cal_"+(id*1+1)).getStyle('display') =='none'){
				$("cal_"+(id*1+1)).setStyle('display', '');
				$("cal_"+(id*1+2)).setStyle('display', '');
				$("cal_"+(id*1+3)).setStyle('display', '');
				elem.getParent().setStyle('font-weight', 'bold');
			}
			else {
				$("cal_"+(id*1+1)).setStyle('display', 'none');
				$("cal_"+(id*1+2)).setStyle('display', 'none');
				$("cal_"+(id*1+3)).setStyle('display', 'none');
				elem.getParent().setStyle('font-weight', 'normal');
			}
		});
	});
};

function initCalendarFunctions(language, fallbackLanguage){
	languageID = language;
	fallbackLanguageID = fallbackLanguage;
	
	$$('.functionsContainer')[0].setStyle("display","block");
	
	$$('.previousMonth').each(function(elem){
		elem.addEvent('click', function(event){
			preventClick(event);
			toggleMonth(-1, elem.name);
		});
	});
	$$('.nextMonth').each(function(elem){
		elem.addEvent('click', function(event){
			preventClick(event);
			toggleMonth(1, elem.name);
		});
	});
}

function toggleMonth(direction, category){
	function succ(req){
		collapseCalendar();
	}
	function fail(req){
		alert(req+ ' FEL');
	}
	
	var curpos = $$('.calendarPosition')[0].innerHTML;
	curpos = curpos.split("/");
	var month = (curpos[0]*1+direction-1+12)%12+1;
	var year = curpos[1];
	if(month == 1 && direction == 1) {
		year++;
	}
	else if (month == 12 && direction == -1) {
		year--;
	}
	$$('.calendarPosition')[0].innerHTML = month+"/"+year;

	var req = new Request.HTML({  
         method: 'post',  
         url: "../inc/box_calendar_ajax.php",  
         data: {'category': category, 'month' : month, 'year' : year, 'languageID' : languageID, 'fallbackLanguageID' : fallbackLanguageID},
		 async: false,
		 update: $('calendarTable'),
         onSuccess: succ, 
		 onFailure: fail
     }).send();
}
