// JavaScript Document
//Cambio de seccion necesario para el uso del carrito de compras
function cmCarrito(){
	this.nombre="#cmCarrito";
	this.mensaje=this.nombre+"Mensaje";
	this.mensajePrecio=this.nombre+"MensajePrecio";
	this.mensajePrecioDir=this.nombre+"MensajePrecioDir";
	this.mensajePack=this.nombre+"MensajePack";
	this.packNombre=this.nombre+"PackNombre";
	this.packElegido=this.nombre+"PackElegido";
	this.totalMasPack=this.nombre+"TotalMasPack";
	this.precioDescuento=this.nombre+"Descuento";
	this.formPrecioTotal=this.nombre+"PrecioTotal";
	this.form="#formulario";
	this.formIds=this.nombre+"Ids";
	this.formPrecio=this.nombre+"Precio";
	this.ordenUno = this.nombre+"OrdenUno";
	this.ordenDos = this.nombre+"OrdenDos";
	this.ventanaAbierta=false;
	this.textoDesc="";
	//Para sacar la promo actual, poner tipoDesc = 0;
	this.tipoDesc=0;
	this.precioDesc=0;
	this.precioSinDescuento=0;
	this.codigoVip = 'VCVIP09';
	this.codigoDiezPorCiento = '';
	this.codigoCostoEnvio = 'PILCO0304';
	
	this.agregar=agregar;
	this.remover=remover;
	this.confirmar=confirmar;
	this.limpiarPosts=limpiarPosts;
	this.existe=existe;
	this.comprobarEstado=comprobarEstado;
	this.actualizarMsj=actualizarMsj;
	this.cambiarEstado=cambiarEstado;
	this.cambiarSeccion=cambiarSeccion;
	this.numEncode=numEncode;
	this.numDecode=numDecode;
	this.registrarDatos=registrarDatos;
	this.actualizarPack=actualizarPack;
	this.actualizarPrecioDir=actualizarPrecioDir;
	this.actualizarPrecioTotal=actualizarPrecioTotal;
	this.ordenarCatalogo=ordenarCatalogo;
	this.recuperarPass=recuperarPass;
	this.aplicarDescuento=aplicarDescuento;
	this.actualizarDescuento=actualizarDescuento;
	
	if($(this.packElegido).val() == undefined){
		this.precioPack = 0;
	} else {
		this.precioPack = parseFloat($(this.packElegido).val());
	}
	this.ids = new Array();
	if($(this.formIds).val() == ""){
		this.cantIds = 0;
		this.precio=0;
	} else {
		this.ids = $(this.formIds).val().split(",");
		this.cantIds = this.ids.length;
		this.precio = parseFloat($(this.formPrecio).val(),true);
	}
	this.actualizarMsj();
	if($(this.mensajePack).length > 0){
		if(!($(this.packElegido).val() == 0)){
			clase = this;
			checkeado = false;
			$("input[name=embalaje]").each(function(i){
				if(checkeado == false){
					if($(this).val() == $(clase.packElegido).val()){
						$(this).attr("checked","true");
						checkeado = true;
					}
				}
			});
		}
		precioActualizado = numDecode(numEncode(this.precioPack)+this.precio);
		coma = precioActualizado.indexOf(",");
		enteros = precioActualizado.slice(0,coma);
		decimales = precioActualizado.slice(coma+1);
		if(decimales > 2){
			decimales = decimales.slice(0,2);
		}
		precioActualizado = enteros+","+decimales;
		$(this.mensajePack).html("Total: $"+precioActualizado);
		$(clase.totalMasPack).val(precioActualizado);
	} else if($(this.mensajePrecioDir).length > 0){
		this.precioEnvio = 0;
		if($(this.formPrecioTotal).html().length > 1){
			this.precioTotal = numEncode($(this.formPrecioTotal).html());
		} else {
			this.precioTotal = numEncode(this.precioPack)+this.precio;
			if($("#precioTotal").length > 0){
				$("#precioTotal").val(this.precioTotal);
			}
		}
		this.actualizarPrecioDir();
	}
}
function agregar(id,precio,cantidad){
	if(cantidad == undefined){
		cantidad = 1;
	}
	clase=this;
	for(var i=0; i<cantidad; i++){
		clase.ids.push(id);
		clase.precio += numEncode(precio);
		clase.cantIds++;
	}
	clase.actualizarMsj();
}
function remover(id,precio){
	clase=this;
	ids = new Array();
	for(i=0;i<clase.ids.length;i++){
		idActual = clase.ids[i];
		if(!(idActual == id)){
			ids.push(idActual);
		}else{
			clase.cantIds--;
			clase.precio -= numEncode(precio);
		}
	}	
	clase.ids = ids;
	clase.actualizarMsj();
}
function confirmar(id,precio){
	if(confirm("Desea remover este producto del carrito de compras?")){
		clase=this;
		clase.remover(id,precio);
		clase.limpiarPosts(id);
		$("#cmVerProducto"+id).css({ display:'none' });
		$(clase.mensajePack).html("Total: $"+numDecode(numEncode(clase.precioPack)+clase.precio));
		$(clase.totalMasPack).val(numDecode(numEncode(clase.precioPack)+clase.precio));
	}
}
function limpiarPosts(id){
	clase=this;
	ids = $("#pIds").val().split(",");
	cants = $("#pCant").val().split("||");
	nombres = $("#pNombres").val().split("||");
	precios = $("#pPrecios").val().split("||");
	pesos = $("#pPesos").val().split("||");
	nIds = nCants = nNombres = nPrecios = nPesos = "";
	for(var i=0;i<ids.length;i++){
		if(!(ids[i] == id)){
			if(nIds){
				comaI = ",";
				coma = "||";
			} else {
				comaI = coma = "";
			}
			nIds += comaI+ids[i];
			nCants += coma+cants[i];
			nNombres += coma+nombres[i];
			nPrecios += coma+precios[i];
			nPesos += coma+pesos[i];
		}
	}
	$("#pIds").val(nIds);
	$("#pCant").val(nCants);
	$("#pNombres").val(nNombres);
	$("#pPrecios").val(nPrecios);
	$("#pPesos").val(nPesos);
}
function existe(id){
	clase=this;
	existe = false;
	for(i=0;i<clase.ids.length;i++){
		idActual = clase.ids[i];
		if(idActual == id){
			existe = true;
			break;
		}
	}
	return existe;
}
function comprobarEstado(idImg,ocultar){
	clase=this;
	var id = idImg.split("imgProducto")[1];
	if(clase.existe(id)){
		$("#"+idImg).attr({ src:$("#cmUbicacion").val()+"imagenes/colCentro/carritoSel.png", alt:"Remover del carrito", title:"Remover del carrito" });
	} else {
		if(ocultar == true){
			$("#cmVerProducto"+id).css({ display:"none" });
		}
	}
}
function actualizarMsj(){
	clase=this;
	if(clase.cantIds > -1){
		clase.cantIds == 1?s="":s="s";
		mensaje = "<a onclick='cmc.cantIds == 0 ? alert(\"Seleccione el/los producto/s que desee comprar\") : cmc.cambiarSeccion(\""+$("#cmUbicacion").val()+"verProductos.php\");' title='Ver productos'><b>"+clase.cantIds+" producto"+s+"</b></a> dentro del carrito";
		$(clase.mensaje).html(mensaje);
		$(clase.mensaje).css("text-align","center");
		$(clase.formIds).val(clase.ids);
		$(clase.formPrecio).val(clase.precio);
		$(clase.mensajePrecio).html(numDecode(clase.precio));
	}
}
function actualizarPack(nombre,index){
	clase=this;
	$("input[name=embalaje]").each(function(i){
		if($(this).val() == clase.precioPack){
			$(this).attr({checked:false});
			clase.precioPack = 0;
			$(clase.packNombre).val('Papel madera');
		} else if(i == index){
			$(this).attr({checked:true});
			clase.precioPack = $(this).val();
			$(clase.packNombre).val(nombre);
		}
	});
	$(clase.packElegido).val(clase.precioPack);
	precioPack = numEncode(clase.precioPack);
	precioActual = parseFloat(precioPack)+parseFloat(clase.precio);
	precioActualizado = numDecode(precioActual);
	coma = precioActualizado.indexOf(",");
	enteros = precioActualizado.slice(0,coma);
	decimales = precioActualizado.slice(coma+1);
	if(decimales > 2){
		decimales = decimales.slice(0,2);
	}
	precioActualizado = enteros+","+decimales;
	$(clase.totalMasPack).val(precioActualizado);
	$(clase.mensajePack).html("Total: $"+precioActualizado);
}

function actualizarPrecioDir(){
	clase=this;
	if($("#dirEnvio").val() == "Consultar"){
		valorEnvio = 0;
		msjPrecioEnvio = "Consultar";
		$("#simboloDinero").css({display:"none"});
	} else {
		valorEnvio = numEncode($("#dirEnvio").val());

msjPrecioEnvio = $("#dirEnvio").val();
		$("#simboloDinero").css({display:"inline-block"});
	}
	clase.precioEnvio = valorEnvio;
	$(clase.mensajePrecioDir).html(msjPrecioEnvio);
	clase.actualizarDescuento();
}

function aplicarDescuento(codigo){
	var clase=this;
	if(codigo == clase.codigoDiezPorCiento){
		clase.tipoDesc = 0; //Cuando haya de nuevo promo, se pondra uno
	} else if (codigo == clase.codigoVip){
		clase.tipoDesc = 2;	
	} else if (codigo == clase.codigoCostoEnvio){
		clase.tipoDesc = 3;	
	} else {
		clase.tipoDesc = 0;
	}
	clase.actualizarDescuento();
}

function actualizarDescuento(){
	var clase = this;
	var descuentoPorc = '';
	var descuentoNom = '';
	var visibilidad = 'visible';
	var precioFinal = clase.precioTotal + clase.precioEnvio;
	switch(clase.tipoDesc){
		case 3: descuentoPorc = 0; descuentoMensaje = "&iexcl;Promo Pilgrims' College!"; break;
		case 2: descuentoPorc = 15; descuentoMensaje = "&iexcl;Promo VIP!"; break;
		case 1: descuentoPorc = 10; descuentoMensaje = "&iexcl;Promo lanzamiento!"; break;
	}
	if(clase.tipoDesc == 0){
		visibilidad = 'collapse';
		$(clase.precioDescuento).html("");
		$("#trDescuentoNombre").html("");
	} else{
		visibilidad = 'visible';
		if(clase.tipoDesc != 3) precDesc = (parseInt(descuentoPorc)*clase.precio)/100;
		else precDesc = clase.precioEnvio;
		precioFinal -= precDesc;
		precioFinal = numDecode(precioFinal);
		coma = precioFinal.indexOf(",");
		decimales = precioFinal.slice(coma+1);
		if(decimales.length > 2){
			enteros = precioFinal.slice(0,coma);
			decimales = decimales.slice(0,2);
			precioFinal = enteros+","+decimales;
		}
		$(clase.precioDescuento).html(precioFinal);
		switch(clase.tipoDesc){
			case 3: descuentoNom = "Sin costo de env&iacute;o = $"+numDecode(precDesc); break;
			case 2: descuentoNom = "15% OFF del total de libros ($"+numDecode(clase.precio)+") = $"+numDecode(precDesc); break;
			case 1: descuentoNom = "10% OFF del total de libros ($"+numDecode(clase.precio)+") = $"+numDecode(precDesc); break;
		}
		clase.textoDesc = descuentoNom;
		$("#trDescuentoNombre").html("<td colspan='4' class='textoArial textoPrecio separadorAlto' style='text-align:center;font-weight:bold; font-size:20px; padding:5px 5px;'>"+descuentoMensaje+"</td>");
	}
	$("#trDescuento").css({ visibility:visibilidad });
	$("#tipoDescuento").html(clase.textoDesc);
	clase.precioDesc = precioFinal;
	clase.actualizarPrecioTotal();
}

function actualizarPrecioTotal(){
	clase=this;
	precTot = numDecode(clase.precioEnvio+clase.precioTotal);
	coma = precTot.indexOf(",");
	decimales = precTot.slice(coma+1);
	if(decimales.length > 2){
		enteros = precTot.slice(0,coma);
		decimales = decimales.slice(0,2);
		precTot = enteros+","+decimales;
	}
	$(clase.formPrecioTotal).html(precTot);
	if(clase.tipoDesc > 0){
		clase.precioSinDescuento = clase.precioTotal;
		precTot = clase.precioDesc;
		$("#precioTotal").val(clase.precioDesc);
		$("#PrecioItem").val(numEncode(clase.precioDesc));
	} else {
		$("#precioTotal").val(clase.precioTotal);
		$("#PrecioItem").val(numEncode($(clase.formPrecioTotal).html()));
	}
    if($('#dirEnvio option:selected').text().toString().indexOf('Capital Federal') > -1){
        $('#esCr').hide();
        $("#totalCR").val(precTot);
    } else {
        $('#esCr').show();
    	$("#crPrecioTotal").html(precTot);
    	precioTotPorc = numDecode(Math.round(100*(numEncode(precTot)+parseFloat($('#crPorcentaje').val())))/100);
    	coma = precioTotPorc.indexOf(",");
    	decimales = precioTotPorc.slice(coma+1);
    	if(decimales.length > 2){
    		enteros = precioTotPorc.slice(0,coma);
    		decimales = decimales.slice(0,2);
    		precioTotPorc = enteros+","+decimales;
    	}
    	$('#crPrecioTotalPorc').html(precioTotPorc);
    	$("#totalCR").val(precioTotPorc);
     }
}

function cambiarEstado(id,precio){
	clase=this;
	if($("#imgProducto"+id).attr("src").indexOf("Sel") == -1){
		clase.ventanaAbierta = true;
		jPrompt("&iquest;Cu&aacute;ntas unidades desea adquirir?",1, 'Especifique la cantidad', function(cantidad) {
			clase.ventanaAbierta = false;
			if(cantidad > 0){
				$("#imgProducto"+id).attr({ src:$("#cmUbicacion").val()+"imagenes/colCentro/carritoSel.png", alt:"Remover del carrito", title:"Remover del carrito" });
				clase.agregar(id,precio,cantidad);
			}
		});
	} else {
		$("#imgProducto"+id).attr({ src:$("#cmUbicacion").val()+"imagenes/colCentro/carrito.png", alt:"Agregar del carrito", title:"Agregar del carrito" });
		clase.remover(id,precio);
	}
}
function cambiarSeccion(dir,volver){
	var clase=this;
	$("#cmPagAnterior").val(document.location); //Marco la pagina anterior
	$(clase.form).attr("action",dir);
	$(clase.form).submit();
}
function numEncode(numero){
	if(numero){
		nNum = numero.toString().split(",");
		return parseFloat(nNum[0]+"."+nNum[1]);
	} else {
		return parseFloat(0);
	}
}
function numDecode(numero){
	if(numero){
		nNum = numero.toString().split(".");
		if(nNum[1] == undefined){
			nNum[1] = "00";
		} else if(nNum[1].length == 1){
			 nNum[1] += "0";
		} else if(nNum[1].length > 2){
			 nNum[1].slice(0,2);
		}
		return nNum[0]+","+nNum[1];
	} else {
		return "0,00";
	}
}
function registrarDatos(tipo,formObj){
	clase=this;
	if($("#formLoginCon").validate().form() == true){
		$.post("inc/comprobarUsuario.php",{
			tipo:tipo,
			usuario:$("#usuario").val()
		},function(data){
			if(!(data == "ok")){
				alert(data);
				continuarReg = false;
				return false;
			} else {
				if($("#condiciones").attr("checked") == false || $("#modalidad").attr("checked") ==  false || $("#politicas").attr("checked") ==  false || $("#terminos").attr("checked") == false){
					alert("Para poder continuar con el registro,\nes necesario que haya leido y aceptado todos los apartados.");
					continuarReg = false;
					return false;
				} else {
					continuarReg = true;
				}
			}
			if(continuarReg == true){
				id=$("#id").val();
				usuario=$("#usuario").val();
				pass=$("#pass").val();
				apellido=$("#apellido").val();
				nombre=$("#nombre").val();
				mail=$("#mail").val();
				doc_tipo=$("#doc_tipo").val();
				doc_nro=$("#doc_nro").val();
				fecha_nacimiento=$("#fecha_nacimiento_anio").val()+"-"+$("#fecha_nacimiento_mes").val()+"-"+$("#fecha_nacimiento_dia").val();
				telefono=$("#telefono").val();
				celular=$("#celular").val();
				id_pais=$("#id_pais").val();
				id_provincia=$("#id_provincia").val();
				provincia=$("#id_provincia option:selected").html();
				id_localidad=$("#id_localidad").val();
				localidad=$("#id_localidad option:selected").html();
				direccion=$("#direccion").val();
				numero=$("#numero").val();
				cod_postal=$("#cod_postal").val();
				cod_postalDos=$("#cod_postalDos").val();
				if(tipo == "mod"){
					n_pass = $("#n_pass").val();
					passAnt = $("#passAnt").val();
				} else {
					n_pass = null;
					passAnt = null;
				}	
				if($("#id_provinciaDos").val() > 0 && $("#id_localidadDos").val() > 0 && !($("#direccionDos").val() == "") && !($("#numeroDos").val() == 0)){
					id_provinciaDos=$("#id_provinciaDos").val();
					provinciaDos=$("#id_provinciaDos option:selected").html();
					id_localidadDos=$("#id_localidadDos").val();
					localidadDos=$("#id_localidadDos option:selected").html();
					direccionDos=$("#direccionDos").val();
					numeroDos=$("#numeroDos").val();
				} else {
					id_provinciaDos = provinciaDos = id_localidadDos = localidadDos = direccionDos = numeroDos = "";
				}
				$.post("inc/registrarDatos.php",{
					tipo:tipo,
					id:id,
					usuario:usuario,
					pass:pass,
					n_pass:n_pass,
					passAnt:passAnt,
					apellido:apellido,
					nombre:nombre,
					mail:mail,
					doc_tipo:doc_tipo,
					doc_nro:doc_nro,
					fecha_nacimiento:fecha_nacimiento,
					telefono:telefono,
					celular:celular,
					id_pais:id_pais,
					id_provincia:id_provincia,
					id_provinciaDos:id_provinciaDos,
					id_localidad:id_localidad,
					id_localidadDos:id_localidadDos,
					direccion:direccion,
					numero:numero,
					direccionDos:direccionDos,
					numeroDos:numeroDos,
					cod_postal:cod_postal,
					cod_postalDos:cod_postalDos
				},function(data){
					if(data){
						if(!(data == "ok")){
							id = data;
						}
						datos="?id="+id+"&usuario="+usuario+"&apellido="+apellido+"&nombre="+nombre+"&mail="+mail+"&doc_tipo="+doc_tipo+"&doc_nro="+doc_nro+"&fecha_nacimiento="+fecha_nacimiento+"&telefono="+telefono+"&celular="+celular+"&id_pais="+id_pais+"&id_provincia="+id_provincia+"&id_localidad="+id_localidad+"&id_provinciaDos="+id_provinciaDos+"&id_localidadDos="+id_localidadDos+"&provincia="+provincia+"&localidad="+localidad+"&provinciaDos="+provinciaDos+"&localidadDos="+localidadDos+"&direccion="+direccion+"&numero="+numero+"&cod_postal="+cod_postal+"&direccionDos="+direccionDos+"&numeroDos="+numeroDos+"&cod_postalDos="+cod_postalDos;
						clase.cambiarSeccion("./resumen.php"+datos);
					} else {
						alert("Hubo un error en el ingreso de datos");
					}
				});
			}
		});
	} else {
		alert("Debe completar todos los campos obligatorios indicados en rojo.");
	}
}
function ordenarCatalogo(ordenUno){
	clase=this;
	$(clase.ordenUno).val(ordenUno);
	ordenDos =	$("#ordenDos"+ordenUno).val();
	$(clase.ordenDos).val(ordenDos);
	clase.cambiarSeccion(document.location);
}

function recuperarPass(usuario,mail){
	clase=this;
	$.post("inc/enviarMailPass.php",{
		usuario:usuario,
		mail:mail
	},function(data){
		if(data == ""){
			alert("El usuario ingresado no existe.");
		} else {
			if(data.indexOf("//") > -1){
				datos = data.split("//");
				usuario = datos[0];
				pass = datos[1];
				apellido = datos[2];
				nombre = datos[3];
				mail = datos[4];
				$.post("inc/enviarMailPass.php",{
					usuario:usuario,
					mail:mail,
					apellido:apellido,
					nombre:nombre,
					pass:pass
				},function(data){
					if(data == "ok"){
						alert("Sus datos han sido enviados con exito a la cuenta indicada.");
						clase.cambiarSeccion("confirmar.php");
					}
				});
			} else {
				alert(data);
			}
		}
	});
}
