function Validar(idioma){
	
	//establezco las variables que me indicaran si todo esta correcto y las que mostrarán los posibles errores
	var bTodoOK=true;
	var sErroresES="";
	var sErrores="";

	if (Trim(document.frmDatos.txtNombre.value.length)==0){
		sErroresES=sErroresES+"\n Nombre";
		sErrores=sErrores+"\n First Name";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtApellidos.value.length)==0){
		sErroresES=sErroresES+"\n Apellidos";
		sErrores=sErrores+"\n Surname";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtInstitucion.value.length)==0){
		sErroresES=sErroresES+"\n Instituci\u00f3n";
		sErrores=sErrores+"\n Institution";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtCiudad.value.length)==0){
		sErroresES=sErroresES+"\n Ciudad";
		sErrores=sErrores+"\n City";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtPais.value.length)==0){
		sErroresES=sErroresES+"\n Pa\u00eds";
		sErrores=sErrores+"\n Country";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtCargo.value.length)==0){
		sErroresES=sErroresES+"\n Cargo";
		sErrores=sErrores+"\n Position";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtTelfMovil.value.length)==0){
		sErroresES=sErroresES+"\n Telf. m\u00f3vil";
		sErrores=sErrores+"\n Mobile telephone";
		bTodoOK=false;
	}
	
	if (Trim(document.frmDatos.txtTelFijo.value.length)==0){
		sErroresES=sErroresES+"\n Telf. fijo";
		sErrores=sErrores+"\n Telephone";
		bTodoOK=false;
	}
	
	//if (Trim(document.frmDatos.txtFax.value.length)==0){
//		sErroresES=sErroresES+"\n Fax";
//		sErrores=sErrores+"\n Fax";
//		bTodoOK=false;
//	}
	
	if (Trim(document.frmDatos.txtMail.value.length)==0){
		sErroresES=sErroresES+"\n E-Mail";
		sErrores=sErrores+"\n E-Mail";
		bTodoOK=false;
	} else { // verifico el mail
		// solo valido que sea de la forma algo@algo.algo
		var cad;
		cad = document.frmDatos.txtMail.value;
		//var filtro=/^[A-Za-z][A-Za-z0-9._-]*@[A-Za-z0-9_-]+\.[A-Za-z0-9_.]+[A-za-z]$/;
		//var filtro=/^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,3,4})+$/;
		var filtro = /^(.+)@(.+)\.(.+)$/; 
		
	   	if (!filtro.test(cad)){
			bTodoOK=false;
			sErroresES=sErroresES+"\n E-Mail no v\u00e1lido";
			sErrores=sErrores+"\n Wrong E-Mail";
		}		
	}
	
	
	
	//si se han encontrado errores debo mostrarlos
	if (bTodoOK==false){
		if (idioma == "ES") {
			alert("Los siguientes datos son obligatorios: "+sErroresES);
		} else {
			alert("The following fields are mandatory: "+sErrores);
		}
		location.href="#";
		return false;
	}
	
	return true;
}

function Trim(sCadena) {
//Propósito:	Evitar que se escriban cadenas con espacios en blanco en los lados
//Entradas:		sCadena=texto a revisar.
//Efectos:		Elimina los espacios en blanco del principio y fin de la cadena y
//				los dobles espacios en el medio de la misma.
	if (typeof sCadena != "string"){ 
		return sCadena;
	}
	var sCadenaTratada = sCadena;
	var sCheck = sCadenaTratada.substring(0, 1);
	while (sCheck == " ") { // Se comprueban los espacias al principio de la cadena
		sCadenaTratada = sCadenaTratada.substring(1, sCadenaTratada.length);
		sCheck = sCadenaTratada.substring(0, 1);
	}
	sCheck = sCadenaTratada.substring(sCadenaTratada.length-1, sCadenaTratada.length);
	while (sCheck == " ") { // Se comprueban los espacias al final de la cadena
		sCadenaTratada = sCadenaTratada.substring(0, sCadenaTratada.length-1);
		sCheck = sCadenaTratada.substring(sCadenaTratada.length-1, sCadenaTratada.length);
	}
	while (sCadenaTratada.indexOf("  ") != -1) { // Se comprueba que no existan dobles espacios dentro de la cadena
		sCadenaTratada = sCadenaTratada.substring(0, sCadenaTratada.indexOf("  ")) + sCadenaTratada.substring(sCadenaTratada.indexOf("  ")+1, sCadenaTratada.length);
	}
	return sCadenaTratada; // Se devuelve la cadena tratada al usuario
} // Fin de la función de Trim
