/*
Função soma_valores
Calcula Produtos em tempo real que estão no carrinho.
Testada IE/Firefox
*/
//********************** Cálculos Carrinho de Compras ***********************************
d = document;
function soma_valores(divId,Preco,intQtdeAtual){
	
	var qtde_soma;
	var qtde = parseInt(d.getElementById('qtde_' + divId).value);
	var vl_preco = parseFloat(Preco);
	var soma_subvalor = qtde * vl_preco;
	soma_valor_total = 0;
	var vl_total_prod = 0;


	d.getElementById('vr_total_prod_' + divId).value = formatNumber(soma_subvalor.toString());
	d.getElementById('subtotal_produto_' + divId).innerHTML = formatCurrency(soma_subvalor.toString());

	for(i=0; i < d.getElementsByName('vr_total_prod').length; i++){
		vl_total_prod = d.getElementsByName('vr_total_prod')[i].value;
		soma_valor_total += parseFloat(vl_total_prod);
	}
	
	d.getElementById('vr_SubTotal').value = soma_valor_total;
	d.getElementById('subtotal_compra').innerHTML=formatCurrency(soma_valor_total.toString());
	
}

/*
Função calculaResultadoFinal
Calcula valor total + frete correios, e calcula compras no cartão (específico Artesanato e Cia)
Atenção: Informar variável global vl_parcela_cartao, antes de chamar a função
*/
function calculaResultadoFinal(){
	var vl_total_compra = parseFloat(d.getElementsByName('vr_SubTotal')[0].value);
	var vl_total_frete = parseFloat(d.getElementsByName('vl_frete')[0].value);
	var vl_total = parseFloat(vl_total_compra + vl_total_frete);

	d.getElementById('total_compra').innerHTML = formatCurrency(vl_total.toString());
	
	var vlParcelaCartao = parcelaCartaoCredito(vl_total_compra,27.90,3)

	if(vlParcelaCartao ==  false){
		d.getElementById('info_cartao').innerHTML='P';
	}
	else{
		d.getElementById('info_cartao').innerHTML = 'Parcelado em <span style="font-weight:bold;">3x</span> de <span style="font-weight:bold;">' + formatCurrency(vlParcelaCartao.toString()) + '</span> no cart&atilde;o sem juros.<br /> Ou p';
	}
}

/*
Função recupera_qtde
Quando o campo quantidade for vazio ou igual a 0 retorna o valor anterior.
Testado em IE/Firefox
*/
function recupera_qtde(divId,qtdeAtual,preco){
	var qtde = d.getElementById('qtde_'+ divId).value;

	if(qtde == '' || qtde == 0){
		d.getElementById('qtde_'+ divId).value = qtdeAtual;
	}

	if(preco != 0){
		temporiza_function(divId,preco,qtdeAtual,200);
	}


}

function temporiza_function(divId,Preco,qtdeAtual,Tempo){	
	setTimeout('soma_valores(' + divId + ',' + Preco + ',' + qtdeAtual + ');',Tempo);
}
//********************** Cálculos Carrinho de Compras ***********************************


/*
********************** Atualizar Produtos *********************************************
Função atualizar_produtos
Quando acionada pesquisa pelo elemento 'qtde' do form, da um looping e pega os resultados individuais via getElementById.
Testado em IE/Firefox
*/
function atualizar_produtos(){
	var intContador = 0;
	var blnPostar = true;

	if (blnEdicao){
		alert('Não é possível atualizar os itens neste momento conclua a edição !');
	}
	else{

		for(i=0; i < d.getElementsByName('qtde').length; i++){
			if(d.getElementsByName('qtde')[i].value == "0"){
				d.getElementsByName('qtde')[i].value = '1';
				d.getElementsByName('qtde')[i].focus();
				alert('É necessário preencher o campo quantidade corretamente!');
				blnPostar = false;
			}
		}

		if(blnPostar){
			d.getElementsByName('frm_carrinho')[0].action = 'Default.asp?Sessao=Atualiza_Produtos';
			d.getElementsByName('frm_carrinho')[0].submit();
		}
	}
}
//********************** Atualizar Produtos *********************************************

/*
********************** Função de Update que mostra layer na Quantidade ****************
Funcão atualizar_qtde_individual
Verifica alteração na quantidade do produto e colocar um botão de update em tela.
Testado em IE/Firefox
*/
function atualizar_qtde_individual(qtdeAtual,intContLayer){
	var int_Qtde = parseInt(document.getElementById('qtde_' + intContLayer).value);

	if(parseInt(qtdeAtual) != parseInt(int_Qtde)){
		document.getElementById('mensagem_update_'+ intContLayer).style.display='block';
	}
	else if(parseInt(qtdeAtual)==parseInt(int_Qtde)){
		document.getElementById('mensagem_update_'+ intContLayer).style.display='none';
	}
}
//********************** Função de Update que mostra layer na Quantidade ****************

/*
Temporiza as funções para pegar o valor do campo qtde atualizado, função dependente da atualizar_qtde_individual.
Testado em IE/Firefox
*/
function temporizadorJs(qtdeAtual,intContLayer,tempo){
	setTimeout('atualizar_qtde_individual(' + qtdeAtual + ',' + intContLayer + ');',tempo);
}

/*
Marca todos checkbox e desmarca.
Testado em IE/Firefox
*/
function marcaCheckBox(){	
	for(i=0; i < d.getElementsByName('check_produto').length; i++){
		if(d.getElementsByName('checkTodos')[0].checked){
			d.getElementsByName('check_produto')[i].checked = true;
		}
		else if(!d.getElementsByName('checkTodos')[0].checked){
			d.getElementsByName('check_produto')[i].checked = false;
		}
	}
}

function excluir_prod_carrinho(){
	var blnPostar = false;

	for(i=0; i < d.getElementsByName('check_produto').length; i++){
		if(d.getElementsByName('check_produto')[i].checked){
			blnPostar = true;
			break;
		}
	}

	if(!blnPostar){
		alert('Selecione um produto para excluir!');
	}
	else{
		d.getElementsByName('frm_carrinho')[0].action = 'Default.asp?Sessao=Excluir_Produto_Carrinho';
		d.getElementsByName('frm_carrinho')[0].submit();
	}
}


/*
Altera cor de fundo das linhas grid carrinho zebrado
Testado em IE/Firefox
*/

function seleciona_celula(id){
	if(id != "todos"){
		if(d.getElementById('check_produto_' + id).checked){
			if((id % 2) == 0){
				d.getElementById('col_' + id).style.backgroundColor = '#efefef';
			}
			else{
				d.getElementById('col_' + id).style.backgroundColor = '#f8f8f8';
			}
		}
		else{
			d.getElementById('col_' + id).style.backgroundColor = '#FFFFFF';
		}		
	}
	else{
		var frmCheckProduto = d.getElementsByName('check_produto');

		for(i = 0; i < frmCheckProduto.length; i++){
			if(d.getElementsByName('checkTodos')[0].checked){
				if((i % 2) == 0){
					d.getElementById('col_' + i).style.backgroundColor = '#efefef';
				}
				else{
					d.getElementById('col_' + i).style.backgroundColor = '#f8f8f8';
				}
			}
			else if(!d.getElementsByName('checkTodos')[0].checked){
				d.getElementById('col_' + i).style.backgroundColor = '#FFFFFF';
			}
			
		}

	}
}
