function IsNumeric(sText){
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function validate(form) {
	var flag = true;

// Variables to validate

	var email = form.e_mail;
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	
	var contrasenna = form.contrasenna;
	var contrasenna_denuevo = form.contrasenna_denuevo;
	var nombre = form.nombre;
	var cedula = form.cedula;
	var apellido1 = form.apellido1;
	var sexo = form.sexo;
	var pais = form.pais;
	var provincia = form.provincia;
	var canton = form.canton;
	var telefono = form.telefono;
	
	var otro_sector_industria = form.sector10; 
	var otro_sector_industria_desc = form.otro; // Sectores de la industria
	
	// Areas de especialización
	var especialidad_gerencia = form.especialidad14; 
	var especialidad_gerencia_desc = form.especialidad26;// Gerencia
	
	var especialidad_otros = form.especialidad24; // Otros
	var especialidad_otros_desc = form.especialidad25;
	
	var otro_idioma = form.otro1; //(excelente, bueno, regular) 
	var otro_idioma_desc = form.otro_especificar; //idioma

	var estudio1 = form.colegio1; // (1.) 
	var estudio1_fecha_ini = form.fecha1; 
	var estudio1_fecha1_fin = form.fecha1_a;
	var estudio1_titulo = form.titulo1;
	
	var estudio2 = form.colegio2; // (2.) 
	var estudio2_fecha_ini = form.fecha2;
	var estudio2_fecha_fin = form.fecha2_a;
	var estudio2_titulo = form.titulo2;
	
	var estudio3 = form.colegio3; // (3.) 
	var estudio3_fecha_ini = form.fecha3;
	var estudio3_fecha_fin = form.fecha3_a;
	var estudio3_titulo = form.titulo3;
	
	var estudio4 = form.post_grado1; // (4.) 
	var estudio4_fecha_ini = form.fecha_post1;  
	var estudio4_fecha_fin = form.fecha_post1_a;
	var estudio4_titulo = form.titulo_post1;
	
	var estudio5 = form.post_grado1; // (5.) 
	var estudio5_fecha_ini = form.fecha_post2;
	var estudio5_fecha_fin = form.fecha_post2_a;
	var estudio5_titulo = form.titulo_post2;
	
	var estudio6 = form.post_grado1; // (6.) 
	var estudio6_fecha_ini = form.fecha_post3;
	var estudio6_fecha_fin = form.fecha_post3_a;
	var estudio6_titulo = form.titulo_post3;

	var experiencia_profesional = form.experiencia_profesional;
	var expectativa_salarial = form.expectativa_salarial;
	
	var trabaja_actual = form.trabaja_actual; //(si) 
	var tac_fecha_ini = form.empleo_actual_fecha_de; 
	var tac_fecha_fin = form.empleo_actual_fecha_a;
	var tac_puesto = form.empleo_actual_puesto;
	
	var trabaja_anterior = form.trabaja_anterior; //(si) 
	var tant_fecha_ini = form.empleo_anterior_fecha_de;
	var tant_fecha_fin = form.empleo_anterior_fecha_a;
	var tant_puesto = form.empleo_anterior_puesto;
	var tant_empleador = form.empleo_anterior_empleador;
	var tant_jefe = form.empleo_anterior_jefe_directo;
	var tant_subordinados = form.empleo_anterior_numero_subordinados;
	var tant_motivo = form.empleo_anterior_motivo;
	var tant_descripcion = form.empleo_anterior_descripcion; 
	
	var perfil = form.perfil; 

  if(email.value == "") {
    inlineMsg(email.id,'Por favor digite su correo electrónico',5);
    flag = false;
  } else if(!email.value.match(emailRegex)) {
    inlineMsg(email.id,'Por favor especifique una dirección de correo válida',5);
    return false;
  } else if(contrasenna.value == "") {
    inlineMsg(contrasenna.id,'Por favor digite su contraseña',5);
    flag = false;
  } else if(contrasenna_denuevo.value == "") {
    inlineMsg(contrasenna_denuevo.id,'Por favor digite su contraseña nuevamente',5);
    flag = false;
  } else if(contrasenna_denuevo.value != contrasenna.value) {
    inlineMsg(contrasenna.id,'Las contraseñas no coinciden',5);
    flag = false;
  } else if(nombre.value == "") {
    inlineMsg(nombre.id,'Por favor digite su nombre',5);
    flag = false;
  } else if(cedula.value == "") {
    inlineMsg(cedula.id,'Por favor digite su cédula',5);
    flag = false;
  } else if(apellido1.value == "") {
    inlineMsg(apellido1.id,'Por favor digite su primer apellido',5);
    flag = false;
  } else if(sexo.value == "Seleccione") {
    inlineMsg(sexo.id,'Por favor seleccione el género',5);
    flag = false;
  } else if(pais.value == "") {
    inlineMsg(pais.id,'Por favor digite su país',5);
    flag = false;
  } else if(provincia.value == "Seleccione") {
    inlineMsg(provincia.id,'Por favor seleccione la provincia',5);
    flag = false;
  } else if(telefono.value == "") {
    inlineMsg(telefono.id,'Por favor digite su teléfono',5);
    flag = false;
  } else if((otro_sector_industria.checked) && (otro_sector_industria_desc.value == "")) {
    inlineMsg(otro_sector_industria_desc.id,'Por favor especifique la descripción de la especialidad',5);
    flag = false;
  } else if((especialidad_gerencia.checked) && (especialidad_gerencia_desc.value == "")) {
    inlineMsg(especialidad_gerencia_desc.id,'Por favor especifique la descripción de la especialidad',5);
    flag = false;
  } else if((especialidad_otros.checked) && (especialidad_otros_desc.value == "")) {
    inlineMsg(especialidad_otros_desc.id,'Por favor especifique la descripción de la especialidad',5);
    flag = false;
  } else if((!otro_idioma[3].checked) && (otro_idioma_desc.value == "")) {
	inlineMsg(otro_idioma_desc.id,'Por favor especifique el otro idioma del cual tiene conocimiento',5);
    flag = false;
   } else if(experiencia_profesional.value == "") {
    inlineMsg(experiencia_profesional.id,'Por favor digite los años de experiencia en su profesión',5);
	flag = false;
	} else if (IsNumeric(expectativa_salarial.value == '' ? 0 : expectativa_salarial.value) == false) {
    inlineMsg(expectativa_salarial.id,'La expectativa salarial puede solo contener números',5);
	flag = false;
    } else if((trabaja_actual[0].checked) && (tac_fecha_ini.value == "")) {
	inlineMsg(tac_fecha_ini.id,'Por favor especifique la fecha de inicio de su empleo actual',5);
    flag = false;
	} else if((trabaja_actual[0].checked) && (tac_fecha_fin.value == "")) {
	inlineMsg(tac_fecha_fin.id,'Por favor especifique la fecha de término',5);
    flag = false;
	} else if((trabaja_actual[0].checked) && (tac_puesto.value == "")) {
	inlineMsg(tac_puesto.id,'Por favor especifique su puesto de trabajo',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_fecha_ini.value == "")) {
	inlineMsg(tant_fecha_ini.id,'Por favor especifique la fecha de inicio',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_fecha_fin.value == "")) {
	inlineMsg(tant_fecha_fin.id,'Por favor especifique la fecha de término',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_puesto.value == "")) {
	inlineMsg(tant_puesto.id,'Por favor especifique la designación de su puesto',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_empleador.value == "")) {
	inlineMsg(tant_empleador.id,'Por favor especifique el nombre de la compañía',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_jefe.value == "")) {
	inlineMsg(tant_jefe.id,'Por favor especifique el nombre del jefe directo',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_subordinados.value == "")) {
	inlineMsg(tant_subordinados.id,'Por favor especifique el número de subordinados a su cargo',5);
    flag = false;
	} else if(!IsNumeric(tant_subordinados.value)) {
    inlineMsg(tant_subordinados.id,'El número de subordinados puede solo contener números',5);
	flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_motivo.value == "")) {
	inlineMsg(tant_motivo.id,'Por favor especifique el motivo por el que dejó el empleo',5);
    flag = false;
	} else if((trabaja_anterior[0].checked) && (tant_descripcion.value == "")) {
	inlineMsg(tant_descripcion.id,'Por favor especifique las labores que realizaba',5);
    flag = false;
    } else if(perfil.value == "") {
	inlineMsg(perfil.id,'Por favor especifique su perfil profesional',5);
    flag = false;
	}
  
  if (flag)
  	form.submit();
	
}