/**********************************************************
 Gostou deste script?
 Ele é de propriedade da inTarget Software e sua cópia 
 integral ou parcial são expressamente proibidas.

        Data: 19/04/2006
 Responsável: Alexandre Giordani
     Empresa: inTarget Software Ltda

**********************************************************/


var iQuantTotal = new Number;

function numerico(e){
		if (document.all) // Internet Explorer
			var tecla = event.keyCode;
	 	else if(document.layers) // Nestcape
	  		var tecla = e.which;
	  	if (tecla > 47 && tecla < 58) // numeros de 0 a 9
	   		return true;
	  	else{
			if (tecla != 8) // backspace
		 		event.keyCode = 0;
		 		//return false;
			else
		 		return true;
	  	 }
	}

	function decimal(e){
		if (document.all) // Internet Explorer
			var tecla = event.keyCode;
		else if(document.layers) // Nestcape
			var tecla = e.which;
	  
		if (tecla > 47 && tecla < 58) // numeros de 0 a 9
			return true;
		else{
			if (tecla != 8 && tecla != 44) // backspace e virgula
	   			event.keyCode = 0;
	   			//return false;
	 		else
	   			return true;
	 	}
	}		

function contrItem(id){
	if (document.getElementById("selecao_" + id).checked){
		adicionarItem(id);
	} else {
		removerItem(id);
	}
}

function removerItem(id){
	document.getElementById("qtd_" + id).value = "0";
	document.getElementById("selecao_" + id).checked = false;
	recalcularItem(id);
	recalcularTotal();
}

function adicionarItem(id){
	document.getElementById("qtd_" + id).value = "1";
	document.getElementById("selecao_" + id).checked = true;
	recalcularItem(id);
	recalcularTotal();
}

function recalcularItem(id){
	var qtd = new Number( document.getElementById("qtd_" + id).value );
	var valor = new Number( String( document.getElementById("preco_" + id).value ).replace(",",".").valueOf() ); 	
	
	document.getElementById("total_" + id).value = fix( Number(qtd).valueOf() * Number(valor).valueOf() ,2 );
	recalcularTotal();
}

function recalcularTotal(){
	var acum = new Number;
	var dPedMinimoCIF = 0;
	iQuantTotal = 0;
	
	for (var i = 1; i <= document.cesta_produtos.total_itens.value ; i++){
		acum = acum + Number(document.getElementById("total_" + i).value).valueOf();
		iQuantTotal = iQuantTotal + Number(document.getElementById("qtd_" + i).value).valueOf()
	}
	
	document.cesta_produtos.iQuantItens.value = iQuantTotal;
	
	//CALCULA FRETE GRATIS - POR VALOR DOS PRODUTOS
	/*if (acum >= 450){
		document.cesta_produtos.frete.value = "0.00";
		document.cesta_produtos.sMensagem.value = "(SEU FRETE É POR NOSSA CONTA)";
	} else {
		document.cesta_produtos.frete.value = "50.00";	
		document.cesta_produtos.sMensagem.value = "(Compras acima de R$450: Frete Grátis)";
	}
	
	//CALCULA FRETE GRATIS - POR QUANTIDADE DE CAIXAS	
	if (iQuantTotal >= 10){
		document.cesta_produtos.frete.value = "0.00";
		document.getElementById('divObs').innerHTML = "<b>Seu frete é por nossa conta!</b>";
	} else {
		document.cesta_produtos.frete.value = document.cesta_produtos.sDescrFrete.value;
		document.getElementById('divObs').innerHTML = "";
	}*/
	
	
	//CALCULA FRETE GRATIS - POR ESTADO E QUANTIDADE
	switch(document.cesta_produtos.sDescrFrete.value){
		case "AC":
			dPedMinimoCIF = 400;
			dValorFrete   = 55;
			break;
		case "AL":
			dPedMinimoCIF = 400;
			dValorFrete   = 55;
			break;
		case "AM":
			dPedMinimoCIF = 400;
			dValorFrete   = 70;
			break;
		case "AP":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "BA":
			dPedMinimoCIF = 400;
			dValorFrete   = 55;			
			break;
		case "CE":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "DF":
			dPedMinimoCIF = 400;
			dValorFrete   = 47;
			break;
		case "ES":
			dPedMinimoCIF = 400;
			dValorFrete   = 49;
			break;
		case "GO":
			dPedMinimoCIF = 400;
			dValorFrete   = 50;
			break;
		case "MA":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "MG":
			dPedMinimoCIF = 400;
			dValorFrete   = 49;
			break;
		case "MS":
			dPedMinimoCIF = 400;
			dValorFrete   = 45;		
			break;
		case "MT":
			dPedMinimoCIF = 400;
			dValorFrete   = 50;
			break;
		case "PA":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "PB":
			dPedMinimoCIF = 400;
			dValorFrete   = 60;
			break;
		case "PE":
			dPedMinimoCIF = 400;
			dValorFrete   = 60;
			break;
		case "PI":
			dPedMinimoCIF = 400;
			dValorFrete   = 62;
			break;
		case "PR":
			dPedMinimoCIF = 400;
			dValorFrete   = 30;
			break;
		case "RJ":
			dPedMinimoCIF = 400;
			dValorFrete   = 45;
			break;
		case "RN":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "RO":
			dPedMinimoCIF = 400;
			dValorFrete   = 59;
			break;
		case "RR":
			dPedMinimoCIF = 400;
			dValorFrete   = 68;
			break;
		case "RS":
			dPedMinimoCIF = 400;
			dValorFrete   = 18;
			break;
		case "SC":
			dPedMinimoCIF = 400;
			dValorFrete   = 28;
			break;
		case "SE":
			dPedMinimoCIF = 400;
			dValorFrete   = 59;
			break;
		case "SP":
			dPedMinimoCIF = 400;
			dValorFrete   = 39;
			break;
		case "TO":
			dPedMinimoCIF = 400;
			dValorFrete   = 55;
			break;
		/*default:
			document.getElementById('divObs').innerHTML = "<b>Frete</b>";
			dPedMinimoCIF = 0;	*/
	}

	
	
	if (acum != 0 && acum >= dPedMinimoCIF){ //acum ou iQuantTotal
		document.cesta_produtos.frete.value = "0.00";
		document.getElementById('divObs').innerHTML = "<b>Seu frete é por nossa conta!</b>";
	} else {
		document.cesta_produtos.frete.value = dValorFrete;
		document.getElementById('divObs').innerHTML = "Frete Grátis para "+ document.cesta_produtos.sDescrFrete.value +" nos pedidos acima de R$"+ dPedMinimoCIF +",00.";
	}
	
	//SOMAR VALOR DO FRETE COM O RESTANTE DO PEDIDO
	document.cesta_produtos.frete.value = fix(document.cesta_produtos.frete.value,2);
	acum = acum + Number(document.cesta_produtos.frete.value).valueOf();
	
	document.cesta_produtos.total_geral.value = fix(acum,2);
}

function fix(num,places){
	shift = Math.pow(10,places);

	totalDecimal = "" + Math.round(num * shift);
	integer = totalDecimal.substring(0,totalDecimal.length - places );
	decimal = totalDecimal.substring(totalDecimal.length - places,totalDecimal.length - places + 2);
	if (integer == ""){ integer = "0"; }
	if (decimal == "0"){ decimal = "00"; }
	return(integer + "." + decimal);
}

function formValidate(){
	var ok = false;
	for (var i = 1; i <= document.cesta_produtos.total_itens.value ; i++){
		if (document.getElementById("selecao_" + i).checked){ ok = true }
	}
	
	if (ok){
		return true
	} else {
		alert("Selecione ao menos um Item!");
		return false
	}
}
