
// Cargamos el formulario
function carga_calendari (accion) {
	var req = new Request({  
		url: 'includes/ajax/ajax_agenda.php',  
		data: { 'id' : dia_actual,
				'periodo_tiempo': periodo_tiempo,
				'accion': accion},
		onRequest: function() {
			$('contenidoMantenimiento').set('html', "<img src='../img/ajax-loader.gif' align='center'> Esperi per favor...");
		},
		onSuccess: function(response) {

			// Rellenamos la tabla calendari
			$('contenidoMantenimiento').set('html', '');
			$('contenidoMantenimiento').grab( new Element('div', {id: 'anterior', text: '<'}));
			$('contenidoMantenimiento').grab( new Element('div', {id: 'hoy', text: 'Avui'}));
			$('contenidoMantenimiento').grab( new Element('div', {id: 'siguiente', text: '>'}));
			$('anterior').addEvent('click', function(event){	carga_calendari(-1); });
			$('siguiente').addEvent('click', function(event){	carga_calendari(1); });
			$('hoy').addEvent('click', function(event){	ir_hoy(); });

			var div_tiempo =  new Element('div', {id: 'div_tiempo'});
			
			// Pintamos calendario semanal
			if (periodo_tiempo == 'w') {
			
				div_tiempo.grab(new Element('label', {id: 'label_tiempo', text: dias[0] + ' a ' + dias[6]}));
				$('contenidoMantenimiento').grab(div_tiempo);
				
				var ancho_scroll = 20;
				var ancho_hora = 40;
			
				$('contenido').set('class', 'vistaSem');
			
				// Primero la cabecera que guardamos como una tabla normal
				var tabla = new Element('table', {'id': 'tabla_cabecera'});
				var tbody = new Element('tbody', {'id': 'body_cabecera'});
				var linea = new Element('tr');
				for (i = 0; i < 7; i++) {
					cabecera = new Element('td', {text: dias_semana[i] + " " + dias[i]});
					cabecera.inject(linea);
				}	
				linea.inject(tbody);
				tbody.inject(tabla);
				// El + 2 es para ajustar el cellpadding
				tabla.setStyles({
					'position': 'relative',
					left: ancho_hora + 2
				});
				$('contenidoMantenimiento').grab(tabla);
				$('contenidoMantenimiento').grab(new Element('div', {id: 'contenido_tabla', style: 'position: relative'}));
				$('contenido_tabla').set('html', html_tabla);

				valorsCuerpo = $('contenido_tabla').getCoordinates();
		//		valorsTabla = $('tabla_calendario').getCoordinates();
				valorscabecera = $('tabla_cabecera').getCoordinates();

				ancho_total= parseInt(valorsCuerpo['right'])- parseInt(valorsCuerpo['left']) - ancho_scroll;
				
				$('tabla_calendario').setStyle('width', ancho_total);
				$('tabla_cabecera').setStyle('width', ancho_total - ancho_hora);

				var alto_total= window.getHeight()-valorscabecera['bottom'];
				$('contenido_tabla').setStyle('height', alto_total);
	
				var children = $('body_calendario').getChildren();
				// Cogemos las columnas de la primera fila y les damos un ancho concreto
				var children_tr = children[0].getChildren();
				var longitud = children_tr.length;

				ancho_columna = (ancho_total - ancho_hora)/7;
				alto_fila = children[0].getStyle('height');

				for (contador = 1; contador < longitud; contador++) {
					children_tr[contador].setStyle('width', ancho_columna);
				}

				var children = $('body_cabecera').getChildren();
				children.getChildren().each(function(el) {
					el.setStyle('width', ancho_columna - 10);
				});

				num_celdas = array_inicio.length;
				// Insertamos las actividades en un div que quedará por encima			
				for (contador = 0; contador < num_celdas; contador++) {

					var div = new Element('div', {html: array_valor[contador]});
					div.setStyles({
					'width': (ancho_columna - 10) / (1 + parseInt(array_solapa[contador])),
					'position': 'absolute',
					'height':  parseInt(alto_fila.substr(0, 2)) * array_longitud[contador],
					'z-index': 100 + parseInt(array_pos[contador]),
					left: ancho_columna * array_dia[contador] + ancho_hora + 5 + ((ancho_columna - 20) / (1 + parseInt(array_solapa[contador])) * parseInt(array_pos[contador])),				
					top: parseInt(alto_fila.substr(0, 2)) * array_inicio[contador] + 2
					});
					eval('div.addEvent("click", function(event){ carga_ficha('+celdas_id[contador]+'); });');
			
					/*div.addClass('estado'+array_estado[contador]);
					div.addClass('divActo');*/
					$('contenido_tabla').grab(div, 'top');
			
				}
		
				
				// Reseteamos para que no esté la posibilidad de que se vuelva a pintar
				array_inicio = new Array();
				window.location.href ="#ancla";
				
			
			} else if (periodo_tiempo == 'm') {
			
				div_tiempo.grab(new Element('label', {id: 'label_tiempo', text:texto_mes}));
				$('contenidoMantenimiento').grab(div_tiempo);

				$('contenidoMantenimiento').grab(new Element('table', {id: 'tabla_calendario'}));
				valorsTabla = $('tabla_calendario').getCoordinates();
				ancho_total= parseInt(window.getWidth()- parseInt(valorsTabla['left']));
				ancho_columna = ancho_total/7;

				var thead = new Element('thead');
				var tbody = new Element('tbody');

				var linea = new Element('tr');
				var cabecera;

				$('contenido').set('class', 'vistaMes');
			
				for (i = 0; i < 7; i++) {
					cabecera = new Element('th', {text: dias_semana[i]});
					cabecera.setStyle('width', ancho_columna);
					cabecera.inject(linea);
				}						
				linea.inject(thead);
				$('tabla_calendario').grab(thead);
				
				var linea = new Element('tr');
				var celda;
				var num_lineas = 1;
				
				// Rellenamos los últimos días del mes anterior
				for (rellenar = 1; rellenar < primer_dia; rellenar++) {
					celda = new Element('td', {'class': 'diaInact'});
					celda.setStyle('width', ancho_columna);
					celda.inject(linea);				
				}
	
				// Llenamos los desplegables con las horas
				for (dia = 1; dia <= total_dias; dia++) {
					if (dia < 10) {
						dia_modif = '0' + dia;
					} else {
						dia_modif = dia;
					}
					modificador = 7 - (primer_dia - 1);
					if ( ((dia > 7) && (((dia - modificador) % 7) == 1)) || (dia + (primer_dia - 1) == 8) ) {
						linea.inject(tbody);
						var linea = new Element('tr');
						num_lineas++;
					}
					
					var celda;
					celda = new Element('td', {id: dia_modif + '-' + num_mes, html: '<span class="indicDia">' + dia_modif + '</span>'});
					celda.setStyle('width', ancho_columna);
					celda.inject(linea);
				//	eval('celda.addEvent("click", function(event){	carga_formulario(0, "' + num_anyo + '-' + num_mes + '-' + dia_modif + '"); });');
					
					// Añadimos una tabla interior a esa celda para poder añadir facilmente todos los eventos
					var tabla_interior = new Element('table');
					var tbody_interior = new Element('tbody', {id: dia_modif + '-' + num_mes + 'tr'});
					tbody_interior.inject(tabla_interior);
					tabla_interior.inject(celda);
						
			
				}
				// Rellenamos los últimos días
				for (rellenar = ultimo_dia; rellenar < 7; rellenar++) {
					celda = new Element('td', {'class': 'diaInact'});
					celda.setStyle('width', ancho_columna);
					celda.inject(linea);				
				}
				
				linea.inject(tbody);
								
				var alto_total= window.getHeight()-100;
				alto_fila = alto_total/num_lineas;

				tbody.getChildren().each(function(el) { 
					el.setStyle('height', alto_fila);
				});
				

				$('tabla_calendario').grab(tbody);

				// Insertamos las actividades en sus correspondientes celdas				
				for (contador = 0; contador < num_celdas; contador++) {

					// Añadimos la celda a la linea "interior"
		//			linea = new Element('tr', {style: 'width:'+ancho_columna+'px'});
					linea = new Element('tr');
					celda = new Element('td', {html: celdas_valor[contador]});
				//	celda.setStyle('width', ancho_columna-10);
					// Añadimos el evento así por problemas con IE
					eval('celda.addEvent("click", function(event){	carga_ficha('+celdas_id[contador]+'); });');
					var temp = celdas[contador]+'tr';
					celda.inject(linea);
					$(temp).grab(linea);
	
				}
				
				if (num_anyo == anyo_hoy && num_mes == mes_hoy) {
					$(dia_hoy + '-' + mes_hoy).set('class', 'diaactual');
				}

			}
		
			
		},
						
		onFailure: function() {
			$('mensaje').set('html','S\'ha produit un error en la carga!');  
		}   
	}).send();

}


// Cargamos la ficha completa
function carga_ficha(id) {
	var req = new Request({  
		url: 'includes/ajax/ficha.php',  
		data: { 'id' : id},
		onRequest: function() {
			$("contenidoMantenimiento").set('html', "<img src='../img/ajax-loader.gif' align='center'> Esperi per favor...");
		},
		onSuccess: function(response) {
			$('contenidoMantenimiento').set('html', response);
		},
						
		onFailure: function() {
			$('mensaje').set('html','S\'ha produit un error en la carga!');  
		}   
	}).send();

}