var comprar = false;

function adicionaItemCarrinho( pobj, pcodprd, pqtdite, pcomprar, pgarantia, paceito ) {
	
	var requestEnd;
	var param = 'false';
	if (pcomprar) {
		param = 'true'
	}
	
	if(pgarantia == undefined){
		document.getElementById('codprdgar').value = pcodprd;
		requestEnd = ajaxRequestCC( new Array( 'c', pcodprd, 'q', pqtdite, 'p', param), 
			            'POST', 
				        end_carrinho_geral_ajaxadicionaitem, 
				        callbackAdicionaItemCarrinho,
						exceptionAdicionaItemCarrinho );
	}else{
		pcodprd = document.getElementById('codprdgar').value;
		requestEnd = ajaxRequestCC( new Array( 'c', pcodprd, 'q', pqtdite, 'p', param, 'g', pgarantia, 'a', paceito), 
			            'POST', 
				        end_carrinho_geral_ajaxadicionaitem, 
				        callbackAdicionaItemCarrinho,
						exceptionAdicionaItemCarrinho );
	}
	
	if (requestEnd) {
		
		var divGeralLoading = document.getElementById('divGeralLoading2');
		var mpos = findPos( pobj );
		divGeralLoading.style.left = ( mpos[0] + 30 ) + 'px'; 
		divGeralLoading.style.top  = ( mpos[1]      ) + 'px';
		divGeralLoading.style.display = 'block';
		if(pgarantia == undefined){
			document.getElementById('divGarantiaEstendida').style.left = ( mpos[0] - 250) + 'px';
			document.getElementById('divGarantiaEstendida').style.top = ( mpos[1]) + 'px';
		}
		
		document.getElementById('divImgCarrinho').style.display = 'block';
		carrinhoMouseOver();
    } else {
		alert("Aguarde requisição atual!");
	}
	
}

function cancelarAddItemCarrinho(){
	if(document.getElementById('codprdgar') != null)
		document.getElementById('codprdgar').value = "";
	if(document.getElementById('opcaoGarantia') != null)
		document.getElementById('opcaoGarantia').value = '';
	document.getElementById('divGarantiaEstendida').style.display = 'none';	
	document.getElementById('opcoesGarantia').innerHTML = ''
	
}

function comprar( pobj, pcodprd, pqtdite, pgarantia ){
	adicionaItemCarrinho(pobj, pcodprd, pqtdite, true, pgarantia);
}

function adicionaItemCarrinho2( pobj, pcodprd, pcodprd2, pqtdite, pcomprar ) {
	
	var param = 'false';
	if (pcomprar) {
		param = 'true'
	}

	var produtos = '';
	produtos = pcodprd + ',' + pcodprd2;
	
	if ( ajaxRequestCC( new Array( 'c', produtos, 'm', 'true', 'p', param ), 
	                    'POST', 
						end_carrinho_geral_ajaxadicionaitem,
				        callbackAdicionaItemCarrinho ) ) {

		var divGeralLoading = document.getElementById('divGeralLoading2');
		var mpos = findPos( pobj );
		divGeralLoading.style.left = ( mpos[0] + 30 ) + 'px'; 
		divGeralLoading.style.top  = ( mpos[1]      ) + 'px';
		divGeralLoading.style.display = 'block';
		
		document.getElementById('divImgCarrinho').style.display = 'block';
		carrinhoMouseOver();
    }
	
}


function adicionaSelecionadosCarrinho(){

	var produtos = '';
	var chkSelecao = document.getElementsByName('chkAdicionarProduto[]');
	
	for (var i = 0; i < chkSelecao.length; i++) {
		if (chkSelecao[i].checked) {
			if (produtos != '') produtos = produtos + ',';
			produtos = produtos + chkSelecao[i].value;
		}
	
	
	}
	if (produtos == '') {
		alert('Selecione alguns produtos!');
		return;
	}
	
	if ( ajaxRequestCC( new Array( 'c', produtos, 'm', 'true' ), 
	                    'POST', 
						end_carrinho_geral_ajaxadicionaitem,
				        callbackAdicionaItemCarrinho ) ) {
		
		document.getElementById('divImgCarrinho').style.display = 'block';
		carrinhoMouseOver();
    }
	
}


function exceptionAdicionaItemCarrinho(response){
	ajaxPendente = false;
	var divGeralLoading = document.getElementById('divGeralLoading2');
	divGeralLoading.style.display = 'none';
	document.getElementById('divImgCarrinho').style.display = 'none';
	
	alert('Desculpe. Houve um problema no processamento de sua solicitação. (' + cod + ')'); 		
	
}
function callbackAdicionaItemCarrinho( response ){

	ajaxPendente = false;
	var jsonData = eval('(' + response + ')');

	if(jsonData.garantia != undefined){
		exibeOpcoesGarantia(jsonData.garantia)
		return;
	}
	
	var divGeralLoading = document.getElementById('divGeralLoading2');
	divGeralLoading.style.display = 'none'; 		
	document.getElementById('divImgCarrinho').style.display = 'none';

	if ( jsonData.erro != undefined ) {
		alert( jsonData.erro );
		return;
	}else
		document.getElementById('opcaoGarantia').value = '';
	
	document.getElementById('aceito').checked = false;
	
	document.getElementById('divGarantiaEstendida').style.display = 'none';
	
	document.getElementById('carrinhoQuantidade').innerHTML = jsonData.carrinho.itens ;
	document.getElementById('carrinhoValor').innerHTML = jsonData.carrinho.total;
	
	var divProduto = document.getElementById('produto' + jsonData.carrinho.produtoAdicionado); 
	
	
	if ( jsonData.carrinho.multiplos == 'true' ) {
		
		var codprds = jsonData.carrinho.produtosAdicionados;
		
		for(var i = 0; i < codprds.length; i++) {
			checkBox = document.getElementById('chkAdicionarProduto' + codprds[i] );
			if ( checkBox != null ) {
				checkBox.checked = false;
			}
		}		
	}
	
	if ( jsonData.carrinho.comprar == 'true' ) {
		
		window.location.href = end_carrinho_geral_carrinho;
		return;
	}  
	
}

function exibeOpcoesGarantia( garantia ){
	var divGarantiaEstendida = document.getElementById('divGarantiaEstendida'); 
	document.getElementById('aceito').checked = false;
	divGarantiaEstendida.style.display = 'block';
	comprar = (garantia.comprar == "true");
	document.getElementById('opcoesGarantia').innerHTML = garantia.opcoes;
	document.getElementById('divGeralLoading2').style.display = 'none'; 		
	document.getElementById('divImgCarrinho').style.display = 'none';
}

function marcarGarantia( valor ){
	document.getElementById('opcaoGarantia').value = valor;
}