// Variables para los formularios
var iFormacion = 1;
var iCombinacionesLenguas = 1;
var iEspecializaciones = 1;
var sAccion = null;

// Función que realiza el cambio de idioma en la navegación
function changeIdioma(nuevo_idioma) {
  var url_actual = window.location.href;
  var formato = url_actual.substring(url_actual.lastIndexOf('.'));
  var url_base = url_actual.substring(0,url_actual.lastIndexOf('_')+1);
  var url_final = url_base + nuevo_idioma + formato;

  // Si no se tiene una URL de idioma español o inglés completa en el navegador, se carga la página principal del idioma que corresponda
  if ((window.location.href.indexOf('_es.') == -1) && ((window.location.href.indexOf('_en.') == -1)))  {
    window.location.href = '/CELER/index_' + nuevo_idioma + '.html';
  // Si no, se carga la URL en el idioma que corresponda
  } else {
    window.location.href = url_final;
  }
}

// Función que realiza la ordenación de la lista de noticias de las páginas principal y lista de noticias
function ordenarNoticiasPorFecha() {
  var listaFecha = new Array();
  var noticia = 'noticia_';
  var elementoLista = null;
  var posicion = 1;
  var anno = null;
  var mes = null;
  var dia = null;
  var codigo = null;
  
  // Se recorre la lista de noticias, recogiendo los datos de cada registro de la misma
  while (document.getElementById(noticia + posicion) != null) {
    elementoLista = document.getElementById(noticia + posicion);
    fecha = elementoLista.getAttribute('fecha_noticia');
    codigo = elementoLista.innerHTML;
  
    // Se valida la fecha
    if ((fecha != null) && (fecha.length == 4)) {
      dia = 1;
      mes = 0;
      anno = fecha;
    } else if ((fecha != null) && (fecha.length == 7)) {
      dia = 1;
      mes = fecha.substring(0, 2);
      mes = mes-1;
      anno = fecha.substring(3);
    } else if ((fecha != null) && (fecha.length == 10)) {
      dia = fecha.substring(0, 2);
      mes = fecha.substring(3, 5);
      mes = mes-1;
      anno = fecha.substring(6);
    } else {
      anno = 1;
      mes = 0;
      dia = 1;
    }
  
    // Se cargan los datos en la lista
    listaFecha[posicion-1] = new cargarNoticia(anno, mes, dia, codigo);
    posicion++;
  }
  
  // Se ordena la lista conseguida por el campo fecha
  listaFecha.sort(ordenarPorFecha);
  
  // Se aplica orden inverso a la lista
  listaFecha.reverse();
  
  // Se cargan las noticas con la nueva ordenación
  posicion = 1;
  while (document.getElementById(noticia + posicion) != null) {
    document.getElementById(noticia + posicion).innerHTML = listaFecha[posicion-1].codigo;
    posicion++;
  }
}

// Función para cargar los datos de una noticia en una lista
function cargarNoticia(anno, mes, dia, codigo) {
  this.fecha = new Date(anno, mes, dia);
  this.codigo = codigo;
}

// Función para usar en la ordenación de un array por el campo fecha
function ordenarPorFecha(a, b) {
  var x = a.fecha;
  var y = b.fecha;
  return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

// Función que genera un código de spam
function generarCodigoSpam() {
  var numero_1 = Math.floor(Math.random()*10);
  var numero_2 = Math.floor(Math.random()*10);
  var numero_3 = Math.floor(Math.random()*10);
  var numero_4 = Math.floor(Math.random()*10);
  var ruta = "/CELER/docs/img/";

  // Se general el código de spam
  document.getElementById("imagen_1").src = ruta + numero_1 + ".gif";
  document.getElementById("imagen_2").src = ruta + numero_2 + ".gif";
  document.getElementById("imagen_3").src = ruta + numero_3 + ".gif";
  document.getElementById("imagen_4").src = ruta + numero_4 + ".gif";
}

// Función que valida un código de spam
function validarCodigoSpam() {
  var posicion = document.getElementById("imagen_1").src.length-5;
  var numero_1 = document.getElementById("imagen_1").src.substring(posicion, posicion+1);
  var numero_2 = document.getElementById("imagen_2").src.substring(posicion, posicion+1);
  var numero_3 = document.getElementById("imagen_3").src.substring(posicion, posicion+1);
  var numero_4 = document.getElementById("imagen_4").src.substring(posicion, posicion+1);
  var codigo = document.getElementById("spam").value;

  // Se devuelve la comprobación de si el código de spam es correcto
  return (codigo == numero_1+numero_2+numero_3+numero_4);
}

// Función que realiza la limpieza del formulario de opinión
function limpiarFormularioOpinion() {
  // Se resetea el formulario
  document.getElementById("formulario_opinion").reset();
}

// Función que realiza la validación del formulario de opinión
function validarFormularioOpinion(formulario) {
  var sMensaje = "";

  // Se valida que la acción a realizar sea la del envío del formulario. En caso contrario, se vuelve al formulario
  if (sAccion != "Enviar") {
    sAccion = null;
    return false;
  } else {
    sAccion = null;
  }

  // Se valida la dirección de correo electrónico
  if (!/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/.test(document.getElementById("email").value)) {
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "La dirección de correo electrónico <" + document.getElementById("email").value + "> no es correcta\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Email address <" + document.getElementById("email").value + "> is not correct\n";
    }
  }

  // Se valida el formato del teléfono
  if (!/^([0-9])*$/.test(document.getElementById("telefono").value)){
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "El teléfono <" + document.getElementById("telefono").value + "> no es un número\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Telephone number <" + document.getElementById("telefono").value + "> is not a number\n";
    }
  }

  // Se valida el código de spam
  if (!validarCodigoSpam()) {
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "El código anti-spam no es correcto";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Anti-spam code is not correct";
    }
  }

  // Si ha habido algún error, se avisa
  if (sMensaje != "") {
    alert(sMensaje);
    return false;
  }
}

// Función que añade una nueva entrada para formación en el formulario de empleo
function aniadeFormacion() {
  var barra = '<TR align="center"><TD colspan="2">---------------</TD></TR>';
  var titulacion_es_1 = '<TR><TD class="formulario_empleo_campos">Titulación:</TD><TD><INPUT id="titulacion_';
  var titulacion_es_2 = '" name="titulacion_';
  var titulacion_es_3 = '" type="text" size="40" maxlength="100"></TD></TR>';
  var titulacion_en_1 = '<TR><TD class="formulario_empleo_campos">Qualification:</TD><TD><INPUT id="titulacion_';
  var titulacion_en_2 = '" name="titulacion_';
  var titulacion_en_3 = '" type="text" size="40" maxlength="100"></TD></TR>';
  var centro_es_1 = '<TR><TD class="formulario_empleo_campos">Centro:</TD><TD><INPUT id="centro_';
  var centro_es_2 = '" name="centro_';
  var centro_es_3 = '" type="text" size="40" maxlength="100"></TD></TR>';
  var centro_en_1 = '<TR><TD class="formulario_empleo_campos">Institution:</TD><TD><INPUT id="centro_';
  var centro_en_2 = '" name="centro_';
  var centro_en_3 = '" type="text" size="40" maxlength="100"></TD></TR>';
  var anno_es_1 = '<TR><TD class="formulario_empleo_campos">Año:</TD><TD><INPUT id="anno_';
  var anno_es_2 = '" name="anno_';
  var anno_es_3 = '" type="text" size="40" maxlength="4"></TD></TR>';
  var anno_en_1 = '<TR><TD class="formulario_empleo_campos">Year:</TD><TD><INPUT id="anno_';
  var anno_en_2 = '" name="anno_';
  var anno_en_3 = '" type="text" size="40" maxlength="4"></TD></TR>';
  var formacion = null;
  var i = 0;
  var titulaciones = new Array();
  var centros = new Array();
  var annos = new Array();

  // Se guardan los datos que se han introducido hasta el momento
  for (i=0; i<iFormacion; i++) {
    titulaciones[i] = document.getElementById('titulacion_' + i).value;
    centros[i] = document.getElementById('centro_' + i).value;
    annos[i] = document.getElementById('anno_' + i).value;
  }

  // Se regenera la tabla con una nueva entrada
  formacion = '<TABLE>';
  for (i=0; i<=iFormacion; i++) {
    // Se introduce una barra de separación para todas las entradas menos para la primera
    if (i != 0) {
      formacion += barra;
    }
    // Se crea la entrada en el idioma que corresponda
    if (document.getElementById("idioma").value == "es") {
      formacion += titulacion_es_1 + i + titulacion_es_2 + i + titulacion_es_3;
      formacion += centro_es_1 + i + centro_es_2 + i + centro_es_3;
      formacion += anno_es_1 + i + anno_es_2 + i + anno_es_3;
    } else if (document.getElementById("idioma").value == "en") {
      formacion += titulacion_en_1 + i + titulacion_en_2 + i + titulacion_en_3;
      formacion += centro_en_1 + i + centro_en_2 + i + centro_en_3;
      formacion += anno_en_1 + i + anno_en_2 + i + anno_en_3;
    }
  }
  formacion += '</TABLE>';
  document.getElementById("tabla_formacion").innerHTML = formacion;

  // Se restauran los datos que se habían guardado previamente
  for (i=0; i<iFormacion; i++) {
    document.getElementById('titulacion_' + i).value = titulaciones[i];
    document.getElementById('centro_' + i).value = centros[i];
    document.getElementById('anno_' + i).value = annos[i];
  }
  iFormacion++;
}

// Función que añade una nueva entrada para combinaciones de lenguas en el formulario de empleo
function aniadeCombinacionLengua() {
  var combinacion_1_primero_es = '<TR><TD class="formulario_empleo_campos">Combinaciones de lenguas de trabajo:</TD><TD><SELECT id="lengua_origen_';
  var combinacion_1_primero_en = '<TR><TD class="formulario_empleo_campos">Working language combinations:</TD><TD><SELECT id="lengua_origen_';
  var combinacion_1 = '<TR><TD></TD><TD><SELECT id="lengua_origen_';
  var combinacion_2 = '" name="lengua_origen_';
  var combinacion_3 = '"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT><SELECT id="lengua_destino_'
  var combinacion_4 = '" name="lengua_destino_'
  var combinacion_5 = '"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT></TD></TR>';
  var combinacion = null;
  var i = 0;
  var origenes = new Array();
  var destinos = new Array();

  // Se guardan los datos que se han introducido hasta el momento
  for (i=0; i<iCombinacionesLenguas; i++) {
    origenes[i] = document.getElementById('lengua_origen_' + i).value;
    destinos[i] = document.getElementById('lengua_destino_' + i).value;
  }

  // Se regenera la tabla con una nueva entrada
  combinacion = '<TABLE>';
  for (i=0; i<=iCombinacionesLenguas; i++) {
    // Se introduce un inicio diferente si es la primera entrada
    if (i == 0) {
      if (document.getElementById("idioma").value == "es") {
        combinacion += combinacion_1_primero_es;
      } else if (document.getElementById("idioma").value == "en") {
        combinacion += combinacion_1_primero_en;
      }
    } else {
      combinacion += combinacion_1;
    }
    // Se crea la nueva entrada
    combinacion += i + combinacion_2 + i + combinacion_3 + i + combinacion_4 + i + combinacion_5;
  }
  combinacion += '</TABLE>';
  document.getElementById("tabla_combinacion_lenguas").innerHTML = combinacion;

  // Se restauran los datos que se habían guardado previamente
  for (i=0; i<iCombinacionesLenguas; i++) {
    document.getElementById('lengua_origen_' + i).value = origenes[i];
    document.getElementById('lengua_destino_' + i).value = destinos[i];
  }

  iCombinacionesLenguas++;
}

// Función que añade una nueva entrada para especializaciones en el formulario de empleo
function aniadeEspecializacion(sTipoEspecializacion) {
  var especializacion_primero_es = '<TR align="center"><TD rowspan="2">Área de especialización</TD><TD colspan="3">Nº aprox. de palabras</TD><TD rowspan="2">Años de<BR>experiencia</TD></TR><TR align="center"><TD>posteditadas</TD><TD>traducidas</TD><TD>revisadas</TD></TR>';
  var especializacion_primero_en = '<TR align="center"><TD rowspan="2">Area of specialization</TD><TD colspan="3">No. approx. word</TD><TD rowspan="2">Years of<BR>experience</TD></TR><TR align="center"><TD>post-edit</TD><TD>translated</TD><TD>revised</TD></TR>';
  var especializacion = null;
  var i = 0;
  var especializaciones = new Array();
  var posteditadas = new Array();
  var traducidas = new Array();
  var revisadas = new Array();
  var annos = new Array();
  var tipo_especializacion = new Array();

  // Se guardan los datos que se han introducido hasta el momento
  for (i=0; i<iEspecializaciones; i++) {
    especializaciones[i] = document.getElementById('especializacion_' + i).value;
    posteditadas[i] = document.getElementById('posteditadas_' + i).value;
    traducidas[i] = document.getElementById('traducidas_' + i).value;
    revisadas[i] = document.getElementById('revisadas_' + i).value;
    annos[i] = document.getElementById('annos_exp_' + i).value;
    tipo_especializacion[i] = document.getElementById('tipo_especializacion_' + i).value;
  }

  // Se regenera la tabla con una nueva entrada
  especializacion = '<TABLE align="center">';
  for (i=0; i<iEspecializaciones; i++) {
    // Se introduce un inicio diferente si es la primera entrada
    if (i == 0) {
      if (document.getElementById("idioma").value == "es") {
        especializacion += especializacion_primero_es;
      } else if (document.getElementById("idioma").value == "en") {
        especializacion += especializacion_primero_en;
      }
    }
    // Se crea la nueva entrada del tipo que corresponda
    if (tipo_especializacion[i] == 'select') {
      especializacion += aniadeEntradaEspecializacionSelect(i);
    } else {
      especializacion += aniadeEntradaEspecializacionOtros(i);
    }
  }
  // Se añade la entrada correspondiente a la nueva solicitud
  if (sTipoEspecializacion == 'select') {
    especializacion += aniadeEntradaEspecializacionSelect(iEspecializaciones);
  } else {
    especializacion += aniadeEntradaEspecializacionOtros(iEspecializaciones);
  }
  especializacion += '</TABLE>';
  document.getElementById("tabla_area_especializacion").innerHTML = especializacion;

  // Se restauran los datos que se habían guardado previamente
  for (i=0; i<iEspecializaciones; i++) {
    document.getElementById('especializacion_' + i).value = especializaciones[i];
    document.getElementById('posteditadas_' + i).value = posteditadas[i];
    document.getElementById('traducidas_' + i).value = traducidas[i];
    document.getElementById('revisadas_' + i).value = revisadas[i];
    document.getElementById('annos_exp_' + i).value = annos[i];
  }

  iEspecializaciones++;
}

function aniadeEntradaEspecializacionSelect(iPosicion) {
  var especializacion_1 = '<TR align="center"><TD><SELECT id="especializacion_'
  var especializacion_2 = '" name="especializacion_'
  var especializacion_3 = '"><OPTION value="Automoción">Automoción</OPTION><OPTION value="Documentación legal">Documentación legal</OPTION><OPTION value="Documentación técnica general">Documentación técnica general</OPTION><OPTION value="Economía y finanzas">Economía y finanzas</OPTION><OPTION value="Informática">Informática</OPTION><OPTION value="Instituciones">Instituciones</OPTION><OPTION value="Maquinaria">Maquinaria</OPTION><OPTION value="Medicina general">Medicina general</OPTION><OPTION value="Literatura médica">Literatura médica</OPTION><OPTION value="Protocolos de ensayos clínicos">Protocolos de ensayos clínicos</OPTION></SELECT></TD><TD><INPUT id="posteditadas_'
  var especializacion_4 = '" name="posteditadas_'
  var especializacion_5 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="traducidas_'
  var especializacion_6 = '" name="traducidas_'
  var especializacion_7 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="revisadas_'
  var especializacion_8 = '" name="revisadas_'
  var especializacion_9 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="annos_exp_'
  var especializacion_10 = '" name="annos_exp_'
  var especializacion_11 = '" type="text" size="2" maxlength="2"><INPUT id="tipo_especializacion_';
  var especializacion_12 = '" name="tipo_especializacion_';
  var especializacion_13 = '" value="select" type="hidden"></TD></TR>';
  var especializacion = null;

  // Se crea la nueva entrada
  especializacion = especializacion_1 + iPosicion + especializacion_2 + iPosicion + especializacion_3 + iPosicion + 
      especializacion_4 + iPosicion + especializacion_5 + iPosicion + especializacion_6 + iPosicion + 
      especializacion_7 + iPosicion + especializacion_8 + iPosicion + especializacion_9 + iPosicion + 
      especializacion_10 + iPosicion + especializacion_11 + iPosicion + especializacion_12 + iPosicion + 
      especializacion_13;

  return especializacion;
}

function aniadeEntradaEspecializacionOtros(iPosicion) {
  var especializacion_1 = '<TR align="center"><TD><INPUT id="especializacion_'
  var especializacion_2 = '" name="especializacion_';
  var especializacion_3 = '" type="text" size="30" maxlength="50"></TD><TD><INPUT id="posteditadas_';
  var especializacion_4 = '" name="posteditadas_';
  var especializacion_5 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="traducidas_';
  var especializacion_6 = '" name="traducidas_';
  var especializacion_7 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="revisadas_';
  var especializacion_8 = '" name="revisadas_';
  var especializacion_9 = '" type="text" size="5" maxlength="10"></TD><TD><INPUT id="annos_exp_';
  var especializacion_10 = '" name="annos_exp_';
  var especializacion_11 = '" type="text" size="2" maxlength="2"><INPUT id="tipo_especializacion_';
  var especializacion_12 = '" name="tipo_especializacion_';
  var especializacion_13 = '" value="otros" type="hidden"></TD></TR>';
  var especializacion = null;
  var i = 0;

  // Se crea la nueva entrada
  especializacion = especializacion_1 + iPosicion + especializacion_2 + iPosicion + especializacion_3 + iPosicion + 
      especializacion_4 + iPosicion + especializacion_5 + iPosicion + especializacion_6 + iPosicion + 
      especializacion_7 + iPosicion + especializacion_8 + iPosicion + especializacion_9 + iPosicion + 
      especializacion_10 + iPosicion + especializacion_11 + iPosicion + especializacion_12 + iPosicion + 
      especializacion_13;

  return especializacion;
}

// Función que realiza la limpieza del formulario de empleo
function limpiarFormularioTrabajo() {
  var formacion_es = '<TABLE><TR><TD class="formulario_empleo_campos">Titulación:</TD><TD><INPUT id="titulacion_0" name="titulacion_0" type="text" size="40" maxlength="100"></TD></TR><TR><TD class="formulario_empleo_campos">Centro:</TD><TD><INPUT id="centro_0" name="centro_0" type="text" size="40" maxlength="100"></TD></TR><TR><TD class="formulario_empleo_campos">Año:</TD><TD><INPUT id="anno_0" name="anno_0" type="text" size="40" maxlength="4"></TD></TR></TABLE>';
  var formacion_en = '<TABLE><TR><TD class="formulario_empleo_campos">Qualification:</TD><TD><INPUT id="titulacion_0" name="titulacion_0" type="text" size="40" maxlength="100"></TD></TR><TR><TD class="formulario_empleo_campos">Institution:</TD><TD><INPUT id="centro_0" name="centro_0" type="text" size="40" maxlength="100"></TD></TR><TR><TD class="formulario_empleo_campos">Year:</TD><TD><INPUT id="anno_0" name="anno_0" type="text" size="40" maxlength="4"></TD></TR></TABLE>';
  var combinacion_es = '<TABLE><TR><TD>Combinaciones de lenguas de trabajo:</TD><TD><SELECT id="lengua_origen_0" name="lengua_origen_0"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT><SELECT id="lengua_destino_0" name="lengua_destino_0"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT></TD></TR></TABLE>';
  var combinacion_en = '<TABLE><TR><TD>Working language combinations:</TD><TD><SELECT id="lengua_origen_0" name="lengua_origen_0"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT><SELECT id="lengua_destino_0" name="lengua_destino_0"><OPTION value="ALBANÉS">ALBANÉS</OPTION><OPTION value="ALBANO">ALBANO</OPTION><OPTION value="ALEMÁN">ALEMÁN</OPTION><OPTION value="ÁRABE">ÁRABE</OPTION><OPTION value="ARMENIO">ARMENIO</OPTION><OPTION value="BENGALÍ">BENGALÍ</OPTION><OPTION value="BIELORRUSO">BIELORRUSO</OPTION><OPTION value="BRETÓN">BRETÓN</OPTION><OPTION value="BÚLGARO">BÚLGARO</OPTION><OPTION value="CAMBOYANO">CAMBOYANO</OPTION><OPTION value="CATALÁN">CATALÁN</OPTION><OPTION value="CHECO">CHECO</OPTION><OPTION value="CHINO">CHINO</OPTION><OPTION value="COREANO">COREANO</OPTION><OPTION value="CORSO">CORSO</OPTION><OPTION value="CROATA">CROATA</OPTION><OPTION value="DANÉS">DANÉS</OPTION><OPTION value="ESCOCÉS">ESCOCÉS</OPTION><OPTION value="ESLOVACO">ESLOVACO</OPTION><OPTION value="ESLOVENO">ESLOVENO</OPTION><OPTION value="ESPAÑOL">ESPAÑOL</OPTION><OPTION value="ESTONIANO">ESTONIANO</OPTION><OPTION value="EUSKERA">EUSKERA</OPTION><OPTION value="FINÉS">FINÉS</OPTION><OPTION value="FLAMENCO">FLAMENCO</OPTION><OPTION value="FRANCÉS">FRANCÉS</OPTION><OPTION value="GAELICO">GAELICO</OPTION><OPTION value="GALLEGO">GALLEGO</OPTION><OPTION value="GEORGIANO">GEORGIANO</OPTION><OPTION value="GRIEGO">GRIEGO</OPTION><OPTION value="HEBREO">HEBREO</OPTION><OPTION value="HINDI">HINDI</OPTION><OPTION value="HUNGARO">HUNGARO</OPTION><OPTION value="INDONESIO">INDONESIO</OPTION><OPTION value="INGLÉS">INGLÉS</OPTION><OPTION value="ISLANDÉS">ISLANDÉS</OPTION><OPTION value="ITALIANO">ITALIANO</OPTION><OPTION value="JAPONÉS">JAPONÉS</OPTION><OPTION value="JAVANÉS">JAVANÉS</OPTION><OPTION value="KURDO">KURDO</OPTION><OPTION value="LAOSIANO">LAOSIANO</OPTION><OPTION value="LATíN">LATíN</OPTION><OPTION value="LETÓN">LETÓN</OPTION><OPTION value="LITUANO">LITUANO</OPTION><OPTION value="MACEDONIO">MACEDONIO</OPTION><OPTION value="MALAYO">MALAYO</OPTION><OPTION value="MALTÉS">MALTÉS</OPTION><OPTION value="MOLDAVO">MOLDAVO</OPTION><OPTION value="MONGOL">MONGOL</OPTION><OPTION value="NEERLANDÉS">NEERLANDÉS</OPTION><OPTION value="NEPALI">NEPALI</OPTION><OPTION value="NORUEGO">NORUEGO</OPTION><OPTION value="PERSA">PERSA</OPTION><OPTION value="POLACO">POLACO</OPTION><OPTION value="PORTUGUÉS">PORTUGUÉS</OPTION><OPTION value="RUMANO">RUMANO</OPTION><OPTION value="RUSO">RUSO</OPTION><OPTION value="SERVOCROATA">SERVOCROATA</OPTION><OPTION value="SUECO">SUECO</OPTION><OPTION value="TAILANDÉS">TAILANDÉS</OPTION><OPTION value="TIBETANO">TIBETANO</OPTION><OPTION value="TURCO">TURCO</OPTION><OPTION value="UCRANIANO">UCRANIANO</OPTION><OPTION value="URDU">URDU</OPTION><OPTION value="VIETNAMITA">VIETNAMITA</OPTION><OPTION value="YIDDISH">YIDDISH</OPTION></SELECT></TD></TR></TABLE>';
  var especializacion_es = '<TABLE><TR align="center"><TD rowspan="2">Área de especialización</TD><TD colspan="3">Nº aprox. de palabras</TD><TD rowspan="2">Años de<BR>experiencia</TD></TR><TR align="center"><TD>posteditadas</TD><TD>traducidas</TD><TD>revisadas</TD></TR><TR align="center"><TD><SELECT id="especializacion_0" name="especializacion_0"><OPTION value="Automoción">Automoción</OPTION><OPTION value="Documentación legal">Documentación legal</OPTION><OPTION value="Documentación técnica general">Documentación técnica general</OPTION><OPTION value="Economía y finanzas">Economía y finanzas</OPTION><OPTION value="Informática">Informática</OPTION><OPTION value="Instituciones">Instituciones</OPTION><OPTION value="Maquinaria">Maquinaria</OPTION><OPTION value="Medicina general">Medicina general</OPTION><OPTION value="Literatura médica">Literatura médica</OPTION><OPTION value="Protocolos de ensayos clínicos">Protocolos de ensayos clínicos</OPTION></SELECT></TD><TD><INPUT id="posteditadas_0" name="posteditadas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="traducidas_0" name="traducidas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="revisadas_0" name="revisadas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="annos_exp_0" name="annos_exp_0" type="text" size="2" maxlength="2"><INPUT id="tipo_especializacion_0" name="tipo_especializacion_0" value="select" type="hidden"></TD></TR></TABLE>';
  var especializacion_en = '<TABLE><TR align="center"><TD rowspan="2">Area of specialization</TD><TD colspan="3">No. approx. word</TD><TD rowspan="2">Years of<BR>experience</TD></TR><TR align="center"><TD>post-edit</TD><TD>translated</TD><TD>revised</TD></TR><TR align="center"><TD><SELECT id="especializacion_0" name="especializacion_0"><OPTION value="Automoción">Automoción</OPTION><OPTION value="Documentación legal">Documentación legal</OPTION><OPTION value="Documentación técnica general">Documentación técnica general</OPTION><OPTION value="Economía y finanzas">Economía y finanzas</OPTION><OPTION value="Informática">Informática</OPTION><OPTION value="Instituciones">Instituciones</OPTION><OPTION value="Maquinaria">Maquinaria</OPTION><OPTION value="Medicina general">Medicina general</OPTION><OPTION value="Literatura médica">Literatura médica</OPTION><OPTION value="Protocolos de ensayos clínicos">Protocolos de ensayos clínicos</OPTION></SELECT></TD><TD><INPUT id="posteditadas_0" name="posteditadas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="traducidas_0" name="traducidas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="revisadas_0" name="revisadas_0" type="text" size="5" maxlength="10"></TD><TD><INPUT id="annos_exp_0" name="annos_exp_0" type="text" size="2" maxlength="2"><INPUT id="tipo_especializacion_0" name="tipo_especializacion_0" value="select" type="hidden"></TD></TR></TABLE>';

  // Se regeneran los elementos dinámicos en el idioma que corresponda
  if (document.getElementById("idioma").value == "es") {
    document.getElementById("tabla_formacion").innerHTML = formacion_es;
    document.getElementById("tabla_combinacion_lenguas").innerHTML = combinacion_es;
    document.getElementById("tabla_area_especializacion").innerHTML = especializacion_es;
  } else if (document.getElementById("idioma").value == "en") {
    document.getElementById("tabla_formacion").innerHTML = formacion_en;
    document.getElementById("tabla_combinacion_lenguas").innerHTML = combinacion_en;
    document.getElementById("tabla_area_especializacion").innerHTML = especializacion_en;
  }

  // Se inicializan los contadores
  iFormacion = 1;
  iCombinacionesLenguas = 1;
  iEspecializaciones = 1;

  // Se resetea el formulario
  document.getElementById("formulario_empleo").reset();
}

// Función que realiza la validación del formulario de empleo
function validarFormularioTrabajo(formulario) {
  var sMensaje = "";

  // Se valida que la acción a realizar sea la del envío del formulario. En caso contrario, se vuelve al formulario
  if (sAccion != "Enviar") {
    sAccion = null;
    return false;
  } else {
    sAccion = null;
  }

  // Se valida la dirección de correo electrónico
  if (!/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/.test(document.getElementById("email").value)) {
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "La dirección de correo electrónico <" + document.getElementById("email").value + "> no es correcta\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Email address <" + document.getElementById("email").value + "> is not correct\n";
    }
  }

  // Se valida el formato del teléfono
  if (!/^([0-9])*$/.test(document.getElementById("telefono").value)){
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "El teléfono <" + document.getElementById("telefono").value + "> no es un número\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Telephone number <" + document.getElementById("telefono").value + "> is not a number\n";
    }
  }

  // Se valida la fecha de nacimiento
  if (!/^\d{1,2}\/\d{1,2}\/\d{2,4}$/.test(document.getElementById("fecha_nacimiento").value)){
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "El formato de fecha de nacimiento no es válido (dd/mm/aaaa)\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "The format of date of birth is not valid (dd/mm/yyyy)\n";
    }
  }

  // Se valida la disponibilidad
  if (!/^([0-9])*$/.test(document.getElementById("disponibilidad").value)){
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "Disponibilidad (Nº de horas semanales) <" + document.getElementById("disponibilidad").value + "> no es un número\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Availability (No. of hours per week) <" + document.getElementById("disponibilidad").value + "> is not a number\n";
    }
  }

  // Se validan los años de experiencia formación
  if (!/^([0-9])*$/.test(document.getElementById("anno_0").value)){
    if (document.getElementById("idioma").value == "es") {
      sMensaje += "El año <" + document.getElementById("anno_0").value + "> no es un número\n";
    } else if (document.getElementById("idioma").value == "en") {
      sMensaje += "Year <" + document.getElementById('anno_' + i).value + "> is not a number\n";
    }
  }

  // Si ha habido algún error, se avisa
  if (sMensaje != "") {
    alert(sMensaje);
    return false;
  }
}

// Función que muestra un mensaje de aviso tras el envío de un formulario
function mostrarMensaje() {
  var aURL = null;
  var aInfoResultado = null;
  var sIdioma = null;
  var sResultado = null;
  var sMensaje = null;

  // Se comprueba si hay aviso de que el formulario ha sido enviado
  // El aviso vendrá informado en la URL, tras el signo "?", en forma "resultado_idioma"
  sCadena = window.location.href.split("?");
  if (sCadena.length > 1) {
    aInfoResultado = sCadena[1].split("_");
    sResultado = aInfoResultado[0];
    sIdioma = aInfoResultado[1];
    // Se carga el mensaje correspondiente al resultado obtenido y en el idioma adecuado
    if (sResultado == "ok") {
      if (sIdioma == "es") {
        sMensaje = "Formulario enviado correctamente";
      } else if (sIdioma == "en") {
        sMensaje = "Form correctly sent";
      }
    } else if (sResultado == "err") {
      if (sIdioma == "es") {
        sMensaje = "El formulario no pudo ser enviado";
      } else if (sIdioma == "en") {
        sMensaje = "Form could not been sent";
      }
    }
  }

  // Si hay algún mensaje, se muestra
  if (sMensaje != null) {
    alert(sMensaje);
    return false;
  }
}

// Función que resalta el elemento del menú izquierdo que corresponda al contenido cargado
function resaltarElementoMenu() {
  var contenido = null;
  var bloque_principal = null;

  // Se recupera el nombre del contenido, sin la extensión y el identificador de idioma, y manteniendo sólo las dos primeras partes del mismo
  contenido = window.location.href.substring(window.location.href.lastIndexOf('/') + 1, window.location.href.length-8);
  if (contenido.split("_").length > 2) {
    contenido = contenido.substring(0, contenido.indexOf('_', contenido.indexOf('_') + 1));
  }

  // Se recupera la parte principal del nombre para el resaltado del bloque principal
  if (contenido.split("_").length > 1) {
    bloque_principal = contenido.substring(0, contenido.indexOf('_'));
  } else {
    bloque_principal = contenido;
    contenido = null;
  }

  // Si el nombre del bloque principal es celer, se cambia por el de index
  if (bloque_principal == "celer") {
    bloque_principal = "index";
  }

  // Se resalta el título del bloque principal
  if (document.getElementById("menu_izquierdo_" + bloque_principal) != null) {
    document.getElementById("menu_izquierdo_" + bloque_principal).className = "titularMarcado";
  }

  // Se resalta el elemento correspondiente al contenido hijo, si lo hay
  if (document.getElementById("menu_izquierdo_" + contenido) != null) {
    document.getElementById("menu_izquierdo_" + contenido).className = "enlaceMenuMarcado";
  }
}

