function sinContenido( cadena )
// (Boolean) Indica si la cadena pasada como parámetro es vacía o sólo contiene espacios en blanco (tabuladores, etc.).
{
  return !( new RegExp( "\\S" ) ).test( cadena );
}

function err_msg( msg )
// (Boolean) Muestra un cuadro de diálogo con un mensaje de error y devuelve el enfoque al elemento de formulario que ha invocado el método. Devuelve siempre "false". Debe asignarse a cada elemento del formulario.
{
  alert( msg );
  this.focus();
  return false;
}

function validarForm( objForm )
{
  	for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     	objForm.elements[ i ].errMsg = err_msg;
                
	with (objForm.nombre)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu nombre.");

	with (objForm.apellidos)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tus apellidos.");

	with (objForm.nif)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu NIF.");

	with (objForm.nacimiento)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu fecha de nacimiento.");

	with (objForm.direccion)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu dirección.");

	with (objForm.localidad)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu localidad.");

	with (objForm.provincia)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu provincia.");

	with (objForm.codpostal)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu código postal.");

	with (objForm.pais)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu país.");

	with (objForm.nick)
	if ( sinContenido(value))
	      return errMsg("Por favor, elige un nick.");

	with (objForm.password)
	if ( sinContenido(value))
	      return errMsg("Por favor, elige un password.");

	if (objForm.password.value != objForm.password2.value)
	   return objForm.password.errMsg("Las claves no coinciden.");             
	
	//Comprueba que telefono o email estan rellenos
	if ( (sinContenido( objForm.email.value )) && (sinContenido( objForm.telefono.value )))
	      return objForm.email.errMsg( "Por favor, escribe tu e-mail o tu número de teléfono." );	                  	      
	else 
		{
		objForm.submit();
		return true;
		}      		     
}

function validarForm2( objForm )
{
  	for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     	objForm.elements[ i ].errMsg = err_msg;
                
	with (objForm.nick)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu nick.");

	with (objForm.password)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu password.");
	      
	else 
		{
		objForm.submit();
		return true;
		}      		     
}	      

function validarForm3( objForm )
{
  	for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     	objForm.elements[ i ].errMsg = err_msg;
                
	with (objForm.nombre)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu nombre.");

	with (objForm.apellidos)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tus apellidos.");

	with (objForm.nif)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu NIF.");

	with (objForm.nacimiento)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu fecha de nacimiento.");

	with (objForm.direccion)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu dirección.");

	with (objForm.localidad)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu localidad.");

	with (objForm.provincia)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu provincia.");

	with (objForm.codpostal)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu código postal.");

	with (objForm.pais)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu país.");

	with (objForm.estado)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu estado civil.");

	with (objForm.ocupacion)
	if ( sinContenido(value))
	      return errMsg("Por favor, escribe tu estado ocupación.");

	with (objForm.nick)
	if ( sinContenido(value))
	      return errMsg("Por favor, elige un nick.");

	with (objForm.password)
	if ( sinContenido(value))
	      return errMsg("Por favor, elige un password.");

	if (objForm.password.value != objForm.password2.value)
	   return objForm.password.errMsg("Las claves no coinciden.");             
	
	
	//Comprueba que telefono o email estan rellenos
	if ( (sinContenido( objForm.email.value )) && (sinContenido( objForm.telefono.value )))
	      return objForm.email.errMsg( "Por favor, escribe tu e-mail o tu número de teléfono." );	                  	      
	else 
		{
		objForm.submit();
		return true;
		}      		     
}	

function ventana (URL,w,h,t) {
  var height = h;
  var width = w;
  var str = "height=" + height + ",innerHeight=" + height;
  str += ",width=" + width + ",innerWidth=" + width;
  if (window.screen) {
    var ah = screen.availHeight ;
    var aw = screen.availWidth ;

    var xc = (aw - width) / 2;
    var yc = (ah - height) / 2;

    str += ",left=" + xc + ",screenX=" + xc;
    str += ",top=" + yc + ",screenY=" + yc;
  }
  str += ",resizable=0,scrollbars=0,toolbar=0,status=0";
  open(URL,t,str);
}     
