	
	// Para que no exista conflicto de jquery con otras librerias como prototype que usa symfony
	// para sus helpers
	jQuery.noConflict();

	// ini ready
	jQuery(document).ready(
		
		// ini funcion PRINCIPAL
		function()
		{
			// ini click 1
			jQuery('a.minimizar').click(
			
				// ini funcion 1
				function()
				{
					// Si la capa ya eta oculta, la mostramos
					if( jQuery('#contenedor_plantilla').is(':hidden') )
					{
						jQuery('#contenedor_plantilla').show('slow'); // show('velocidad','callback')					
						jQuery('a.minimizar').text('Minimizar');						
						
					}else{
					// Si la capa ya eta visible, la ocultamos	

						jQuery('#contenedor_plantilla').hide('slow'); // hidden('velocidad','callback')					
						jQuery('a.minimizar').text('Maximizar');											
					
					}
			
				}
				// fin funcion 1
				
			);	
			// fin click 1
			
						
		}
		// fin funcion PRINCIPAL	
		
		
	
	);
	// fin ready
	
	
	/* INICIO FUNCION MOSTRAR - OCULTAR INFO */
	function mostrarInfo(nombreidinfo,nombreidreg)
	{
		if(nombreidreg != '') jQuery(nombreidreg).css("z-index",2); // para que el contenedor reg esté por encima de resto de contenedores reg y no se coma un trozo de infgo
		jQuery(nombreidinfo).show('slow');	
		
		
	}
	function ocultarInfo(nombreid,nombreidreg)
	{
		if(nombreidreg != '') jQuery(nombreidreg).css("z-index",0); // para que el contenedor reg esté por encima de resto de contenedores reg y no se coma un trozo de infgo		
		jQuery(nombreid).hide('slow');	
	}	
	/* FIN FUNCION MOSTRAR - OCULTAR INFO */
	
	/* INICIO MARCAR TODAS */
	function marcarTodas(tipo)
	{
		// Marcamos todas las A
		if(tipo == 'a' || tipo == 'A')
		{
			elementos_seleccionados = 0;
			
			// ini each
			 jQuery('.opciones_a').each(
			
				function(i)
				{
					
					if(!this.checked){
						
						//alert(this.checked);
						this.checked='checked';
						elementos_seleccionados++;				
						
						
						//alert(jQuery('.fila_'+elementos_seleccionados+' .opciones_b').val());
						
						if(jQuery('.fila_'+elementos_seleccionados+' .opciones_b').attr('checked')==true) // ES DECIR ESTARÁN MARCADAS LAS DOS OPCIONES
						{
							// Marcamos color verde/azul
							jQuery('.fila_'+elementos_seleccionados+' td.columna_texto').addClass('fondo_gris');
							//alert("dentro");
							
						}else{
						
							// Marcamos color verde
							jQuery('.fila_'+elementos_seleccionados+' td.columna_texto').addClass('fondo_verde');
						}
					}

					
				}
			
			);
			// fin each

			// Una vez que marcamos todas cambiamos el atributo onclick y value del enlace
			 jQuery('#marcar_todas_a').removeAttr('onclick');
			 jQuery('#marcar_todas_a').click(function(){ 
				 

				 desmarcarTodas('A')
				 
			 }); 
			 jQuery('#marcar_todas_a').text('desmarcar todas "A"');			 
			 
			 //alert("Ha seleccionado: "+elementos_seleccionados + " elementos");
		}
		// Marcamos todas las B
		if(tipo == 'b' || tipo == 'B' )
		{
			
			elementos_seleccionados = 0;
			
			// ini each
			 jQuery('.opciones_b').each(
			
				function(i)
				{
					
					if(!this.checked){
						
						//alert(this.checked);
						this.checked='checked';
						elementos_seleccionados++;		
						
						
						if(jQuery('.fila_'+elementos_seleccionados+' .opciones_a').attr('checked')==true) // ES DECIR ESTARÁN MARCADAS LAS DOS OPCIONES	
						{						
							// Borramos color verde
							//jQuery('.fila_'+elementos_seleccionados+' td.columna_texto').removeClass('fondo_verde');							
							
							// Marcamos color verde/azul
							jQuery('.fila_'+elementos_seleccionados+' td.columna_texto').addClass('fondo_gris');							
						}else{
							// Marcamos todas azul
							jQuery('.fila_'+elementos_seleccionados+' td.columna_texto').addClass('fondo_azul');
						}
						
						
					}

					
				}
			
			);
			// fin each
	 
			 
			 // Una vez que marcamos todas cambiamos el atributo onclick y value del enlace
			 jQuery('#marcar_todas_b').removeAttr('onclick');
			 jQuery('#marcar_todas_b').click(function(){ 
				 

				 desmarcarTodas('B')
				 
			 }); 
			 jQuery('#marcar_todas_b').text('desmarcar todas "B"');
			 			 		 			 
			//alert("Ha seleccionado: "+elementos_seleccionados + " elementos");			
		}
		
		// fondo_verde, fondo_azul y fondo_gris		
		
	}
	/* FIN MARCAR TODAS */
	
	/* INICIO DESMARCAR TODAS */
	function desmarcarTodas(tipo)
	{
		// Marcamos todas las A
		if(tipo == 'a' || tipo == 'A')
		{
			elementos_deseleccionados = 0;
			
			// ini each
			 jQuery('.opciones_a').each(
			
				function(i)
				{
					
					if(this.checked){
						
						//alert(this.checked);
						this.checked=0;
						elementos_deseleccionados++;	
						
						if(jQuery('.fila_'+elementos_deseleccionados+' .opciones_b').attr('checked')==true) // ES DECIR ESTARÁN MARCADAS LAS DOS OPCIONES
						{
							// Desmarcamos todas color verde 
							jQuery('.fila_'+elementos_deseleccionados+' .columna_texto').removeClass('fondo_gris');
						
						}else{
						// Desmarcamos todas color verde
						jQuery('.fila_'+elementos_deseleccionados+' .columna_texto').removeClass('fondo_verde');
						
						}
						
					}

					
				}
			
			);
			// fin each
			 
			 // Una vez que desmarcamos todas cambiamos el atributo onclick y value del enlace
			 jQuery('#marcar_todas_a').removeAttr('onclick');
			 jQuery('#marcar_todas_a').click(function(){ 
				 

				 marcarTodas('A') // añadimos al atributo onclick esta funcion
				 
			 }); 
			 jQuery('#marcar_todas_a').text('marcar todas "A"');			 

			 
			//alert("Ha desmarcado: "+elementos_deseleccionados + " elementos");
			
		}
		// Marcamos todas las B
		if(tipo == 'b' || tipo == 'B' )
		{
			
			elementos_deseleccionados = 0;
			
			// ini each
			 jQuery('.opciones_b').each(
			
				function(i)
				{
					
					if(this.checked){
						
						//alert(this.checked);
						this.checked=0;
						elementos_deseleccionados++;
						
						if(jQuery('.fila_'+elementos_deseleccionados+' .opciones_a').attr('checked')==true) // ES DECIR ESTARÁN MARCADAS LAS DOS OPCIONES
						{
							
							jQuery('.fila_'+elementos_deseleccionados+' .columna_texto').removeClass('fondo_gris');							
							
						}else{
						
						// Desmarcamos todas color azul
						jQuery('.fila_'+elementos_deseleccionados+' .columna_texto').removeClass('fondo_azul');
						
						}
						
						
						
					}

					
				}
			
			);
			// fin each
			 
			 // Una vez que marcamos todas cambiamos el atributo onclick y value del enlace
			 jQuery('#marcar_todas_b').removeAttr('onclick');
			 jQuery('#marcar_todas_b').click(function(){ 
				 

				 marcarTodas('B')
				 
			 }); 
			 jQuery('#marcar_todas_b').text('marcar todas "B"');
			 
			//alert("Ha desmarcado: "+elementos_deseleccionados + " elementos");			
		}
	}
	/* FIN DESMARCAR TODAS */
	
	
	
	/* INICIO COMPROBAR QUE HAN MARCADO ALGUN ELEMENTO CHECKBOX */
	function comprobarElementosMarcados()
	{
		
		// Debemos distinguir entre checkbox opcion_a y opcion_b, ya que debemos comprobar que estén marcados opcion_a o opcion_b del mismo elemento
		
		// OBTENGO TODOS LOS ELEMENTOS CHECKBOX A
		var todos_marcados = true;
		
		jQuery('.opciones_a').each(function(i){
			
			
			/* inicio checkbox A */
			if( !jQuery(this).is(':checked') )
			{
				
				/* inicio checkbox B */
				jQuery('.opciones_b').each(function(j){

					/* NOTA: no ha marcado el checkbox A, así que comprobamos si almenos ha marcado checkbox B */
					if(i==j)
					{
						if(!jQuery(this).is(':checked'))
						{
							todos_marcados = false;
						}
					}
					
				});
				/* inicio checkbox B */				
				
			}
			/* fin checkbox A */			
			
			
		});
		
		jQuery('.opciones_b').each(function(i){
			
			
			/* inicio checkbox B */
			if( !jQuery(this).is(':checked') )
			{
				
				/* inicio checkbox A */
				jQuery('.opciones_a').each(function(j){

					/* NOTA: no ha marcado el checkbox A, así que comprobamos si almenos ha marcado checkbox B */
					if(i==j)
					{
						if(!jQuery(this).is(':checked'))
						{
							todos_marcados = false;
						}
					}
					
				});
				/* inicio checkbox B */				
				
			}
			/* fin checkbox A */			
			
			
		});
		
		// OBTENGO TODOS LOS ELEMENTOS CHECKBOX B
	
		
		//form_elementos
		  /*var todos_marcados = true;
		  for(i=0; ele=document.form_elementos.elements[i]; i++)
		  {
			    if (ele.type=='checkbox' && ele.checked)
			    {
			    	// almenos han marcado uno
			    	todos_marcados = false;
			    }
		  }
		  */
		
		  if(!todos_marcados)
		  {
			  alert("Debe marcar todos los elementos hacia un lado u otro");
			  
		  }else{
			  
			  // ESTA COMPROBACIÓN ESTABA EN EL ONCLICK DEL BOTON GUARDAR
			  //if(jQuery('#campos_ocultos_a #idafirmacion_a').val() && jQuery('#campos_ocultos_b #idafirmacion_b').val()){document.form_elementos.submit()}else{ alert('Debes guardar primero las afirmaciones')}
			  if(jQuery('#campos_ocultos_a #id_a_a').val() && jQuery('#campos_ocultos_b #id_b_b').val()){document.form_elementos.submit()}else{ alert('Debes guardar primero las afirmaciones')}
			  
		  }
		  
			    // return true;
			  //alert('Debe seleccionar algun elemento');
			  //return false;
			  
			  			  
		
	}
	/* FIN COMPROBAR QUE HAN MARCADO ALGUN ELEMENTO CHECKBOX */
	
	/* INICIO MARCAR A */
	function marcarElemento(idcolumna,numero_fila,opcion)
	{

							

				cadena_clases = document.getElementById("tabla_elementos").rows[numero_fila+1].cells[0].className; // Puede ser por ejemplo 'columna_texto nuevo_elemento fondo_verde'
				// Convertimos esa cadena en elementos de array
				
				
				array_clases = cadena_clases.split(' '); // separamos por espacio
				
				
				color_verde = false;
				color_azul  = false;
				color_gris  = false;
				
				for(var i=0; i< array_clases.length; i++)
				{
					if(array_clases[i]=='fondo_verde')
					{
						color_verde = true;
					}
					if(array_clases[i]=='fondo_azul')
					{
						color_azul = true;
					}
					if(array_clases[i]=='fondo_gris')
					{
						color_gris = true;
					}										
				}
				
				// CASO 3
				if(opcion == 'A' || opcion == 'a') // poner a verde
				{
					if(color_gris) 
					{
						// Quiere decir que esta  desmarcando A por lo que debermos añadir color B

						jQuery(idcolumna).removeClass('fondo_gris');
						jQuery(idcolumna).addClass('fondo_azul');
						
						return 0;
					}			
					
					
				}	
				
				// CASO 4
				if(opcion == 'B' || opcion == 'b') // poner a verde
				{
					if(color_gris) 
					{
						// Quiere decir que esta  desmarcando B por lo que debermos añadir color A

						jQuery(idcolumna).removeClass('fondo_gris');
						jQuery(idcolumna).addClass('fondo_verde');
						
						return 0;
					}							

					
					
				}					
				
				// CASO 1
				if(opcion == 'A' || opcion == 'a') // poner a verde
				{
					if(color_verde)
					{
					
						jQuery(idcolumna).removeClass('fondo_verde'); 
						return 0;
											
					}else{
						
						if(color_azul)
						{
							jQuery(idcolumna).removeClass('fondo_azul');
							jQuery(idcolumna).addClass('fondo_gris');
							return 0;
						}else{
							
							jQuery(idcolumna).addClass('fondo_verde');
							return 0;
						}
					}
					
					
				}
				
				// CASO 2				
				if(opcion == 'B' || opcion == 'b') // poner a azul
				{
					if(color_azul)
					{
						jQuery(idcolumna).removeClass('fondo_azul'); 
						return 0;
											
					}else{
						
						if(color_verde)
						{
							jQuery(idcolumna).removeClass('fondo_verde');
							jQuery(idcolumna).addClass('fondo_gris');
							return 0;
						}else{
							
							jQuery(idcolumna).addClass('fondo_azul');
							return 0;
						}						
						
 
					}
					

					
				}		
				
		
	}
	
	/* FIN MARCAR A */
	
