$(function(){
	
	/**
	 * Manipulador de carrinho de compras. 
	 */
	jQuery.fn.shopCart = function(settings){
		var opt = {
			valor:0
		} 
		jQuery.extend(opt, settings);
		
		
		// Rotina para gerar o calculo de frete
		function calculoFrete(cep){
		
			$.ajax({
				type: 'POST',
				dataType: 'xml',
				cache: false,
				url: 'metodos.php?x=frete',
				data: "cep="+cep,
				success: function(data) {
					if($(data).find('result')){
						if($(this).find('success')){
							$(data).find('entrega').each(function() {
							
								var value = $(this).find('value').text();
								$(data).find('carrinho').each(function() {
								
									var value = $(this).find('value').text();
									var calculo = $(this).find('dividido').text();
									
									$('#totalValor').html(value);
									$('#dividido').html(calculo);
								});
								
								$('#priceFreight').html(value);
								$('#btnfinalizarCompra').css('visibility','visible');
							});
						}
					}
				},
				error: function(erro,errorThrown){
					
				}
			});
		}
		
		
		// Rotina para gerar uma prévia do carrinho
		function calculaCarrinho(){
			$.ajax({
				type: 'POST',
				dataType: 'xml',
				cache: false,
				url: 'metodos.php?x=calculaCarrinho',
				data: "teste=teste",
				success: function(data) {
					if($(data).find('result')){
						if($(this).find('success')){
							$(data).find('carrinho').each(function() {
							
								var value = $(this).find('value').text();
								var quantidadeItens = $(this).find('items').text();
								$('.itemsCart').html(quantidadeItens);
								$('.priceCart').html(value);
								
							});
						}
					}
				},
				error: function(erro,errorThrown){
					
				}
			});
		}
		
		// Rotina para adicionar produto no carrinho
		function adicionar(idProduto,qtd,color){
			$.ajax({
				type: 'POST',
				dataType: 'text',
				cache: false,
				url: 'metodos.php?x=addCart',
				data: "idProduto="+idProduto+"&qtd="+qtd+"&color="+color,
				success: function(data) {					
					calculaCarrinho();
				},
				error: function(erro,errorThrown){
					
				}
			});
		}
		
		// Rotina para alterar a quantidade de produtos do carrinho
		function updateCookie(idProduct,qtd){
			$.ajax({
				type: 'POST',
				dataType: 'text',
				cache: false,
				url: 'metodos.php?x=removeProductCart',
				data: "idProduto="+idProduct+"&qtd="+qtd,
				success: function(data) {
					
					// Recarrega a pagina
					window.location.reload();
				},
				error: function(erro,errorThrown){
					
				}
			});
		
		}
		
		return this.each(function(){
		
			calculaCarrinho();
			
			// Click no botão de exlusão de um produto do carrinho
			$('.deleteProduct').click(function(){
				
				// Recupera o idProduct
				rel = $(this).attr('rel');				
				
				// Chama o ouvinte de alteração de produtos
				updateCookie(rel,0);
				
			});
			
			// Aumenta a quantidade de um produto do carrinho
			$('.quantidade').blur(function(){
				
				// Recupera o idProduct
				rel = $(this).attr('rel');				
				
				// Recupera a quantidade a ser alterada
				qtd = $(this).attr('value');
				
				// Chama o ouvinte de alteração de produtos
				updateCookie(rel,qtd);
				
			});
		});
	}
});
