// JavaScript Document
  /* Fichero: funciones.js */

  /* Funciones para la validacion previa del
     formulario de registro y otras*/
  
/* Función genérica para validar el formulario que llama
   a varias funciones: así se desglosa el trabajo y se
   depura más fácilmente en caso de errores */

  function Validar_Obra(Form)  {
    return (
		ValidarNombreObra(Form.Nombre.value)
	 && ValidarAnyo(Form.Anyo.value)
	 && ValidarMedidas(Form.Metros.value)
	 && ValidarMedidas(Form.Metros2.value)
	 && ValidarPrecio(Form.Precio.value)
	 && ValidarTipo(Form.obra.value)
      );
   }

function Validar_Obra_Galeria(Form)  {
    return (
		ValidarNombreObra(Form.Nombre.value)
	 && ValidarAnyo(Form.Anyo.value)
	 && ValidarMedidas(Form.Metros.value)
	 && ValidarMedidas(Form.Metros2.value)
	 && ValidarPrecio(Form.Precio.value)
	 && ValidarAutor(Form.autor.value)
      );
   }



function Validar_Socio(Form)  {
    return (
		 ValidarNombre(Form.Nombre.value, Form.Apellidos.value)
      && ValidarTelefono(Form.Telefono.value)
	  && ValidarEmail(Form.Email.value)
	  && ValidarDetalle(Form.Detalle.value)
	  && ValidarClaveCorrecta(Form.Usuario.value)
      && ValidarClave(Form.Usuario.value,
           Form.Clave1.value, Form.Clave2.value)
      
   	  );
   }

/*Funcion para validar el contacta*/
function Validar_Contacta(Form)  {
    return (
		 ValidarNombre(Form.Nombre.value, Form.Apellidos.value)
      && ValidarEmail(Form.Email.value)
	  && ValidarEmail(Form.Emailamigo.value)
         	  );
   }

/*Funcion para validar el contacta*/
function Validar_Contacta2(Form)  {
    return (
		 ValidarNombre(Form.Nombre.value, Form.Apellidos.value)
      && ValidarEmail(Form.Email.value)
	          	  );
   }
 
/*Funcion para validar Puja*/
function Validar_Puja(Form)  {
    return (
		 ValidarPuja(Form.puja.value, Form.preciopujaini.value)
       	  );
   }
/* Funcion para validar la puja */
function ValidarPuja(puja,pujaini){
	var cadena="La puja tiene que ser superior a la anterior";
	puja = parseInt(puja);
	pujaini = parseInt(pujaini);
	if (puja<=pujaini){
	alert(cadena);
	return false;
	}
	else return true;
}
/*Funcion para validar Socio Puja*/
function Validar_Socio_Puja(Form)  {
    return (
		 ValidarNombre(Form.nombre.value,Form.apellidos.value)
		 && ValidarEmail(Form.correo.value)
		 && ValidarClaveCorrecta(Form.usuario.value)
		 && ValidarClave(Form.usuario.value,
           Form.pwd.value, Form.pwd2.value)
       	  );
   }
/*Funcion para validar Subastar*/
function Validar_Subastar(Form)  {
    return (
		 ValidarFecha(Form.FNDia.value,Form.FNMes.value,Form.FNAnyo.value)
		 );
   }


/* Función para validar los campos con el nombre y apellidos */
function ValidarNombre(Nombre, Apellidos)  {
    var cadena = "El nombre o el apellido no contiene datos.\n"
      + "No se puede llevar a cabo el registro, revise "
      + "sus datos";

    if ( Nombre == "" || Apellidos == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }

/* Función para validar el campo Telefono */

  function ValidarTelefono(telefono)  {
    var cadena = "El telefono no contiene datos.\n"
      + "No se puede llevar a cabo el registro, revise "
      + "sus datos";

    if ( telefono == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }

/* Función para validar el campo Tipo Obra */

  function ValidarTipo(tipo)  {
    var cadena = "El tipo no contiene datos.\n"
      + "No se puede llevar a cabo el registro, revise "
      + "sus datos";

    if ( tipo == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }

/* Función para validar el campo Subtipo */

  function ValidarSubtipo(subtipo)  {
    var cadena = "El subtipo no contiene datos.\n"
      + "No se puede llevar a cabo el registro, revise "
      + "sus datos";

    if ( subtipo == "")  {
      alert(cadena);
      return false;
      }
    else return true;
    }

/* Función para validar la dirección de e-mail */

  function ValidarEmail(email){
    var cadena = "Direccion de correo no valida: " + email
      + "\nPor favor, introduce bien tu direccion";

    if( email.indexOf('@',0) <= 0  || email.indexOf(';',0) != -1
     || email.indexOf(' ',0) != -1 || email.indexOf('/',0) != -1
     || email.indexOf(';',0) != -1 || email.indexOf('<',0) != -1
     || email.indexOf('>',0) != -1 || email.indexOf('*',0) != -1
     || email.indexOf('|',0) != -1 || email.indexOf('`',0) != -1
     || email.indexOf('&',0) != -1 || email.indexOf('$',0) != -1
     || email.indexOf('!',0) != -1 || email.indexOf('"',0) != -1
     || email.indexOf(':',0) != -1 )
       { alert(cadena); return false; }
    else return true;
    }
/* Función para validar la clave */

  function ValidarClaveCorrecta(clave){
    var cadena = "Usuario incorrecto ";

    if( clave.indexOf('@',0) != -1  || clave.indexOf(';',0) != -1
     || clave.indexOf(' ',0) != -1 || clave.indexOf('/',0) != -1
     || clave.indexOf(';',0) != -1 || clave.indexOf('<',0) != -1
     || clave.indexOf('>',0) != -1 || clave.indexOf('*',0) != -1
     || clave.indexOf('|',0) != -1 || clave.indexOf('`',0) != -1
     || clave.indexOf('&',0) != -1 || clave.indexOf('$',0) != -1
     || clave.indexOf('!',0) != -1 || clave.indexOf('"',0) != -1
     || clave.indexOf(':',0) != -1 )
       { alert(cadena); return false; }
    else return true;
    }


/* Función para validar el nombre de usuario y la clave */

  function ValidarClave(Usuario, Clave1, Clave2)  {
    var Error0 = "El nombre de usuario no está introducido o "
      + "contiene algún carácter extraño, revíselo";
    var Error1 = "Falta alguno de los campos de la clave "
      + "por rellenar.";
    var Error2 = "Las claves no coinciden.";
	var Error3 = "La clave tiene que tener mas de 5 caracteres";

  /* Aquí podeis poner tantos caracteres no permitidos por
     vosotros como querais (dentro del if) */

    if(
        Usuario == "" || Usuario.indexOf('ñ') >= 0
        || Usuario.indexOf('?') >= 0 || Usuario.indexOf('á') >= 0
        || Usuario.indexOf('é') >= 0 || Usuario.indexOf('í') >= 0
        || Usuario.indexOf('ó') >= 0 || Usuario.indexOf('ú') >= 0
       )  {
      alert(Error0);
      return false;
      }
	
/*	if(Clave1.substring(4,5)=! "" ){
		alert(Error3);
		return false;
	}*/
	  
	if( Clave1 == "" || Clave2 == "" ) {
      alert(Error1);
      return false;
      }
    else
      if ( Clave1 != Clave2 ) {
        alert(Error2);
        return false;
        }
      else return true;

    }

/* Función para validar la edad, si es que se
   introduce alguna */

  function ValidarEdad(Edad) {
    var Error = "La edad introducida es inválida.\n"
      + "Revísela, por favor.";

    if (Edad == "") return true;
    else
      if( isNaN(parseInt(Edad)) || parseInt(Edad) <= 0 ) {
        alert(Error);
        return false;
        }
      else return true;
    }

/* Función para validar el campo de biografia comprobando que no se pueda insertar ninguna biografia */

  function ValidarDetalle(detalle) {
    var Error = "La biografía no puede contener ninguna dirección web.\n";

    if (detalle == "") return true;
   	  else
	  
	   if(
        detalle == "" || detalle.indexOf('http://') >= 0
        || detalle.indexOf('www.') >= 0 || detalle.indexOf('www') >= 0 
       )  {
      alert(Error);
		return false;
		}  
    }

/* Función para validar la dirección de la página web, si es
   que se introduce alguna */

  function ValidarWeb(Web) {
    var Error = "La dirección web introducida es inválida.\n"
      + "Revísela, por favor.";

    if (Web == "") return true;
   	  else
	  if (Web.substring(0,7) == 'http://' 
	  ||
	   Web.substring(0,4)=='www.')
	  	return true;
		else
		alert(Error);
		return false;
		
	  
    }


/* Función para validar la fecha, si es que se
   introduce alguna */
function ValidarFechaPrueba(Dia,Mes,Anyo){
var Error = "La fecha introducida es inválida.\n"
      + "Revísela, por favor.";
if( Dia == "" || Mes == "" || Anyo == "" ) {
	alert(Error);
	return false;
	}
alert(Dia+"/"+Mes+"/"+Anyo);
return false;
}

  function ValidarFecha(Dia,Mes,Anyo)  {
    var Error = "La fecha introducida es inválida.\n"
      + "Revísela, por favor.";
    var Dia_Mes_Mal = false;
 //   var MesElegido = Form.FNMes.selectedIndex;
	//var MesElegido = Mes;

//    Dia = Form.FNDia.value;
//    Mes = Form.FNMes.options[MesElegido].value;
 //   Mes = Form.FNMes.value;
   // Anyo = Form.FNAnyo.value;

    if( Dia == "" || Mes == "" || Anyo == "" ) {
	alert(Error);
	return false;
	}
    else {
      Dia = parseInt(Dia);
      Mes = parseInt(Mes);
      Anyo = parseInt(Anyo);
//	alert(Dia+"/"+Mes+"/"+Anyo);
	//return false;
      if( Dia < 1 || Dia > 31 || Mes < 1 || Mes > 12)
	  {
	  alert(Error);
      return false;
	  } else
	  	    {
        	/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,
           	Octubre y Diciembre tienen 31 días */
			if( 
			   (   Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7
				|| Mes == 8 || Mes == 10 || Mes == 12  )
			  && Dia > 31
			  )   Dia_Mes_Mal = true;
	
			/* Los meses de Mayo, Junio, Septiembre
			   y Noviembre tienen 30 días */
	        if(
			   (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)
			  && Dia > 30
			  )   Dia_Mes_Mal = true;
			/* Febrero tiene 28 ó 29 días, dependiendo de si es bisiesto
			   o no. Un año es bisiesto si es múltiplo de 4 pero no de
			   100 salvo que sea múltiplo de 400. Por ejemplo, 12 y 400
			   son bisiestos, pero 100 y 700 no. */
			if( Mes == 2 && 
				( Dia > 29 ||
				  ( Dia == 29 &&
					( 
					  (Anyo % 400 != 0)
					  && (
						 (Anyo % 4 != 0) || (Anyo % 100 == 0)
						 )
					)
				  )
				)
			   )  Dia_Mes_Mal = true;

			if(Dia_Mes_Mal)  {
			  alert(Error);
			  return false;
			  }
	        else {
			//alert("Hola,fecha correcta");
			return true;
    	    } 
		}
      
      }
    }


/* Función para validar el campo Nombre Obra */


  function ValidarNombreObra(nombre)  {
    var cadena = "El campo Nombre no contiene datos.\n"
      + "No se puede llevar a cabo el registro, revise "
      + "sus datos";

    if ( nombre == "" )  {
      alert(cadena);
      return false;
      }
    else return true;
    }

/* Función para validar el campo año de construccion */

  function ValidarAnyo(anyo){
    var cadena = "Tiene que rellenar el campo Año Construccion";
	var cadena1= "El año no es correcto";
	Anyo = parseInt(anyo);
	//EsteAnyo= getFullYear(); 

	if( anyo == ""  )
       { alert(cadena); return false; }
 	if( Anyo <= 1900  )
	  { alert(cadena1);
	  	return false;}
		else return true;
	}

    
	
/* Función para validar el campo metros */

  function ValidarMedidas(metros){
    var cadena = "Tiene que rellenar el campo Medidas";

    if( metros == ""  )
       { alert(cadena); return false; }
    else return true;
    }

/* Función para validar el campo precio */

  function ValidarPrecio(precio){
    var cadena = "Tiene que rellenar el campo Precio";

    if( precio == ""  )
       { alert(cadena); return false; }
    else return true;
    }

/* Función para validar el campo autor */

  function ValidarAutor(autor){
    var cadena = "Tiene que rellenar el campo Autor";

    if( autor == ""  )
       { alert(cadena); return false; }
    else return true;
    }

	
//--------------------------------------------------//
	
	function ir(lugar){

	    parent.location.href=lugar;
        	 }
/*//--------------------------------------------------			 
	function zonas(){

		if(document.form.Poblacion.value.slice(0,5)==46000){
		zonaval=window.open('zonaval.asp',"zonaval","toolbar=no,location=yes,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes");
			ancho=350;
			alto=300;
			zonaval.resizeTo(ancho,alto);
			zonaval.moveTo((screen.width/2)-(ancho/2),(screen.height/2)-(alto/2));
			}
			else{
				document.form.CP.value=document.form.Poblacion.value.slice(0,5);
					}
		}
		
*/
//----------------------------------------------

function NuevaVentana(loc_fot){
		loc_archivo='fotinfo.asp?fot=' + loc_fot;
		popup=window.open(loc_archivo,"popup","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=600");
		popup.moveTo(50,50);
		popup.focus();	
	}


//--------------------------------------------------	

	function anyade(ref){
		archivo='anyade.asp?ref=' + ref;
		anyade=window.open(archivo,"anyade","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
		anyade.moveTo(50,50);
		anyade.focus();	
	}

//----------------------------------------------

function subtipo(){
	return(document.form.obra.value)
		/*subtipo=window.open('subtipo.asp',"subtipo","toolbar=no,location=yes,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes");
			ancho=350;
			alto=300;
			zonaval.resizeTo(ancho,alto);
			zonaval.moveTo((screen.width/2)-(ancho/2),(screen.height/2)-(alto/2));
			}
			else{
				document.form.subtipo.value=document.form.obra.value.slice(0,7);
				}*/
		
				
}


//-----------------------------------------------

<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return (key <= 13 || (key >= 48 && key <= 57));
}
//-->


