var AJAX = '/ajax/ajax.php';

function videos_petits( limit )
{
	$.getJSON( AJAX, { limit: limit, lloc: 'portada', accio: 'videos' },
	function( resposta )
	{
		$("#videos_petits").hide();
		
		$("#fletxa1").html( resposta.fletxa1 );
		$("#fletxa2").html( resposta.fletxa2 );
		
		$("#youtube0").html( resposta.youtube0 );
		$("#youtube1").html( resposta.youtube1 );
		
		$("#video0").html( resposta.video0 );
		$("#video1").html( resposta.video1 );
		
		$("#videos_petits").fadeIn("slow");
	});
}

function inscriure( accio )
{
	var email = $("#email-titulars").val();
	var nom = $("#nom-titulars").val();

	if( email )
	{
		if( !echeck( email ) )
		{
			alert("El correu electrònic que has posat és incorrecte");
			return false;
		}
		
		if( accio == 'alta' ) accio = 'inscriure_alta';
		if( accio == 'baixa' ) accio = 'inscriure_baixa';
				
		$.getJSON( AJAX, { email: email, nom: nom, accio: accio },
		function( resposta )
		{
			if( resposta.exit == 'true' ) $("#inscriure-formulari").empty();
			
			$("#inscriure-text").html( resposta.text );
		});
	}
	else
	{
		alert("Falta posar el teu correu electrònic");
		return false;
	}
}

function tip_on( id_camp )
{
	$("#tip_"+id_camp).removeClass("ocult");
}
function tip_off( id_camp )
{
	$("#tip_"+id_camp).addClass("ocult");
}


function echeck(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
		return false;

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		return false;

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		return false;

	if (str.indexOf(at,(lat+1))!=-1)
		return false;

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		return false;

	if (str.indexOf(dot,(lat+2))==-1)
		return false;

	if (str.indexOf(" ")!=-1)
		return false;

	return true;
}


function buildCal( mes, any, lloc )
{
	var m = mes;
	var y = any;
		
	$('#calendari').html( '<img src="/img/icones/carregar.gif" alt="loader" style="margin: 50px 0px 0px 80px" />' );
	$.getJSON( AJAX, { mes: m, any: y, accio: 'agenda' },
	function( resposta )
	{
		var dies_actes = new Array();
	
		for( var i = 1; i <= 31; i++ )
		{
			dies_actes[i] = false;
		}
	
		if( resposta.dies )
		{
			for(var i = 0; i < resposta.total; i++)
			{
				dies_actes[resposta.dies[i]] = true;
			}
		}
		
		mes_actual = m;
		any_actual = y;
	
		var mn=['gener','febrer','mar&#231;','abril','maig','juny','juliol','agost','setembre','octubre','novembre','desembre'];
		var dies=['DL','DM','DC','DJ','DV','DS','DG'];
		var dim=[31,0,31,30,31,30,31,31,30,31,30,31]; /* dies dels mesos */
		var dim_ant=[31,31,0,31,30,31,30,31,31,30,31,30]; /* dies dels mesos anteriors */
		var dim_seg=[0,31,30,31,30,31,31,30,31,30,31,31]; /* dies dels mesos posteriors */
	
		var oD = new Date(y, m-1, 1);
		oD.od = oD.getDay(); /* dia de la setmana 0 - dg, 6 - ds */
	
		var data_avui = new Date();
		var avui = (y == data_avui.getFullYear() && m == data_avui.getMonth() + 1) ? data_avui.getDate() : 0;
		var setmana_avui = parseInt( (avui-1) / 7 ) + 1; /* la setmana del dia d'avui, més una setmana del mes anterior */
		setmana_actual = setmana_avui;
		
		// dies que té el febrer
		dim[1] = (((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
		dim_ant[2] = dim[1];
		dim_seg[0] = dim[1];
		
		var bloc = resposta.bloc;
		
		if( lloc == 'portada' )
		{
			var html = '<table class="calendari_mes"><tr><td class="mesdata">';
			html += '	<a href="/agenda/'+ y +'/'+ m +'" class="groc">'+mn[m-1]+' '+y+'</a>';
			html += '</td><td class="desplacament">';
			html += '	<a onclick="mes_anterior();"> <img src="/img/icones/agenda_fletxa_e.png" alt="fletxa" /> </a>';
			html += '	<a onclick="mes_seguent();"> <img src="/img/icones/agenda_fletxa_d.png" alt="fletxa" /> </a>';
			html += '</td></tr></table>';
		}
		else
		{
			var html = '<table class="calendari_mes"><tr><td class="mesdata">';
			html += '	<a href="/agenda/'+ y +'/'+ m +'" class="gris">'+mn[m-1]+' '+y+'</a>';
			html += '</td><td class="desplacament">';
			html += '	<a onclick="mes_anterior();"> <img src="/img/icones/agenda2_fletxa_e.png" alt="fletxa" /> </a>';
			html += '	<a onclick="mes_seguent();"> <img src="/img/icones/agenda2_fletxa_d.png" alt="fletxa" /> </a>';
			html += '</td></tr></table><hr class="ratlla" />';
		}
		
		
		
		html += '<table class="calendari">';
		html += '<tr>';
		
		for( s = 0; s < 7; s++ )
			html += '<td class="dies" unselectable="on">'+dies[s]+'</td>';
		
		html += '</tr><tr>';
		
		var dia = 1;
		var setmana = 0;
		var classes = '';
		
		/* posa els dies del mes anterior */
		for( i = ( dim_ant[m-1] - 7 - oD.od + 2 ); i <= dim_ant[m-1]; i++ )
		{
			html += '<td></td>';
			if( dia%7 == 0 )
			{
				html += '</tr><tr>';
				setmana++;
			}
			dia++;
		}
		
		for( i = 1; i <= dim[m-1]; i++ )
		{
			classes = '';
			var x = i;
			
			if( dia%7 == 0 ) classes += 'cal_fest ';
			if( x == avui ) classes += 'cal_avui ';
			
			if( dies_actes[x] == true )
			{
				classes += 'cal_acte ';

				if( lloc == 'llistat' )
					html += '<td id="id-'+ x +'" class="'+classes +'" unselectable="on"><a href="agenda/'+ y +'/'+ m +'/'+ x +'">' + x + '</a></td>';
				else
					html += '<td id="id-'+ x +'" class="'+classes +'" unselectable="on"><a onclick="veure_acte('+ x +','+ m +','+ y +')">' + x + '</a></td>';
			}
			else
				html += '<td class="'+classes+'" unselectable="on">' + x + '</td>';
	
			if( dia%7 == 0 )
			{
				html += '</tr><tr>';
				setmana++;
			}
			dia++;
		}
		var ultim_dia = oD.od + dim[m-1]%7;
		
		
		for( i = 1; i < 14 - ultim_dia + 2; i++ )
		{
			html += '<td></td>';
			if( dia%7 == 0 )
			{
				html += '</tr><tr>';
				setmana++;
			}
			dia++;
		}
		
		html += '</tr></table>';
		
		$('#calendari').hide().fadeIn("slow").html( html );	
	});
}


function mes_anterior()
{
	if( mes_actual == 1 )
	{
		mes_actual = 12;
		any_actual--;
	}
	else mes_actual--;
	
	buildCal( mes_actual, any_actual );
}
function mes_seguent()
{
	if( mes_actual == 12 )
	{
		mes_actual = 1;
		any_actual++;
	}
	else mes_actual++;
	
	buildCal( mes_actual, any_actual );
}

function veure_acte( dia, mes, any )
{
 	if( dia && mes && any )
	{
		$.getJSON( AJAX, { dia: dia, mes: mes, any: any, accio: 'veure_acte' },
		function( resposta )
		{
			$("#actes_dreta").hide().fadeIn("slow").html( resposta.contingut );
			$("#acte_dia").hide().fadeIn("slow").html( resposta.dia );
			$("#acte_dia_text").hide().fadeIn("slow").html( resposta.dia_text );
		});
	}
	else
	{
		alert("Error inesperat!");
	}
}


function veure_mapa( id_agenda )
{
 	if( id_agenda )
	{
		$.getJSON( AJAX, { id_agenda: id_agenda, accio: 'veure_mapa' },
		function( resposta )
		{
			if( GBrowserIsCompatible() && resposta.lat != 0 && resposta.lon != 0 )
			{
				$("#mapat_agenda").css( "display", "block" );
				$("#mapat_enllac").css( "display", "none" );
				mapat = new GMap2(document.getElementById( "mapat_agenda" ));
				var geocoder = new GClientGeocoder();
				
				mapat.addControl (new GSmallZoomControl());
				mapat.addControl (new GMapTypeControl());
				
				mapat.enableDoubleClickZoom();
				mapat.enableScrollWheelZoom();
			
				var punt = new GLatLng( resposta.lat , resposta.lon );
				
				mapat.setCenter( punt , 15 );
				marker = new GMarker( punt, {draggable: true}  );
				mapat.addOverlay(marker);
			}
		});
	}
	else
	{
		alert("Error inesperat!");
	}
}


function fentpais( limit )
{
	$.getJSON( AJAX, { limit: limit, accio: 'fentpais' },
	function( resposta )
	{
		$("#fentpais").hide();
		
		$("#fentpais").html( resposta.contingut );
		$("#fentpais_paginacio").html( resposta.paginacio );
		
		$("#fentpais").fadeIn("slow");
	});
}