function validateForm(myForm)
  {

  for (i=0; i<myForm.elements.length; i++)
    {
    if (myForm.elements[i].id.indexOf('_required') != -1)
      {
      // campos de texto
      if ((myForm.elements[i].tagName == 'INPUT') && (myForm.elements[i].type == 'text') && (myForm.elements[i].value == ''))
        {
        alert ("Debe rellenar todos los campos obligatorios");
        myForm.elements[i].focus();
        return false;
        }
        
      if ((myForm.elements[i].tagName == 'TEXTAREA') && (myForm.elements[i].value == ''))
        {
        alert ("Debe rellenar todos los campos obligatorios");
        myForm.elements[i].focus();
        return false;
        }
        
      // contraseñas
      if ((myForm.elements[i].tagName == 'INPUT') && (myForm.elements[i].type == 'password') && (myForm.elements[i].value == ''))
        {
        alert ("Debe rellenar todos los campos obligatorios");
        myForm.elements[i].focus();
        return false;
        }
        
      // campos de selección
      if ((myForm.elements[i].tagName == 'SELECT') && (myForm.elements[i].value == -1))
        {
        alert ("Debe seleccionar un elemento válido en los desplegables obligatorios");
        myForm.elements[i].focus();
        return false;
        }
      }
    }
    
  return true;
  } //function
  


function checkMail (str)
  {
  return checkMail (str, "Dirección de correo incorrecta");
  }
  
function checkMail (str, msg)
  {
  var at="@";
  var dot=".";
  var lat=str.indexOf(at);
  var lstr=str.length;
  var ldot=str.indexOf(dot);
  var validMail = true;
  
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
    validMail = false;
  else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
    validMail = false;
  else if (str.indexOf(at,(lat+1))!=-1)
    validMail = false;
  else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
    validMail = false;
  else if (str.indexOf(dot,(lat+2))==-1)
    validMail = false;
  else if (str.indexOf(" ")!=-1)
    validMail = false;

  if (validMail)  
    return true;     
  else
    {
    alert (msg);
    return false;
    }
    
  return false;
  }
  
   
function validatePassword (password1, password2)
  {

  if (password1.value != '')
    {
    if (password2.value == '')
      {
      alert ('La repetición de la contraseña es necesaria, por favor introdúzcala');
      password2.focus ();
      return false;
      }  // if
      
      
    if (password1.value != password2.value)
      {
      alert ('Las contraseñas han de coincidir, por favor introdúzcalas de nuevo');
      password1.value = '';
      password2.value = '';
      password1.focus ();
      return false;
      }  // if
    } // if
  
  
  
  return true;
  }  // function
  

function validateNewSubject(myForm)
  {
  if (myForm == undefined)
    return false;
  
  if (myForm.code_required != undefined)
    {
    if (!isInteger(myForm.code_required.value))
      {
      alert ("Debe proporcionar un código numérico válido para la asignatura");
      myForm.code_required.focus();
      myForm.code_required.select();
      return false;
      }
    }
      
  return validateForm (myForm);
  }

  
function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
	}
	
	
function isInteger(val){
	if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
		}
	return true;
	}
	
function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
	}