//Funciones para validar la entrada de un Email Válido a un textbox

function RevisaEmail (emailStr)
{
	var emailPat=/^(.+)@(.+)$/	
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"	
	var validChars="\[^\\s" + specialChars + "\]"	
	var quotedUser="(\"[^\"]*\")"	
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/	
	var atom=validChars + '+'	
	var word="(" + atom + "|" + quotedUser + ")"	
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")	
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")	
	var matchArray=emailStr.match(emailPat)	

	if (matchArray==null)
	{
	return false
	 }	
	
	var user=matchArray[1]	
	var domain=matchArray[2]	
	
	if (user.match(userPat)==null) 
	{
		return false
	}	

	var IPArray=domain.match(ipDomainPat)	
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray>255)
			{
				return false
			}
		}		
		return true
	}	

	var domainArray=domain.match(domainPat)	
	
	if (domainArray==null) 
	{
		return false
	}	
	
	var atomPat=new RegExp(atom,"g")	
	var domArr=domain.match(atomPat)	
	var len=domArr.length	
	
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
	{
	return false
	 }	
	
	if (len<2) 
	{
		return false
	}
	
	return true;
}

function ValidaEmail(form,url,target,alto,ancho) 
{
	if (form.TxtEmail.value == "") 
	{
		alert("Necesita introducir su Email");
		form.TxtEmail.focus();	
		return false;
	}
	if (RevisaEmail(form.TxtEmail.value) == false) 
	{
		alert("El Email no es válido");
		form.TxtEmail.focus();
		return false;
	}
	else
	{
	url=url+'?TxtEmail='+form.TxtEmail.value;
	PopUpBoletin(url,target,alto,ancho);
	}
}



function PopUpBoletin(url,target,alto,ancho) 
{
var izquierda = (screen.availWidth - ancho) / 2;
var arriba = (screen.availHeight - alto) / 2;
window.open(url,target,'top='+arriba+',left='+izquierda +',height='+alto+',width='+ancho+',resizable=0,scrollbars=0');

}



function ValidaRegistroDeUsuarios(sFormu)
{
	if (!ValidoAcceso(sFormu))
	{ 
		return false;
	}
	else
	{
		
			if (document.FrmRegistroDeUsuarios.TxtEmail.value=="")
				{
					alert("Proporcione una cuenta de correo válida, por favor...");
					document.FrmRegistroDeUsuarios.TxtEmail.focus();
					return false;
				}
			else
				{
				if (RevisaEmail(document.FrmRegistroDeUsuarios.TxtEmail.value) == false) 
					{
						alert("¡La cuenta de correo que ha proporcionado no es válida!");
						FrmRegistroDeUsuarios.TxtEmail.focus();
						return false;
					}
				}
						
			
		}
			
}	

function LimpiaCamposRegistroDeUsuarios()
{
alert("Proporcione una cuenta de correo válida, por favor...");
document.FrmRegistroDeUsuarios.TxtNombre.value=="";
return true;
}

function sinEspacios()
{
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.
	if (event.keyCode==32){
		event.keyCode=0;
		alert("No se pueden introducir espacios");
		}
}

function validaContraIgual(){
			var sFormulario=document.forms["FrmRegistroDeUsuarios"];
			if (sFormulario.elements["TxtPassword"].value!=sFormulario.elements["TxtRepitePassword"].value){
				alert("No coinciden las dos contraseñas");
				document.FrmRegistroDeUsuarios.TxtRepitePassword.focus();
				return false;
			}
	}
function validaEmailIgual(){
		var sFormulario=document.forms["formDatos"];
		if (sFormulario.elements["txtEmail"].value!=sFormulario.elements["txtRepiteEmail"].value){
			alert("No coinciden las dos direcciones de correo-electrónico");
			return false;
		}
}


function detectKey(e) {
	
	var characterCode;
	if(e && e.which){ //if which property of event object is supported (NN4)
	e = e;
	characterCode = e.which //character code is contained in NN4's which property
	//alert("-" + characterCode + "-");
	}
	else{
	e = event;
	characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13){ //if enter key pressed
		//alert("Enter key has been pressed !");
		return true;
	}
	else {
		return false;
	}	

}

function chequeaCaracteres (cajadeTexto,form)
{
	var i;
	var rExp1 = /\*/gi;
	var rExp2 = /\?/gi;

	var caracteresProhibidos = new Array(",","&","{","}","\"","'","(",")","[","]","-",";","~","|","$","¡","!",">","<","+","=");
	var valor = new String(cajadeTexto.value);
	var valorEnLowerCase = new String();
	
	if (cajadeTexto.value=="")
	{
		alert("Introduzca una palabra \n ¡No se permiten campos en blanco!");
		window.document.buscador.TxtTexto.focus();
		//form.getElementById[0].focus();
		return false;
	}
	else
	{
		valor=valor.replace(rExp1, "%");//cambia asteriscos por porcentajes
		valor=valor.replace(rExp2, "_");//cambia interrogaciones por guiones bajos

		//valorEnLowerCase = valor;
		valorEnLowerCase = valor.toLowerCase( );
	
		//alert (valor);
		//alert (valorEnLowerCase);
	

		for (i=0 ; i < caracteresProhibidos.length; i++) {
			if (valorEnLowerCase.indexOf(caracteresProhibidos[i])!= -1) {
				alert ("El carácter o expresión '" + caracteresProhibidos[i] + "' no es válido para el Buscador" );		
				return false;		
			}
		}
		cajadeTexto.value=valor;//reemplaza el valor de la caja de texto para mandarlo
		form.submit();
		return true;
	}
}


