/************ CESTA *********************************************************/

function actualizartotalcesta() {
	var d = new Array();
	var i = 0;

	$("#frmcesta INPUT:hidden").each( function () {
		d[i] = $(this).attr("id") + "=" + escape($(this).val());
		i++;
	});
	d[i] = "eltos=" + i;

	var s = $.ajax({
		cache: false,
		type: "POST",
		url: "/ajax_cestatotal.asp",
		data: d.join("&"),
		success: function(h) {
			if (h=="0") {
				//Si el resultado de la eliminación es texto vacío, significa que no quedan elementos en la cesta y ésta se oculta
				$("#tabla_cestadelacompra").hide();
				$("#cestavacia").removeClass("oculto");
			} else {
				//Se muestra el total actualizado
				var tmp = h.split("|");
				$("#cestacompra_totalpedido").html(tmp[0]);
				$("#cestacompra_total").html(tmp[1]);
				if (tmp.length>2) {
					$("#cestacompra_iva").html(tmp[2]);				
					$("#cestacompra_gastostransporte").html(tmp[3]);
					$("#cestacompra_abonotransporte").html(tmp[4]);				
				}
				$("#cestacompra_totalpedido").fadeIn(500);       
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			$("#mensaje").html("Error:<br/>" + XMLHttpRequest.responseText);
			$("#mensaje").fadeIn();
		}
	});
}
	
function controldatoscesta(conRegistro) {
	var msg = "";
	var v;
	var idp = $('#registro_idpais').val();

	if (conRegistro) {
		//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>"; }

//Empresa
	//if ($('#registro_empresa').val().length==0) { marcarCampoErroneo("registro_empresa"); msg += "<li>La empresa es obligatoria</li>"; }

//NIF
	v = $('#registro_nif').val();
	//Si es PAIS=ESPAÑA se comprueba que el NIF/CIF es correcto
	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>"; 
			}
		}
	}

//País
	if ($('#registro_idpais').val().length==0) { 
		marcarCampoErroneo("registro_nombrepais"); msg += "<li>El país es obligatorio</li>"; 
	} else {
		//El propio sistema ya se habrá encargado de controlar si pertenece al listado ofrecido
	}

//Región
	if (idp == "ES") {
		if ($('#registro_idregion').val().length==0) { 
			marcarCampoErroneo("registro_region"); msg += "<li>La región es obligatoria</li>"; 
		} else {
			//El propio sistema ya se habrá encargado de controlar si pertenece al listado ofrecido
		}
	}

//Localidad	
	if ($('#registro_localidad').val().length==0) { marcarCampoErroneo("registro_localidad"); msg += "<li>La localidad es obligatoria</li>"; }

	v = $('#registro_cp').val();
	if (v.length==0) { 
		marcarCampoErroneo("registro_cp"); msg += "<li>El código postal es obligatorio</li>"; 
	} else {
		//Si es PAIS=ESPAÑA se comprueba que el CP tiene 5 caracteres
		if (idp == "ES") {
			if (v.length!=5) { marcarCampoErroneo("registro_cp"); msg += "<li>El código postal es erróneo</li>"; }
		}
	}

//Dirección	
	if ($('#registro_direccion').val().length==0) { marcarCampoErroneo("registro_direccion"); msg += "<li>La dirección es obligatoria</li>"; }

//Teléfono
	if ($('#registro_telefono').val().length==0) { marcarCampoErroneo("registro_telefono"); msg += "<li>El teléfono es obligatorio</li>"; }

	if (conRegistro) {
	//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>"; 
			}
		}
	}

//Contraseña	
	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>"; 
	if (v.length>0) {
		if (v.length<4) {
			marcarCampoErroneo("registro_pwd"); msg += "<li>La contraseña 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;
	}
}

$(document).ready(function(){
	$(".sepuedecomprar").live("click", function(){
		idl = $(this).attr("id");
		$(this).toggleClass("enlacesta");
		$(this).text("Artículo añadido");		
		$('#header_cesta a').load('/ajax_cesta.asp?acc=INS&cantidad=1&idlibro='+idl);
	});

	if ($("#cestadelacompraInner_tabla").hasClass("mostrar")) {
		actualizartotalcesta();
	}
	
	$(".eliminar a").click(function() {
		//Se obtiene el ID del item
		var idl = replace($(this).parent().parent().attr("id"), "itemcesta", "");
		
		//Se oculta la linea a eliminar
		$("#itemcesta"+idl).hide();
		
		//Se llama al proceso que actualiza la cesta (primero el valor que aparece en la cabecera, y luego el footer)
		$("#header_cesta a").load("/ajax_cesta.asp?acc=DEL&idlibro="+idl, function(){
			actualizartotalcesta();
		});
	});
	
	$("a.actualizaritemcesta").click(function() {
		//Se obtiene el ID del item
		var idl = $(this).next().val();

		//Se obtiene la cantidad introducida y se procede a controlar el valor introducido
		var c = $("#itc_cantidad"+idl).val();
		if (isNaN(c)) { c = 1; $("#itc_cantidad"+idl).val(c); }
		if (c>=100) { c = 99; $("#itc_cantidad"+idl).val(c); }
		if (c<1) { c = 1; $("#itc_cantidad"+idl).val(c); }
		
		//se obtiene el precio unitario del ítem
		var p = replace($("#itc_preciou"+idl).val(), ",", ".");
		
		//se calcula el precio total (precio unitario x cantidad)
		p = Math.round(p*c*100)/100;
		
		//Se formatea el resultado que será introducido en la columna correspondiente
		var pf = replace(p.toString(), ".", ",") + " €";
		$("#precioT"+idl).text(pf);
		
		//Se llama al proceso que actualiza la cesta (primero el valor que aparece en la cabecera, y luego el footer)
		$("#header_cesta a").load("/ajax_cesta.asp?acc=INS&cantidad=" + c + "&idlibro="+idl, function(){
			actualizartotalcesta();
		});
	});

	$("#paso2_enviar").click(function() {
		if (!controldatoscesta()) {
			return false;
		} else {
			$("#frmpaso2").submit();
		}
	});	
	
	$("#datosenvio_enviar").click(function() {
		if (true) {
			alert();
			return true;
		} else {
			alert("Errores");
			return false;
		}
	});
	
	$("#pasocesta1").click(function() {
		document.location.href = "/cesta";
	});

	$("#tabla_cestadelacompra tbody tr:even").each(function (i) {
          $(this).addClass("color_par");
	});

	$("#lnkcondicionescompra").click( function() {
		$("#condicionescompra").css("display", "block");
		return false;
	}); 

	$("#cestapaso3_enviar").click( function() {
		var d = new Array();
		var i = 0;

		if ($("#frmcesta #registro_aceptocheck").attr("checked")) {
			$("#frmcesta INPUT:hidden").each( function () {
				d[i] = $(this).attr("id") + "=" + escape($(this).val());
				i++;
			});

			var s = $.ajax({
				cache: false,
				type: "POST",
				url: "/ajax_registrarpedido.asp",
				data: d.join("&"),
				success: function(h) {
					//Una vez registrado el pedido, ya se puede proceder a lanzar la pasarela de pago
					if (esNumerico(h)) {
						$("#idp").val(h);
						$("#frmcesta").submit();
					} else {
						$("#mensaje").html(h);
						$("#mensaje").fadeIn();
					}
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					$("#mensaje").html("Error:<br/>" + XMLHttpRequest.responseText);
					$("#mensaje").fadeIn();
				}
			});
		} else {
			alert("Debe aceptar las condiciones");
		}
		return false;
	});
});

