/* Calendario */

function days_in_month (year, month) { return 32 - new Date(year, month, 32).getDate(); }

function mes_a_texto (mes) {
	var num = new Array();
	mes= trim(mes);
	num[1] = "Enero";
	num[2] = "Febrero";
	num[3] = "Marzo";
	num[4] = "Abril";
	num[5] = "Mayo";
	num[6] = "Junio";
	num[7] = "Julio";
	num[8] = "Agosto";
	num[9] = "Setiembre";
	num[10] = "Octubre";
	num[11] = "Noviembre";
	num[12] = "Diciembre";
	return num[parseInt(mes)];
}

function goCal()
{
	var mes = $("#info_calendario .mes").html();
	var anno = $("#info_calendario .anno").html();

	if(anno.length == 1){ anno = '0'+anno; }
	$("#info_calendario .anno").html(anno);

	var num_dias = days_in_month(20+anno, mes-1);

	// Variables per canviar a mes anteior o seguent
	if(mes > 1 ){
		mes_anterior = mes -1;
		anno_anterior = anno;
	}else{
		mes_anterior = 12;
		anno_anterior = anno -1;
	}
	if(mes < 12){
		mes_siguiente = mes;
		mes_siguiente++;
		anno_siguiente = anno;
	}else{
		mes_siguiente = 1;
		anno_siguiente = anno;
		anno_siguiente++;
	}

	// Calcula la posici� del primer dia del mes en la seva setmana: (0-6) on diumenge=0, dilluns=1..
	fecha=new Date();
	fecha.setFullYear(20+anno,(mes-1),1);
	elDia=fecha.getDay();
	hoy=new Date();
	// html del inici del calendari
	var html_dias_calendario = '<div id="containerCal"><p class="mes_calendario"><a href="javascript:changeMonth('+mes_anterior+','+anno_anterior+');" class="flecha izquierda"><img src="/media/img/events/misc.left_arr.gif" alt="anterior" /></a>';
	html_dias_calendario += mes_a_texto(mes) +' 20'+ anno +' <a href="javascript:changeMonth('+mes_siguiente+','+anno_siguiente+');" class="flecha derecha"><img src="/media/img/events/misc.right_arr.gif" alt="siguiente" /></a></p>'
	html_dias_calendario += '<table summary="'+ mes +' / 20'+ anno +'" cellpadding="0" cellspacing="0" class="calendario">';
	html_dias_calendario += '<thead><tr><th>LUN</th><th>MAR</th><th>MIE</th><th>JUE</th><th>VIE</th><th>SAB</th><th>DOM</th></tr></thead>';
	html_dias_calendario += '<tbody><tr>';

	// Normalitzo
	if(elDia<1){ elDia = 7; }
	elDia = elDia -1;
	// html dies buits de la primera setmana
	var posicion_dia_semana = 0;
	for (var x=0; x < elDia; x++){
		html_dias_calendario += '<td>&nbsp;</td>';
		posicion_dia_semana ++;
	}
	// html primers primers dies mes, els restants de la primera setmana
	var dia_actual = 1;
	var dias_eventos = $("#info_calendario .dias_eventos a");

	for (var y=posicion_dia_semana; y<7; y++){
		var hay_evento = false;
		for (var buclevar=0; buclevar<dias_eventos.length; buclevar++){
			if(dias_eventos[buclevar].innerHTML == dia_actual){
				hay_evento = true;
				// el perimer atribut [0] es 'rel' que conte la url del link.
				var url_dia = dias_eventos[buclevar];
			}
		}
		fecha_determinada=new Date();
		fecha_determinada.setFullYear(20+anno,(mes-1),dia_actual);
		if(hay_evento == true){
			if(fecha_determinada.getTime() >= hoy.getTime()){
				html_dias_calendario += '<td><a href="'+url_dia+'">'+ dia_actual +'</a></td>';
			}else{
				html_dias_calendario += '<td><a href="'+url_dia+'" class="pasado">'+ dia_actual +'</a></td>';
			}
		}else{
			if(fecha_determinada.getTime() > hoy.getTime()){
				html_dias_calendario += '<td><span>'+ dia_actual +'</span></td>';
			}else{
				html_dias_calendario += '<td class="pasado">'+ dia_actual +'</td>';
			}
		}
		dia_actual ++;
	}

	// html de la resta de dies
	posicion_dia_semana = 0;
	for (var z=dia_actual; z<=num_dias; z++){
		if((posicion_dia_semana % 7) == 0){
			html_dias_calendario += '</tr><tr>';
		}
		var hay_evento = false;
		for (var buclevar=0; buclevar<dias_eventos.length; buclevar++){
			if(dias_eventos[buclevar].innerHTML == dia_actual){
				hay_evento = true;
				// el perimer atribut [0] es 'rel' que conte la url del link.
				var url_dia = dias_eventos[buclevar];
			}
		}

		fecha_determinada=new Date();
		fecha_determinada.setFullYear(20+anno,(mes-1),dia_actual);
		if(hay_evento == true){
			if(fecha_determinada.getTime() > hoy.getTime()){
				html_dias_calendario += '<td><a href="'+url_dia+'">'+ dia_actual +'</a></td>';
			}else{
				html_dias_calendario += '<td><a href="'+url_dia+'" class="pasado">'+ dia_actual +'</a></td>';
			}
		}else{
			if(fecha_determinada.getTime() > hoy.getTime()){
				html_dias_calendario += '<td><span>'+ dia_actual +'</span></td>';
			}else{
				html_dias_calendario += '<td class="pasado">'+ dia_actual +'</td>';
			}
		}

		dia_actual ++;
		posicion_dia_semana ++;
	}

	// cel�les ultims espais calendari
	for(z= posicion_dia_semana%7; z<7 && z>0; z++){
		html_dias_calendario += '<td>&nbsp;</td>';
	}

	html_dias_calendario += '</tbody></table></div>';

		//elimina el html portador de la info del calendari
	$(html_dias_calendario).insertAfter("#info_calendario");
	$("#info_calendario").remove();

	//alert(html_dias_calendario);
}

function changeMonth(MES,ANNO){

	$("#containerCal").remove();

	var ajax=nuevoAjax();

 	params="mes="+MES+"&anno="+ANNO;
	ajax.open("POST", "/sections/events/ajax.eventsChangeMonth.php", true);
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4){
			$("#col265 a").after(ajax.responseText);
			goCal();
		}
	}
	ajax.send(params);
}
