function mail(texto){
	var mailres = true;            
	var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
	
	var arroba = texto.indexOf("@",0);
	if ((texto.lastIndexOf("@")) != arroba) arroba = -1;
	
	var punto = texto.lastIndexOf(".");
	
	for (var contador = 0 ; contador < texto.length ; contador++){
		if (cadena.indexOf(texto.substr(contador, 1),0) == -1){
			mailres = false;
			break;
		}
	}
	
	if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))
		mailres = true;
	else
		mailres = false;
	
	return mailres;
}

function checkComprobarNacionalidad(idform){
	var formu = document.forms[idform];
	var indice = formu.pais.selectedIndex;
	var indice2 = formu.provincia.selectedIndex;
	var pais = formu.pais.options[indice].value;
	var provincia = formu.provincia.options[indice2].value;
	//if (pais == 'Espana'){
	if (formu.pais.selectedIndex == 63){
		if (provincia == '0'){
			alert(messages[62]);
			return false;
		} else return true;
	} else {
			formu.provincia.selectedIndex = 0;
			return true;
		}
	
}


function checkComprobarCamposRegistroBase(idform){ 
	var formu = document.forms[idform];
	var correo = formu.elements['email'].value;
	if (formu.nombre.value == ''){
		alert(messages[26]);
		formu.nombre.focus();
		return false;
	} else if (formu.apellido1.value == ''){
		alert(messages[27]);
		formu.apellido1.focus();
		return false;
	} else if (formu.apellido2.value == '' && culture_page!='fr'){
		alert(messages[28]);
		formu.apellido2.focus();
		return false;
	} else if (formu.email.value == ''){
		alert(messages[22]);
		formu.email.focus();
		return false;
	} else if (formu.email2.value == ''){
		alert(messages[62]);
		formu.email2.focus();
		return false;
	} else if (formu.email.value != formu.email2.value){
		alert(messages[63]);
		formu.email2.focus();
		return false;
	} else if (formu.login.value == ''){
		alert(messages[36]);
		formu.login.focus();
		return false;
	} else if ((formu.elements['login'].value.length < 4) || (formu.elements['login'].value.length > 12)){
		alert(messages[64]);
		formu.login.focus();
		return false; 
	} else if (formu.clave.value == ''){
		alert(messages[37]);
		formu.clave.focus();
		return false;
	} else if ((formu.elements['clave'].value.length < 6) || (formu.elements['clave'].value.length > 12)){
		alert(messages[65]);
		formu.clave.focus();
		return false;
	} else if (!mail(correo)){
		alert (messages[51]);
		formu.email.focus();
		return false;
	} else if (!(formu.acepto.checked)){
		alert (messages[52]);
		formu.acepto.focus();
		return false;
	} else {
		for(j=0;j<formu.sexo.length;j++){
        	if(formu.sexo[j].checked) break;
			}
		if (j >= formu.sexo.length){
				alert(messages[66]);
				return false;
		}
	}
	return checkComprobarNacionalidad(idform);
}

function validarNif(nif1,nif2)
{
	var letras = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','O');
	var aux1, aux2, aux3, posPunto, posLetra, letraFormu, entera;

	if ((nif1 < 6 ) || (nif2 == ""))
	{
		return false;
	}

	nif1 = nif1.replace("x","");
	nif1 = nif1.replace("X","");
	nif1 = new Number(nif1);

	aux1 = nif1 / 23;
	aux2 = aux1 + "";
	posPunto = aux2.indexOf(".");
	if (posPunto != -1)
	{
		entera = aux2.substring(0,posPunto);
		entera = entera * 1;
	}
	else 
	{
		entera = aux1;
	}
	aux3 = entera * 23;
	posLetra = nif1 - aux3;
	letraFormu = nif2.toUpperCase();
	if (letras[posLetra] != letraFormu) 
	{
		return false;
	}
	return true;
}

function checkComprobarCamposRegistroTW(idform){
	var formu = document.forms[idform];
	base = checkComprobarCamposRegistroBase(idform);
	if (!base){
		return base;
	}
	if (formu.poblacion.value == ''){
		alert(messages[33]);
		formu.poblacion.focus();
		return false;
	} else if (formu.direccion.value == ''){
		alert(messages[31]);
		formu.direccion.focus();
		return false;
	} else if (formu.cp.value == ''){
		alert(messages[32]);
		formu.cp.focus();
		return false;
	} else if (formu.telefono.value.length < 7){
		alert(messages[67]);
		formu.telefono.focus();
		return false;
	}
	if (formu.provincia.selectedIndex>0){
		nif = validarNif(formu.nif1.value,formu.nif2.value);
		if (!nif){
			alert(messages[68]);
			return false;
		}
	}
	return true;
}

function checkComprobarCamposRegistroEdit(idform, mailActual){
    
	var formu = document.forms[idform];
	var correo = formu.elements['email'].value;
	if (formu.nombre.value == ''){
		alert(messages[26]);
		formu.nombre.focus();
		return false;
	} else if (formu.apellido1.value == ''){
		alert(messages[27]);
		formu.apellido1.focus();
		return false;
	} else if (formu.apellido2.value == '' && culture_page!='fr'){
		alert(messages[28]);
		formu.apellido2.focus();
		return false;
	} else if (formu.email.value == ''){
		alert(messages[22]);
		formu.email.focus();
		return false;
	} else if (mailActual!=correo && formu.email.value != formu.email2.value){
		alert(messages[71]);
		formu.email2.focus();
		return false;
	} else if (formu.login.value == ''){
		alert(messages[36]);
		formu.login.focus();
		return false;
	} else if (formu.clave.value == ''){
		alert(messages[37]);
		formu.clave.focus();
		return false;
	} else if ((formu.clave.value.length < 6) || (formu.clave.value.length > 12)){
		alert(messages[65]);
		formu.clave.focus();
		return false;
	} else if (!mail(correo)){
		alert (messages[51]);
		formu.email.focus();
		return false;
        } else if (!(formu.acepto.checked)){
		alert (messages[52]);
		formu.acepto.focus();
		return false;
	} else {
		for(j=0;j<formu.sexo.length;j++){
                    if(formu.sexo[j].checked) break;
                }
		if (j >= formu.sexo.length){
                    alert(messages[66]);
                    return false;
		}
	}
        if(formu.clave2.value != ''){
            if ((formu.clave2.value.length < 6) || (formu.clave2.value.length > 12)){
                alert (messages[70]);
		formu.clave2.focus();
		return false;
            }
            if(formu.clave2a.value!=formu.clave2.value){
                alert (messages[72]);
		formu.clave2.focus();
		return false;
            }
        }
        return true;
}

function checkRecordarClave(idform){
	if (mail(document.forms[idform].email.value)){
		return true;	
	}else{
		alert(messages[23]);
		return false;
	}
}

function checkBajaBM(idform){
	var formu = document.forms[idform];
	if (formu.login.value == ''){
		alert(messages[36]);
		formu.login.focus();
		return false;
	} else if (formu.clave.value == ''){
		alert(messages[37]);
		formu.clave.focus();
		return false;
	}
	return true;
}

function checkComprobarLogin(idform){
        var formu = document.forms[idform];
	if (formu.login.value == ''){
		alert(messages[36]);
		formu.login.focus();
		return false;
	} else if (formu.clave.value == ''){
		alert(messages[37]);
		formu.clave.focus();
		return false;
	}
	return true;
}
