// JavaScript Document

// ------------------------------------------------------------------------------ //
// Validacion de datos rellenados en el formulario para Franquicias
// ------------------------------------------------------------------------------ //

function validar(formulario) {

		var mensajeError = "Se han producido los siguientes errores:\n";
		var correcto = true;
		
		// ----------------------------------------------------------------------------------------
		// Comprobamos el campo Nombre
		
		if (formulario.nombre.value.length == 0) {
			mensajeError +=  "> El campo \"Nombre\" no puede estar vacio.\n";
			correcto = false;
		} else if (formulario.nombre.value.length < 3) {
			mensajeError += "> Escriba por lo menos 3 caracteres en el campo \"Nombre\".\n";
			correcto = false;
		} 
		if (!sololetras(formulario.nombre.value)) {
			mensajeError += "> Escriba sólo letras en el campo \"Nombre\".\n";
			correcto = false;
  		}
		
	
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Apellidos
		
		if (formulario.apellidos.value.length == 0) {
			mensajeError +=  "> El campo \"Apellidos\" no puede estar vacio.\n";
			correcto = false;
		}
		if (!sololetras(formulario.apellidos.value)) {
			mensajeError += "> Escriba sólo letras en el campo \"Apellidos\".\n";
			correcto = false;
  		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Email
			
		if (formulario.email.value.length == 0) {
			mensajeError += "> El campo \"Email\" no puede estar vacio.\n";
			correcto = false;
		} else if ((formulario.email.value.indexOf ('@', 0) == -1)||(formulario.email.value.length < 5)) {
    		mensajeError += "> Escriba una dirección de correo valida en el campo \"Email\".\n";
			correcto = false;
  		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Telefono
		
		if (formulario.telefono.value.length == 0) {
			mensajeError += "> El campo \"Telefono\" no puede estar vacio.\n";
			correcto = false;
		} else if (!solonumeros(formulario.telefono.value)) {
			mensajeError += "> Escriba sólo dígitos en el campo \"Telefono\".\n";
			correcto = false;
		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Movil
		
		if (!solonumeros(formulario.movil.value)) {
			mensajeError += "> Escriba sólo dígitos en el campo \"Movil\".\n";
			correcto = false;
		}
		if (formulario.movil.value.length != 9) {
			mensajeError += "> Escriba los 9 dígitos de su telefono movil en el campo \"Movil\".\n";
			correcto = false;
		}


		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Direccion
		if (formulario.direccion.value.length == 0) {
			mensajeError += "> El campo \"Direccion\" no puede estar vacio.\n";
			correcto = false;
		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Localidad
		if (formulario.localidad.value.length == 0) {
			mensajeError += "> El campo \"Localidad\" no puede estar vacio.\n";
			correcto = false;
		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Codigo Postal
			
		if (!solonumeros(formulario.cp.value)) {
			mensajeError += "> Escriba solo digitos en el campo \"Codigo Postal\".\n";
			correcto = false;
		}
		
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo Metros Cuadrados
			
		if (!solonumeros(formulario.metros_cuadrados.value)) {
			mensajeError += "> Escriba solo digitos en el campo \"Metros Cuadrados\".\n";
			correcto = false;
		}
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo de Aceptacion de condiciones
		
		if(!formulario.acepto.checked) {
			mensajeError += "> Debe aceptar las condiciones.\n";
			correcto = false;
		}
		
		//-----------------------------------------------------------------------------------------------
		// Comprobamos el campo de Conocido
		
		if(formulario.conocido.value.length == 0) {
			mensajeError += "> Debe seleccionar donde nos ha conocido.\n";
			correcto = false;
		}


		// Copiamos el texto de la provincia al campo oculto
		formulario.provincia_txt.value = formulario.provincia.options[formulario.provincia.selectedIndex].text;
		formulario.ubicacion_negocio_txt.value = formulario.ubicacion_negocio.options[formulario.ubicacion_negocio.selectedIndex].text;
		
		//-----------------------------------------------------------------------------------------------
		// Devolvemos True para enviar los datos a la base de datos

		if (!correcto) {
			alert(mensajeError);
			return(false);
		} else {

			return(true);
		}		
	
}





function sololetras(texto) {

	var cadenaOk = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
  	var correcto = true;

  	for (i = 0; i < texto.length; i++) {
    	letra = texto.charAt(i);
    	for (j = 0; j < cadenaOk.length; j++)
    		if (letra == cadenaOk.charAt(j))
       			break;
    		if (j == cadenaOk.length) {
    			correcto = false;
    			break;
    		}
  	}
	
	if (!correcto)
    	return (false);
  	else 
		return (true);

}

function solonumeros(numero) {

	var cadenaOk = "0123456789";
	var correcto = true;

  	for (i = 0; i < numero.length; i++) {
   		digito = numero.charAt(i);
    	for (j = 0; j < cadenaOk.length; j++)
      		if (digito == cadenaOk.charAt(j))
        		break;
    		if (j == cadenaOk.length) {
      			correcto = false;
      			break;
    		}
		}
		if (!correcto)
   			return (false);
		else 
			return (true);
}


function validaFechaNac (obj) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var fecha = obj.value;

	if (fecha != "") {

		var matchArray = fecha.match(datePat); // is the format ok?

		if (matchArray == null) {
			alert("El formato de fecha no es correcto.");
				obj.focus();
				obj.select();
				return false;
		} 

		day = matchArray[1]; // parse date into variables
		month = matchArray[3];
		year = matchArray[4];

		if (day < 1 || day > 31) {
			alert("El dia debe estar comprendido entre 1 y 31.");
			obj.focus();
			obj.select();
			return false;
		}

		if (month < 1 || month > 12) { // check month range
			alert("El mes debe estar comprendido entre 1 y 12.");
			obj.focus();
			obj.select();
			return false;
		}
		

		if ((month==4 || month==6 || month==9 || month==11) && day==31) {
			alert("El mes indicado en la fecha no tiene 31 dias.");
			obj.focus();
			obj.select();
			return false;
		}
		if (month == 2) { // check for february 29th
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap)) {
				alert("El mes de Febrero no puede tener mas de 29 dias.");
				obj.focus();
				obj.select();
				return false;
			}
		}
	}
}