$(document).ready(function(){
	$("#datospersonales_enviar").click(function() {
		if (!controldatosregistro()) {
			return false;
		}
	});	

	$("#lnkgarantiaconfidencialidad").click(function(event){
		event.preventDefault();
		enlace = "/garantia.html";
		$.getScript("/js/jquery.nyroModal-1.5.0.pack.js", function(){
			$.nyroModalManual({
				url: enlace,
				width:720
		    });
		});
	});

	$("#lnkcondicionescompra").click(function(event){
		event.preventDefault();
		enlace = "/condicionescompra.html";
		$.getScript("/js/jquery.nyroModal-1.5.0.pack.js", function(){
			$.nyroModalManual({
				url: enlace,
				width:720
		    });
		});
	});

	$("#registro_enviar").click(function() {
		if ($("#frmpaso2").length) {
			if (!controldatoscesta()) {
				return false;
			} else {
				$("#frmpaso2").submit();
			}
		} else {
			if (!$("#registro_checkacepta").attr("checked")) {
				alert("Debe aceptar las condiciones de confidencialidad");
				return false;
			} else {
				var msg = "";
				var v;
				var idp = $('#registro_idpais').val();

				//E-mail	
				v = trim($('#registro_email').val());
				if (v.length==0) {
					marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es obligatorio</li>"; 
				} else {
					if (!mailValido(v)) {
						marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es erróneo</li>"; 
					}
				}

				if ($("#registro_WebApartado").val() == "201") {
					//Nombre y apellidos
					if ($('#registro_nombre').val().length==0) { marcarCampoErroneo("registro_nombre"); msg += "<li>El nombre es obligatorio</li>"; }
					if ($('#registro_apellidos').val().length==0) { marcarCampoErroneo("registro_apellidos"); msg += "<li>Los apellidos son obligatorios</li>"; }

					//NIF
					v = $('#registro_nif').val();
					if (idp == "ES") {
						if (v.length==0) { 
							marcarCampoErroneo("registro_nif"); msg += "<li>El NIF/CIF es obligatorio</li>"; 
						} else {
							if (!CIFValido(v) && !NIFValido(v) && !NIEValido(v)) {
								marcarCampoErroneo("registro_nif"); msg += "<li>El NIF/CIF es erróneo</li>"; 
							}
						}
					}

					if (idp.length==0) {
						marcarCampoErroneo("registro_idpais"); msg += "<li>Debe indicar un país</li>";
					} else {
						if (idp == "ES" && $('#registro_idregion').val().length == 0){
							marcarCampoErroneo("registro_idregion"); msg += "<li>Debe indicar una región</li>";
						} else {
							if ($('#registro_localidad').val().length == 0){
								marcarCampoErroneo("registro_localidad"); msg += "<li>Debe indicar una localidad</li>";
							}
							if ($('#registro_cp').val().length == 0){
								marcarCampoErroneo("registro_cp"); msg += "<li>Debe indicar un código postal</li>";
							}
							if ($('#registro_direccion').val().length == 0){
								marcarCampoErroneo("registro_direccion"); msg += "<li>Debe indicar una dirección</li>";
							}
						}
					}

					v = trim($('#registro_pwd').val());
					if ($("#registro_suscripcion").attr("checked") && v.length==0)  
						msg += "<li>Si desea suscribirse al boletín, deberá registrase indicando una contraseña</li>"; 
				} else {
					//Contraseña	
					v = trim($('#registro_pwd').val());
					if (v.length<4) {
						marcarCampoErroneo("registro_pwd"); msg += "<li>La contraseña es obligatoria y debe tener como mínimo 4 caracteres</li>"; 
					} else {
						var v2 = trim($('#registro_pwd2').val());
						if (v != v2) {
							marcarCampoErroneo("registro_pwd2"); msg += "<li>Contraseña y Contraseña repetida no coinciden</li>"; 
						}
					}
				}


				if (msg.length>0) {
					$("#mensaje").html("Se han encontrado los siguiente errores:<ul>" + msg + "</ul>");
					$("#mensaje").fadeIn(500);
					return false; 
				} else {
					return true;
				}
			}
		}
	});
	
	$("#datospersonales_btnbaja").click(function() {
		if (!confirm("Se va a proceder a dar de baja su cuenta, ¿desea continuar?")) return false;
	});
	
	$("#boton_recordarcontrasenna").click(function() {
		$("#identificacion_formulario").hide( function() {
			$("#recordarcontrasenna").fadeIn();
		});
	});
	$("#recordarcontrasenna_cerrar").click(function() {
		$("#recordarcontrasenna").fadeOut(0, function() {
			$("#identificacion_formulario").fadeIn();
		});
		return false;
	});
	$("#recordarcontrasenna_resultado_cerrar").click(function() {
		$("#recordarcontrasenna_resultado").fadeOut(0, function() {
			$("#identificacion_formulario").fadeIn();
		});
	});
	$("#recordarconstrasenna_enviar").click(function(e) {
		var msg = "";
		var ema = $("#recordarconstrasenna_email").val();
		
		if (ema.length==0) { 
			msg += "<li>El correo electrónico es obligatorio</li>";
		} else {
			if (!mailValido(ema)) {
				msg += "<li>El correo electrónico es erróneo</li>"; 
			}
		}

		$("#mensaje").css("top",e.pageY-100);
		$("#mensaje").css("left",e.pageX-200);
		$("#mensaje").fadeIn();

		if (msg.length==0) {
			$("#mensaje").html("Buscando el E-mail...");
			var s = $.ajax({
				cache: false,
				type: "POST",
				url: "/ajax_recordarcontrasenna.asp",
				data: "email=" + ema,
				success: function(h){
					if (h == "ok") {
						msg = "Se ha enviado un correo con los datos de acceso a su cuenta";
					} else {
						msg = "E-mail no encontrado";
					}
					$("#mensaje").html(msg);
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					msg = "Error:<br/>" + XMLHttpRequest.responseText;
					$("#mensaje").html(msg);
				}
			});
		} else {
			$("#mensaje").html("Se han encontrado los siguiente errores:<ul>" + msg + "</ul>");
		}

		return false;
	});

/********************************* IDPAIS, IDREGION, LOCALIDAD Y CP *********************************************************************/
	function cargarRegiones () {
		var selected = $("#registro_idpais option:selected"); 
		$('#registro_idregion').empty();
		if (selected.val() == "ES") {
			$('#registro_idregion').append(
				$('<option></option>')
			);
			var i;
			var vpd = $('#registro_idregion').attr("valorpd");
			for (i=0; i < arrayRegionesES.length; i++) {
				$('#registro_idregion').append(
					$('<option></option>').val(arrayRegionesES[i].codigo).html(arrayRegionesES[i].texto)
				);
				if (vpd == arrayRegionesES[i].codigo) $("#registro_idregion option:eq(" + (i+1) + ")").attr("selected","selected");
			}
		} else {
			$('#registro_idregion').append(
				$('<option></option>').val("").html("[Indicar en localidad]")
			);
		}
	}

	$(document).ready( function() {
		var i;
		var vpd = $('#registro_idpais').attr("valorpd");
		for (i=0; i < arrayPaises.length; i++) {
			$('#registro_idpais').append(
				$('<option></option>').val(arrayPaises[i].codigo).html(arrayPaises[i].texto)
			);
			//Selección de la opción por defecto
			if (vpd == arrayPaises[i].codigo) {
				$("#registro_idpais option:eq(" + (i+1) + ")").attr("selected","selected");
				cargarRegiones();	//Dado que por defecto hay un país seleccionado, se cargan las regiones asociadas
			}
		}
		
		$('#registro_idpais').change( cargarRegiones );
		
		$('#registro_idregion').change( function() {
			var selected = $("#registro_idregion option:selected"); 
			if (selected.val() != "") cargarAutocompletarLocalidad();
		});
		
		function cargarAutocompletarLocalidad() {
				//alert($('#registro_idpais').val() + ", " + $('#registro_idregion').val());
				$("#registro_localidad")
					.autocomplete("/ajax_autocompletarlocalidades.asp", { 
						scroll:false, minChars:2, matchSubset:1, matchContains:false, cacheLength:20, selectOnly:1, 
						extraParams:{ idp:$('#registro_idpais').val() , idr:$('#registro_idregion').val() },
						formatItem: function(item) {
					    return utf8toiso(item[0]) + " [cp: " + item[1] + "]";
					  }
					})
					.result(function(event, data, formatted) {
		 				if (!data) {
		 				} else {
		 					$('#registro_localidad').val(utf8toiso(data[0]));
		 					$('#registro_cp').val(data[1]);
		 				}
					})
					.focus(function(){
						$(this).css({ color:'#000000' });
					})
					.blur(function(){
						$(this).css({ color:'#ffffff' });
					});
		}
		
	});


/********************************* CONTROL DE REGISTRO *********************************************************************/
	function controldatosregistro() {
		var msg = "";
		var v;
		var idp = $('#registro_idpais').val();
	
		//E-mail	
		v = trim($('#registro_email').val());
		if (v.length==0) {
			marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es obligatorio</li>"; 
		} else {
			if (!mailValido(v)) {
				marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es erróneo</li>"; 
			}
		}
	
	//Nombre y apellidos
		if ($('#registro_nombre').val().length==0) { marcarCampoErroneo("registro_nombre"); msg += "<li>El nombre es obligatorio</li>"; }
		if ($('#registro_apellidos').val().length==0) { marcarCampoErroneo("registro_apellidos"); msg += "<li>Los apellidos son obligatorios</li>"; }
	
	//NIF
		v = $('#registro_nif').val();
		if (v.length>0) { 
			//Si es PAIS=ESPAÑA se comprueba que el NIF/CIF es correcto
			if (idp == "ES") {
				if (!CIFValido(v) && !NIFValido(v)) {
					marcarCampoErroneo("registro_nif"); msg += "<li>El NIF/CIF es erróneo</li>"; 
				}
			}
		}

	//Contraseña	
		v = trim($('#registro_pwd').val());
		if (v.length<4) {
			marcarCampoErroneo("registro_pwd"); msg += "<li>La contraseña es obligatoria y debe tener como mínimo 4 caracteres</li>"; 
		} else {
			var v2 = trim($('#registro_pwd2').val());
			if (v != v2) {
				marcarCampoErroneo("registro_pwd2"); msg += "<li>Contraseña y Contraseña repetida no coinciden</li>"; 
			}
		}
	
		//alert($('#registro_checkacepta').val());
		//if(!) msg += "<li>Debe aceptar la política de privacidad</li>"; 
	
		if (msg.length>0) {
			$("#mensaje").html("Se han encontrado los siguiente errores:<ul>" + msg + "</ul>");
			$("#mensaje").fadeIn(500);
			return false; 
		} else {
			return true;
		}
	}


	function controldatossuscripcion() {
		var msg = "";
		var v;
	
		//E-mail	
		v = trim($('#registro_email').val());
		if (v.length==0) {
			marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es obligatorio</li>"; 
		} else {
			if (!mailValido(v)) {
				marcarCampoErroneo("registro_email"); msg += "<li>El correo electrónico es erróneo</li>"; 
			}
		}

	//Contraseña	
		v = trim($('#registro_pwd').val());
		if (v.length<4) {
			marcarCampoErroneo("registro_pwd"); msg += "<li>La contraseña es obligatoria y debe tener como mínimo 4 caracteres</li>"; 
		} else {
			var v2 = trim($('#registro_pwd2').val());
			if (v != v2) {
				marcarCampoErroneo("registro_pwd2"); msg += "<li>Contraseña y Contraseña repetida no coinciden</li>"; 
			}
		}
	
		if (msg.length>0) {
			$("#mensaje").html("Se han encontrado los siguiente errores:<ul>" + msg + "</ul>");
			$("#mensaje").fadeIn(500);
			return false; 
		} else {
			return true;
		}
	}

	$("#politicaprivacidad").click(function() {
		$("#politicaprivacidadtexto").fadeIn();
	});
	$("#politicaprivacidadtexto").click(function() {
		$(this).fadeOut();
	});
});

