// --------------------------------------------------------------
// Atualiza a quantidade de itens e valores do carrinho
// --------------------------------------------------------------
function recalcular()
{
	Ext.get(document.body).mask('Recalculando preço ...','x-mask-loading');
	var formComprar = document.getElementById('frmCarrinho');
	formComprar.target = "branca";
	formComprar.action = "iframe.php?acao=recalcular";
	formComprar.submit();
}

// --------------------------------------------------------------
// Calcula o valor do frete
// --------------------------------------------------------------
function frete(aValor, aPeso, parcelas)
{
	var oCEP = document.getElementById('cep1').value + document.getElementById('cep2').value;
	if (oCEP.length != 8) {
		window.alert('Por favor preencha corretamente o CEP!');
	} else {
		Ext.get(document.body).mask('Calculando Frete ...','x-mask-loading');
		if (parseInt(aPeso) >= 30) aPeso = '29,99';
		var ajax = new Ext.data.Connection().request({
			url: 'pages/carrinho/frete.php',
			method: 'GET',
			params: {cep: oCEP, peso: aPeso, valor: aValor},
			callback: function(options, success, response) {
				if (success == true) {
					var retorno = Ext.util.JSON.decode(response.responseText);
					
					document.getElementById('valorFrete').value = parseFloat(retorno.Endereco_Frete.replace('.','').replace(',','.'));
					document.getElementById('infoFrete').innerHTML = String.format('{0} - {1}', retorno.cidade, retorno.estado);
					document.getElementById('infoValorFrete').innerHTML = String.format('R$ {0}', retorno.Endereco_Frete);

					if (parcelas == true) preencheParcelas();

					var valorFinal = parseFloat(document.getElementById('valorTotalDoPedido').value) + parseFloat(retorno.Endereco_Frete.replace('.','').replace(',','.'));
					document.getElementById('valorTotalPedido').innerHTML = 'R$ ' + number_format(valorFinal, 2, ',', '.');
				}
				Ext.get(document.body).unmask();
			}
		});
	}
}

// --------------------------------------------------------------
// Preenche a quantidade de parcelas do produto
// --------------------------------------------------------------
function preencheParcelas()
{
	var maxParcelas = document.getElementById('maxParcelas').value;
	var valorFinal = parseFloat(document.getElementById('valorTotalDoPedido').value) + (parseFloat(document.getElementById('valorFrete').value || 0));
	document.getElementById('parcelas').options.length = 1;
	for (var i=1; i<=maxParcelas; i++) {
		var valorParcela = valorFinal / i;
		var strOption = i+'x sem juros de R$ '+number_format(valorParcela, 2, ',', '.');
		document.getElementById('parcelas').options[i] = new Option(strOption, i);
	}
}

// --------------------------------------------------------------
// Alteração da forma de pagamento
// --------------------------------------------------------------
function alteraFormaPgto(el)
{
	document.getElementById('infoValorDesconto').innerHTML = '<font color="#ff0000">R$ -0,00</font>';
	document.getElementById('infoDesconto').style.display = 'none';
	var valorFinal = parseFloat(document.getElementById('valorTotalDoPedido').value) + (parseFloat(document.getElementById('valorFrete').value || 0));
	document.getElementById('valorTotalPedido').innerHTML = 'R$ '+number_format(valorFinal, 2, ',', '.');
	switch(el.value) {
		case '1':
		case '2':
		case '3':
			document.getElementById('selParcelas').style.display = 'block';
			preencheParcelas();
		break;
		case '4':
		case '5':
			document.getElementById('selParcelas').style.display = 'none';
			document.getElementById('infoDesconto').style.display = 'block';
			calculaDesconto();
		break;	
	}
}

// --------------------------------------------------------------
// Calcula o desconto para pagamentos com Boleto e Transf. Eletr.
// --------------------------------------------------------------
function calculaDesconto()
{
	Ext.get(document.body).mask('Calculando Desconto ...','x-mask-loading');
	var ajax = new Ext.data.Connection().request({
		url: 'pages/confirmacao/ajax.php',
		method: 'GET',
		params: {acao: 'desconto'},
		callback: function(options, success, response) {
			if (success == true) {
				var retorno = Ext.util.JSON.decode(response.responseText);
				var valorPedido = parseFloat(document.getElementById('valorTotalDoPedido').value);
				var desconto = (valorPedido * parseFloat(retorno.valor)) / 100;
				document.getElementById('infoValorDesconto').innerHTML = '<font color="#FF0000">R$ -'+number_format(desconto, 2, ',', '.')+'</font>';
				var frete = (document.getElementById('valorFrete').value != '') ? document.getElementById('valorFrete').value : 0;
				var valorFinal = (parseFloat(document.getElementById('valorTotalDoPedido').value) - desconto) + parseFloat(frete);
				
				document.getElementById('valorTotalPedido').innerHTML = 'R$ '+ number_format(valorFinal, 2, ',', '.');
			}
			Ext.get(document.body).unmask();
		}
	});
}