// Variables a utilizar en las funciones

var digits="0123456789";
var digits1="0123456789.";
var digits2="0123456789,";
var digits3="0123456789.,";
var textchars="/'\"[]{}()*&^%$#@!~?<>-_+=|\\ \r\t\n.,:;`";
var lwr="abcdefghijklmnopqrstuvwxyz";
var upr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var diac_lwr='áàâäåéèëêìíîïòóôõöøùúûüýñæßç';
var diac_upr='ÁÀÂÄÅÉÈËÊÌÍÎÏÒÓÔÕÖØÙÚÛÜÝÑÆßÇ';
var espacio=" ";
var whitespace=" \t\n\r";                     
var decimalPointDelimiter=".";                  
var phoneNumberDelimiters="()- ";  
var ZIPCodeDelimiters=".";

var MinPassLength=6;
var MaxPassLength=10;
var MinLoginLength=6;
var MaxLoginLength=10;

var bgcolor_normal = "#ffffff";
var bgcolor_error = "#c0c0c0";

var validPhoneChars=digits + phoneNumberDelimiters;
var validDNIChars=digits + upr + lwr;
var validZIPCodeChars=digits;

var digitsInPhoneNumber=9;
var digitsInDNI=9;
var digitsInZIPCode1=5;


/**********************************************************************/
// esVacio
// Función para comprobar si el valor está vacio. 
/**********************************************************************/

function esVacio(s){
	return((s==null)||(s.length==0))
}

/**********************************************************************/
// esValido
// Función para comprobar si el valor es válido comparandolo con los valores pasados. 
/**********************************************************************/

function esValido(parm,val){
	if(parm=="")return true;
	for(i=0;i<parm.length;i++){
		if(val.indexOf(parm.charAt(i),0)==-1)return false;
	}
	return true;
}

/**********************************************************************/
// esLetra
// Función para comprobar si el valor es una letra. 
/**********************************************************************/

function esLetra(c){
	return (((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))
}

/**********************************************************************/
// esDigito
// Función para comprobar si el valor es un dígito. 
/**********************************************************************/

function esDigito(c){
	return ((c>="0")&&(c<="9"))
}


/**********************************************************************/
// esEspacio
// Función para comprobar si el valor es un espacio. 
/**********************************************************************/

function esEspacio(s){
	for(i=0;i< s.length;i++){
		c=s.charAt(i);
		if(whitespace.indexOf(c)==-1) return false;
	} 
	return true;
}

/**********************************************************************/
// esEntero
// Función para comprobar si el valor es un número entero. 
/**********************************************************************/
function esEntero(valor){ 
	i;
	if(esVacio(valor)){
		if(esEntero.arguments.length==1) return false;
		else return (esEntero.arguments[1]==true); 
	}
	for(i=0;i< valor.length;i++){ 
		c=valor.charAt(i); 
		if(!esDigito(c)) return false; 
	} 
	return true;
}

/**********************************************************************/
// esDNI
// Funcion para comprobar si el valor es un DNI correcto. 
/**********************************************************************/
function esDNI(valor){
	if (esValido(valor,validDNIChars) && valor.length==digitsInDNI) {
		for(var i=0; i<(valor.length)-1;i++){
			if(esDigito(valor.charAt(i))==false) {
				return false;
			}
		}
		if (esLetra(valor.charAt(i))){
			// Ahora compruebo si es un DNI correcto, es decir, si es la letra correcta.
			var numero = valor.substr(0,valor.length-1);
			var letra = valor.substr(valor.length-1,1);
	  		numero = numero % 23;
			var cadena='TRWAGMYFPDXBNJZSQVHLCKET';
			cadena=cadena.substring(numero,numero+1);
			return (cadena==letra.toUpperCase()); 
		} else return false;
	} else return false;
}

function esCIF(texto){
        
        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;
        
        texto = texto.toUpperCase();
        
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
         if (!regular.exec(texto)) return false;
             
         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
         
         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;
         
         if ((ultima == unumero) || (ultima == uletra[unumero]))
             return true;
         else
             return false;
}
/**********************************************************************/
// esEmail
// Funcion para comprobar si el valor es un DNI correcto. 
/**********************************************************************/

function esEmail(s){
	if(esVacio(s))
		if(esEmail.arguments.length==1) return false;
		else return(isEmail.arguments[1]==true);
		
		if(esEspacio(s)) return false;
		i=1;
		sLength=s.length;
		while((i<sLength) && (s.charAt(i) !="@")){
			i++
		};
		if((i >=sLength) || (s.charAt(i) !="@")) return false;
		else i +=2;
		while((i < sLength) && (s.charAt(i) !=".")){
			i++
		};
		if((i >=sLength - 1) || (s.charAt(i) !=".")) return false;
		else return true;
}

/**********************************************************************/
// es_telefono
// Funcion para comprobar si el valor es un teléfono. 
/**********************************************************************/

function es_telefono(numero)
{
	return (es_entero(numero)&& numero.length==digitsInPhoneNumber);
}

/**********************************************************************/
// esCodigoPostal
// Funcion para comprobar si el valor es un teléfono. 
/**********************************************************************/

function esCodigoPostal(s){
	return (esValido(s,validZIPCodeChars) && s.length==digitsInZIPCode1);
}

/**********************************************************************/
/* Esta función valida el formulario de Acceso Privado de la página.  */
/* 																      */
/**********************************************************************/

function validar_login()
{
// Ponemos todas las casillas sin fondo
document.form_login.login.style.background=bgcolor_normal;
document.form_login.pass.style.background=bgcolor_normal;
	var error="";
		
	if (vacio(document.form_login.login.value)) 
	{
		error+="Debe introducir el usuario.\n";
		document.form_login.login.style.background=bgcolor_error;
	}
	else
	{
		if (!es_valido(document.form_login.login.value))
		{
			error+="El usuario contiene caracteres no válidos.\n";
			document.form_login.login.style.background=bgcolor_error;
		}
	}	

	if (vacio(document.form_login.pass.value)) 
	{
		error+="Debe introducir la clave.\n";
		document.form_login.pass.style.background=bgcolor_error;
	}
	else
	{
		if (!es_valido(document.form_login.pass.value))
		{
			error+="La clave contiene caracteres no válidos.\n";
		}
	}	

	if (!error)
	{
		document.form_login.action="login.php";
		document.form_login.submit();
	}
	else alert(error);
}
/**********************************************************************/
/* Esta función valida el formulario de envio de los pedids de la página.        */
/* 																      */
/**********************************************************************/

function validar_datos_pedido(op)
{
// Ponemos todas las casillas sin fondo
document.formulario.nombre.style.background=bgcolor_normal;
document.formulario.apellidos.style.background=bgcolor_normal;
document.formulario.direccion.style.background=bgcolor_normal;
document.formulario.cp.style.background=bgcolor_normal;
document.formulario.provincia.style.background=bgcolor_normal;
document.formulario.ciudad.style.background=bgcolor_normal;
document.formulario.pais.style.background=bgcolor_normal;
document.formulario.email.style.background=bgcolor_normal;

	var error="";
	var linea=1;	

	if (vacio(document.formulario.nombre.value)) 
	{
		linea++;
		error+="Debe introducir el nombre.<br />";
		document.formulario.nombre.style.background=bgcolor_error;
	}
		if (vacio(document.formulario.apellidos.value)) 
	{
		linea++;
		error+="Debe introducir los apellidos.<br />";
		document.formulario.apellidos.style.background=bgcolor_error;
	}
		if (vacio(document.formulario.direccion.value)) 
	{
		linea++;
		error+="Debe introducir la dirección.<br />";
		document.formulario.direccion.style.background=bgcolor_error;
	}
		if (vacio(document.formulario.ciudad.value)) 
	{
		linea++;
		error+="Debe introducir la ciudad.<br />";
		document.formulario.ciudad.style.background=bgcolor_error;
	}
//		if (vacio(document.formulario.provincia.value)) 
//	{
//		linea++;
//		error+="Debe introducir la provincia.<br />";
//		document.formulario.provincia.style.background=bgcolor_error;
//	}
	if (vacio(document.formulario.dni.value)) 
	{
		linea++;
		error+="Debe introducir el dni.<br />";
		document.formulario.dni.style.background=bgcolor_error;
	}
	//if (vacio(document.formulario.cp.value)) {
//			linea++;
//			error+="Debe introducir el código postal.<br />";
//			document.formulario.cp.style.background=bgcolor_error;
//	}else{
//		if (!esCodigoPostal(document.formulario.cp.value)) {
//			linea++;
//			error+="El Código Postal tiene que ser un número de "+digitsInZIPCode1+" dígitos.<br />";
//			document.formulario.cp.style.background=bgcolor_error;
//		}
//	}

	if (document.formulario.pais.value==0) {
		linea++;
		error+="Debe seleccionar un pais.<br />";
		document.formulario.pais.style.background=bgcolor_error;
	} 		
	if (vacio(document.formulario.email.value)) 
	{
		linea++;
		error+="Debe introducir una dirección de correo electrónico.<br />";
		document.formulario.email.style.background=bgcolor_error;
	}
	else
	{
		
		if (!es_correo(document.formulario.email.value))
		{
			linea++;
			error+="El email debe ser una dirección de correo electrónico válida.<br />";
			document.formulario.email.style.background=bgcolor_error;
		}
	}
	
	if (!error)
	{
		if(op==3){
			return true;
			document.formulario.action="ver_carro.php?op="+op;
			document.formulario.submit();
		}else{
			document.formulario.action="ver_carro.php?op="+op;
			document.formulario.submit();
		}
	}
	else {
		alert("Rellene los campos marcados")		
		}
}
/**********************************************************************/
/* Esta función valida el formulario de Contacto de la página.        */
/* 																      */
/**********************************************************************/

function validar_contacto()
{
// Ponemos todas las casillas sin fondo
document.formulario.nombre.style.background=bgcolor_normal;
document.formulario.empresa.style.background=bgcolor_normal;
document.formulario.telefono.style.background=bgcolor_normal;
document.formulario.email.style.background=bgcolor_normal;
document.formulario.localidad.style.background=bgcolor_normal;
document.formulario.pais.style.background=bgcolor_normal;
document.formulario.descripcion.style.background=bgcolor_normal;

	var error="";
	var linea=1;	
	if (vacio(document.formulario.nombre.value)) 
	{
		linea++;
		error+="Debe introducir el nombre.<br />";
		document.formulario.nombre.style.background=bgcolor_error;
	}

/*	else
	{
		if (!es_campo_valido(document.formulario.nombre.value))
		{
			error+="El nombre debe ser solamente carácteres alfabéticos.\n";
		document.formulario.nombre.style.background=bgcolor_error;
		}
	}	
	if (vacio(document.formulario.empresa.value)) 
	{
		error+="Debe introducir los apellidos.\n";
		document.formulario.empresa.style.background=bgcolor_error;
	}*/
	
	if (!vacio(document.formulario.telefono.value)) 
	{
		if (!es_telefono(document.formulario.telefono.value))
		{
			linea++;
			error+="El Teléfono debe ser un teléfono válido de "+digitsInPhoneNumber+" caracteres.<br />";
			document.formulario.telefono.style.background=bgcolor_error;
		}	
	}
				
	if (vacio(document.formulario.email.value)) 
	{
		linea++;
		error+="Debe introducir una dirección de correo electrónico.<br />";
		document.formulario.email.style.background=bgcolor_error;
	}
	else
	{
		
		if (!es_correo(document.formulario.email.value))
		{
			linea++;
			error+="El email debe ser una dirección de correo electrónico válida.<br />";
			document.formulario.email.style.background=bgcolor_error;
		}
	}
		
	if (vacio(document.formulario.localidad.value)) 
	{
		linea++;
		error+="Debe introducir la localidad.<br />";
		document.formulario.localidad.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.pais.value)) 
	{
		linea++;
		error+="Debe introducir el país.<br />";
		document.formulario.pais.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.descripcion.value)) 
	{
		linea++;
		error+="Debe introducir texto en el comentario.<br />";
		document.formulario.descripcion.style.background=bgcolor_error;
	}
	
	if (document.formulario.aceptar.checked!=true) {
		linea++;
		error+="Debe aceptar la politica legal y de privacidad.<br />";
	}
	
	if (!error)
	{
		document.formulario.action="contacto.php";
		document.formulario.submit();
	}
	else {
		error="<br /><br />"+ error;
		GB_showCenter('Aviso', 'mensaje.php?op=4&mensaje='+error,240,486);	
		
		}
}


/**********************************************************************/
/* Esta función valida el formulario de Registro de la página.        */
/* 																      */
/**********************************************************************/

function validar_registro()
{

// Ponemos todas las casillas sin fondo
document.form_reg.login.style.background=bgcolor_normal;
document.form_reg.password.style.background=bgcolor_normal;
document.form_reg.rpassword.style.background=bgcolor_normal;
document.form_reg.nombre.style.background=bgcolor_normal;
document.form_reg.apellido_1.style.background=bgcolor_normal;
document.form_reg.cif.style.background=bgcolor_normal;
document.form_reg.cp.style.background=bgcolor_normal;
document.form_reg.direccion.style.background=bgcolor_normal;
document.form_reg.localidad.style.background=bgcolor_normal;
document.form_reg.provincia.style.background=bgcolor_normal;
//document.form_reg.telf_1.style.background=bgcolor_normal;
document.form_reg.telf_2.style.background=bgcolor_normal;
document.form_reg.telf_3.style.background=bgcolor_normal;
document.form_reg.email.style.background=bgcolor_normal;

	var error="";
	var linea=1;
	if (vacio(document.form_reg.login.value)) {
		linea++;
		error+="Debe introducir el usuario.<br />";
		document.form_reg.login.style.background=bgcolor_error;
	} else if (!es_valido(document.form_reg.login.value))	{
		linea++;
		error+="El usuario contiene caracteres no válidos.<br />";
		document.form_reg.login.style.background=bgcolor_error;
	} else if(document.form_reg.login.value.length<MinLoginLength || document.form_reg.login.value.length>MaxLoginLength) {
		linea++;
		error+="El nombre de usuario debe de tener entre "+MinLoginLength+" y "+MaxLoginLength+" caracteres.<br />";
		document.form_reg.login.style.background=bgcolor_error;
	}

	if (vacio(document.form_reg.password.value)) {
		linea++;
		error+="Debe introducir la clave.<br />";
		document.form_reg.password.style.background=bgcolor_error;
	} else if (!es_valido(document.form_reg.password.value)) {
		linea++;
		error+="La clave contiene caracteres no válidos.<br />";
		document.form_reg.password.style.background=bgcolor_error;
	}
	
	if (vacio(document.form_reg.rpassword.value)) {
		error+="Debe confirmar la clave.<br />";
		document.form_reg.rpassword.style.background=bgcolor_error;
	} else if (!es_valido(document.form_reg.rpassword.value)) {
		linea++;
		error+="La confirmación de la clave contiene caracteres no válidos.<br />";
		document.form_reg.rpassword.style.background=bgcolor_error;
	} else if (document.form_reg.password.value!=document.form_reg.rpassword.value) {
		linea++;
		error+="La confirmación de la contraseña no coincide con la contraseña.<br />";
		document.form_reg.password.style.background=bgcolor_error;
		document.form_reg.rpassword.style.background=bgcolor_error;
	} else if(document.form_reg.password.value.length<MinPassLength || document.form_reg.password.value.length>MaxPassLength) {
		linea++;
		error+="La contraseña debe de tener entre "+MinPassLength+" y "+MaxPassLength+" caracteres.<br />";
		document.form_reg.password.style.background=bgcolor_error;
		document.form_reg.rpassword.style.background=bgcolor_error;
	}
	
	if (vacio(document.form_reg.nombre.value)) {
		linea++;
		error+="Debe introducir el nombre.<br />";
		document.form_reg.nombre.style.background=bgcolor_error;
	} 
	
	if (vacio(document.form_reg.apellido_1.value)) {
		linea++;
		error+="Debe introducir el primer apellido.<br />";
		document.form_reg.apellido_1.style.background=bgcolor_error;
	}
	
	if(document.form_reg.pais.value=='ES'){
		if (!esDNI(document.form_reg.cif.value) && !esCIF(document.form_reg.cif.value)) {
			linea++;
			error+="Debe introducir el D.N.I./N.I.F. Correcto<br />";
			document.form_reg.cif.style.background=bgcolor_error;
		}
	
	}else{
		if (vacio(document.form_reg.cif.value)) {
			linea++;
			error+="Debe introducir el D.N.I./N.I.F.<br />";
			document.form_reg.cif.style.background=bgcolor_error;
		}
	}
	
	if (vacio(document.form_reg.direccion.value)) {
		linea++;
		error+="Debe introducir la dirección.<br />";
		document.form_reg.direccion.style.background=bgcolor_error;
	}
	
	if (!vacio(document.form_reg.cp.value)) {
		if (!esCodigoPostal(document.form_reg.cp.value)) {
			linea++;
			error+="El Código Postal tiene que ser un número de "+digitsInZIPCode1+" dígitos.<br />";
			document.form_reg.cp.style.background=bgcolor_error;
		}
	}
	
	if (vacio(document.form_reg.localidad.value)) {
		linea++;
		error+="Debe introducir el localidad.<br />";
		document.form_reg.localidad.style.background=bgcolor_error;
	}

	/*if (vacio(document.form_reg.provincia.value)) {
		error+="Debe introducir la provincia.\n";
		document.form_reg.provincia.style.background=bgcolor_error;
	}*/
	if (document.form_reg.pais.value==0) {
		linea++;
		error+="Debe seleccionar un pais.<br />";
		document.form_reg.pais.style.background=bgcolor_error;
	} 

/*	if (esVacio(document.form_reg.telf_2.value)) {
		error+="Debe introducir un Tfno. Fijo.\n";
		document.form_reg.telf_1.style.background=bgcolor_error;
	} else if(!es_telefono(document.form_reg.telf_1.value)) {
		error+="El Tfno. Fijo debe ser un número de teléfono válido de "+digitsInPhoneNumber+" dígitos\n";
		document.form_reg.telf_1.style.background=bgcolor_error;
	}*/
	
	if (vacio(document.form_reg.telf_2.value)) {
		linea++;
		error+="Debe introducir el Teléfono.<br />";
		document.form_reg.telf_2.style.background=bgcolor_error;
	} else if (!es_telefono(document.form_reg.telf_2.value)) {
		linea++;
		error+="El Tfno. debe ser un número de teléfono válido de "+digitsInPhoneNumber+" dígitos.<br />";
		document.form_reg.telf_2.style.background=bgcolor_error;
	}
	
	
	if (!es_telefono(document.form_reg.telf_3.value) && !esVacio(document.form_reg.telf_3.value)) {
		linea++;
		error+="El Fax debe ser un número de fax válido de "+digitsInPhoneNumber+" dígitos.<br />";
		document.form_reg.telf_3.style.background=bgcolor_error;
	}
	
	if (vacio(document.form_reg.email.value)) {
		linea++;
		error+="Debe introducir el E-mail.<br />";
		document.form_reg.email.style.background=bgcolor_error;
	} else if (!es_correo(document.form_reg.email.value)) {
		linea++;
		error+="El E-mail debe ser una dirección de correo electrónico válida.<br />";
		document.form_reg.email.style.background=bgcolor_error;
	}
	
	if (document.form_reg.aceptar.checked!=true) {
		linea++;
		error+="Debe aceptar la politica legal y de privacidad.	";
	}
	
	if (!error)
	{
		document.form_reg.action="registro.php";
		document.form_reg.submit();
	}
	else{
		
		if(linea<11)
			error="<br /><br />"+error;
		GB_showCenter('Aviso', 'mensaje.php?op=4&mensaje='+error,240,486);
		}
}


/**********************************************************************/
/* Esta función devuelve verdadero si el valor pasado como argumento  */
/* es una cadena vacia.						      */
/**********************************************************************/


function vacio(valor)
	{
		if (valor=="")
			{
				return(true);
			}
		else
			{
				return(false);
			}
	}


/**********************************************************************/
/*  Esta funcion comprobará si el valor introducido en la variable    */
/*  'valor' tiene el número de caracteres introducidos en la          */
/*   variable 'num'.                                                  */   
/**********************************************************************/


function num_caracteres(valor,num)
	{
		if (valor.length==num) 
			
				return true;
			
		else
			
				return false;
			
		
	}
	


/**********************************************************************/	
/* La siguiente función toma como argumento una cadena de caracteres  */
/* y nos devuelve verdadero si la variable introducida está compuesta */
/* sólo por dígitos.                                                  */
/**********************************************************************/

function es_entero(numero)
	{
		cadena2="1234567890";
		valido=true;			
		cadena=numero;			
		for (i=0;i<cadena.length;i++)
			{
				ch=cadena.charAt(i);
				for (j=0;j<cadena2.length;j++)
					{						
						if (ch==cadena2.charAt(j)) break;								
							
					}
					if (j == cadena2.length) 
						{ 
      							valido = false; 
      							break; 
    						}														
			}
			
	
		if (valido==false)
			{	
				return(false);		
			}
		else
			{
				return(true);
			}		

}


/**********************************************************************/	
/* La siguiente función toma como argumento una cadena de caracteres  */
/* y nos devuelve verdadero si la variable introducida está compuesta */
/* sólo por dígitos y una coma.                                                  */
/**********************************************************************/

function es_real(numero)
	{
		cadena2="1234567890.";
		contador=0;
		valido=true;			
		cadena=numero;			
		longitud=cadena.length;
		for (i=0;i<cadena.length;i++)
			{
				ch=cadena.charAt(i);
				if (ch==".") 
					{
						++contador;
					}
					
				
				for (j=0;j<cadena2.length;j++)
					{						
						if (ch==cadena2.charAt(j)) break;								
							
					}
					if (j == cadena2.length) 
						{ 
      							valido = false; 
      							break; 
    						}														
			}
	
		if (contador>=2 || cadena.charAt(longitud-1)==".")
			{
				 valido=false;
			}
		
		
		if (valido==false)
			{	
				return(false);		
			}
		else
			{
				return(true);
			}		

}

/**********************************************************************/	
/* La siguiente función toma como argumento una cadena de caracteres  */
/* y nos devuelve verdadero si la variable introducida está compuesta */
/* sólo por caracteres válidos para hacer una inserción en una base   */	
/* de datos.                                                          */
/**********************************************************************/

function es_valido(valor)
	{
		cadena2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_-.";
		valido=true;
		cadena=valor;
		for (i=0;i<cadena.length;i++)
			{
				ch=cadena.charAt(i);
				for (j=0;j<cadena2.length;j++)
					{
						if (ch==cadena2.charAt(j)) break;
							
					}
					if (j == cadena2.length)
						{
      							valido = false;
      							break;
    						}
			}
			
	
		if (valido==false)
			{	
				return(false);		
			}
		else
			{
				return(true);
			}		

}


function es_campo_valido(valor)
	{
		cadena2="AÁÀÂÃÄBCDEÉÈÊËFGHIÍÌÎÏJKLMNÑOÓÒÔÖÕPQRSTUÚÙÛÜVWXYZaáàâãäbcdeéèêëfghiíìîïjklmnñoóòôöõpqrstuúùûüvwxyz1234567890_- ,.";
		valido=true;
		cadena=valor;
		for (i=0;i<cadena.length;i++)
			{
				ch=cadena.charAt(i);
				for (j=0;j<cadena2.length;j++)
					{
						if (ch==cadena2.charAt(j)) break;
							
					}
					if (j == cadena2.length)
						{
      							valido = false;
      							break;
    						}
			}
			
	
		if (valido==false)
			{	
				return(false);		
			}
		else
			{
				return(true);
			}		

}

/**********************************************************************/
/*  Esta función recibe como argumento una cadena de caracteres       */
/* y devuelve verdadero si la cadena posée los caracteres '@' y '.'   */
/**********************************************************************/

function es_correo(email)
	{		
		if ((email.indexOf("@") == -1) || (email.indexOf(".") == -1))
			{
				return(false);
			}
		else
			{
				return(true);
			}
	}
/**********************************************************************/
/*Esta función valida si una fecha introducida es válida              */
/*    Ej: mm/dd/yyyy o mm-dd-yyyy o mm.dd.yyyy                      */
/*    								      */
/* 								      */
/**********************************************************************/	
function validar_fecha( strValue ) {

  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
 
  //Revisa si está en el formato correcto
  if(!objRegExp.test(strValue))
    return false; //no se ajusta al patron, fecha no valida
  else{
    var strSeparator = strValue.substring(2,3) //encuentra separador de fechas
    var arrayDate = strValue.split(strSeparator); //separa la fecha en dia, mes y año
    //crea un vector con los meses no iguales a febrero
    var arrayLookup = { '01' : 31,'03' : 31,'04' : 30,'05' : 31,'06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
    var intDay = arrayDate[1]-0; 
    //revisa si el valor del día y del mes son válidos
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //encontrado en el vector, fecha valida
    }
    
    //revisa febrero
    var intYear = arrayDate[2]-0;
    var intMonth = arrayDate[0]-0;
    if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
      return true; //Feb. tiene un número valido de días
  }
  return false; //cualquier otro valor, fecha no valida
}
	
	
/**********************************************************************/
//Validar fecha
//Este codigo JavaScript Permite validar la fecha en formato 00/00/0000. 
//formato fecha: dd/mm/yyyy
//Valida bisiestos y meses de 30 y 31 dias, 
//asegurandose demás de que la fecha sea mayor de 1900.
/**********************************************************************/

function fecha_correcta(fecha)
{ 
   if(fecha)
   {
      borrar = fecha;
      if ((fecha.substr(2,1) == "/") && (fecha.substr(5,1) == "/"))
      {      
         for (i=0; i<10; i++)
	     {	
            if (((fecha.substr(i,1)<"0") || (fecha.substr(i,1)>"9")) && (i != 2) && (i != 5))
			{
               borrar = '';
               break;  
			}  
         }
	     if (borrar)
	     { 
	        a = fecha.substr(6,4);
		    m = fecha.substr(3,2);
		    d = fecha.substr(0,2);
//		    if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
			if((a < 1900) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
			{
		       borrar = '';
			 }
		    else
		    {
		       if((a%4 != 0) && (m == 2) && (d > 28))	 
			   {  
		          borrar = ''; // Año no biciesto y es febrero y el dia es mayor a 28
				}
			   else	
			   {
		          if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
				  {
			         borrar = '';	    
  				  }	 
			   }  // else
		    } // fin else
         } // if (error)
      } // if ((fecha.substr(2,1) == "/") && (fecha.substr(5,1) == "/"))			    			
	  else
	  {
	     borrar = '';
	  }
   } // if (fecha)   
   if (borrar == '')  return false;
   else	return true;
}

/**********************************************************************/
//limitar el número de los textarea
//Este codigo JavaScript Permite limitar el número de caracteres de los. 
//campos textarea
/**********************************************************************/

function cuenta(nombre,numero)
{ 
	var cadena="";
	
	if (eval("document.formulario." + nombre + ".value.length>" + numero))
	{
		for (i=0;i<numero;i++)
		{
			eval("cadena+=document.formulario." + nombre + ".value.charAt(" + i + ")");
		}
		
		eval("document.formulario." + nombre + ".value=cadena");
	}
}

/**********************************************************************/
// enviar
// Este codigo JavaScript permite devolver la ruta del archivo subido al 
// servidor.
/**********************************************************************/
function enviar_datos(valor, campo, directorio)
{
	var elemento = window.opener.document.getElementById(campo);
	var imagen = window.opener.document.getElementById(campo + '_img');
	
	if(elemento != null) elemento.value = valor;
	if(imagen != null) imagen.src = directorio + valor;
} 

function cerrarwindows(valor, campo, directorio)
{ 
	var elemento = window.opener.document.getElementById(campo);
	var imagen = window.opener.document.getElementById(campo + '_img');
	
	if(elemento != null) elemento.value = valor;
	if(imagen != null) imagen.src = directorio + valor;

	window.close();
}

/**********************************************************************/
// Ampliar foto
// Este codigo JavaScript abre un pop-up con una imagen. 
/**********************************************************************/

function abrir(archivo,foto,referencia)
{   
	nueva_ventana=window.open(archivo+ "?foto=" + foto + "&referencia=" + referencia, "" ,"scrollbars=no,toolbar=no,directories=no,menubar=no,left=15,top=15,resizable=no,status=no,width=660,height=550");
}

function passwordLevel (p)
{
	document.getElementById('nivel_seguridad_cont').style.display='inline';
	pass=document.mform1.password.value;
	l=0;
	v1 = 'aeiou1234567890';
	v2 = 'AEIOUbcdfghjklmnpqrst';
	v3 = 'vxyzBCDFGHJKLMNPQRST';
	v4 = 'VXYZ$@#';

	for (i = 0; i < pass.length; i++)
	{
		if (v1.indexOf(pass[i]) != -1) l += 1;
		else if (v2.indexOf(pass[i]) != -1) l += 2;
		else if (v3.indexOf(pass[i]) != -1) l += 3;
		else if (v4.indexOf(pass[i]) != -1) l += 4;
		else l += 5;
	}

	l *= 3;

	if(l<60)
	{
		document.getElementById('nivel_seguridad').style.backgroundColor="#ff0000"
		j=0;
	}
	else
	{
		if(l<80)
		{
			document.getElementById('nivel_seguridad').style.backgroundColor="#FF9900"	
		}
		else
		{
			document.getElementById('nivel_seguridad').style.backgroundColor="#00CC00"
		}
		
		j=1;
	}

	if(l > 100)
	{
		document.getElementById('nivel_seguridad').style.width="100%";
	}
	else
	{
		document.getElementById('nivel_seguridad').style.width=l+"%";	
	}
	
	return j;
}

/**********************************************************************/
// restablecer
// Restablecemos el color de fondo de un input. 
/**********************************************************************/

function restablecer(ele)
{
	ele.style.background=bgcolor_normal;
}

/**********************************************************************/
/* Esta función valida el formulario de modificación de               */
/* datos del perfil.                                                  */
/* 																      */
/**********************************************************************/

function validar_perfil()
{

// Ponemos todas las casillas sin fondo
document.formulario.nombre.style.background=bgcolor_normal;
document.formulario.apellidos.style.background=bgcolor_normal;
document.formulario.dni.style.background=bgcolor_normal;
document.formulario.email.style.background=bgcolor_normal;
document.formulario.direccion.style.background=bgcolor_normal;
document.formulario.cp.style.background=bgcolor_normal;
document.formulario.municipio.style.background=bgcolor_normal;
document.formulario.provincia.style.background=bgcolor_normal;
document.formulario.telefono.style.background=bgcolor_normal;
document.formulario.fax.style.background=bgcolor_normal;

	var error="";
		
	if (vacio(document.formulario.nombre.value)) {
		error+="Debe introducir el nombre.\n";
		document.formulario.nombre.style.background=bgcolor_error;
	} 
	
	if (vacio(document.formulario.apellidos.value)) {
		error+="Debe introducir los apellidos.\n";
		document.formulario.apellidos.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.dni.value)) {
		error+="Debe introducir el DNI.\n";
		document.formulario.dni.style.background=bgcolor_error;
	} else if (!esDNI(document.formulario.dni.value)) {
		error+="El número de DNI debe ser correcto. Ej. 12345678A\n";
		document.formulario.dni.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.email.value)) {
		error+="Debe introducir el E-mail.\n";
		document.formulario.email.style.background=bgcolor_error;
	} else if (!es_correo(document.formulario.email.value)) {
		error+="El E-mail debe ser una dirección de correo electrónico válida.\n";
		document.formulario.email.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.telefono.value)) {
		error+="Debe introducir el Teléfono.\n";
		document.formulario.telefono.style.background=bgcolor_error;
	} else if (!es_telefono(document.formulario.telefono.value) && !esVacio(document.formulario.telefono.value)) {
		error+="El Teléfono debe ser un número de teléfono válido de "+digitsInPhoneNumber+" dígitos\n";
		document.formulario.telefono.style.background=bgcolor_error;
	}
	
	if (!es_telefono(document.formulario.fax.value) && !esVacio(document.formulario.fax.value)) {
		error+="El Fax debe ser un número de fax válido de "+digitsInPhoneNumber+" dígitos.\n";
		document.formulario.fax.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.direccion.value)) {
		error+="Debe introducir la dirección.\n";
		document.formulario.direccion.style.background=bgcolor_error;
	}
	
	if (vacio(document.formulario.cp.value)) {
		error+="Debe introducir el Código Postal.\n";
		document.formulario.cp.style.background=bgcolor_error;
	} else if (!esCodigoPostal(document.formulario.cp.value)) {
		error+="El Código Postal tiene que ser un número de "+digitsInZIPCode1+" dígitos.\n";
		document.formulario.cp.style.background=bgcolor_error;
	}

	if (vacio(document.formulario.municipio.value)) {
		error+="Debe introducir el municipio.\n";
		document.formulario.municipio.style.background=bgcolor_error;
	}

	if (vacio(document.formulario.provincia.value)) {
		error+="Debe introducir la provincia.\n";
		document.formulario.provincia.style.background=bgcolor_error;
	}

	if (!error)
	{
		document.formulario.action="registrar.php";
		document.formulario.submit();
	}
	else alert(error);
}


/**********************************************************************/
/* Esta función valida el formulario de cambio de contraseña          */
/* 																      */
/**********************************************************************/

function validar_password()
{

// Ponemos todas las casillas sin fondo
document.form_pass.password.style.background=bgcolor_normal;
document.form_pass.new_pass.style.background=bgcolor_normal;
document.form_pass.new_pass2.style.background=bgcolor_normal;

	var error="";
		
	if (vacio(document.form_pass.password.value)) {
		error+="Debe introducir la clave actual.\n";
		document.form_pass.password.style.background=bgcolor_error;
	} else if (!es_valido(document.form_pass.password.value))	{
		error+="La clave actual contiene caracteres no válidos.\n";
		document.form_pass.password.style.background=bgcolor_error;
	}	

	if (vacio(document.form_pass.new_pass.value)) {
		error+="Debe introducir la nueva clave.\n";
		document.form_pass.new_pass.style.background=bgcolor_error;
	} else if (!es_valido(document.form_pass.new_pass.value)) {
		error+="La nueva clave contiene caracteres no válidos.\n";
		document.form_pass.new_pass.style.background=bgcolor_error;
	}
	if (vacio(document.form_pass.new_pass2.value)) {
		error+="Debe confirmar la nueva clave.\n";
		document.form_pass.new_pass2.style.background=bgcolor_error;
	} else if (!es_valido(document.form_pass.new_pass2.value)) {
		error+="La confirmación de la nueva clave contiene caracteres no válidos.\n";
		document.form_pass.new_pass2.style.background=bgcolor_error;
	} else if (document.form_pass.new_pass.value!=document.form_pass.new_pass2.value) {
		error+="La confirmación de la nueva clave no coincide con la nueva clave.\n";
		document.form_pass.new_pass.style.background=bgcolor_error;
		document.form_pass.new_pass2.style.background=bgcolor_error;
	}
	
	if (!error)
	{
		document.form_pass.action="index.php?go=perfil";
		document.form_pass.submit();
	}
	else alert(error);
}

