//POP UP
var popUpWin=0;
function PopUp(URLStr, left, top, width, height){if(popUpWin){if(!popUpWin.closed) popUpWin.close();}popUpWin = open(URLStr, 'BuscaCEP', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');}
//getElementById
function GID(ID){return document.getElementById(ID);}
//getElemntByName
function GName(N){return document.getElementsByName(N);}
//Replace
function R(Obj){return Obj=Obj.replace('R$','').replace(' ','').replace(',','.');}
//Calcula o total
var req = true;
function CalcTotal(){
	var VF=0;var VS=0; var Total=0;	

	var fretes = GName('Carrinho:RdbFrete');
	for (var i=0; i<fretes.length; i++)
		if (fretes[i].checked)
			for (var f=0; f<arrFretes.length; f++)
				if (fretes[i].value==arrFretes[f][3])
					if (arrFretes[f][2].indexOf('tis')==-1)
						{
							if (arrFretes[f][3] == 6)
								VF = 0;
							else
								VF = R(arrFretes[f][2]);
						}
	if(GID('Carrinho_HSubTotal').value!=''){		
		//VS=parseFloat(GID('Carrinho_HSubTotal').value);
		//Valores inferiores a 0.5 o parseFloat estava arredondando para 0
		VS= R(GID('Carrinho_HSubTotal').value);
		/*Soma o valor do frete + valor do subtotal e formata em moeda*/		
		var total = parseFloat(VF)+parseFloat(VS);
		GID('Carrinho_LblTotal').innerHTML = FormataValorCarrinnho(total);
//		Carrinho.Currency(VF, VS, Currency_Callbak);
	}
}
/*
	Esta função estava entrando em conflito 
	com outra de mesmo nome, para solucionar 
	o problema, acrescentei o nome Carrinho.
	Antes =>function FormataValor(strValue)
*/
function FormataValorCarrinnho(strValue)
{
	//FUNÇÃO OBTIDA EM
	//http://www.sonofsofaman.com/hobbies/code/js/formatcurrency.asp
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
	{
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+'.'+
		dblValue.substring(dblValue.length-(4*i+3));
	}
	return (((blnSign)?'':'-') + 'R$ ' + dblValue + ',' + strCents);
}

//Limpa os campos
function LimpaCampos(){
	GID('LblEndEntrega').style.visibility='hidden';
	GID('DivValoresEncomendas').style.visibility='hidden';
	GID('DivValoresEncomendas').style.height='1px';
}
//Calcula o valor dos fretes e preenche o endereco
function DadosFrete(){
	LimpaCampos();
	var CEP=GID('Carrinho_IF_EdtCep_t').value;
	if(CEP==''){
		LimpaCampos();
		alert('Preecha o campo CEP');
		return false;
	}			
	Carrinho.GetEnderecoEntrega(CEP, EnderecoEntrega_Callback);
}

var arrFretes;
function CalculaFrete_Callback(r)
{
	
	try{
		arrFretes = r.value;
		var itens = document.getElementsByName('Carrinho:RdbFrete');
		
		var fretes = document.getElementsByName('lblFretes'); //GName('lblFretes');
		for (var f=0; f<fretes.length; f++){
			fretes[f].innerHTML = " - Não disponível para o endereço de entrega.";
			//GID(fretes[f].id + "_span").style.display='none';
		}
		
		if (r.value==null){
			return;
		}
		
		
		for (var i=0; i<r.value.length; i++)
		{
			var lbl = document.getElementById(r.value[i][0]);	
			
			if (lbl == undefined)
			{
				validaCamposDisponiveis(r.value[i][0]);
				lbl = document.getElementById(r.value[i][0]);	
			}			
			lbl.innerHTML = "";				
		
			if (r.value[i][2] !== '-1' )		
				lbl.innerHTML = ' - ' + r.value[i][2];			
			if (r.value[i][1]>1)
				lbl.innerHTML += ' - Prazo de entrega de até ' + r.value[i][1] + ' dias úteis';
			if (r.value[i][1]==1)
				lbl.innerHTML += ' - Prazo de entrega de até ' + r.value[i][1] + ' dia útil';			
			if (r.value[i][4] != undefined)
				lbl.innerHTML += ' - ' + r.value[i][4] + ' ';
			
			for (var n=0; n<itens.length; n++)
				if (itens[n].value == r.value[i][3]){
					itens[n].disabled=false;
				}
		}
		apagaLogisticaNaoUsada();
	}
	catch(erro)
	{
		var descricao = erro.description;
	}
}

function validaCamposDisponiveis(campo)
{		
	var tblFretes = document.getElementById('Carrinho_RdbFrete');
	if (tblFretes!=null){		
		var novaTable = tblFretes.insertRow(0);
		var novoMeioPagamento = novaTable.insertCell(0);

		switch(campo)
		{
		case 'e_Sedex':
			 novoMeioPagamento.innerHTML = '<input id="Carrinho_RdbFrete_0" type="radio" name="Carrinho:RdbFrete" value="3" /><label for="Carrinho_RdbFrete_0">e-Sedex <span id="e_Sedex" name="lblFretes"></span></label>';
			  break;    
		case 'Sedex':
			  novoMeioPagamento.innerHTML = '<input id="Carrinho_RdbFrete_1" type="radio" name="Carrinho:RdbFrete" value="2" /><label for="Carrinho_RdbFrete_1">Sedex <span id="Sedex" name="lblFretes"></span></label>';
			  break;
		case 'Entrega_Expressa':
			  novoMeioPagamento.innerHTML = '<input id="Carrinho_RdbFrete_2" type="radio" name="Carrinho:RdbFrete" value="5" /><label for="Carrinho_RdbFrete_2">Entrega Expressa <span id="Entrega_Expressa" name="lblFretes"></span></label>';
			  break;
		case 'PAC':
			  novoMeioPagamento.innerHTML = '<input id="Carrinho_RdbFrete_3" type="radio" name="Carrinho:RdbFrete" value="4" /><label for="Carrinho_RdbFrete_3">PAC <span id="PAC" name="lblFretes"></span></label>';
			  break;
		case 'Frete_Gratis':
			  novoMeioPagamento.innerHTML = '<input id="Carrinho_RdbFrete_4" type="radio" name="Carrinho:RdbFrete" value="6" /><label for="Carrinho_RdbFrete_4">Frete Grátis <span id="Frete_Gratis" name="lblFretes"></span></label>';
			  break;
		}	
	}
}

/*
	Otimização para exibir na tela
	somente a logística disponível
	para click.
	Ivan Nascimento - 14.07.08
*/
function apagaLogisticaNaoUsada()
{
	var itens = document.getElementsByName('Carrinho:RdbFrete');
	for (var n=itens.length-1; n>-1; n--)	
		if (itens[n].disabled != false)
			deleteRow(GID(itens[n].id).parentNode.parentNode.rowIndex);	
}

function deleteRow(i){
	document.getElementById('Carrinho_RdbFrete').deleteRow(i);
}



//CallBackPreenche o campo total
function Currency_Callbak(response){GID('Carrinho_LblTotal').innerHTML=response.value;}
//CallBack do Endereco de Entrega
function EnderecoEntrega_Callback(response){
	GID('LblEndEntrega').innerHTML=response.value;
	//Mostra ou esconde os valores do frete
	if(GID('LblEndEntrega').innerHTML != 'ENDEREÇO NÃO ENCONTRADO.'){
		GID('LblEndEntrega').style.visibility='visible';
		GID('DivValoresEncomendas').style.visibility='visible';
		GID('DivValoresEncomendas').style.height='';
		
		var CEP=GID('Carrinho_IF_EdtCep_t').value;
		//Valor da Encomenda normal
		var fretes = GName('lblFretes');
		for (var f=0; f<fretes.length; f++)
		{
			fretes[f].innerHTML = ' - Calculando frete... <img src="/_img/carregando.gif">';			
		}
		var rad = GName('Carrinho:RdbFrete');
		for (var r=0; r<rad.length; r++)
			rad[r].disabled = true;

		Carrinho.CalculaFrete(CEP, CalculaFrete_Callback);
	}
	else{
		LimpaCampos();
		GID('LblEndEntrega').style.visibility='visible';
	}
}

/*
Sugestão de Implementação de DIV para controle de 
Visibilidade das opções de Frete.

function layerWrite(txt){
	txt +="\n";
	if(ns4){
		var lyr=oframe.document.overDiv.document;
		lyr.write(txt);
		lyr.close();
	}else if(ie4){
		oframe.document.all["overDiv"].innerHTML=txt;
	}else if(ns6){
		range=oframe.document.createRange();
		range.setStartBefore(over);
		domfrag=range.createContextualFragment(txt);
		while(over.hasChildNodes()){
			over.removeChild(over.lastChild);
		}
		over.appendChild(domfrag);
	}
}

//Teste
var ns4=(navigator.appName=='Netscape' && parseInt(navigator.appVersion)==4);
var ns6=(document.getElementById)? true:false;
var ie4=(document.all)? true:false;
*/
function isNumber(e, obj){
	var e = e || event;
	var k = e.keyCode || e.which;
	return (k >= 48 && k <= 57) || (k >= 37 && k <= 40) || k == 46 || k == 8;
}
