//VALIDA EL C&oacute;IGO POSTAL CON EL C&oacute;DIGO DE LA PROVINCIA
function isValidCodPostal(cp, codigo)
{
	var cod = cp.substring(0, 2);
	if (cod == codigo)
	{return true;}
	else
	{return false;}
}
//COMPRUEBA QUE EL DNI INTRODUCIDO SEA V&aacute;LIDO
function dniValido(dni)
{
	if ((dni == '000000000T')||(dni == '111111111T')||(dni == '222222222J'))
	{
		return false;
	}
	let2 = dni.substr(0,1);

	if ((let2 == 'X') || (let2 == 'x'))
	{
		numero = dni.substr(1, dni.length-2);
	}
	else if((let2 == 'Y') || (let2 == 'y'))
	{
		numero = "1"+dni.substr(1, dni.length-2);

	}
	else if((let2 == 'Z') || (let2 == 'z'))
	{
		numero = "2"+dni.substr(1, dni.length-2);
	}
	else
	{
		numero = dni.substr(0, dni.length-1);
	}
	let = dni.substr(dni.length-1, 1);
	numero = numero % 23;
	letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
	letra = letra.substring(numero, numero+1);
	if (letra != let)
	{
		letra = 'trwagmyfpdxbnjzsqvhlcket';
		letra = letra.substring(numero, numero+1);
		if (letra != let) return false;
	}
	return true;
}

//COMPRUEBA QUE SEA UN EMAIL V&aacute;LIDO
function emailValido(address)
{	
	if (address.indexOf('@') < 3) 
		return false;
	var name = address.substring(0, address.indexOf('@'));
	var domain = address.substring(address.indexOf('@') + 1);
	var ext = address.substring(address.lastIndexOf('.') + 1);
	if (name.indexOf('(') != -1 || name.indexOf(')') != -1 || name.indexOf('<') != -1 || name.indexOf('>') != -1 || name.indexOf(',') != -1 || name.indexOf(';') != -1 || name.indexOf(':') != -1 || name.indexOf('\\') != -1 || name.indexOf('"') != -1 || name.indexOf('[') != -1 || name.indexOf(']') != -1 || name.indexOf(' ') != -1)
		return false;
	if (domain == 'spam.la' || domain == 'mailinator.com' || domain == "" || domain.indexOf('(') != -1 || domain.indexOf(')') != -1 || domain.indexOf('<') != -1 || domain.indexOf('>') != -1 || domain.indexOf(',') != -1 || domain.indexOf('.') == -1 || domain.indexOf(';') != -1 || domain.indexOf(':') != -1 || domain.indexOf('\\') != -1 || domain.indexOf('"') != -1 || domain.indexOf('[') != -1 || domain.indexOf(']') != -1 || domain.indexOf(' ') != -1) 
		return false;
	if (ext == "" || ext.length == 1)
		return false;
	return true;
}

//COMPRUEBA SI LA FECHA DE NACIMIENTO PASADA ES MENOR QUE EL PARAMETRO A&ntilde;OS
function menorDe(anios, dia, mes, anyo)
{		 
	var now         = new Date();
	var now_mes		= now.getMonth()+1;
	var now_dia     = now.getDate();


	if (BrowserDetect.browser=="Explorer") var now_anyo = now.getYear();
	else var now_anyo = now.getFullYear();

	if(now_anyo - anyo < anios)
	{		
		return true;
	} 
	else if (now_anyo - anyo == anios) 
	{
		if(now_mes < mes) 
		{					
			return true;
		}
		else if(now_mes == mes) 
		{		
			if(now_dia < dia) 
			{
				return true;
			}
		}
	}
	return false;
}     

//CHEQUEA EL FORMULARIO DEL PRIMER PASO DEL REGISTRO
function checkFormData(e)
{
	if (!e) e = window.event;
	if (menorDe(14, document.getElementById('dia').value, document.getElementById('mes').value, document.getElementById('anio').value))
	{
		mensaje += "<b>Lo sentimos, pero para registrarte tienes que tener 14 a&ntilde;os o m&aacute;s</b><br />";
	}
	else
	{
		var sexoF = document.getElementById('registro').gender[0].checked;
		var sexoM = document.getElementById('registro').gender[1].checked;
		var validoDNI = false;
		var validoLetra = false;
		var mensaje = "<strong>¡Huy! Algo no est&aacute; bien, mira si has completado correctamente tu:</strong><br /><br />";

		if(document.getElementById('nombre').value == '')
		{
			mensaje += "· Nombre<br />";		
		}

		if(document.getElementById('apellido1').value == '')
		{
			mensaje += "· Primer apellido<br />";		
		}

		if(document.getElementById('dia').selectedIndex < 1) 
		{
			mensaje += "· D&iacute;a de tu fecha de nacimiento<br />";		
		}

		if(document.getElementById('mes').selectedIndex < 1)
		{
			mensaje += "· Mes de tu fecha de nacimiento<br />";		
		}

		if(document.getElementById('anio').selectedIndex < 1) 
		{
			mensaje += "· A&ntilde;o de tu fecha de nacimiento<br />";		
		}
	
		if (menorDe(18, document.getElementById('dia').value, document.getElementById('mes').value, document.getElementById('anio').value))
		{
			if (!document.getElementById('permiso').checked)
			{
				mensaje += "Entre 18 y 14 a&ntilde;os necesitas el permiso paterno para registrarte<br />";
			}	
		}
		
		if ((!sexoM)&&(!sexoF))
		{	
			mensaje += "· Sexo<br />";	
		}

		if(document.getElementById('dni').value == '')
		{
			mensaje += "· DNI<br />";
		}
		else
		{
			validoDNI = true;
		}

		if(document.getElementById('letra').value == '')
		{
			mensaje += "· Letra del DNI<br />";
		}
		else
		{
			validoLetra = true;
		}

		var dniCompleto = document.getElementById('dni').value+document.getElementById('letra').value;

		if (validoDNI && validoLetra)
		{
			if(dniValido( dniCompleto) == false)
			{
				mensaje += "· DNI<br />";
			}
		}

		if(document.getElementById('via').selectedIndex < 1)
		{
			mensaje += "· Tipo de v&iacute;a<br />";
		}

		if(document.getElementById('nombrevia').value == '')
		{
			mensaje += "· Nombre de la v&iacute;a<br />";
		}

		if(document.getElementById('numero').value == '')
		{
			mensaje += "· N&uacute;mero de tu vivienda<br />";
		}
		if (document.getElementById('codpostal').value.length < 5)
		{
			document.getElementById('codpostal').value = '0'+document.getElementById('codpostal').value;
		}
		if((document.getElementById('codpostal').value == '') || (document.getElementById('codpostal').value.substring(0, 2) > 52)|| (document.getElementById('codpostal').value < 1000))
		{
			mensaje += "· C&oacute;digo postal<br />";
		}
		
		if(document.getElementById('poblacion').value == '')
		{
			mensaje += "· Poblaci&oacute;n<br />";
		}

		if(document.getElementById('provincia').value == '')
		{
			mensaje += "· Provincia<br />";
		}
		
		if(!isValidCodPostal(document.getElementById('codpostal').value, document.getElementById('provincia').value))
		{
			mensaje += "· C&oacute;digo postal no se corresponde con tu provincia<br />";
		}

		if((document.getElementById('telefono').value == '')&&(document.getElementById('movil').value == ''))
		{
			mensaje += "· Debes especificar al menos uno de los tel&eacute;fonos (fijo o m&oacute;vil)<br />";
		}
		
		if(document.getElementById('telefono').value != '')
		if((isNaN(document.getElementById('telefono').value)) || (document.getElementById('telefono').value.length < 9) || (document.getElementById('telefono').value.substring(0, 1) != 9))
		{
			mensaje += "· Tel&eacute;fono. El formato no es correcto <br />";
		}
		
		if(document.getElementById('movil').value != '')
		if((isNaN(document.getElementById('movil').value)) || (document.getElementById('movil').value.length < 9) || (document.getElementById('movil').value.substring(0, 1) != 6)) 
		{
			mensaje += "· M&oacute;vil. El formato no es correcto<br /><br />";
		}

		if(!document.getElementById('aviso').checked ) 
		{
			mensaje += "<br /><strong> Para registrarse es necesario aceptar el aviso legal</strong><br />";
		}
	}
	if (mensaje != "<strong>¡Huy! Algo no est&aacute; bien, mira si has completado correctamente tu:</strong><br /><br />") 
	{
		document.getElementById('validacionMensaje').innerHTML = mensaje;
		document.getElementById('validacion').style.display = 'block';
		return false;
	}
	else
	{
		document.getElementById('registro').submit();
	}
	if (e.preventDefault) e.preventDefault();  return false;
}




function checkFormData2(e)
{
	if (!e) e = window.event;

	var contestada = false;
	var mensaje = "<strong>¡Hey! Parece que alg&uacute;n dato est&aacute; incompleto o incorrecto, comprueba... </strong><br /><br />";

	if((document.getElementById('email').value == '') || (!emailValido(document.getElementById('email').value)))
	{
		mensaje += "· El email.<br /><br />";
	}

	if(document.getElementById('pass1').value == "")
	{
		mensaje += "· La contrase&ntilde;a.<br /><br />";
	}

	if(document.getElementById('pass1').value.length < 6)
	{
		mensaje += "que la contrase&ntilde;a debe tener como m&iacute;nimo 6 caracteres.<br /> <br />";
	}	

	if(document.getElementById('pass1').value != document.getElementById('pass2').value)
	{
		mensaje += "que las contrase&ntilde;as coincidan.<br /><br />";
	}

	if(document.getElementById('nick').value == "")
	{
		mensaje += "· El nick<br />";
	}

	//Pregunta 4 - "¿C&oacute;mo nos conociste?"
	if(document.getElementById('cuestionario_p4').value == "")
	{
		mensaje += "que has contestado a la pregunta de c&oacute;mo nos conociste.<br /><br />";
	}

	//Pregunta 5 - "¿C&oacute;mo nos conociste?"
	if(document.getElementById('cuestionario_p5').value == "")
	{
		mensaje += "que has contestado a la pregunta de cu&aacute;ntas personas viven en tu hogar.<br /><br />";
	}
	else
	{
		if(document.getElementById('cuestionario_p5').value >= 1)
		{
			contestada = true;
		}
	}

	if (contestada)
	{
		//Pregunta 12
		var eH = 0;

		if ( isNaN(document.getElementById('cuestionario_p6_1').value) || isNaN(document.getElementById('cuestionario_p6_2').value) || isNaN(document.getElementById('cuestionario_p6_3').value) || isNaN(document.getElementById('cuestionario_p6_4').value) || isNaN(document.getElementById('cuestionario_p6_5').value) || isNaN(document.getElementById('cuestionario_p7_1').value) || isNaN(document.getElementById('cuestionario_p7_2').value) || isNaN(document.getElementById('cuestionario_p7_3').value) || isNaN(document.getElementById('cuestionario_p7_4').value) || isNaN(document.getElementById('cuestionario_p7_5').value) )
		{
			mensaje += "que las cajas de edad no contienen letras, solo números.<br /><br />";
		}
		if (document.getElementById('cuestionario_p6_1').value != "") eH++;
		if (document.getElementById('cuestionario_p6_2').value != "") eH++;
		if (document.getElementById('cuestionario_p6_3').value != "") eH++;
		if (document.getElementById('cuestionario_p6_4').value != "") eH++;
		if (document.getElementById('cuestionario_p6_5').value != "") eH++;

		var eM = 0;
		if (document.getElementById('cuestionario_p7_1').value != "") eM++;
		if (document.getElementById('cuestionario_p7_2').value != "") eM++;
		if (document.getElementById('cuestionario_p7_3').value != "") eM++;
		if (document.getElementById('cuestionario_p7_4').value != "") eM++;
		if (document.getElementById('cuestionario_p7_5').value != "") eM++;

		var eTot = eH + eM;

		if (document.getElementById('cuestionario_p5').value != 4)
		{
			if (document.getElementById('cuestionario_p5').value != eTot)
			{
				mensaje += "que las edades introducidas se correspondan con el n&uacute;mero de personas que viven en tu hogar<br />";
			}
		}
		else
		{
			if (eTot < 4)
			{
				mensaje += "que las edades introducidas se correspondan con el n&uacute;mero de personas que viven en tu hogar<br />";
			}
		}
	}

	if (document.getElementById('avatar').value != "")
	{
		if(document.getElementById('cargaAvatar').value == "")
		{
			mensaje += "la carga del avatar no se ha hecho correctamente.";
		}
	}

	if (mensaje != "<strong>¡Hey! Parece que alg&uacute;n dato est&aacute; incompleto o incorrecto, comprueba... </strong><br /><br />") 
	{
		document.getElementById('validacionMensaje').innerHTML = mensaje;
		document.getElementById('validacion').style.display = 'block';
		return false;
	}
	else
	{
		document.getElementById('registro').target = "_self";
		document.getElementById('registro').action = document.getElementById('accionForm').value;
		document.getElementById('registro').submit();
	}
	if (e.preventDefault) e.preventDefault();  return false;

}



function checkFromData3(e)
{
	if (!e) e = window.event;
	var mensaje = "<strong>Est&aacute;s a un pelo de ser una Chica de Cuidado.<br /><br />Revisa tus respuestas y responde todas las preguntas para finalizar el registro.</strong><br /><br />";
	//var contestadaP1 = false;
	var contestadaP2 = false;
	var contestadaP3 = false;

	//ESTA PREGUNTA SE DEJA DE VALIDAR EL 13/05/2009 - YA NO ES OBLIGATORIA
	//PREGUNTA 4 - METODO DE DEPILACI&oacute;N HABITUAL
/*	for(x=1; x<=6; x++)
	{
		if(document.getElementById('cuestionario_p1_'+x).checked)
		{
			contestadaP1 = true;
		}
	}
	if(contestadaP1 == false)
	{
		mensaje += "Debes contestar a la pregunta de tu m&eacute;todo de depilaci&oacute;n habitual.<br /><br />";
	}
*/
	//PREGUNTA 5 - METODO DE DEPILACI&oacute;N HABITUAL
	for(x=1; x<=9; x++)
	{
		if(document.getElementById('cuestionario_p2_'+x).checked)
		{
			contestadaP2 = true;
		}
	}
	if(contestadaP2 == false)
	{
		mensaje += "Debes contestar a la pregunta de la marca que hayas utilizado en los &uacute;ltimos 3 meses.<br /><br />";
	}

	//PREGUNTA 6 - METODO DE DEPILACI&oacute;N HABITUAL
	for(x=1; x<=5; x++)
	{
		if(document.getElementById('cuestionario_p3_'+x).checked)
		{
			contestadaP3 = true;
		}
	}
	if(contestadaP3 == false)
	{
		mensaje += "Debes contestar a la pregunta de la marca de depiladora el&eacute;ctrica que has utilizado en los &uacute;ltimos 3 meses.<br /><br />";
	}

	if (mensaje != "<strong>Est&aacute;s a un pelo de ser una Chica de Cuidado.<br /><br />Revisa tus respuestas y responde todas las preguntas para finalizar el registro.</strong><br /><br />") 
	{
		document.getElementById('validacionMensaje').innerHTML = mensaje;
		document.getElementById('validacion').style.display = 'block';
		return false;
	}
	else
	{
		document.getElementById('registro').submit();
	}

	if (e.preventDefault) e.preventDefault();  return false;


}



//DETECCION DE NAVEGADOR
   var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};
BrowserDetect.init();