var cor_OK = '#DEFCC2';
var cor_ERRO = '#FFD7D7';

function limpa_campo(S){
var Digitos = "0123456789";
var temp = "";
var digito = "";
    for (var i=0; i<S.length; i++){
      digito = S.charAt(i);
      if (Digitos.indexOf(digito)>=0){temp=temp+digito}
    }
    return temp
}
                
function verifica_CPF(s)
{       
        var i;  
        s = limpa_campo(s);
        var c = s.substr(0,9);
        var dv = s.substr(9,2);
        var d1 = 0;
        for (i = 0; i < 9; i++)
        {
                d1 += c.charAt(i)*(10-i);
        }
        if (d1 == 0) return false;
        d1 = 11 - (d1 % 11);
        if (d1 > 9) d1 = 0;
        if (dv.charAt(0) != d1)
        {       
                return false;
        }
        
        d1 *= 2;
        for (i = 0; i < 9; i++)
        {
                d1 += c.charAt(i)*(11-i);
        }
        d1 = 11 - (d1 % 11);
        if (d1 > 9) d1 = 0; 
        if (dv.charAt(1) != d1)
        {
                return false;
        }
        return true;
}

function validEmail(email) {
	invalidChars = " /:,;"
	if (email == "") {						// cannot be empty
		return false
	}
	for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
		badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) > -1) {
			return false
		}
	}
	atPos = email.indexOf("@",1)			// there must be one "@" symbol
	if (atPos == -1) {
		return false
	}
	if (email.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
		return false
	}
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1) {					// and at least one "." after the "@"
		return false
	}
	if (periodPos+3 > email.length)	{		// must be at least 2 characters after the "."
		return false
	}
	return true
}

function verifica_CNPJ(s)
{
	var i;
	s = limpa_campo(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)
	{
			d1 += c.charAt(11-i)*(2+(i % 8));
	}
	if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(0) != d1)
	{
			return false;
	}
	 
	d1 *= 2;
	for (i = 0; i < 12; i++)
	{
			d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(1) != d1)
	{
			return false;
	}
	return true;
}

function float2moeda(num) {

   x = 0;

   if(num<0) {
      num = Math.abs(num);
      x = 1;
   }
   if(isNaN(num)) num = "0";
      cents = Math.floor((num*100+0.5)%100);

   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         num = num.substring(0,num.length-(4*i+3))+'.'
               +num.substring(num.length-(4*i+3));
				ret = num + ',' + cents;
				if (x == 1) ret = ' - ' + ret;return ret;

}

function ajaxFrete (params) {
	if (params == null) {params = {nada: 0};}
	//$('loading').show();
	new Ajax.Updater('calculo_frete', '_wsk_frete.cfm',
					 {
						 method: 'post',
						 parameters: params,
						  onComplete: function(transport) {
							if($("frete_resultado").value == 0){
								alert($("frete_resultado_txt").value);
								}
							else{
								ajaxCalculaCarrinho();								
								}
							//$('loading').hide();
						  },
						  onFailure : function (transport) {
							  alert ('Ocorreu um erro inesperado!\nPor favor, tente novamente.');
							  //window.location.href = 'default.cfm';
						  }
					  });
}

function ajaxFreteFinaliza (params) {
	if (params == null) {params = {nada: 0};}
	//$('loading').show();	
	$("pagamento_final").innerHTML = "Por favor selecione a forma de entrega desejada acima!";
	$("valores_final").innerHTML = "Por favor selecione a forma de pagamento acima!";
	new Ajax.Updater('frete_final', '_wsk_frete_finalizapedido.cfm',
					 {
						 method: 'post',
						 parameters: params,
						  onComplete: function(transport) {							
							//$('loading').hide();
						  },
						  onFailure : function (transport) {
							  alert ('Ocorreu um erro inesperado!\nPor favor, tente novamente.');
							  //window.location.href = 'default.cfm';
						  }
					  });
}

function ajaxPagamentoFinaliza (params) {
	if (params == null) {params = {nada: 0};}
	//$('loading').show();
	$("valores_final").innerHTML = "Por favor selecione a forma de pagamento acima!";
	new Ajax.Updater('pagamento_final', '_formaspagto_finalizapedido.cfm',
					 {
						 method: 'post',
						 parameters: params,
						  onComplete: function(transport) {							
							//$('loading').hide();
							
						  },
						  onFailure : function (transport) {
							  alert ('Ocorreu um erro inesperado!\nPor favor, tente novamente.');
							  //window.location.href = 'default.cfm';
						  }
					  });
}

function ajaxValoresFinaliza (params) {
	if (params == null) {params = {nada: 0};}
	//$('loading').show();
	new Ajax.Updater('valores_final', '_valores_finalizapedido.cfm',
					 {
						 method: 'post',
						 parameters: params,
						  onComplete: function(transport) {							
							//$('loading').hide();
							Effect.Appear('valores_final');
						  },
						  onFailure : function (transport) {
							  alert ('Ocorreu um erro inesperado!\nPor favor, tente novamente.');
							  //window.location.href = 'default.cfm';
						  }
					  });
}

function CarEndereco(parms){
		ajaxFreteFinaliza({wCep: parms})
	}
	
function radio(tipo,nome,parms){
	cp = document.getElementsByName(tipo);			
	for (i=0;i<=(cp.length-1);i=i+1){
		$(nome+cp[i].value).style.display="none";		
	}
	Effect.BlindDown(nome+parms);; return false;
}

function ajaxCalculaCarrinho (params) {
	if (params == null) {params = {nada: 0};}
	//$('loading').show();
	new Ajax.Updater('soma_carrinho', '_calcula_carrinho.cfm',
					 {
						 method: 'post',
						 parameters: params,
						 onComplete: function(transport) {		
						 	$("valor_frete").innerHTML = $("frete_resultado_txt").value;
						  },
						  onFailure : function (transport) {
							  alert ('Ocorreu um erro inesperado!\nPor favor, tente novamente.');
							  //window.location.href = 'default.cfm';
						  }
					  });
}

function ajaxConsulta (programa,params,retorno,params_retorno) {
	if (params == null) {params = {nada: 0};}
	if (params == null) {params_retorno = {nada: 0};}
	/*$('loading').show();*/
	new Ajax.Request (programa, {
					  method: 'post',
					  parameters: params,
					  onComplete: function(transport) {
							  $('loading').hide();
							  if (retorno != null && retorno != '') {ajaxPrograma (retorno,params_retorno);}
							  },
					  onFailure : function (transport) {
					  alert ('Ocorreu um erro inesperado!\nFavor, efetue login novamente.');
					 // window.location.href = '../login.cfm';
					  }
					  });
}
function atzcarrinho(form){
	ajaxConsulta('carrinho_add.cfm',$(form).serialize(true),'_calculacarrinho.cfm'); 
	return false;
}

function carloginemail(id,idimg,idmsg,params) {			
		if (params == null) {params = {nada: 0};}		
		new Ajax.Updater('painel_endereco', '_wss_email.cfm',
						 {
							 method: 'post',
							 parameters: params,
							  onComplete: function(transport) {		
							  	if($("c_st").value == 1){
										$(id).style.background = cor_OK;
										$(idimg).src = 'img/cp_ok.gif';
										$(idmsg).innerHTML = "";	
										destravabotao();
									}									
								else{
										$(id).style.background = cor_ERRO;
										$(idimg).src = 'img/cp_off.gif';
										$(idmsg).innerHTML = "O email informado não consta em nosso cadastro, realize seu cadastro!";										
									}
							}
						 });
	}
	
	function carloginsenha(id,idimg,idmsg,params) {			
		if (params == null) {params = {nada: 0};}		
		new Ajax.Updater('painel_endereco', '_wss_senha.cfm',
						 {
							 method: 'post',
							 parameters: params,
							  onComplete: function(transport) {		
							  	if($("c_stsenha").value == 1){
										$(id).style.background = cor_OK;
										$(idimg).src = 'img/cp_ok.gif';
										$(idmsg).innerHTML = "";	
										destravabotao();
									}									
								else{
										$(id).style.background = cor_ERRO;
										$(idimg).src = 'img/cp_off.gif';
										$(idmsg).innerHTML = "Senha não valida!";										
									}
							}
						 });
	}
	
	function val_loginemail(id,idimg,idmsg){
			if($(id).value == ''){					
				$(id).style.background = cor_ERRO;
				$(idimg).src = 'img/cp_off.gif';
				$(id).focus();						
			}
			else {
				if(!validEmail($(id).value)){
					$(id).style.background = cor_ERRO;
					$(idimg).src = 'img/cp_off.gif';
					$(idmsg).innerHTML = "O email informado é inválido!";										
					$(id).focus();	
					}
				else{
					carloginemail(id,idimg,idmsg,{email: $(id).value});
					}			
			}				
		}
		
	function val_loginsenha(idemail,id,idimg,idmsg){
			if($(id).value == ''){					
				$(id).style.background = cor_ERRO;
				$(idimg).src = 'img/cp_off.gif';
				$(id).focus();						
			}
			else {
				if($(idemail).value == ''){	
					$(id).style.background = cor_ERRO;
					$(idimg).src = 'img/cp_off.gif';
					$(id).focus();
				}
				else{
					carloginsenha(id,idimg,idmsg,{email: $(idemail).value, senha: $(id).value});
				}
			}				
		}
	
	function destravabotao(id){			
			cp = document.getElementsByName("imgval");			
			for (i=0;i<=(cp.length-1);i=i+1){								
				if((cp[i].getAttribute("src") == 'img/cp_off.gif') || (cp[i].getAttribute("src") == 'img/pixel.gif')){
					document.getElementById("botao_login").disabled=true;					
					ok = 0;					
					break;
					}
				else{
					ok = 1;
					document.getElementById("botao_login").disabled=false;					
					}
			}	
			if(id == 1){
				document.formlogin.submit();
				}
		}
function excendereco(cliente,endereco){
		if(confirm("Deseja realmente excluir este endereço?")){
				window.location.href="?cliente_grava/"+cliente+endereco+"/&NuCliente="+cliente+"&NuEndereco="+endereco+"&tpcadastro=excluirendereco";
			}
	}
