function restan(n){	
	document.forms['form']['restantes'].value=n-document.forms['form']['observaciones'].value.length;
	if(document.forms['form']['observaciones'].value.length>=n){
		document.forms['form']['observaciones'].value=document.forms['form']['observaciones'].value.substring(0,n);
		document.forms['form']['restantes'].value=0;
	}
}
function buscarTexto(){
	var marca=0;
	var msg="";
	var texto=document.forms['buscar']['texto'].value;
	if(!esVacio(texto))
		document.forms['buscar'].submit();
}
function user(n)
{
	
	switch(n){
		case '1':
			document.forms['form']['email2'].disabled=true;
			document.forms['form']['email1'].disabled=false;
			document.forms['form']['password'].disabled=false;
			document.getElementById("enviar2").style.cursor="auto";
			document.getElementById("enviar1").style.cursor="pointer";
			break;
		case '2':
			
			document.forms['form']['email2'].disabled=false;
			document.forms['form']['email1'].disabled=true;
			document.forms['form']['password'].disabled=true;
			document.getElementById("enviar1").style.cursor="auto";
			document.getElementById("enviar2").style.cursor="pointer";
			break;
	}
	
}
function comprar(){
	document.forms.form.submit();	
}
function continuar(n){
	
	var email="";
	var password="";
	var password2="";
	var telefono="";
	var nombre="";
	var apellidos="";
	var dni="";
	var direccion="";
	var direccionEnvio="";
	var marca=0;
	var msg="";
	var enviar=true;
	
	switch(n){
		case 1:
			if(document.forms.form.tipo[0].checked){
				email=document.forms['form']['email1'].value;
				password=document.forms['form']['password'].value;
				if(!minCaracteres(password,6)){
					msg="La longitud del campo password debe estar entre 6 y 10 carácteres";
					marca=1;
				}
				if(esVacio(password)){
					msg="El campo password está vacio";
					marca=1;
				}
				if(!esEmail(email)){
					msg="El formato del campo Email no es correcto";
					marca=1;
				}
				if(esVacio(email)){
					msg="El campo Email está vacio";
					marca=1;
				}
				break;
			}else{
				enviar=false;	
			}
		break;
		case 2:
			if(document.forms.form.tipo[1].checked){
				email=document.forms['form']['email2'].value;
				
				if(!esEmail(email)){
					msg="El formato del campo email no es correcto";
					marca=1;
				}
				if(esVacio(email)){
					msg="El campo email está vacio";
					marca=1;
				}
				
				
				break;
			}else{
				enviar=false;	
			}
		case 3:
			nombre=document.forms['form']['nombre'].value;
			apellidos=document.forms['form']['apellidos'].value;
			email=document.forms['form']['email'].value;
			telefono=document.forms['form']['telefono'].value;
			direccion=document.forms['form']['direccion'].value;
			direccionEnvio=document.forms['form']['direccionEnvio'].value;
			dni=document.forms['form']['dni'].value;
			
			
			if( esVacio(direccion)){
				msg="El campo direccion está vacio";
				marca=1;
			}
			if( !esCIFNIF(dni) ){
				msg="El formato del campo DNI/CIF no es correcto";
				marca=1;
			}
			if( esVacio(dni)){
				msg="El campo DNI/CIF está vacio";
				marca=1;
			}
			if( !esDigitos(telefono) || !minCaracteres(telefono,9) || (telefono.substring(0,1)!='6' && telefono.substring(0,1)!='9') ){
				msg="El formato del campo teléfono no es correcto";
				marca=1;
			}
			if( esVacio(telefono)){
				msg="El campo teléfono está vacio";
				marca=1;
			}
			if(!esEmail(email)){
				msg="El formato del campo Email no es correcto";
				marca=1;
			}
			if(esVacio(email)){
				msg="El campo email está vacio";
				marca=1;
			}
			if(esVacio(apellidos)){
				msg="El campo apellidos está vacio";
				marca=1;
			}
			if(esVacio(nombre)){
				msg="El campo nombre está vacio";
				marca=1;
			}
		break;
		case 4:
			nombre=document.forms['form']['nombre'].value;
			apellidos=document.forms['form']['apellidos'].value;
			email=document.forms['form']['email'].value;
			telefono=document.forms['form']['telefono'].value;
			direccion=document.forms['form']['direccion'].value;
			direccionEnvio=document.forms['form']['direccionEnvio'].value;
			dni=document.forms['form']['dni'].value;
			password=document.forms['form']['password'].value;
			password2=document.forms['form']['password2'].value;
			if(password!=password2){
				msg="Las contraseñas no coinciden";
				marca=1;
			}
			if(!minCaracteres(password2,6)){
					msg="La longitud del campo comprobar contraseña debe estar entre 6 y 10 carácteres";
					marca=1;
			}
			if( esVacio(password2)){
				msg="El campo comprobar contraseña está vacio";
				marca=1;
			}
			if(!minCaracteres(password,6)){
					msg="La longitud del campo contraseña debe estar entre 6 y 10 carácteres";
					marca=1;
			}
			if( esVacio(password)){
				msg="El campo contraseña está vacio";
				marca=1;
			}
			
			if( esVacio(direccion)){
				msg="El campo direccion está vacio";
				marca=1;
			}
			if( !esCIFNIF(dni) ){
				msg="El formato del campo DNI/CIF no es correcto";
				marca=1;
			}
			if( esVacio(dni)){
				msg="El campo DNI/CIF está vacio";
				marca=1;
			}
			if( !esDigitos(telefono) || !minCaracteres(telefono,9) || (telefono.substring(0,1)!='6' && telefono.substring(0,1)!='9') ){
				msg="El formato del campo teléfono no es correcto";
				marca=1;
			}
			if( esVacio(telefono)){
				msg="El campo teléfono está vacio";
				marca=1;
			}
			if(!esEmail(email)){
				msg="El formato del campo Email no es correcto";
				marca=1;
			}
			if(esVacio(email)){
				msg="El campo email está vacio";
				marca=1;
			}
			if(esVacio(apellidos)){
				msg="El campo apellidos está vacio";
				marca=1;
			}
			if(esVacio(nombre)){
				msg="El campo nombre está vacio";
				marca=1;
			}
		break;
	}
	if(marca)
		alert(msg);
	else if(enviar)
		document.forms['form'].submit();
}

function tratarFecha(dia,mes,ano){
  document.location.href = "?dia="+dia+"&mes="+mes+"&ano="+ano;
}
function vaciar(){
	var nombre=document.forms['form']['nombre'].value;
	var apellidos=document.forms['form']['apellidos'].value;
	var email=document.forms['form']['email'].value;
	var movil=document.forms['form']['movil'].value;
	document.forms['form'].reset();
	document.forms['form']['nombre'].value=nombre;
	document.forms['form']['apellidos'].value=apellidos;
	document.forms['form']['email'].value=email;
	document.forms['form']['movil'].value=movil;
}

function buscar(){
	var marca=0;
	var msg="";
	var txt=document.forms['busca']['txt'].value;
	if(!esVacio(txt))
		document.forms['busca'].submit();
}
function recordar(){
	var marca=0;
	var msg="";

	var email=document.forms['form']['email'].value;

	
	
	if(!esEmail(email)){
		msg="El formato del campo email no es correcto";
		marca=1;
	}
	if(esVacio(email)){
		msg="El campo email está vacio";
		marca=1;
	}
	
	if(marca)
		alert(msg);
	else
		document.forms['form'].submit();
}

function addMensaje(){
	var marca=0;
	var msg="";
	var nombre=document.forms['form']['nombre'].value;
	var mensaje=document.forms['form']['mensaje'].value;
	
	
	
	if(esVacio(mensaje)){
		msg="Escribe tu mensaje";
		marca=1;
	}
	if(esVacio(nombre)){
		msg="Rellena el campo Nombre";
		marca=1;
	}
	if(marca)
		alert(msg);
	else
		document.forms['form'].submit();
}

function contacto(){
	var marca=0;
	var msg="";
	var email=document.forms['formi']['email'].value;
	var comentarios=document.forms['formi']['comentarios'].value;
	
	
	
	if(esVacio(comentarios)){
		msg="Escribe tus comentarios";
		marca=1;
	}
	if(esVacio(email) || !esEmail(email)){
		msg="El formato del campo email no es correcto";
		marca=1;
	}
	if(marca)
		alert(msg);
	else
		document.forms['formi'].submit();
}


function inscripcion(){
	var marca=0;
	var msg="";
	var nombre=document.forms['form']['nombre'].value;
	var email=document.forms['form']['email'].value;
	var movil=document.forms['form']['movil'].value;
	
	if(!esVacio(movil)){
		if( !esDigitos(movil) || !minCaracteres(movil,9) || movil.substring(0,1)!='6' ){
			msg="El formato del campo Móvil no es correcto";
			marca=1;
		}
	}
	if(!esEmail(email)){
		msg="El formato del campo Email no es correcto";
		marca=1;
	}
	
	if(esVacio(nombre)){
		msg="Rellena el campo Nombre";
		marca=1;
	}
	if(marca)
		alert(msg);
	else
		document.forms['form'].submit();
}

function enviarAUnAmigo(){
	var marca=0;
	var msg="";
	var nombrea=document.forms['form']['nombrea'].value;
	var emaila=document.forms['form']['emaila'].value;
	var nombreb=document.forms['form']['nombreb'].value;
	var emailb=document.forms['form']['emailb'].value;
	
	if(!esEmail(emailb)){
		msg="El formato del email de tu amigo no es correcto";
		marca=1;
	}
	if(esVacio(nombreb)){
		msg="Rellena el nombre de tu amigo";
		marca=1;
	}
	if(!esEmail(emaila)){
		msg="El formato de tu email no es correcto";
		marca=1;
	}
	if(esVacio(nombrea)){
		msg="Rellena tu nombre";
		marca=1;
	}
	
	
	
	if(marca)
		alert(msg);
	else
		document.forms['form'].submit();
}

function borrar(){
	var form="form";
	document.forms[form].reset();	
			
}


function esVacio(val) {
    return ((val == null) || (val.length == 0));
}
function esNumerico(val) {
    num = parseFloat(val);
    if (val!=''+num) return false;
    return true;
}


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

function esLetras(val){
	for(i=0;i<val.length;i++){
		if(!esLetra(val.charAt(i))) return false;
	}
	return true;
}
function esDigito(val) {
    return ((val >= "0") && (val <= "9"));

}


function esDigitos(val) {
    for(i=0;i<val.length;i++){
        if(!esDigito(val.charAt(i))) return false;
    }
    return true;
}    

function minCaracteres(val,num) {
    return !(val.length<num);
}

function esEmail(val) {
	
    arroba = val.lastIndexOf('@');
    if ( arroba < 1 ){
        return false;
	}
    else {
    punto = val.indexOf('.', arroba);
      if ( punto < arroba + 2 || punto > val.length - 2 ) 
         return false;
     
   }
   return true;
}

function esCIFNIF(val) {
    val = val.toUpperCase();
    if (val.charAt(0) == 'X' || esDigito(val.charAt(0)) )
        return esNIF(val);
    else
        return esCIF(val);
}

function esNIF(val) {
    val = val.toUpperCase();
    var LetrasNIF = "TRWAGMYFPDXBNJZSQVHLCKE";
    
    if (!minCaracteres(val,8)) return false;
    Letra = val.charAt(val.length-1);
    if (LetrasNIF.indexOf(Letra) == -1) return false;
    if (val.charAt(0) == 'X')
       Numero = val.substring(1,val.length-1);
    else
       Numero = val.substring(0,val.length-1);
    if (!esDigitos(Numero)) return false;
    Numero = parseInt(Numero,10);
    Indice = Numero-(parseInt(Numero/23,10)*23);
    if (Letra != LetrasNIF.charAt(Indice))
	return false;
	else
    return true;
}

function esCIF(val) {
    val = val.toUpperCase();
    var LetrasCIF = "ABCDEFGHNPSQ";
    var LetrasOrganismos = "JABCDEFGHI";
    var Organismo = false;
    
    if (!minCaracteres(val,9)) return false;
    var Letra = val.charAt(0);
    if (LetrasCIF.indexOf(Letra) == -1) return false;
    if (Letra == 'P' || Letra == 'Q' || Letra == 'S')
	Organismo = true;
    if (!esDigitos(val.substr(1,val.length-2))) return false;
    var CodigoControl = val.charAt(val.length-1);

    Suma1 = parseInt( val.charAt(2), 10) + parseInt( val.charAt(4), 10) + parseInt(val.charAt(6), 10 );
    Suma2 = 0;
    for( var i = 1; i < 8; i += 2) {
         Aux = parseInt(val.charAt(i), 10) * 2;
         if (Aux > 9) 
            Suma2 = Suma2 + parseInt(Aux / 10, 10) + Aux % 10;
         else
            Suma2 = Suma2 + Aux;
    }
    Suma = Suma1 + Suma2;
    Codigo = 10 - Suma % 10;
    if( Codigo > 9) Codigo = 0;
    
    if (!Organismo) {
       if (Codigo != parseInt(CodigoControl, 10)) return false; }
    else {
       if (LetrasOrganismos.charAt(Codigo) != CodigoControl ) return false; }
    
    return true;
}
