var timerID = null;
var timerRunning = false;
var validez = 30;
var caduca = new Date(); 
caduca.setTime(caduca.getTime() + (validez*24*60*60*1000));
//Para poner un include js dentro de otro js
document.write('<script language="javascript" src="/QuinielaOnline/@/javascript/FormCheck.js"></');
document.write('script>');

navegador = navigator.appName
if (navegador == "Netscape")
	alert("Atención, por motivos ajenos a nuestra voluntad esta página no soporta momentaneamente navegadores 'Netscape', por favor utilice 'Internet Explorer'. En breve solventaremos este incomveniente. Disculpen las molestias.");


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function getCookie(name){
  var cname = name + "=";               
  var dc = document.cookie;             
  if (dc.length > 0) {              
    begin = dc.indexOf(cname);       
    if (begin != -1) {           
      begin += cname.length;       
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
        return unescape(dc.substring(begin, end));
    } 
  }
  return null;
}

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) + 
  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
  ((path == null) ? "" : "; path=" + path) +
  ((domain == null) ? "" : "; domain=" + domain) +
  ((secure == null) ? "" : "; secure");
}

function ValidarDatos(formulario)
{
	
	if(!ValidarFormulario(formulario))
	{
		setCookie ('email-quinielaonline', formulario.email.value, caduca);
		formulario.action = "quinielaonline/indexcomprobacion.asp";
		return true
	}
	else
	{ 
		return false
	}
}

function invitado()
{
	formu1.email.value 	  = 'invitado@invitado.com';
	formu1.password.value = 'invitado';
	
	formu1.action = "quinielaonline/indexcomprobacion.asp";
	formu1.submit();
}


function ValidarDatosRegistro(formulario)
{

	if(!ValidarFormulario(formulario))
	{
		formulario.action = "quinielaonline/sinframes/RegistroNuevo.asp";
		return true
	}
	else
	{ 

		return false
	}
}



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Inicio de las Funciones para validar los formularios
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function ValidarFormulario(form)
{
	
	for(i=0;i<form.length;i++)
	{
		error = true;

		nombrecampo = form.elements[i].name;
		datos = form.elements[i].value;
		tam = form.elements[i].value.length;

//alert(nombrecampo,datos,tam);

//if (1) alert(nombrecampo,datos);

//Comprueba que no tiene los siguientes caracteres: ',",&,+ por seguridad.
		if (isCaracterPeligroso(datos))
			alert("Error: Alguno de los caracteres introducidos no es correcto.");

//Campos: Nombre, Apellidos, Poblacion, Provincia, Ciudad, País
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Admite caracteres o espacios
// El tamaño no supera los 50 caracteres
		else if (nombrecampo == "nombre" || nombrecampo == "apellidos" || nombrecampo == "poblacion" || nombrecampo == "provincia" || nombrecampo == "ciudad" || nombrecampo == "pais" )
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if(!isAlphabetic(datos,defaultEmptyOK))
				alert("Error: El campo '" + nombrecampo + "' solo puede contener caracteres o espacios. Los acentos no están permitidos.");
			else if (tam > 50)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}
//Campos: Estado
//Si es el campo del formulario tiene las siguientes caracteristicas:
// Admite caracteres o espacios
// El tamaño no supera los 50 caracteres
		else if (nombrecampo == "estado")
		{
			if(!isAlphabetic(datos,defaultEmptyOK))
				alert("Error: El campo '" + nombrecampo + "' solo puede contener caracteres o espacios. Los acentos no están permitidos.");
			else if (tam > 50)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}
//Campos: Asunto
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Admite caracteres,numeros o espacios
// El tamaño no supera los 50 caracteres
		else if (nombrecampo == "asunto")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if(!isAlphabeticSigno(datos,defaultEmptyOK) )
				alert("Error: El campo '" + nombrecampo + "' solo puede contener caracteres o espacios.");
			else if (tam > 50)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}
//Campos: Password, Passwordnuevo, Passwordnuevo2
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Admite caracteres, numeros o espacios
// El tamaño no supera los 10 caracteres
		else if (nombrecampo == "password" || nombrecampo == "passwordnuevo" || nombrecampo == "passwordnuevo2")
		{
			if (isEmpty(datos))
				alert("Error: Este campo del formulario debe ser rellenado obligatoriamente.");
			else if(!isAlphanumeric(datos,defaultEmptyOK))
				alert("Error: Este campo del formulario solo puede contener carácteres o digitos.");
			else if (tam > 10)			
				alert("Error: Este campo del formulario no puede ser superior a 10 caracteres.");
			else if (tam < 6)
				alert("Error: Las contraseñas deben contener al menos 6 caracteres.");
			else error = false;
		}
//Campos: Direccion, Direccion1, Direccion2
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Admite caracteres,numeros o espacios
// El tamaño no supera los 50 caracteres
		else if (nombrecampo == "direccion" || nombrecampo == "direccion1" || nombrecampo == "direccion2")
		{
			if (isEmpty(datos) && nombrecampo != "direccion2")
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (tam > 50)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}
//Campos: Email
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Comprueba que el email tenga '@', '.'
// El tamaño no supera los 50 caracteres
		else if (nombrecampo == "email")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (!isEmail (datos,defaultEmptyOK))
				alert("La dirección de email no es correcta");
			else if (tam > 50)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}

//Campos: Año
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Comprueba que el año este entre 1900 y 2010 y que es entero
		else if (nombrecampo == "anyo")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (!isIntegerInRange (datos,1900,2010,defaultEmptyOK))
				alert("El año introducido no es correcto, debe contener cuatro digitos. Ejemplo: 1976");
			else error = false;
		}
//Campos: Id1 hasta Id10 de Administracion para ingresos
//Si es el campo del formulario tiene las siguientes caracteristicas:
// Comprueba que sea un usuario este entre 1000 y 10000 y que es entero
// Puede ser vacio
		else if (nombrecampo == "idusuario1" || nombrecampo == "idusuario2" || nombrecampo == "idusuario3" || nombrecampo == "idusuario4" || nombrecampo == "idusuario5" || nombrecampo == "idusuario6" || nombrecampo == "idusuario7" || nombrecampo == "idusuario8" || nombrecampo == "idusuario9" || nombrecampo == "idusuario10")
		{
			if (!isIntegerInRange (datos,1000,10000,defaultEmptyOK) && !isEmpty(datos))
				alert("ATENCION Error: El idusuario: '" + nombrecampo + "' no existe o no esta dentro del rango (1000-10000).");
			else error = false;
		}				
//Campos: Cantidad1 hasta Cantidad10 de Administracion para ingresos
//Si es el campo del formulario tiene las siguientes caracteristicas:
// Comprueba que sea un usuario este entre 1000 y 10000 y que es entero
// Puede ser vacio
		else if (nombrecampo == "cantidad1" || nombrecampo == "cantidad2" || nombrecampo == "cantidad3" || nombrecampo == "cantidad4" || nombrecampo == "cantidad5" || nombrecampo == "cantidad6" || nombrecampo == "cantidad7" || nombrecampo == "cantidad8" || nombrecampo == "cantidad9" || nombrecampo == "cantidad10")
		{
			if (!isSignedFloat (datos,defaultEmptyOK) && !isEmpty(datos))
				alert("ATENCION Error: El dato introducido no es float.");
			else error = false;
		}				
//Campos: Movil, Telefono
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio, excepto Movil
// Comprueba que los datos sean numeros.
// El tamaño sea de 9 caracteres
		else if (nombrecampo == "telefono" || nombrecampo == "movil")
		{
			if (isEmpty(datos) && (nombrecampo != "movil") )
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (!isInteger(datos,defaultEmptyOK) && tam == 9)
				alert("Error: El numero de " + nombrecampo + " introducido no es correcto, debe contener nueve digitos.");
			else if (tam != 9 && (nombrecampo != "movil"))			
				alert("Error: El campo '" + nombrecampo + "' debe tener 9 digitos.");
			else error = false;
		}
//Campos: Nif
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Comprueba que el Nif sea correcto
// El tamaño sea de 9 caracteres
		else if (nombrecampo == "nif")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (!isNif(datos))
				alert("El NIF introducido no es correcto, debe contener ocho digitos más la letra y debe ser un Nif valido. Ejemplo: 48957125K");
			else if (tam != 9)			
				alert("Error: El campo '" + nombrecampo + "' debe tener ocho digitos más la letra del NIF. Ejemplo: 48957125K");
			else error = false;
		}
//Campos: NifExt -> Identificador para extrangeros
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Solo deja caracteres o digitos
// El tamaño sea menor de 15 
		else if (nombrecampo == "IdExtrangero")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if(!isAlphanumeric(datos,defaultEmptyOK))
				alert("Error: El campo '" + nombrecampo + "' solo puede contener caracteres o dígitos. Los acentos no están permitidos.");
			else if (tam > 15)			
				alert("Error: El campo '" + nombrecampo + "' no puede ser superior a 50 caracteres.");
			else error = false;
		}
//Campos: Cp->Codigo Postal
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
// Comprueba que los datos sean numeros.
// El tamaño sea de 5 caracteres
		else if (nombrecampo == "cp" || nombrecampo == "cpextrangero")
		{
			if (isEmpty(datos))
				alert("Error: El campo Código Postal debe ser rellenado obligatoriamente.");
			else if (!isInteger(datos))
				alert("El Código Postal introducido no es correcto, sólo puede contener dígitos.");
			else if (tam != 5 && nombrecampo == "cp")			
				alert("Error: El campo Código Postal debe tener cinco dígitos.");
			else if (tam > 15 && nombrempo == "cpextrangero")			
				alert("Error: El campo Código Postal no puede ser mayor de quince dígitos.");
			else error = false;
		}		
//Campos: Descripcion, adicional
//Si es el campo del formulario tiene las siguientes caracteristicas:
// No puede ser vacio
		else if (nombrecampo == "descripcion" || nombrecampo == "adicional")
		{
			if (isEmpty(datos))
				alert("Error: El campo debe ser rellenado obligatoriamente.");
			else error = false;
		}
//Campos: Otros (cantidades que se pueden apostar)
//Si es el campo del formulario tiene las siguientes caracteristicas:
//No puede ser vacio
//Debe de ser un numero mayor que 0
		else if (nombrecampo == "otros")
		{
			if (isEmpty(datos))
				alert("Error: Debe introducir una cantidad.");
			else if (!isPositiveInteger(datos))
				alert("Error: Debe introducir una cantidad numérica entera.");
			else error = false;
		}
//Campos: Cuenta, CuentaExtrangero
//Si es el campo del formulario tiene las siguientes caracteristicas:
//No puede ser vacio
//Debe de ser un numero de 20 digitos
		else if (nombrecampo == "cuenta" || nombrecampo == "cuentaextrangero")
		{
			if (isEmpty(datos))
				alert("Error: El campo '" + nombrecampo + "' debe ser rellenado obligatoriamente.");
			else if (!isInteger(datos))
				alert("Error: El numero de cuenta sólo puede contener dígitos.");
			else if (tam != 20 && nombrecampo == "cuenta")			
				alert("Error: El número de cuenta debe tener 20 digitos. Ejemplo: 00750007530602384790.");
			else error = false;
		}
		else error = false;
//		else	// No es ninguno de los anteriores BORRAR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//			alert("Comentarle el tema al CABE.El campo '" + nombrecampo + "' f.lla.");

		if (error)
		{
			form.elements[i].focus();
			form.elements[i].select();

			return(error);
		}
	}
	
	return(error);
}