
	// Comprueba si el contenido de un campo coincide con el formato de email
	// @param formulario
	// @param campo
	// Devuelve TRUE si el campo coincide con un email, FALSE en caso contrario
	
		function checkEmail(campo)
		{
			var resultado = false;
			var mailFormat = /^\w[.\w]@\w.\w$/;
			
			resultado = mailFormat.test(campo);
			
			return resultado;
		}
		
			
	// Comprueba si un campo está vacío
	// @param campo
	// Devuelve TRUE si el campo esta vacio, FALSE en caso contrario
	
		function campoVacio(campo)
		{
			var resultado = false;
	
			if( campo.value.replace(/ /g, '') == '' )
			{
				resultado = true;
			}
			
			return resultado;
		}
		
	
	// Comprueba si está vacío el id de los campos de un formulario marcados con un asterisco como obligatorios
	// @param formulario - formulario al que pertenecen los campos
	// @param mensaje_error - mensaje de error si se encuentra un campo obligatorio vacio
	// Devuelve TRUE si no se encontró ningún campo obligatorio vacío, FALSE en caso contrario
	
		function checkCamposObligatorios(formulario, mensaje_error)
		{
			var resultado = true;
			
			var patternObligatorio = /\*[a-zA-Z0-9_]+(\[[0-9]*\])?/;
			
			for( indice = 0; indice < formulario.elements.length; indice++ )
			{
				var elemento = formulario.elements[indice];

					if( patternObligatorio.test(elemento.id) )
					{
						if( campoVacio(elemento) )
						{						
							elemento.focus();
							
							resultado = false;
							break;
						}
					}
			}
			
			if( resultado == false )
			{
				alert(mensaje_error);
			}
			
			return resultado;
		}
		
		
	// Muestra un mensaje de confirmación 
	// @param mensaje - cadena de texto que se muestra como mensaje de confirmación
	
		function confirmacion(mensaje)
		{
			var resultado = false;
			
			if( confirm(mensaje) )
			{
				resultado = true;
			}
			
			return resultado;
		}


	// Abre una ventana	tipo popup y muestra una imagen
	// @param idImagen - identificador de la imagen
	
		function popupImage(idImagen)
		{
			var ventana;
			/*
			if( cont == 1 )
			{
				ventana.close();
				ventana=null
			}
			*/
			ventana = window.open('popup.php?id=' + idImagen, 'ventana', 'resizable=yes,scrollbars=no');
			//ventana.document.write()
			//ventana.document.close()
			//cont++;
		}

		
	// deshabilita un elemento/s por su id
	// @param formulario - formulario
	// @param id - identificador
	
		function disable(form, id)
		{
			//tab = document.getElementById(form);
			for(i=0; ele = document.form.getElementsByTagName(id)[i]; i++)
			{
				ele.disabled = true;
			}
		}
		
		
	// realiza el submit de un @formulario
	// y substituye la @capa por @message
	
		function upload(formulario, capa, mensaje)
		{			
			if( formulario.onsubmit() )
			{
				formulario.submit();
				
				document.getElementById( capa ).innerHTML = mensaje;
			}
		}
		
			
	// realiza el submit de un @formulario
	// y substituye la @capa por @message
	
		function upload_end(capa, mensaje)
		{	
			document.getElementById( capa ).innerHTML = mensaje;
		}
		
			
	// cambia el contenido de una capa div
	
		function change_div_content( div_id, content )
		{
			document.getElementById( div_id ).innerHTML = content;
		}
		
		
		function ventana(html_url)
		{
			Dialog.info({url: html_url, options: {method: 'get'}}, 
						{className: "alphacube", width:540, okLabel: "Close", closable: "true", draggable: "true"});
		}
		
			
	// hide element1 and show element2
		function toggleElements(element1_id, element2_id)
		{
			$(element1_id).hide();
			$(element2_id).show();
		}
		
		
		function myAjax(action,loading_src,form_id,result_id)
		{	
		// empty result
		
			$(result_id).update('<img src=\'' + loading_src + '\' />');
			
		// hide form and show result
		
			toggleElements(form_id,result_id);
			
		// send ajax request
			new Ajax.Updater(result_id, action, {
							method: 'post',
							parameters: $(form_id).serialize(true)
			});
		}		