function Validar(formulario) {

	if (formulario.usuario.value== '') {
			alert("El campo Nº de Colegiado está vacio y es OBLIGATORIO");
			formulario.usuario.focus()
			return(false);
		}
		var caracter = formulario.usuario.value.charAt(0)
		if (caracter !== 'C' && caracter !== 'c')
  		{
    		alert("El campo Nº de Colegiado debe contener CV. Ej: CV09999");
			formulario.usuario.focus()
			return(false);
  		}
		if (formulario.usuario.value.length !== 7)
  		{
    		alert("El formato de Nª de Colegiado debe ser CV + 5 dígitos. Ej: CV09999");
			formulario.usuario.focus()
			return(false);
  		}
  		if (formulario.password.value== '') {
				alert("El campo está vacío y es OBLIGATORIO");
			formulario.password.focus()
			return(false);
		}
}

function validarAsesoria(formulario){
		if (formulario.NOMBRE.value==""){
			alert("el campo Nombre debe rellenarse")
			document.formulario.NOMBRE.focus()
			return false
		}
		if (formulario.EMAIL.value==""){
			alert("el campo Email debe rellenarse")
			document.formulario.EMAIL.focus()
			return false
		}
		if (!emailCheck(formulario.EMAIL.value)){
			document.formulario.EMAIL.focus()
			return false
		}
		if (formulario.TELEFONO.value==""){
			alert("el campo Telefono debe rellenarse")
			document.formulario.TELEFONO.focus()
			return false
		}
		if (formulario.CONSULTA.value==""){
			alert("el campo Consulta debe rellenarse")
			document.formulario.CONSULTA.focus()
			return false
		}
		formulario.submit()
}

function emailCheck (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) {
	  
		alert("La entrada de e-mail parece ser incorrecta (compruebe @ y .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) {
		
		alert("El nombre de usuario del e-mail parece no ser correcto.")
		return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Direccion IP no valida!")
				return false
			}
		}
		return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("El nombre de dominio del e-mail parece no ser correcto.")
		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) {
	   
	   alert("La direccion de correo debe acabar en 3 letras de dominio o 2 de un pais.")
	   return false
	}
	
	if (len<2) {
	   var errStr="Esta direccion es desconocida como IP!"
	   alert(errStr)
	   return false
	}
	
	return true;
}

/*function emailCheck (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) {
		alert("La entrada de e-mail parece ser incorrecta (compruebe @ y .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) {
		alert("El nombre de usuario parece no ser correcto.")
		return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Direccion IP no valida!")
			return false
			}
		}
		return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("El nombre de dominio parece no ser correcto.")
		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) {
	   alert("La direccion de correo debe acabar en 3 letras de dominio o 2 de un pais.")
	   return false
	}
	
	if (len<2) {
	   var errStr="Esta direccion es desconocida como IP!"
	   alert(errStr)
	   return false
	}

}
*/
function abrirgral (url, winwidth, winheight)
{
	var heightspeed = 20;
	var widthspeed = 20;
	var leftdist = 20;
	var topdist = 20;
	if (document.all)
	{
		var sizer = window.open("","","left=" + leftdist + ",top=" + topdist +",width=25,height=25,scrollbars=yes, menubar=no, toolbar=no, resizable=no");
		for (sizeheight = 25; sizeheight < winheight; sizeheight += heightspeed)
			sizer.resizeTo("1", sizeheight);
		for (sizewidth = 25; sizewidth < winwidth; sizewidth += widthspeed)
			sizer.resizeTo(sizewidth, sizeheight);
		sizer.location = url;
	}
	else
	{
		var sizer = window.open(url,"","resizable=no,left=100,top=100,width=" + winwidth + ",height=" + winheight + ",scrollbars=yes, menubar=no, toolbar=no");
	}
}

function CheckURL (urlStr)
{
	 if (urlStr.indexOf(" ")!=-1){
		  alert("No se permiten espacios en una URL");
		  return false;
	 }
	 if(urlStr==""||urlStr==null){
		  return false;
	 }

	 urlStr=urlStr.toLowerCase();
	 var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	 var validChars="\[^\\s" + specialChars + "\]";
	 var atom=validChars + '+';
	 var urlPat=/^http:\/\/(\w*)\.([\-\+a-z0-9]*)\.(\w*)/;
	 var matchArray=urlStr.match(urlPat);
	 if (matchArray==null){
		  alert("La URL parece ser incorrecta\nCompruebe que empieza por http://\n y que tiene 2 puntos.");
		  return false;
	 }
	 var user=matchArray[2];
	 var domain=matchArray[3];
	 for (i=0; i<user.length; i++) {
		  if (user.charCodeAt(i)>127) {
			   alert("El dominio contiene caracteres inválidos.");
			   return false;
		  }
	 }
	 for (i=0; i<domain.length; i++) {
		  if (domain.charCodeAt(i)>127) {
			   alert("El nombre de dominio contiene caracteres inválidos.");
			   return false;
		  }
	 }
	 var atomPat=new RegExp("^" + atom + "$");
	 var domArr=domain.split(".");
	 var len=domArr.length;
	 for (i=0;i<len;i++) {
		  if (domArr[i].search(atomPat)==-1) {
			   alert("El nombre de dominio parece no ser correcto.");
			   return false;
		  }
	 }

	 //
	// Permit these domain extensions...
	//
	var knownDomsPat = /[com|tv|co.in]/;

	 if (domArr[domArr.length-1].length!=2 &&
		 domArr[domArr.length-1].search(knownDomsPat)==-1) {
		  alert("La dirección debe acabar en 3 letras de dominio o 2 de un país.");
		  return false;
	 }
	 return true;
}

function comprobarDNIoNIE(dniOnie){
	primeraletra=dniOnie.value.substring(0,1).toUpperCase();
	if(primeraletra!='X'){
		return esDNI(dniOnie)
	} else{
		return esNIE(dniOnie)
	}
}

function esNIE(nie){
	dni = nie.value.substring(1,8);
	letra=nie.value.substring(8,9).toUpperCase();

	if(dni.length!=7 || !esEnteroSinSigno(dni)){
		if(dni.length!=7){
			alert('Debe introducir un NIE válido (longitud incorrecta). El formato es: 12345678A')
			return false
		}
		if(!esEnteroSinSigno(dni)){
			alert('Debe introducir un NIE válido (un entero positivo). El formato es: 12345678A')
			return false
		}
	}
	if (letra==''){
		alert('Debe introducir una letra. El formato es: 12345678A');
		return false;
	}
	if (calcularLetra(dni)!=letra){
		alert('La letra introducida no corresponde al NIE. El formato es: 12345678A');
		return false;
	}
	return true;
}

function esDNI(dniConLetra){
	dni = dniConLetra.value.substring(0,8);
	letra=dniConLetra.value.substring(8,9).toUpperCase();
	dniConLetra.value=dni+letra;
//	formulario.seldni.value=dni

	if(dni.length!=8 || !esEnteroSinSigno(dni)){
		if(dni.length!=8){
			alert('Debe introducir un DNI válido (longitud incorrecta). El formato es: 12345678A')
			return false
		}
		if(!esEnteroSinSigno(dni)){
			alert('Debe introducir un DNI válido (un entero positivo). El formato es: 12345678A')
			return false
		}
	}
	if (letra==''){
		alert('Debe introducir una letra. El formato es: 12345678A');
		return false;
	}
	if (calcularLetra(dni)!=letra){
		alert('La letra introducida no corresponde al DNI. El formato es: 12345678A');
		return false;
	}
	return true;
}
function esEnteroSinSigno(num){
	if(isNaN(num)) return 0
	if(num<0) return 0
	return 1
}
function calcularLetra(dni)
{
	var JuegoCaracteres="TRWAGMYFPDXBNJZSQVHLCKET";
	var Posicion= dni % 23;
	var Letra = JuegoCaracteres.charAt(Posicion);
	return Letra;
}
function isEmpty( str){
    strRE = new RegExp( );
    strRE.compile( '^[\s ]*$', 'gi' );
    return strRE.test( str );
}