function PessoaProduto()
{
	if ($(".lk-remover-favorito-detalhe").length > 0)
	{
	
		$(".lk-esvaziar-lista").click(function()
		{
			EsvaziarFavorito();
		});
		
		
		$(".lk-remover-favorito-detalhe").click(function()
		{
			RemoverFavorito($("#hdnProdutoSelecionado").val());
		});
		
		$(".lk-remover-da-lista").click(function()
		{
			RemoverFavorito($(this).parent().prev().val());
		});
		
		function TratarListaVazia()
		{
			// Esconder as Imagens do Carrossel Atual
			if (meuCarrossel)
			{
				meuCarrossel.reset();
			}
			
			$(".opcoes-descricao p").html("");
			$(".produto .referencia").html("");
			$("#hdnProdutoSelecionado").val("");
			$(".produto").hide();
			$(".opcoes-descricao").hide();
			$(".botoes-favoritos").hide();
			$(".lista-favoritos").hide();
		}
		
		/**
		 * Remove o favorito da lista do usuário na tela
		**/
		function RemoverFavoritoTela(FavoritoID)
		{
			var ProdutoSelecionado = $(".ProdutoID[value="+FavoritoID+"]").parent();
			
			// excluir do detalhe (se estiver no detalhe)
			if ($("#hdnProdutoSelecionado").val() == FavoritoID)
			{
				
				var ProximoProduto = ProdutoSelecionado.next(); 
				
				if (ProximoProduto.length == 0)
				{
					ProximoProduto =  ProdutoSelecionado.parent().next().next().find("li:first");
					
					if (ProximoProduto.length == 0)
					{
						ProximoProduto = ProdutoSelecionado.prev();
						
						if (ProximoProduto.length == 0)
						{
							ProximoProduto = ProdutoSelecionado.parent().prev().prev().find("li:last");
							if (ProximoProduto.length == 0)
							{
								TratarListaVazia();
							}
						}
						
					}
				}
				
				// aciona o próximo produto da listagem para ser exibido
				ProximoProduto.children(".lk-ver-produto").click();
			}
			
			var lista = ProdutoSelecionado.parent();
			ProdutoSelecionado.remove();
			
			if (lista.children().length == 0)
			{
				lista.prev().remove();
				lista.remove();
			}
			//
			
		}
		
		/**
		 * Aciona o ajax que remove o favorito do banco de dados.
		**/ 
		function RemoverFavorito(ProdutoID)
		{
			$.ajax(
			{
				type: "POST",
				url: SITE_CAMINHO_SITE_ABSOLUTO + "acao/PessoaProduto.php",
				data: "acao=RemoverFavorito&ProdutoID="+ProdutoID,
				success: function(msg)
				{
					msg = $.trim(msg);
					
					if (msg == "sucesso")
					{
						RemoverFavoritoTela(ProdutoID)
					}
					
					ContarItensFavorito(); // site.js
				}
			});
			
		}
		
		function EsvaziarFavorito()
		{
			$.ajax(
			{
				type: "POST",
				url: SITE_CAMINHO_SITE_ABSOLUTO + "acao/PessoaProduto.php",
				data: "acao=Esvaziar",
				success: function(msg)
				{
					if (msg)
					{
						TratarListaVazia();
					}
					
					ContarItensFavorito(); // site.js
				}
			});
			
		}
		
	}
	
	if ($(".pagina-produto-indicar").length > 0)
	{
		var ProdutoID = self.parent.$("#hdnProdutoSelecionado").val();
		if (ProdutoID)
		{
			$("#hdnProdutoID").val(ProdutoID);
		}
		else
		{
			$(".pagina-produto-indicar").hide();
		}
		
		$("#frmProdutoIndicar").validate
		(
		 	{
		 		errorPlacement: function(error, element) 
				{
					error.appendTo($("#alerta"));
				},
				errorClass: "erro",
				errorElement: "span",
				rules:
				{
					txtSeuNome:
					{
						required: true
					},
					txtSeuEmail:
					{
						required: true,
						email: true
					},
					txtNomeIndicada:
					{
						required: true
					},
					txtEmailIndicada:
					{
						required: true,
						email: true
					}
				},
				messages:
				{
					txtSeuNome:
					{
						required: MSG47 + SITE_SEU_NOME.replace(":","")
					},
					txtSeuEmail:
					{
						required: MSG47 + SITE_SEU_EMAIL.replace(":",""),
						email : MSG27.replace("{CAMPO}",SITE_SEU_EMAIL.replace(":",""))
					},
					txtNomeIndicada:
					{
						required: MSG47 + SITE_NOME_DA_INDICADA.replace(":","")
					},
					txtEmailIndicada:
					{
						required: MSG47 + SITE_EMAIL_DA_INDICADA.replace(":",""),
						email : MSG27.replace("{CAMPO}",SITE_EMAIL_DA_INDICADA.replace(":",""))
					}
				}
			}
		);
		
	}
	
	
	if ($(".pagina-favorito-indicar").length > 0)
	{
		$("#frmFavoritoIndicar").validate
		(
		 	{
		 		errorPlacement: function(error, element) 
				{
					error.appendTo($("#alerta"));
				},
				errorClass: "erro",
				errorElement: "span",
				rules:
				{
					txtSeuNome:
					{
						required: true
					},
					txtSeuEmail:
					{
						required: true,
						email: true
					},
					txtNomeIndicada:
					{
						required: true
					},
					txtEmailIndicada:
					{
						required: true,
						email: true
					}
				},
				messages:
				{
					txtSeuNome:
					{
						required: MSG04
					},
					txtSeuEmail:
					{
						required: MSG04,
						email : MSG27.replace("{CAMPO}",SITE_SEU_EMAIL)
					},
					txtNomeIndicada:
					{
						required: MSG04
					},
					txtEmailIndicada:
					{
						required: MSG04,
						email : MSG27.replace("{CAMPO}",SITE_EMAIL_DA_INDICADA)
					}
				}
			}
		);
		
	}
}
