function calcula_itens_extra(valor, quantia, texto, elemento){
	novovalor	= valor*quantia;
	novovalor	= novovalor.toFixed(2);
	document.getElementById(elemento).innerHTML = "<span class='interna'><strong>"+texto+" </strong>R$ "+novovalor;
}

function abre_webmail(user, senha){
	document.getElementById('webm_user').value = user;
	document.getElementById('webm_senha').value = senha;
	document.getElementById('login_webmail').submit()	
}


function muda_ano_log(ano){
	ajaxGet('log_mes_disp.php?ano='+ano, document.getElementById('meses_disp_ano'), true, '<span class=texto>Aguarde... <BR>Carregando informações.</span>');	
}

function exibe_mes_log(){
	if(document.getElementById('mostra_meses').style.display=='none'){
		document.getElementById('mostra_meses').style.display = 'block';
		document.getElementById('img_seta_mes').src='img/seta_log_2.gif';
	} else {
		document.getElementById('mostra_meses').style.display = 'none';
		document.getElementById('img_seta_mes').src='img/seta_log.gif';
	}
}

function site_assine_cliente() {
	if(document.getElementById('rb_cliente_sim').checked){
		document.getElementById('dv_login_painel').style.display 	= 'block';
		document.getElementById('dv_novo_cliente').style.display	= 'none';
		document.getElementById('email_painel_b').focus();
		pos_alert_form('email_painel_b', 'Preencha eu e-mail de acesso ao Painel pra registrar um novo domínio.');
	}
	if(document.getElementById('rb_cliente_nao').checked){
		document.getElementById('dv_login_painel').style.display 	= 'none';
		document.getElementById('dv_novo_cliente').style.display 	= 'block';
	}
}

function site_assine_tipo_pessoa() {
	if(document.getElementById('rb_pessoa_fisica').checked){
		document.getElementById('dv_cadastro_comum').style.display 		= 'block';
		document.getElementById('dv_cadastro_fisica').style.display 	= 'block';
		document.getElementById('dv_cadastro_juridica').style.display 	= 'none';
		document.getElementById('txt_nome').focus();
	}
	if(document.getElementById('rb_pessoa_juridica').checked){
		document.getElementById('dv_cadastro_comum').style.display 		= 'block';
		document.getElementById('dv_cadastro_fisica').style.display 	= 'none';
		document.getElementById('dv_cadastro_juridica').style.display 	= 'block';		
		document.getElementById('txt_fantasia').focus();
	}
}

function verifica_assine_user_cad() {
	document.getElementById('dv_login_painel').style.display 	= 'none';
	document.getElementById('dv_novo_cliente').style.display 	= 'block';

	if(document.getElementById('rb_pessoa_fisica').checked){
		document.getElementById('dv_cadastro_comum').style.display 		= 'block';
		document.getElementById('dv_cadastro_fisica').style.display 	= 'block';
		document.getElementById('dv_cadastro_juridica').style.display 	= 'none';
		document.getElementById('txt_nome').focus();
	}
	if(document.getElementById('rb_pessoa_juridica').checked){
		document.getElementById('dv_cadastro_comum').style.display 		= 'block';
		document.getElementById('dv_cadastro_fisica').style.display 	= 'none';
		document.getElementById('dv_cadastro_juridica').style.display 	= 'block';		
		document.getElementById('txt_fantasia').focus();
	}
	
}


	function validacao_frm_edit(){
		if(document.getElementById('txt_tipo_pessoa').value=="F"){
			if(document.getElementById('txt_nome').value == "") {
				alert("Você precisa preencher seu Nome");
				document.getElementById('txt_nome').focus();
				return false;
			}	
		}
			
		if(document.getElementById('txt_tipo_pessoa').value=="J"){
			if(document.getElementById('txt_fantasia').value == "") {
				alert("Você precisa preencher o Nome Fantasia");
				document.getElementById('txt_fantasia').focus();
				return false;
			}	
			if(document.getElementById('txt_razao').value == "") {
				alert("Você precisa preencher a Razão social");
				document.getElementById('txt_razao').focus();
				return false;
			}	
		}
	
		if(document.getElementById('txt_cep').value == "") {
			alert("Você precisa preencher o CEP");
			document.getElementById('txt_cep').focus();
			return false;
		}	
		if(document.getElementById('txt_endereco').value == "") {
			alert("Você precisa preencher o Endereço Completo");
			document.getElementById('txt_endereco').focus();
			return false;
		}	
		if(document.getElementById('txt_bairro').value == "") {
			alert("Você precisa preencher o Bairro");
			document.getElementById('txt_bairro').focus();
			return false;
		}	
		if(document.getElementById('txt_cidade').value == "") {
			alert("Você precisa preencher a Cidade");
			document.getElementById('txt_cidade').focus();
			return false;
		}	
		if(document.getElementById('txt_estado').value == "") {
			alert("Você precisa selecionar o Estado");
			document.getElementById('txt_estado').focus();
			return false;
		}	
		if(document.getElementById('txt_telefone').value == "") {
			alert("Você precisa preencher o Telefone");
			document.getElementById('txt_telefone').focus();
			return false;
		}	
		if(document.getElementById('txt_email').value == "") {
			alert("Você precisa preencher o E-mail");
			document.getElementById('txt_email').focus();
			return false;
		}	
		if(document.getElementById('txt_senha1').value == "") {
			alert("Você precisa preencher a senha");
			document.getElementById('txt_senha1').focus();
			return false;
		}	
		if(document.getElementById('txt_senha1').value != document.getElementById('txt_senha2').value) {
			alert("O Campo Senha e Confirmação de Senha não coincidem.\n");
			document.getElementById('txt_senha1').value  = ''; 
			document.getElementById('txt_senha2').value = '';
			document.getElementById('txt_senha1').focus();
			return false;
		}
	}


// ************************  Função para formatacao generica de campos
function formataCampo(campo, Mascara, evento) { 
    var boleanoMascara; 
    
    var Digitato = evento.keyCode;
	var campo = document.getElementById(campo);
    exp = /\-|\:|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
    var posicaoCampo = 0;     
    var NovoValorCampo="";
    var TamanhoMascara = campoSoNumeros.length;; 
    
    if (Digitato != 8) { // backspace 
        for(i=0; i<= TamanhoMascara; i++) { 
            boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/") || (Mascara.charAt(i) == ":")) 
            boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
            if (boleanoMascara) { 
                NovoValorCampo += Mascara.charAt(i); 
                  TamanhoMascara++;
            }else { 
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
                posicaoCampo++; 
              }            
          }     
        campo.value = NovoValorCampo;
          return true; 
    }else { 
        return true; 
    }
}

// ***************************** Valida digitação de TELEFONE (só aceita 0-9, (, - e ) .... 
function valida_telefone(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9 ()-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9 ()-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
			 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas números neste campo. <br>Formato: (00) 0000-0000'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		formataCampo(campo, '(00) 0000-0000', event);		
	}
}


// ***************************** Valida digitação de usuário de e-mail (antes do arroba) - campo=ID do campo (this.id) - event = tecla pressionada (event) - classerro = código da class para aplicar no caso de erro - classnormal = cód. da class qdo estiver normal o campo.... 
function valida_email(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[A-Za-z0-9@._-]*$"); // Caracteres permitidos
	var pesq2 = new RegExp("[@._-]{2}"); // Evitar dupla pontuação seguida pq também não pode
	var pesq3 = new RegExp("[^A-Za-z0-9@._-]|[@._-]{2}", "g"); // Caracteres PROIBIDOS

	if (!document.getElementById(campo).value.match(pesq1) || document.getElementById(campo).value.match(pesq2)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas letras (sem acentos), números, hífem (-), ponto (.) ou underline (_)'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
	}
}

// ***************************** Faz a confirmação se o CPF digitado é realmente válido
function confirma_cpf(campo, classerro){
    /*var cpf = document.getElementById(campo).value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" ); 
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    
    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }    
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);
    
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado || cpf=="11111111111" || cpf=="22222222222" || cpf=="33333333333" || cpf=="44444444444" || cpf=="55555555555" || cpf=="66666666666" || cpf=="77777777777" || cpf=="88888888888" || cpf=="99999999999" || cpf=="00000000000")  {  
        muda_estilo(campo, classerro); // Muda campo para classe de erro
		pos_alert_form(campo, '<b>CPF Inválido.</b><BR>O número de CPF fornecido foi considerado inválido pelo nosso sistema.'); // chama função para mostrar balão no campo		
		document.getElementById(campo).value='';
		//document.getElementById(campo).focus();
	}
	*/
	numcpf = document.getElementById(campo).value;
    exp = /\.|\-/g
    numcpf = numcpf.toString().replace( exp, "" ); 
	
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	
	if((dig1 + "" + dig2) != numcpf.substring(len,len-2) || numcpf=="11111111111" || numcpf=="22222222222" || numcpf=="33333333333" || numcpf=="44444444444" || numcpf=="55555555555" || numcpf=="66666666666" || numcpf=="77777777777" || numcpf=="88888888888" || numcpf=="99999999999" || numcpf=="00000000000")  {  
        muda_estilo(campo, classerro); // Muda campo para classe de erro
		pos_alert_form(campo, '<b>CPF Inválido.</b><BR>O número de CPF fornecido foi considerado inválido pelo nosso sistema.'); // chama função para mostrar balão no campo		
		document.getElementById(campo).value='';
		//document.getElementById(campo).focus();
	}
	
}


// ***************************** Valida digitação de CPF (só aceita 0-9, . e - .... 
function valida_cpf(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9.-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9.-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
			 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas números neste campo. <br>Formato: 000.000.000-00'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		formataCampo(campo, '000.000.000-00', event);		
	}
}

// ***************************** Faz a confirmação se o CNPJ digitado é realmente válido
function confirma_cnpj(campo, classerro){
    var CNPJ = document.getElementById(campo).value;
	erro = new String;
	if (CNPJ.length < 18) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
		if (erro.length == 0) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
	}
	//substituir os caracteres que nao sao numeros
	if(document.layers && parseInt(navigator.appVersion) == 4){
		x = CNPJ.substring(0,2);
		x += CNPJ.substring(3,6);
		x += CNPJ.substring(7,10);
		x += CNPJ.substring(11,15);
		x += CNPJ.substring(16,18);
		CNPJ = x; 
	} else {
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace("-","");
		CNPJ = CNPJ.replace("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "A verificacao de CNPJ suporta apenas numeros! \n\n"; 
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]); 
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="Digito verificador com problema!";
	}
	if (erro.length > 0){
        muda_estilo(campo, classerro); // Muda campo para classe de erro
		pos_alert_form(campo, '<b>CNPJ Inválido.</b><BR>O número de CNPJ fornecido foi considerado inválido pelo nosso sistema.'); // chama função para mostrar balão no campo		
		document.getElementById(campo).value='';
		//document.getElementById(campo).focus();
	}
}


// ***************************** Valida digitação de CNPJ (só aceita 0-9, . e - .... 
function valida_cnpj(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9/.-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9/.-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
			 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas números neste campo. <br>Formato: 00.000.000/0000-00'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		formataCampo(campo, '00.000.000/0000-00', event);		
	}
}

// ***************************** Valida digitação de RG (só aceita 0-9, . , - e x.... 
function valida_rg(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9xX.-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9xX.-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
			 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas números neste campo. <br>Formato: 99.999.999-X'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		formataCampo(campo, '00.000.000-x', event);		
	}
}

// ***************************** Valida digitação de CEP (só aceita 0-9 e -)
function valida_cep(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
			 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas números neste campo. <br>Formato: 99999-999'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		formataCampo(campo, '00000-000', event);		
	}
}

// *************** Valida formulario de login
function valida_frm_login(){
	if(document.login.txt_email.value == "") {
		alert("Você precisa preencher seu e-mail de acesso (ou HOSP).");
		document.login.txt_email.focus();
		return false;
	}	
	if(document.login.txt_senha.value == "") {
		alert("Você precisa preencher sua senha de acesso.");
		document.login.txt_senha.focus();
		return false;
	}
	if(document.login.txt_tem_img.value == "1") {
		if(document.login.txt_resposta.value == "") {
			alert("Você precisa responder a pergunta da imagem de segurança.");
			document.login.txt_resposta.focus();
			return false;
		}
	}
}

// *************** Solicita confirmação de ação na alteração de e-mail. paginga = URL // msg = mensagem para exibição
function valida_alt_email(pagina, msg, operador){
	if(confirm(msg)){ 
		document.mudaconta.action=pagina;
		document.mudaconta.op.value=operador;
		document.mudaconta.submit();
	}
}

// *************** Solicita confirmação de ação na alteração de e-mail. paginga = URL // msg = mensagem para exibição
function valida_senha_email(){
	if(confirm('Deseja realmente alterar a senha desta conta?')){ 
		document.muda_senha.submit();
	}
}

// *************** Solicita confirmação ao clicar em algum link. pagina = URL // msg = mensagem para exibição
function valida_link(pagina, msg){
	if(confirm(msg)){ 
		window.location = pagina;
	}
}

// *************** Abre nova janela
function abre_janela(url, nome, larg, alt, barra){
	window.open(url, nome,"width="+larg+",height="+alt+",scrollbars="+barra) 
}

// ***************************** Valida digitação de usuário de e-mail (antes do arroba) - campo=ID do campo (this.id) - event = tecla pressionada (event) - classerro = código da class para aplicar no caso de erro - classnormal = cód. da class qdo estiver normal o campo.... 
function valida_user_mail(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[A-Za-z0-9._-]*$"); // Caracteres permitidos
	var pesq2 = new RegExp("[._-]{2}"); // Evitar dupla pontuação seguida pq também não pode
	var pesq3 = new RegExp("[^A-Za-z0-9._-]|[._-]{2}", "g"); // Caracteres PROIBIDOS

	if (!document.getElementById(campo).value.match(pesq1) || document.getElementById(campo).value.match(pesq2)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas letras (sem acentos), números, hífem (-), ponto (.) ou underline (_)'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
	}
}

// ***************************** Valida digitação de usuário de e-mail (antes do arroba) - campo=ID do campo (this.id) - event = tecla pressionada (event) - classerro = código da class para aplicar no caso de erro - classnormal = cód. da class qdo estiver normal o campo.... 
function valida_end_mail(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[A-Za-z0-9@._-]*$"); // Caracteres permitidos
	var pesq2 = new RegExp("[@._-]{2}"); // Evitar dupla pontuação seguida pq também não pode
	var pesq3 = new RegExp("[^A-Za-z0-9@._-]|[@._-]{2}", "g"); // Caracteres PROIBIDOS

	if (!document.getElementById(campo).value.match(pesq1) || document.getElementById(campo).value.match(pesq2)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas letras (sem acentos), números, hífem (-), ponto (.) ou underline (_)'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
	}
}

// ***************************** Valida digitação de senhas em geral (só aceita A-Za-z0-9.... 
function valida_senha(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[A-Za-z0-9]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^A-Za-z0-9]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Utilize apenas letras e números em sua senha'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}		
	}
}

// ***************************** Valida digitação de senhas em geral (só aceita A-Za-z0-9.... 
function valida_nome_arquivo(campo, event, classerro, classnormal){
	var pesq3 = new RegExp('[:*?"<>|/]', "g"); // Caracteres proibidos

	if (document.getElementById(campo).value.match(pesq3)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>O nome de arquivo não pode conter caracteres coringas.<BR>'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}		
	}
}

// ***************************** Valida campos FILE de imagens (só aceita jpg, gif, jpeg, png.... 
function valida_imagem(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("(jpg|gif|jpeg|png|JPG|GIF|JPEG|PNG)$"); // Caracteres permitidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Arquivo não permitido.</b><BR>Você só pode enviar imagens nos formatos: jpg, gif ou jpeg'); // chama função para mostrar balão no campo
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16' && keyCode!='9'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
	}
}

// ***************************** Valida digitação de novos domínios (só aceita A-Za-z0-9.... 
function valida_novo_dominio(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[A-Za-z0-9.-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^A-Za-z0-9.-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido.</b><BR>Você deve utilizar apenas letras, números, ponto e\'-\' para seu nome de domínio.<br>Lembre-se: Você não deve digitar \'www.\' e deve escolher uma extensão da lista ao lado.'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}		
	}
}


// ************************  Função para exibir a caixa de mudança de nome no FTP
function ftp_exibe_div(divexib){
	//alert('Foi');
	//var divexib = 'div_ftp_renomeia'; //DIV do alerta
	document.getElementById(divexib).style.left 		= '230px';
	document.getElementById(divexib).style.top 			= '130px';
	document.getElementById(divexib).style.display		= 'block';	

}

// ************************  Função para inserir ítens em um select
function inserir_select(meuselect, texto, valor){
    var x=document.getElementById(meuselect); //retorna o objeto select
    var options = x.getElementsByTagName("option"); //pega a lista de options do select
    
    if (x.selectedIndex>=0)
    {
        var y=document.createElement('option'); //cria um novo elemento option
        y.text=texto; //seta o texto do elemento option
        //y.value=options.length; 
		y.value=valor;//seta o valor do elemento option
        try {
            x.add(y,null); // adiciona um novo option no fim da lista para navegadores complacentes
        } catch(ex) {
            x.add(y); // adiciona um novo option no fim da lista para o IE
        }
    }
}
  
function remover_select(meuselect){

	var temp=document.getElementById(meuselect);
	for (m=temp.options.length;m>=0;m--) { 
		temp.options[m]=null 
	}
	temp.options[0] = new Option('/','0');  	
}

// Funçao que muda o diretório do FTP e exibe a mensagem "CARREGANDO"
function ftp_muda_dir(diretorio){
	var divexib = 'div_ftp_carregando'; //DIV do alerta
	document.getElementById(divexib).style.left		= '230px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';	
	
	ajaxGet('ftp_arquivos.php?diretorio='+diretorio, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	
}

// Funçao que muda chama a caixa de permissao
function ftp_abre_permissao(arquivo, permissao){
	var divexib = 'div_ftp_permissao'; //DIV do alerta
	document.getElementById(divexib).style.left		= '150px';
	document.getElementById(divexib).style.top 		= '50px';
	document.getElementById(divexib).style.display	= 'block';
	document.getElementById('txt_ftp_per_nome').value = arquivo;
	document.getElementById('txt_ftp_per_per').value  = permissao;
	document.getElementById('td_permissao_n').innerHTML = permissao;
	ftp_permissao_ini();
}

// Funçao que fecha a janela de permissao
function ftp_fecha_permissao(){
	var divexib = 'div_ftp_permissao'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	
	document.getElementById('txt_ftp_per_nome').value = '';
	document.getElementById('txt_ftp_per_per').value  = '';
}

// Funçao que muda a permissao 
function ftp_muda_permissao(){
	criador	= 0;
	if(document.getElementById('criador_read').checked){ 	criador = criador + 4; }
	if(document.getElementById('criador_write').checked){ 	criador = criador + 2; }
	if(document.getElementById('criador_execute').checked){	criador = criador + 1; }

	grupo	= 0;
	if(document.getElementById('grupo_read').checked){ 		grupo = grupo + 4; }
	if(document.getElementById('grupo_write').checked){ 	grupo = grupo + 2; }
	if(document.getElementById('grupo_execute').checked){	grupo = grupo + 1; }

	publico	= 0;
	if(document.getElementById('publico_read').checked){ 	publico = publico + 4; }
	if(document.getElementById('publico_write').checked){ 	publico = publico + 2; }
	if(document.getElementById('publico_execute').checked){	publico = publico + 1; }
	
	nova_permissao = (criador*100)+(grupo*10)+publico;
	if(nova_permissao<100){ nova_permissao = '0' + nova_permissao; }
	if(nova_permissao<10){ nova_permissao = '0' + nova_permissao; }
	document.getElementById('txt_ftp_per_per').value  	= nova_permissao;
	document.getElementById('td_permissao_n').innerHTML = nova_permissao;	
}

// Funçao que muda a permissao INICIAL
function ftp_permissao_ini(){
	valor	= document.getElementById('txt_ftp_per_per').value;

	criador	= valor.substr(0,1);
	ftp_muda_permissao_itens('criador', criador);

	grupo 	= valor.substr(1,1);
	ftp_muda_permissao_itens('grupo', grupo);

	publico	= valor.substr(2,1);
	ftp_muda_permissao_itens('publico', publico);
}

// Funçao que muda a permissao INICIAL
function proteger_add_user(pasta){
	var pesq3 = new RegExp("[/]$", "g"); // Caracteres PROIBIDOS
	pasta = pasta.replace(pesq3, "");
	document.getElementById('lista_dir').value = pasta;
	pos_alert_form('txt_usuario', '<b>Preencha os dados do novo usuário.</b>'); // chama função para mostrar balão no campo
	document.getElementById('txt_usuario').focus();
}

// Funçao que muda a permissao - seleciona itens
function ftp_muda_permissao_itens(campo, valor){
	if(valor==0){
		document.getElementById(campo+'_read').checked		= false;
		document.getElementById(campo+'_write').checked		= false;
		document.getElementById(campo+'_execute').checked	= false;
	}

	if(valor==1){
		document.getElementById(campo+'_read').checked		= false;
		document.getElementById(campo+'_write').checked		= false;
		document.getElementById(campo+'_execute').checked	= true;
	}

	if(valor==2){
		document.getElementById(campo+'_read').checked		= false;
		document.getElementById(campo+'_write').checked		= true;
		document.getElementById(campo+'_execute').checked	= false;
	}

	if(valor==3){
		document.getElementById(campo+'_read').checked		= false;
		document.getElementById(campo+'_write').checked		= true;
		document.getElementById(campo+'_execute').checked	= true;
	}
	
	if(valor==4){
		document.getElementById(campo+'_read').checked		= true;
		document.getElementById(campo+'_write').checked		= false;
		document.getElementById(campo+'_execute').checked	= false;
	}

	if(valor==5){
		document.getElementById(campo+'_read').checked		= true;
		document.getElementById(campo+'_write').checked		= false;
		document.getElementById(campo+'_execute').checked	= true;
	}

	if(valor==6){
		document.getElementById(campo+'_read').checked		= true;
		document.getElementById(campo+'_write').checked		= true;
		document.getElementById(campo+'_execute').checked	= false;
	}

	if(valor==7){
		document.getElementById(campo+'_read').checked		= true;
		document.getElementById(campo+'_write').checked		= true;
		document.getElementById(campo+'_execute').checked	= true;
	}
}

// Renomeia os arquivos e pastas pelo ftp
function ftp_permissao(){
	var divexib = 'div_ftp_permissao'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	

	diretorio = document.getElementById('lista_dir').value;
	
	var divexib = 'div_ftp_carregando'; //DIV do alerta
	document.getElementById(divexib).style.left		= '230px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	
	ajaxGet('ftp_arquivos.php?op=permiss&diretorio='+diretorio+'&permissao='+document.getElementById('txt_ftp_per_per').value+'&nome='+document.getElementById('txt_ftp_per_nome').value, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
}

// Renomeia os arquivos e pastas pelo ftp
function ftp_delete(nome, tipo){
	diretorio = document.getElementById('lista_dir').value;
	if(confirm('Você realmente deseja remover \''+nome+'\' de forma PERMANENTE?')){ 
		var divexib = 'div_ftp_carregando'; //DIV do alerta
		document.getElementById(divexib).style.left		= '230px';
		document.getElementById(divexib).style.top 		= '140px';
		document.getElementById(divexib).style.display	= 'block';
		
		ajaxGet('ftp_arquivos.php?op=dele&diretorio='+diretorio+'&nome='+nome+'&tipo='+tipo, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	}
	
}

// Funçao que muda chama a caixa para renomear arquivos e diretórios
function ftp_abre_renomear(arquivo){
	var divexib = 'div_ftp_renomear'; //DIV do alerta
	document.getElementById(divexib).style.left		= '200px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	document.getElementById('txt_ftp_renomear').value = arquivo;
	document.getElementById('txt_ftp_nome_antigo').value = arquivo;
}

// Funçao que fecha a janela de renomear
function ftp_fecha_renomear(){
	var divexib = 'div_ftp_renomear'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	
	document.getElementById('txt_ftp_renomear').value = '';
	document.getElementById('txt_ftp_nome_antigo').value = '';
}

// Renomeia os arquivos e pastas pelo ftp
function ftp_renomeia(){
	var divexib = 'div_ftp_renomear'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	

	diretorio = document.getElementById('lista_dir').value;
	
	var divexib = 'div_ftp_carregando'; //DIV do alerta
	document.getElementById(divexib).style.left		= '230px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	
	ajaxGet('ftp_arquivos.php?op=renon&diretorio='+diretorio+'&nome_novo='+document.getElementById('txt_ftp_renomear').value+'&nome_ant='+document.getElementById('txt_ftp_nome_antigo').value, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
}



// Funçao que muda chama a caixa para proteger diretórios
function ftp_abre_proteger(arquivo){
	var divexib = 'div_ftp_proteger'; //DIV do alerta
	document.getElementById(divexib).style.left		= '200px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	document.getElementById('txt_ftp_prot_dir').value = arquivo;
}

// Funçao que fecha a janela de proteger
function ftp_fecha_proteger(){
	var divexib = 'div_ftp_proteger'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	
	document.getElementById('txt_ftp_prot_dir').value = '';
}

// Protege pastas pelo ftp
function ftp_proteger(){
	var divexib = 'div_ftp_proteger'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	

	diretorio = document.getElementById('lista_dir').value;
	
	var divexib = 'div_ftp_carregando'; //DIV do alerta
	document.getElementById(divexib).style.left		= '230px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	
	if(document.getElementById('listar_dir').checked){
		ajaxGet('ftp_arquivos.php?op=protecao&diretorio='+diretorio+'&dir_prot='+diretorio+'/'+document.getElementById('txt_ftp_prot_dir').value+'&usuario='+document.getElementById('txt_ftp_prot_user').value+'&senha='+document.getElementById('txt_ftp_prot_pass').value+'&listar=1', document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	} else {
		ajaxGet('ftp_arquivos.php?op=protecao&diretorio='+diretorio+'&dir_prot='+diretorio+'/'+document.getElementById('txt_ftp_prot_dir').value+'&usuario='+document.getElementById('txt_ftp_prot_user').value+'&senha='+document.getElementById('txt_ftp_prot_pass').value+'&listar=0', document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	}
}


// Funçao que lista usuários de diretório protegido
function ftp_lista_proteger(arquivo){
	var divexib = 'div_ftp_edita_protecao'; //DIV do alerta
	diretorio = document.getElementById('lista_dir').value;
	document.getElementById(divexib).style.left		= '100px';
	document.getElementById(divexib).style.top 		= '60px';
	document.getElementById(divexib).style.display	= 'block';
	ajaxGet('ftp_lista_prot.php?diretorio='+diretorio+'&dir_prot='+arquivo+'&listar=1', document.getElementById('div_ajax_edita_protecao'), false, '... aguarde ...');	
	
}

// Funçao que fecha a janela que lista usuários de diretório protegido
function ftp_fecha_lista_proteger(){
	var divexib = 'div_ftp_edita_protecao'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	
	document.getElementById('txt_ftp_prot_dir').value = '';
}

// edita proteção de pastas pelo ftp
function ftp_altera_protecao(codigo, novo_user, mensagem){
	if(confirm(mensagem)){ 
		var divexib = 'div_ftp_edita_protecao'; //DIV do alerta
		document.getElementById(divexib).style.left		= '0px';
		document.getElementById(divexib).style.top 		= '0px';
		document.getElementById(divexib).style.display	= 'none';	

		diretorio = document.getElementById('lista_dir').value;
		
		var divexib = 'div_ftp_carregando'; //DIV do alerta
		document.getElementById(divexib).style.left		= '230px';
		document.getElementById(divexib).style.top 		= '140px';
		document.getElementById(divexib).style.display	= 'block';
		ajaxGet('ftp_arquivos.php?op=protecao_edit&diretorio='+diretorio+'&conta='+codigo+'&usuario='+novo_user+'&listar=0', document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	}
}

// edita proteção de pastas pelo ftp
function ftp_deleta_protecao(codigo, mensagem){
	if(confirm(mensagem)){ 
		var divexib = 'div_ftp_edita_protecao'; //DIV do alerta
		document.getElementById(divexib).style.left		= '0px';
		document.getElementById(divexib).style.top 		= '0px';
		document.getElementById(divexib).style.display	= 'none';	

		diretorio = document.getElementById('lista_dir').value;
		
		var divexib = 'div_ftp_carregando'; //DIV do alerta
		document.getElementById(divexib).style.left		= '230px';
		document.getElementById(divexib).style.top 		= '140px';
		document.getElementById(divexib).style.display	= 'block';
		ajaxGet('ftp_arquivos.php?op=protecao_del&diretorio='+diretorio+'&conta='+codigo+'&listar=0', document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	}
}

// edita senha da proteção de pastas pelo ftp
function ftp_senha_protecao(codigo, nova_senha, mensagem){
	if(confirm(mensagem)){ 
		var divexib = 'div_ftp_edita_protecao'; //DIV do alerta
		document.getElementById(divexib).style.left		= '0px';
		document.getElementById(divexib).style.top 		= '0px';
		document.getElementById(divexib).style.display	= 'none';	

		esconde_dv_muda_senha();
		
		diretorio = document.getElementById('lista_dir').value;
		
		var divexib = 'div_ftp_carregando'; //DIV do alerta
		document.getElementById(divexib).style.left		= '230px';
		document.getElementById(divexib).style.top 		= '140px';
		document.getElementById(divexib).style.display	= 'block';
		ajaxGet('ftp_arquivos.php?op=protecao_senha&diretorio='+diretorio+'&conta='+codigo+'&senha='+nova_senha+'&listar=0', document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
	}
}


// Funçao que muda chama a caixa para criar diretórios
function ftp_abre_criar(arquivo){
	var divexib = 'div_ftp_criar'; //DIV do alerta
	document.getElementById(divexib).style.left		= '200px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	document.getElementById('txt_ftp_criar').value 	= '';
}

// Funçao que fecha a janela de criar
function ftp_fecha_criar(){
	var divexib = 'div_ftp_criar'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	
	document.getElementById('txt_ftp_criar').value 	= '';
}

// Cria pastas pelo ftp
function ftp_cria(){
	var divexib = 'div_ftp_criar'; //DIV do alerta
	document.getElementById(divexib).style.left		= '0px';
	document.getElementById(divexib).style.top 		= '0px';
	document.getElementById(divexib).style.display	= 'none';	

	diretorio = document.getElementById('lista_dir').value;
	
	var divexib = 'div_ftp_carregando'; //DIV do alerta
	document.getElementById(divexib).style.left		= '230px';
	document.getElementById(divexib).style.top 		= '140px';
	document.getElementById(divexib).style.display	= 'block';
	
	ajaxGet('ftp_arquivos.php?op=cria&diretorio='+diretorio+'&nome='+document.getElementById('txt_ftp_criar').value, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');	
}


// Verifica se mand
function ftp_ck_seleciona(){
	valor='';
	document.getElementById('txt_ftp_selecionados').value = '';
	inputs = document.getElementsByTagName("input");
    for(i=0;i<inputs.length;i++){
        if(inputs[i].type=="checkbox"){ //se os inputs forem checkbox
            if(inputs[i].checked==true && inputs[i].name=='sel[]'){
                valor=valor+'/'+inputs[i].value;
            }
        }
    }
	document.getElementById('txt_ftp_selecionados').value = valor;
	//alert(document.getElementById('txt_ftp_selecionados').value);
	
	if(valor!=''){
		//alert("FTP SELECIONADO: "+valor); 	
		document.getElementById('ftp_barra_opcoes').style.display = 'block';
	} else {
		document.getElementById('ftp_barra_opcoes').style.display = 'none';
	}
}


// ************************  Função para exibir a caixa de mudança de senha dos e-mails
function exibe_dv_muda_senha(camporef, valor){
	var el = document.getElementById(camporef); // Campo de referencia para localização
	var x = 0; //Lado
	var y = el.offsetHeight; // Topo
	var divexib = 'dv_muda_senha'; //DIV do alerta
	//Walk up the DOM and add up all of the offset positions.
	while (el.offsetParent && el.tagName.toUpperCase() != 'BODY'){ // Pegar posição do campo do form
		x += el.offsetLeft;
		y += el.offsetTop;
		el = el.offsetParent;
	}

	x += el.offsetLeft;
	y += el.offsetTop;
	
	x -= 70;
	y -= 30;
	
	document.getElementById(divexib).style.left 		= x + 'px';
	document.getElementById(divexib).style.top 			= (y-5) + 'px';
	document.getElementById(divexib).style.display		= 'block';
	document.getElementById('nova_senha').value			= valor;
	if(document.getElementById('nova_senha').value=='undefined'){
		document.getElementById('nova_senha').value		= '';
	}
	

}

// ************************  Função para esconder a caixa de mudança de senha dos e-mails
function esconde_dv_muda_senha(){
	var divexib = 'dv_muda_senha'; //DIV do alerta
	document.getElementById(divexib).style.left 		= '-100px';
	document.getElementById(divexib).style.top 			= '-100px';
	document.getElementById(divexib).style.display	= 'none';	

}


// ************************  Função para exibir a caixa de aviso de formulário
function pos_alert_form(camporef, texto){
	var el = document.getElementById(camporef); // Campo de referencia para localização
	var x = 0; //Lado
	var y = el.offsetHeight; // Topo
	var divexib = "alerta_form"; //DIV do alerta
	//Walk up the DOM and add up all of the offset positions.
	while (el.offsetParent && el.tagName.toUpperCase() != 'BODY'){ // Pegar posição do campo do form
		x += el.offsetLeft;
		y += el.offsetTop;
		el = el.offsetParent;
	}

	x += el.offsetLeft;
	y += el.offsetTop;
	document.getElementById(divexib).style.left 		= x + 'px';
	document.getElementById(divexib).style.top 			= (y-5) + 'px';
	document.getElementById(divexib).style.display 		= 'block';
	document.getElementById(divexib+'_texto').innerHTML	= '<font size=1 face=Verdana color=#000000>'+texto+'</font>';
}

// ************************  Função para REMOVER a caixa de alerta nos fomulários
function rem_alert_form(){
	var divexib = "alerta_form";
	document.getElementById(divexib).style.left 		= '0px';
	document.getElementById(divexib).style.top 			= '0px';
	document.getElementById(divexib).style.display 		= 'none';
	document.getElementById(divexib+'_texto').innerHTML	= '&nbsp;';
}


// Trocar estilo de campo
function muda_estilo(atual, status){ // Muda class dos campos (atual=campo, status=tipo da mudança (0 - Normal, 1 - aceso, 2 - erro, 3 - Invisível)
	//alert(atual);
	if(status==0){
		document.getElementById(atual).className = 'campo_normal';
	}
	if(status==1){
		document.getElementById(atual).className = 'campo_aceso';		
	}
	if(status==2){
		document.getElementById(atual).className = 'campo_erro';		
	}
	if(status==3){
		document.getElementById(atual).className = 'campo_invisivel';
	}
	if(status==4){
		document.getElementById(atual).className = 'campo_revelado';
	}
	if(status==5){
		document.getElementById(atual).className = 'campo_invisivel_alterado';
	}
	if(status==6){
		document.getElementById(atual).className = 'campo_invisivel_erro';
	}
	if(status==7){
		document.getElementById(atual).className = 'opaco';
	}
	if(status==8){
		document.getElementById(atual).className = 'transparente';
	}
	if(status==9){
		document.getElementById(atual).className = 'clicavel';
	}
	if(status==10){
		document.getElementById(atual).className = 'spam_parametro_desab';
	}
	if(status==11){
		document.getElementById(atual).className = 'spam_parametro';
	}
	if(status==12){
		document.getElementById(atual).className = 'spam_resultado';
	}
	if(status==13){
		document.getElementById(atual).className = 'campo_invisivel2';
	}
	if(status==14){
		document.getElementById(atual).className = 'campo_revelado2';
	}
	if(status==15){
		document.getElementById(atual).className = 'campo_invisivel_alterado2';
	}
	if(status==16){
		document.getElementById(atual).className = 'campo_invisivel_erro2';
	}

}

function muda_dominio(){
	if(document.dominios.txt_dominio.value == "") {
		return false;
	} else {
		document.dominios.submit();
	}	
}

// FUNCOES DA PÁGINA DE ANTI-SPAM
function spam_limpar() {
	document.form1.txt_cond.disabled=false;
			document.getElementById('txt_cond_parametro').disabled=false;
		muda_estilo('txt_cond_parametro', '11');

	document.form1.txt_acao.disabled=false;
	document.form1.txt_acao_param.disabled=false;
	document.form1.txt_cond.value='';
	document.getElementById('txt_cond_parametro').value='';
	document.form1.txt_acao.value='';
	document.form1.txt_acao_param.value='';
	document.form1.txt_resultado.value='';
	document.getElementById('onde_incluir').value='fim';
	document.getElementById('txt_cond_parametro').disabled=true;
	document.form1.txt_acao_param.disabled=true;
}


// ***************************** Valida digitação do parametro de condição (só aceita A-Za-z0-9.... 
function valida_spam_cond_param(campo, event, classerro, classnormal){
	if(document.getElementById('txt_cond').value=='Menor_que' || document.getElementById('txt_cond').value=='Maior_que' || document.getElementById('txt_cond').value=='Ndest_maior_que' || document.getElementById('txt_cond').value=='Ndest_menor_que' || document.getElementById('txt_cond').value=='Rem_estranho' || document.getElementById('txt_cond').value=='Autenticado'){
		var pesq1 = new RegExp("^[0-9]*$"); // Caracteres permitidos
		var pesq3 = new RegExp("[^0-9]", "g"); // Caracteres proibidos
	} else {
		var pesq1 = new RegExp("^[A-Za-z0-9@._ -]*$"); // Caracteres permitidos
		var pesq3 = new RegExp("[^A-Za-z0-9@._ -]", "g"); // Caracteres proibidos	
	}

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido para este parâmetro.</b><BR>Verifique a Ajuda para informações detalhadas.'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		if(document.getElementById(campo).value!=''){
			muda_estilo('btn_add_cond', '7');
			muda_estilo('btn_add_cond', '9');
		} else {
			muda_estilo('btn_add_cond', '8');
		}
	}
}

function spam_muda_cond(status, paratipo, mensagem){
	if(status=='1'){
		document.getElementById('tb_cond_descricao').innerHTML = mensagem;
		document.getElementById('txt_cond_parametro').disabled=false;
		document.getElementById('tb_cond_parametro').innerHTML = 'Parâmetro:';
		muda_estilo('txt_cond_parametro', '11');
		document.getElementById('txt_cond_parametro').focus();	
		if(paratipo=='n'){
			pos_alert_form('txt_cond_parametro', '<b>Preencha o parâmetro: </b><br>Esta condição requer um parâmetro numérico.<BR>Leia a ajuda para informações detalhadas.');
		}
		if(paratipo=='t'){
			pos_alert_form('txt_cond_parametro', '<b>Preencha o parâmetro: </b><br>Esta condição requer um parâmetro alfa-numérico.<BR>Leia a ajuda para informações detalhadas.');
		}
		muda_estilo('btn_add_cond', '8');
	} else {
		document.getElementById('tb_cond_descricao').innerHTML = mensagem;
		document.getElementById('txt_cond_parametro').value='';
		document.getElementById('txt_cond_parametro').disabled=true;
		document.getElementById('tb_cond_parametro').innerHTML = '&nbsp;';
		muda_estilo('txt_cond_parametro', '10');
		muda_estilo('btn_add_cond', '7');
		muda_estilo('btn_add_cond', '9');
	}

}

function spam_sel_cond() {
	cabecalho = '<b>Ajuda: </b>';
	if(document.getElementById('txt_cond').value==''){
		spam_muda_cond('0', 't', '');
	}
	if(document.getElementById('txt_cond').value=='nada'){
		spam_muda_cond('0', 't', 'Use esta opção para ir direto às condições. <BR> Esta opção normalmente é utilizada para liberar todas mensagens ainda não filtradas ou definir pontuação máxima.');
	}
	if(document.getElementById('txt_cond').value=='Find_str? "%f:'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) algum remetente. <BR>Você pode colocar um único e-mail (exemplo@dominio.com) ou todo um domínio como parâmetro (@dominio.com).<BR><b>Atenção:</b> Ao bloquear um domínio todo, automaticamente todos os usuários do domínio(site) bloqueado não poderão enviar e-mails para você.<BR><i>Esta condição requer parâmetros (e-mail ou domínio).</i>');
	}
	if(document.getElementById('txt_cond').value=='Find_to? "'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) algum destinatário. <BR>Você pode colocar um único e-mail (exemplo@dominio.com) ou todo um domínio como parâmetro (@dominio.com).<BR>Esta funcão é útil quando você deseja bloquear um e-mail que sempre é enviado com cópia para outra pessoa.<BR><i>Esta condição requer parâmetros (e-mail ou domínio).</i>');
	}
	if(document.getElementById('txt_cond').value=='Find_str? "%S:'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens pelo seu assunto. <BR>Você pode especificar um assunto completo ou somente parte dele. Esta função é útil para bloquear títulos comuns em spams, como <i>Losing weight</i> ou <i>Vigra</i>.<BR><i>Esta condição requer parâmetros (palavra ou sentença).</i>');
	}
	if(document.getElementById('txt_cond').value=='Attach? "'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens através do(s) seu(s) anexo(s). <BR>você pode especificar o nome todo do arquivo ou só uma parte dele (exemplo: cartao.exe ou .exe).<BR><i>Esta condição requer parâmetros (nome do arquivo ou extensão).</i>');
	}
	if(document.getElementById('txt_cond').value=='Itest? "%z<'){
		spam_muda_cond('1', 'n', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens pelo seu tamanho máximo. <BR>Esta condição é bastante útil em conexões onde você paga por dados transferidos (como conexões móveis).<BR><i>Esta condição requer parâmetros (tamanho em bytes - SOMENTE NÚMEROS).</i>');
	}
	if(document.getElementById('txt_cond').value=='Itest? "%z>'){
		spam_muda_cond('1', 'n', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens pelo seu tamanho mínimo. <BR>Esta condição é bastante útil para barrar mensagens com grandes anexos, que atrapalham o descarregamento da mesma. <BR><i>Esta condição requer parâmetros (tamanho em bytes - SOMENTE NÚMEROS).</i>');
	}
	if(document.getElementById('txt_cond').value=='Itest? "%n>'){
		spam_muda_cond('1', 'n', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens pelo número de destinatários que ela foi enviada. <BR>Com esta condição você pode filtrar mensagens enviadas para um grande número de pessoas ao mesmo tempo. <BR><i>Esta condição requer parâmetros (quantidade de destinatários - SOMENTE NÚMEROS).</i>');
	}
	if(document.getElementById('txt_cond').value=='Itest? "%n<'){
		spam_muda_cond('1', 'n', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens pelo número de destinatários que ela foi enviada. <BR>Com esta condição você pode filtrar mensagens enviadas somente para você, por exemplo. <BR><i>Esta condição requer parâmetros (quantidade de destinatários - SOMENTE NÚMEROS).</i>');
	}
	if(document.getElementById('txt_cond').value=='IP? "'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens através do número IP do servidor remetente. <BR>Com esta condição você pode filtrar mensagens enviadas através de um computador/rede específica. <BR><i>Esta condição requer parâmetros (endereço IPv4).</i>');
	}
	if(document.getElementById('txt_cond').value=='Find_str? "%e:'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens através do nome resolvido do servidor remetente. <BR>Esta função é útil para bloquear nomes de sevidores contendo algumas palavras-chave característicos de spam. <BR><i>Esta condição requer parâmetros (nome do servidor).</i>');
	}
	if(document.getElementById('txt_cond').value=='Find_str? "%h:'){
		spam_muda_cond('1', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens através do nome especificado no início da comunicação SMTP. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição requer parâmetros (nome).</i>');
	}
	if(document.getElementById('txt_cond').value=='Cnx_direta?'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso ela tenha sido entregue através de uma conexão direta entre o remetente e o servidor destinatário. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição NÃO requer parâmetros.</i>');
	}
	if(document.getElementById('txt_cond').value=='Auth?'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso o usuário tenha se autenticado no servidor. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
	if(document.getElementById('txt_cond').value=='!Auth?'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso o usuário não tenha se autenticado no servidor. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
	if(document.getElementById('txt_cond').value=='Itest? "%y=0"'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso servidor de envio não possua SPF definido em seu DNS. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
	if(document.getElementById('txt_cond').value=='Itest? "%y=1"'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso o servidor de envio esteja autorizado a enviar e-mail utilizando o domínio do remetente. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
	if(document.getElementById('txt_cond').value=='Itest? "%y=2"'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso o servidor de envio NÃO esteja autorizado a enviar e-mails utilizando o domínio do remetente, porém a instrução SPF não indica recusar a mensagem. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
	if(document.getElementById('txt_cond').value=='Itest? "%y=3"'){
		spam_muda_cond('0', 't', cabecalho+'<br> Você pode usar esta condição para filtrar (excluir/bloquear/aceitar/pontuar) mensagens caso o servidor de envio NÃO esteja autorizado a enviar e-mails utilizando o domínio do remetente, porém a instrução SPF indica que o usuário deve decidir recusar a mensagem. <BR>Esta é uma função avançada. Use apenas se você possuir conhecimentos no protocolo SMTP. <BR><i>Esta condição não requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';
	}
}

// *************************************  Adiciona condição à regra do anti-spam
function spam_adiciona_cond() {
	if(document.getElementById('txt_cond_parametro').className=='spam_parametro' && document.getElementById('txt_cond_parametro').value==''){
		pos_alert_form('txt_cond_parametro', '<b>Preencha o parâmetro: </b><br>A condição que você escolheu requer um parâmetro.<BR>Leia a ajuda para informações detalhadas.');
	} else { // Se estiver tudo preenchido corretamente, adiciona....
		if(document.getElementById('txt_cond').value!='nada'){
			if(document.getElementById('txt_cond_parametro').value!=''){
				document.getElementById('txt_resultado').value += document.getElementById('txt_cond').value+document.getElementById('txt_cond_parametro').value+"\" ";
			} else {
				document.getElementById('txt_resultado').value += document.getElementById('txt_cond').value+" ";
			}
		}
		document.getElementById('tb_cond_descricao').innerHTML = ''; // Limpra descrição da condição
		document.getElementById('txt_cond_parametro').value=''; //Limpa campo de parametro
		document.getElementById('txt_cond_parametro').disabled=true; // desabilita campo de parametro
		document.getElementById('tb_cond_parametro').innerHTML = '&nbsp;'; // limpa o label do parametro
		muda_estilo('txt_cond_parametro', '10'); // esconde o campo de parametro
		muda_estilo('btn_add_cond', '8'); // esconde o botao de inserir condição
		spam_traduz_regra();

		if(document.getElementById('txt_cond').value=='nada'){
			muda_estilo('tb_cond', '8'); // esconde tabela de condições
			document.getElementById('tb_acao').style.display = 'block'; // mostra tabela de ações
			pos_alert_form('txt_acao', '<b>Selecione uma ação:</b><br>Agora você deve selecionar o que o anti-spam deve fazer ao satisfazer a(s)condição(ões).');
		} else {	
			if(!confirm('Deseja inserir outra condição?\n\nVocê pode inserir quantas condições forem necessárias.\nSe você não quiser inserir mais condições nesta regra\npressione o botão cancelar.')){ // Se não deseja incluir outra condição, vai para as ações.
				muda_estilo('tb_cond', '8'); // esconde tabela de condições
				document.getElementById('tb_acao').style.display = 'block'; // mostra tabela de ações
				pos_alert_form('txt_acao', '<b>Selecione uma ação:</b><br>Agora você deve selecionar o que o anti-spam deve fazer ao satisfazer a(s)condição(ões).');
			} else {
				document.getElementById('txt_cond').value='';
			}
		}		
	}
}		


function spam_traduz_regra(){
	var resultado = document.getElementById('txt_resultado').value;
	var resultado_visu = resultado;
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%y=0\"/, " e o servidor não possuir SPF");
	resultado_visu = resultado_visu.replace(/Itest[?] \"\%y=0\"/, "Quando o servidor de envio não possuir SPF");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%y=1\"/, " e o servidor passar no teste SPF");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%y=1\"/, "Quando o servidor de envio passar no teste SPF");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%y=2\"/, " e o servidor for neutro no teste SPF");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%y=2\"/, "Quando o servidor de envio for neutro no teste SPF");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%y=3\"/, " e o servidor for recusado no teste SPF");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%y=3\"/, "Quando o servidor de envio for recusado no teste SPF");
	resultado_visu = resultado_visu.replace(/( )+!Auth[?]/, " e o usuário não estiver autenticado");
	resultado_visu = resultado_visu.replace(/!Auth[?]/, "Quando o usuário não estiver autenticado");
	resultado_visu = resultado_visu.replace(/( )+Auth[?]/, " e o usuário estiver autenticado");
	resultado_visu = resultado_visu.replace(/Auth[?]/, "Quando o usuário estiver autenticado");
	resultado_visu = resultado_visu.replace(/( )+Find_str[?] \"%f:/, " e no remetente encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/Find_str[?] \"%f:/, "Quando no remetente encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/( )+Find_to[?] \"/, " e nos destinatários encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/Find_to[?] \"/, "Quando nos destinatários encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/( )+Find_str[?] \"%S:/, " e no assunto encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/Find_str[?] \"%S:/, "Quando no assunto encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/( )+Attach[?] \"/, " e no nome de algum anexo encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/Attach[?] \"/, "Quando no nome de algum anexo encontrar o termo \"");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%z</, " e o tamanho (em bytes) for menor que \"");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%z</, "Quando o tamanho (em bytes) for menor que \"");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%z>/, " e o tamanho (em bytes) for maior que \"");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%z>/, "Quando o tamanho (em bytes) for maior que \"");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%n>/, " e o número de destinatários for maior que \"");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%n>/, "Quando o número de destinatários for maior que \"");
	resultado_visu = resultado_visu.replace(/( )+Itest[?] \"%n</, " e o número de destinatários for menor que \"");
	resultado_visu = resultado_visu.replace(/Itest[?] \"%n</, "Quando o número de destinatários for menor que \"");
	resultado_visu = resultado_visu.replace(/( )+Ip[?]/, " e o Ip do servidor de envio conter");
	resultado_visu = resultado_visu.replace(/Ip[?]/, "Quando o Ip do servidor de envio conter");
	resultado_visu = resultado_visu.replace(/( )+Find_str[?] \"%e:/, " e o nome do servidor de envio conter \"");
	resultado_visu = resultado_visu.replace(/Find_str[?] \"%e:/, "Quando o nome do servidor de envio conter \"");
	resultado_visu = resultado_visu.replace(/( )+Find_str[?] \"%h:/, " e o nome fornecido no HELO/EHLO conter \"");
	resultado_visu = resultado_visu.replace(/Find_str[?] \"%h:/, "Quando o nome fornecido no HELO/EHLO conter \"");
	resultado_visu = resultado_visu.replace(/( )+Direct_cnx[?]/, " e a mensagem foi entregue com conexão direta");
	resultado_visu = resultado_visu.replace(/Direct_cnx[?]/, "Quando a mensagem foi entregue com conexão direta");

	resultado_visu = resultado_visu.replace(/( )+Accept!/, ", aceitar a mensagem imediatamente.");
	resultado_visu = resultado_visu.replace(/Accept!/, "Aceitar todas as mensagens ainda não filtradas.");
	resultado_visu = resultado_visu.replace(/( )+Junk!/, ", marcar a mensagem como spam imediatamente.");
	resultado_visu = resultado_visu.replace(/Junk!/, "Marcar todas as mensagens ainda não filtradas como spam.");
	resultado_visu = resultado_visu.replace(/( )+Drop!/, ", excluir a mensagem imediatamente.");
	resultado_visu = resultado_visu.replace(/Drop!/, "EXCLUI imediatamente todas as mensagens ainda não filtradas.");
	resultado_visu = resultado_visu.replace(/( )+Stop!/, ", interrompe o processamento das regras.");
	resultado_visu = resultado_visu.replace(/Stop!/, "INTERROMPE imediatamente o processamento das regras.");
	resultado_visu = resultado_visu.replace(/( )+Addnegscore!/, ", adicionar os pontos:");
	resultado_visu = resultado_visu.replace(/Addnegscore!/, "Todas as mensagens ainda não filtradas, recebem os pontos:");
	resultado_visu = resultado_visu.replace(/( )+Dest!/, ", mover a mensagem para a pasta:");
	resultado_visu = resultado_visu.replace(/Dest!/, "Mover todas as mensagens ainda não filtradas para a pasta:");
	
	resultado_visu = resultado_visu.replace(/Max!/, "Máximo de pontos para mensagens válidas:");
	resultado_visu = resultado_visu.replace(/Inc_rules! \"\/etc\/filtro_basico\"/, "Usar o filtro com proteção básica pré-configurado da Hospedaria");			
	resultado_visu = resultado_visu.replace(/Inc_rules! \"\/etc\/filtro_medio\"/, "Usar o filtro com proteção média pré-configurado da Hospedaria");			
	resultado_visu = resultado_visu.replace(/Inc_rules! \"\/etc\/filtro_forte\"/, "Usar o filtro com proteção alta pré-configurado da Hospedaria");			

	resultado_visu = resultado_visu.replace(/nada/, "");
	document.getElementById('txt_resultado_visu').value=resultado_visu;
	if(resultado_visu!='' && resultado_visu!=' '){
		document.getElementById('tb_resultado').style.display = 'block';
	}
}


// ***************************** Valida digitação do parametro de condição de ação (só aceita A-Za-z0-9.... 
function valida_spam_acao_param(campo, event, classerro, classnormal){
	var pesq1 = new RegExp("^[0-9-]*$"); // Caracteres permitidos
	var pesq3 = new RegExp("[^0-9-]", "g"); // Caracteres proibidos

	if (!document.getElementById(campo).value.match(pesq1)) { // Verifica se encontrou algo proibido
		 pos_alert_form(campo, '<b>Caracter não permitido para este parâmetro.</b><BR>Verifique a Ajuda para informações detalhadas.'); // chama função para mostrar balão no campo
		 document.getElementById(campo).value = document.getElementById(campo).value.replace(pesq3,"");
		 muda_estilo(campo, classerro); // Muda campo para classe de erro
	} else { // Se tudo estiver OK
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; // Pega ultima telca apertada
		if(keyCode!='16'){ // se não for o Shift, remove o balao
			rem_alert_form();
		 	muda_estilo(campo, classnormal); // Muda campo para classe aceso
		}
		if(keyCode=='13'){
			document.getElementById(campo).blur();
		}
		if(document.getElementById(campo).value!=''){
			muda_estilo('btn_add_acao', '7');
			muda_estilo('btn_add_acao', '9');
		} else {
			muda_estilo('btn_add_acao', '8');
		}
	}
}


function spam_muda_acao(status, paratipo, mensagem){
	if(status=='1'){
		document.getElementById('tb_acao_descricao').innerHTML = mensagem;
		document.getElementById('txt_acao_parametro').disabled=false;
		document.getElementById('tb_acao_parametro').innerHTML = 'Parâmetro:';
		muda_estilo('txt_acao_parametro', '11');
		document.getElementById('txt_acao_parametro').focus();	
		if(paratipo=='n'){
			pos_alert_form('txt_acao_parametro', '<b>Preencha o parâmetro: </b><br>Esta ação requer um parâmetro numérico.<BR>Leia a ajuda para informações detalhadas.');
		}
		if(paratipo=='t'){
			pos_alert_form('txt_acao_parametro', '<b>Preencha o parâmetro: </b><br>Esta ação requer um parâmetro alfa-numérico.<BR>Leia a ajuda para informações detalhadas.');
		}
		muda_estilo('btn_add_acao', '8');
	} else {
		document.getElementById('tb_acao_descricao').innerHTML = mensagem;
		document.getElementById('txt_acao_parametro').value='';
		document.getElementById('txt_acao_parametro').disabled=true;
		document.getElementById('tb_acao_parametro').innerHTML = '&nbsp;';
		muda_estilo('txt_acao_parametro', '10');
		muda_estilo('btn_add_acao', '7');
		muda_estilo('btn_add_acao', '9');
	}

}


function spam_sel_acao() {
	cabecalho = '<b>Ajuda: </b>';
	if(document.getElementById('txt_acao').value==''){
		spam_muda_acao('0', 't', cabecalho+'Selecione uma ação, em seguida complete seu parâmetro (se necessário) e clique no botão adicionar.');
	}
	if(document.getElementById('txt_acao').value=='Accept!'){
		spam_muda_acao('0', 't', cabecalho+'<br> Esta ação aceita o e-mail quando as condições sejam satisfatórias.<BR><i>Esta Ação NÃO requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='ini';				
	}
	if(document.getElementById('txt_acao').value=='Junk!'){
		spam_muda_acao('0', 't', cabecalho+'<br> Esta ação marca o e-mail como spam, quando as condições sejam satisfatórias.<BR><i>Esta Ação NÃO requer parâmetros.</i>');
		document.getElementById('onde_incluir').value='fim';				
	}
	if(document.getElementById('txt_acao').value=='Drop!'){
		spam_muda_acao('0', 't', cabecalho+'<br> Esta ação EXCLUI permanentemente o  e-mail quando as condições sejam satisfatórias.<BR><i>Esta Ação NÃO requer parâmetros. Os e-mail excluídos não poderão ser recuperados.</i>');
		document.getElementById('onde_incluir').value='fim';				
	}
	if(document.getElementById('txt_acao').value=='Stop!'){
		spam_muda_acao('0', 't', cabecalho+'<br> Esta ação INTERROMPE o processamento do atual arquivo de regras.<BR><i>Esta Ação NÃO requer parâmetros. As regras pessoais das contas serão processadas normalmente.</i>');
		document.getElementById('onde_incluir').value='fim';				
	}	
	if(document.getElementById('txt_acao').value=='Addnegscore!'){
		spam_muda_acao('1', 'n', cabecalho+'<br> Esta ação adiciona pontos (negativos ou positivos) ao e-mail quando as condições sejam satisfatórias. Quanto MAIS pontos uma mensagem tem, mais chances ela tem de ser classificada como Spam.<BR><i>Esta Ação requer parâmetros (números positivos ou negativos).</i>');
	}
	if(document.getElementById('txt_acao').value=='Max!'){
		spam_muda_acao('1', 'n', cabecalho+'<br> Esta ação limita o número de pontos permitidos para mensagens válidas.<br> Qualquer mensagem que ultrapassar este limite será classificada como Spam.<BR><i>Esta Ação requer parâmetros (números positivos).</i>');
		document.getElementById('onde_incluir').value='ini';				
	}

}
function spam_adiciona_acao() {
	if(document.getElementById('txt_acao_parametro').className=='spam_parametro' && document.getElementById('txt_acao_parametro').value==''){
		pos_alert_form('txt_acao_parametro', '<b>Preencha o parâmetro: </b><br>A ação que você escolheu requer um parâmetro.<BR>Leia a ajuda para informações detalhadas.');
	} else { // Se estiver tudo preenchido corretamente, adiciona....
		if(document.getElementById('txt_acao_parametro').value!=''){
			document.getElementById('txt_resultado').value += document.getElementById('txt_acao').value+" \""+document.getElementById('txt_acao_parametro').value+"\" ";
		} else {
			document.getElementById('txt_resultado').value += document.getElementById('txt_acao').value+" ";
		}
		document.getElementById('tb_acao_descricao').innerHTML = ''; // Limpra descrição da açao
		document.getElementById('txt_acao_parametro').value=''; //Limpa campo de parametro
		document.getElementById('txt_acao_parametro').disabled=true; // desabilita campo de parametro
		document.getElementById('tb_acao_parametro').innerHTML = '&nbsp;'; // limpa o label do parametro
		muda_estilo('txt_acao_parametro', '10'); // esconde o campo de parametro
		muda_estilo('btn_add_acao', '8'); // esconde o botao de inserir condição
		spam_traduz_regra();
		document.getElementById('tb_acao').style.display = 'none';
		muda_estilo('tb_acao', '8'); // esconde tabela de açoes
		muda_estilo('btn_add_total', '7');
		muda_estilo('btn_add_total', '9');
		pos_alert_form('btn_add_total', '<b>Inclua a regra: </b>Clique aqui para gravar a regra que você acabou de criar.');

	}
}		

function spam_adiciona_regra() {
	rem_alert_form();
	//alert("ADICIONA: "+document.getElementById('txt_resultado').value);
	document.nova_regra.submit();
}		


function spam_adiciona_regra_basica() {
	rem_alert_form();
	texto_resultado = '';
	if(document.getElementById('txt_cond_basica').value!=''){
		texto_resultado = 'Find_str? "%f:'+document.getElementById('txt_cond_basica').value+'"';
	}
	if(document.getElementById('txt_cond_basica2').value!=''){
		if(texto_resultado!=''){
			texto_resultado = texto_resultado+' Find_str? "%S:'+document.getElementById('txt_cond_basica2').value+'"';
		} else {
			texto_resultado = 'Find_str? "%S:'+document.getElementById('txt_cond_basica2').value+'"';
		}
	}
	
	if(document.getElementById('acao_basica_1').checked){
		document.getElementById('txt_resultado_basico').value = texto_resultado+document.getElementById('acao_basica_1').value;
	}
	if(document.getElementById('acao_basica_2').checked){
		document.getElementById('txt_resultado_basico').value = texto_resultado+document.getElementById('acao_basica_2').value;
	}
	//alert("ADICIONA: "+document.getElementById('txt_resultado').value);
	document.nova_regra_basica.submit();
}		


//muda as opções de escolha de form mail (exemplo, formulario, flashform)
function formmail_muda_opcao() {
	if(document.getElementById('rb_opcao_1').checked){
		document.getElementById('tb_dados').style.display 		= 'block';
		document.getElementById('tb_modelos').style.display 	= 'block';
		document.getElementById('tb_add_campos').style.display 	= 'none';
		document.getElementById('tb_flash').style.display 		= 'none';
		document.getElementById('tb_incluir').style.display 	= 'none';
		document.getElementById('tb_semajuda').style.display 	= 'none';
		document.getElementById('txt_resultado').value 			= '';
		document.getElementById('txt_para').focus();
		pos_alert_form('txt_para', 'Preencha estes campos para que seu formulário funcione corretamente.<br>Passe o mouse sobre os campos para maiores detalhes.');
	}
	if(document.getElementById('rb_opcao_2').checked){
		document.getElementById('tb_dados').style.display 		= 'block';
		document.getElementById('tb_modelos').style.display 	= 'none';
		document.getElementById('tb_add_campos').style.display 	= 'block';
		document.getElementById('tb_flash').style.display 		= 'none';
		document.getElementById('tb_incluir').style.display 	= 'none';
		document.getElementById('tb_semajuda').style.display 	= 'none';
		document.getElementById('txt_resultado').value 			= '';
		document.getElementById('txt_para').focus();
		pos_alert_form('txt_para', 'Preencha estes campos para que seu formulário funcione corretamente.<br>Passe o mouse sobre os campos para maiores detalhes.');
	}
	if(document.getElementById('rb_opcao_3').checked){
		document.getElementById('tb_dados').style.display 		= 'none';
		document.getElementById('tb_modelos').style.display 	= 'none';
		document.getElementById('tb_add_campos').style.display 	= 'none';
		document.getElementById('tb_flash').style.display 		= 'block';
		document.getElementById('tb_incluir').style.display 	= 'none';
		document.getElementById('tb_semajuda').style.display 	= 'none';
		document.getElementById('txt_resultado').value 			= '';
	}
	if(document.getElementById('rb_opcao_4').checked){
		document.getElementById('tb_dados').style.display 		= 'none';
		document.getElementById('tb_modelos').style.display 	= 'none';
		document.getElementById('tb_add_campos').style.display 	= 'none';
		document.getElementById('tb_flash').style.display 		= 'none';
		document.getElementById('tb_incluir').style.display 	= 'none';
		document.getElementById('tb_semajuda').style.display 	= 'block';
		document.getElementById('txt_resultado').value 			= '';
	}
}

//verifica as opções escolhidas para habilitar os campos de inclusão do form mail
function formmail_habilita_incluir() {
	document.getElementById('tb_incluir').style.display = 'block'; // exibe bloco com o resultado e o finalizar
	pos_alert_form('btn_incluir', 'Se você já escolheu seu modelo de formulário, clique aqui para gerá-lo.');
	if(document.getElementById('rb_opcao_1').checked){ // Se a pessoa escolheu o form-mail por modelos
		document.getElementById('txt_resultado_visu').value='';
		document.getElementById('txt_resultado').value='';
		if(document.getElementById('rb_modelo_1').checked){ // Se a pessoa escolheu o modelo 1 (nome, emailo, telefone e mensagem
			document.getElementById('txt_resultado').value ='text;nome#';
			document.getElementById('txt_resultado').value +='text;email#';
			document.getElementById('txt_resultado').value +='text;telefone#';
			document.getElementById('txt_resultado').value +='textarea;mensagem#';
			formmail_traduz_resultado();
		}
		if(document.getElementById('rb_modelo_2').checked){ // Se a pessoa escolheu o modelo 2 (nome, sexo, e-mail, telefone, endereço, cidade, estado e mensagem.)
			document.getElementById('txt_resultado').value ='text;nome#';
			document.getElementById('txt_resultado').value +='select;sexo#';
			document.getElementById('txt_resultado').value +='option;Feminino#';
			document.getElementById('txt_resultado').value +='option;Masculino#';
			document.getElementById('txt_resultado').value +='text;email#';
			document.getElementById('txt_resultado').value +='text;telefone#';
			document.getElementById('txt_resultado').value +='text;endereco#';
			document.getElementById('txt_resultado').value +='text;cidade#';
			document.getElementById('txt_resultado').value +='text;estado#';
			document.getElementById('txt_resultado').value +='textarea;mensagem#';
			formmail_traduz_resultado();
		}
		if(document.getElementById('rb_modelo_3').checked){ // Se a pessoa escolheu o modelo 3 (nome, emailo e telefone.
			document.getElementById('txt_resultado').value ='text;nome#';
			document.getElementById('txt_resultado').value +='text;email#';
			document.getElementById('txt_resultado').value +='text;telefone#';
			formmail_traduz_resultado();
		}
		if(document.getElementById('rb_modelo_4').checked){ // Se a pessoa escolheu o modelo 2 (nome, sexo, e-mail, telefone, endereço, cidade e estado.)
			document.getElementById('txt_resultado').value ='text;nome#';
			document.getElementById('txt_resultado').value +='select;sexo#';
			document.getElementById('txt_resultado').value +='option;Feminino#';
			document.getElementById('txt_resultado').value +='option;Masculino#';
			document.getElementById('txt_resultado').value +='text;email#';
			document.getElementById('txt_resultado').value +='text;telefone#';
			document.getElementById('txt_resultado').value +='text;endereco#';
			document.getElementById('txt_resultado').value +='text;cidade#';
			document.getElementById('txt_resultado').value +='text;estado#';
			formmail_traduz_resultado();
		}
		if(document.getElementById('rb_modelo_5').checked){ // Se a pessoa escolheu o modelo 3 (nome, e email.)
			document.getElementById('txt_resultado').value ='text;nome#';
			document.getElementById('txt_resultado').value +='text;email#';
			formmail_traduz_resultado();
		}

	}	
}

function formmail_tipo_campo() {
	if(document.getElementById('campo_tipo').value!=''){
		document.getElementById('tb_campo_nome').style.display='block';
		document.getElementById('tb_campo_inclui').style.display='block';
		pos_alert_form('campo_nome', 'Digite o nome deste campo. Utilize um nome para fácil identificação posterior(Ex.: Nome, Telefone, Sexo...)');
		//alert(document.getElementById('campo_tipo').value);
		document.getElementById('campo_nome').focus();
	} else {
		document.getElementById('tb_campo_nome').style.display='none';
		document.getElementById('tb_campo_inclui').style.display='none';
		pos_alert_form('campo_tipo', 'Você deve selecionar um tipo de campo para incluir no seu formulário, ou finalizar e gerar seu formulário no final desta página.');
	}
}

// Função para incluir o campo no formulário do form-mail
function formmail_inclui_campo() {
	if(document.getElementById('campo_nome').value==''){ // Verifica se não preencheu o nome do campo
		pos_alert_form('campo_nome', 'Você precisa especificar um nome para este campo. Utilize um nome de fácil identificação posterior(Ex.: Nome, Telefone, Sexo...)');
		document.getElementById('campo_nome').focus();
	} else { // se preencheu o nome....
		if ( document.getElementById('campo_tipo').value=='text' || document.getElementById('campo_tipo').value=='textarea' || document.getElementById('campo_tipo').value=='check'){ // verifica se o campo escolhido não precisa de opcoes
			document.getElementById('txt_resultado').value +=document.getElementById('campo_tipo').value; //Incluir campo no form
			document.getElementById('txt_resultado').value +=';';
			document.getElementById('txt_resultado').value +=document.getElementById('campo_nome').value; //Incluir nome do campo no form
			document.getElementById('txt_resultado').value +='#';
			formmail_traduz_resultado(); // Exibe o resultado formatado
			document.getElementById('tb_incluir').style.display = 'block'; // exibe bloco com o resultado e o finalizar
			pos_alert_form('btn_incluir', 'Se você já escolheu todos os campos do seu formulário, clique aqui para gerar o código.');
			document.getElementById('campo_tipo').value=''; // limpa os campos
			document.getElementById('campo_nome').value=''; // limpa os campos
			document.getElementById('tb_campo_opcao_titulo').innerHTML='&nbsp;';
			document.getElementById('tb_campo_nome').style.display='none'; // Esconde os campos novamente
			document.getElementById('tb_campo_inclui').style.display='none'; // Esconde os campos novamente
			document.getElementById('campo_tipo').focus(); // Dá o foco para o tipo de campo
		} else { // Se o campo selecionado precisar de opções
			document.getElementById('tb_campo_opcao_titulo').innerHTML='Preencha as opções para o campo '+document.getElementById('campo_nome').value;
			document.getElementById('txt_resultado').value +=document.getElementById('campo_tipo').value; //Incluir campo no form
			document.getElementById('txt_resultado').value +=';';
			document.getElementById('txt_resultado').value +=document.getElementById('campo_nome').value; //Incluir nome do campo no form
			document.getElementById('txt_resultado').value +='#';
			formmail_traduz_resultado(); // Exibe o resultado formatado
			document.getElementById('tb_incluir').style.display = 'block'; // exibe bloco com o resultado e o finalizar
			document.getElementById('tb_campo_tipo').style.display='none'; // Esconde os campos novamente
			document.getElementById('tb_campo_nome').style.display='none'; // Esconde os campos novamente
			document.getElementById('tb_campo_inclui').style.display='none'; // Esconde os campos novamente
			document.getElementById('tb_campo_opcao').style.display='block'; // Exibe as opçoes
			document.getElementById('campo_opcao').value=''; // Limpa o campo de opcoes
			document.getElementById('campo_opcao').focus(); // Dá o foco para as opcoes
			pos_alert_form('campo_opcao', 'Preencha as opções do campo de seleção.');
			document.getElementById('campo_tipo').value=''; // limpa os campos
			document.getElementById('campo_nome').value=''; // limpa os campos

		}
	}
}

function formmail_inclui_opcao() {
	if(document.getElementById('campo_opcao').value!=''){ // Verifica se colocou algum valor na opção
		document.getElementById('txt_resultado').value +='option;';
		document.getElementById('txt_resultado').value +=document.getElementById('campo_opcao').value; //Incluir nome da opção no form
		document.getElementById('txt_resultado').value +='#';
		formmail_traduz_resultado(); // Exibe o resultado formatado
		document.getElementById('campo_opcao').value=''; // Limpa o campo de opcoes
		document.getElementById('campo_opcao').focus(); // Dá o foco para as opcoes
		pos_alert_form('campo_opcao', 'Você pode inserir quantas opções desejar.<br>Quando não quiser mais adicionar opções, clique no link INCLUIR OUTRO CAMPO.');
	} else { // Se não colocaou nenhum valor na opção, finaliza o processo!
		document.getElementById('tb_campo_opcao_titulo').innerHTML='&nbsp;';
		document.getElementById('tb_campo_tipo').style.display='block'; // Esconde os campos novamente
		document.getElementById('tb_campo_opcao').style.display='none'; // Exibe as opçoes
		document.getElementById('campo_opcao').value=''; // Limpa o campo de opcoes
	
	}
}

function formmail_gera_form() {
	document.getElementById('para').value=document.getElementById('txt_para').value;
	document.getElementById('nomeremetente').value=document.getElementById('txt_nomeremetente').value;
	document.getElementById('remetente').value=document.getElementById('txt_remetente').value;
	document.getElementById('assunto').value=document.getElementById('txt_assunto').value;
	document.getElementById('redirectto').value=document.getElementById('txt_redirectto').value;
	document.enviaform.submit();
}

function formmail_traduz_resultado(){
	resultado_visu = document.getElementById('txt_resultado').value;

	resultado_visu = resultado_visu.replace(/text;/g,     "- Campo de texto curto chamado ");
	resultado_visu = resultado_visu.replace(/textarea;/g, "- Campo de texto longo chamado ");
	resultado_visu = resultado_visu.replace(/select;/g,   "- Campo de seleção chamada ");
	resultado_visu = resultado_visu.replace(/option;/g,   "   - Opção ");
	resultado_visu = resultado_visu.replace(/check;/g,    "- Botão de checagem chamado ");
	
	resultado_visu = resultado_visu.replace(/#/g, ".\n");
	
	document.getElementById('txt_resultado_visu').value = resultado_visu;
}

//Função  para selecionar exibir opções de domínio na criação de nova hospedagem
function nova_hosped_muda_opcao() {
	if(document.getElementById('rb_opcao_1').checked){
		document.getElementById('tab_dados_dominio').style.display 		= 'block';
		document.getElementById('tab_libera_dominio').style.display 	= 'none';
		document.getElementById('tab_pesquisa_dominio').style.display 	= 'block';
		document.getElementById('txt_dominio').focus();
		pos_alert_form('txt_dominio', 'Digite o domínio que você deseja registrar, selecione uma extensão e em seguida clique em \'Verificar Disponibilidade\'.');
	}
	if(document.getElementById('rb_opcao_2').checked){
		document.getElementById('tab_dados_dominio').style.display 		= 'block';
		document.getElementById('tab_pesquisa_dominio').style.display 	= 'none';
		document.getElementById('tab_libera_dominio').style.display 	= 'block';
		document.getElementById('txt_dominio').focus();
		pos_alert_form('txt_dominio', 'Digite aqui o domínio que você deseja hospedar e selecione sua respectiva extensão.');
	}
}

//Função  para exibir os planos de hospedagem
function nova_hosped_exibe_planos() {
	if(document.getElementById('txt_dominio').value==''){
		pos_alert_form('txt_dominio', 'Digite aqui o domínio que você deseja hospedar e selecione sua respectiva extensão.');
	} else {
		if(document.getElementById('txt_dominio_extensao').value==''){
			pos_alert_form('txt_dominio_extensao', 'Selecione uma extensão para o domínio.');
		} else {
			document.getElementById('tab_tipo_hosp').style.display 			= 'none';
			document.getElementById('tab_dados_dominio').style.display 		= 'none';
			document.getElementById('tab_pesquisa_dominio').style.display 	= 'none';
			document.getElementById('tab_libera_dominio').style.display 	= 'none';
		
			document.getElementById('txt_dominio_ok').value 				= document.getElementById('txt_dominio').value+'.'+document.getElementById('txt_dominio_extensao').value;
			document.getElementById('txt_extensao_ok').value 				= document.getElementById('txt_dominio_extensao').value;
		
			document.getElementById('tab_seleciona_plano').style.display 	= 'block';
			document.getElementById('tab_infos_plano_rodape').style.display = 'block';
			if(document.getElementById('rb_opcao_1').checked){
				document.getElementById('txt_tipo_ok').value 				= 'novo';
				document.getElementById('tab_end_site').innerHTML = "<span class='texto'>Eu quero que a hospedaria registre e hospede o novo domínio:</span><BR><span class='texto_grande'>www."+document.getElementById('txt_dominio').value+"."+document.getElementById('txt_dominio_extensao').value+"</span>";
			}
			if(document.getElementById('rb_opcao_2').checked){
				document.getElementById('txt_tipo_ok').value 				= 'transf';
				document.getElementById('tab_end_site').innerHTML = "<span class='texto'>Eu quero hospedar o site (já registrado):</span><BR><span class='texto_grande'>www."+document.getElementById('txt_dominio').value+"."+document.getElementById('txt_dominio_extensao').value+"</span>";
			}
		}
	}
}

//Função para exibir os S.O. dependendo do plano selecionado
function nova_hosped_muda_plano(valor) {
	ajaxGet('consulta_plano.php?tipo=1&plano='+valor, document.getElementById('tab_infos_plano'), true, '<span class=texto>Aguarde... Consultando informações.</span>');
}

function nova_hosped_muda_responsa(valor, tipo, tipo_desc) {
	ajaxGet('consulta_responsa.php?email='+valor+'&tipo_desc='+tipo_desc+'&tipo='+tipo, document.getElementById('nome_'+tipo), true, '<span class=texto>Aguarde... Consultando informações.</span>');
}

//Função para fazer as verificações das sugestoes
function nova_hosped_usa_sugestao(dominio, extensao) {
	kill();
	document.getElementById('txt_dominio').value=dominio;
	document.getElementById('txt_dominio_extensao').value=extensao;
	nova_hosped_verifica_disp(dominio, extensao);
}

//Função  para selecionar exibir opções de domínio na criação de nova hospedagem
function nova_hosped_verifica_disp(dominio, extensao) {
	if(dominio=='' || extensao==''){
		if(dominio==''){
			document.getElementById('txt_dominio').focus();
			pos_alert_form('txt_dominio', 'Você precisa digitar seu dominio. <BR>Lembre-se: Não digite o www. nem a extensão neste campo.');
		}
		if(extensao==''){
			document.getElementById('txt_dominio_extensao').focus();
			pos_alert_form('txt_dominio_extensao', 'Você precisa escolher uma extensão para seu domínio. <BR>Selecione as opções disponíveis para verificar suas respectivas explicações.');
		}
	} else {
		ajaxGet('consulta_whois.php?tipo=1&dominio='+dominio+'.'+extensao,document.getElementById('resultado_whois'),true, '<span class=texto>Aguarde... Consultando informações.</span>');
	}
}

//Função  para selecionar exibir texto explicativo com as extensões disponíveis
function nova_hosped_muda_extensao(valor, objeto) {
	ajaxGet('consulta_dpns.php?dpn='+valor,document.getElementById(objeto),true, '<span class=interna_mini>Aguarde... Consultando informações.</span>');	
	/*document.getElementById(objeto).innerHTML='&nbsp;';
	if(valor=='agr.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para empresas agrícolas, fazendas - Somente para pessoas jurídicas.';	}
	if(valor=='am.br') {	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Empresas de radiodifusão sonora - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovante da ANATEL para Radiodifusão sonora AM';	}
	if(valor=='art.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Artes: música, pintura, folclore - Somente para pessoas jurídicas.';	}
	if(valor=='edu.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades de ensino superior - Somente para pessoas jurídicas.<br>Exige-se o CNPJ e a comprovação da atividade específica através de documento do MEC e algum documento que comprove que o nome a ser registrado não é genérico';	}
	if(valor=='com.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Comércio em geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='coop.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Cooperativas - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovante de registro junto a Organização das Cooperativas Brasileiras';	}
	if(valor=='esp.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Esporte em geral - Somente para pessoas jurídicas.';	}
	if(valor=='far.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Farmácias e drogarias - Somente para pessoas jurídicas.';	}
	if(valor=='fm.br'){		document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Empresas de radiodifusão sonora - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovante da ANATEL para Radiodifusão sonora FM';	}
	if(valor=='g12.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades de ensino de primeiro e segundo grau - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ';	}
	if(valor=='gov.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades do governo federal - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovação que a entidade pertence ao governo federal. O registro não pode ser efetuado pela Hospedaria';	}
	if(valor=='imb.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Imobiliárias - Somente para pessoas jurídicas.';	}
	if(valor=='ind.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Indústrias - Somente para pessoas jurídicas.';	}
	if(valor=='inf.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Meios de informação (rádios, jornais, bibliotecas, etc..) - Somente para pessoas jurídicas.';	}
	if(valor=='jus.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades do Poder Judiciário - Somente para pessoas jurídicas.';	}
	if(valor=='mil.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Forças Armadas Brasileiras - Somente para pessoas jurídicas.<BR>Exige-se autorização do Ministério da Defesa.';	}
	if(valor=='net.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Detentores de autorização para os serviços de Comunicação Multimídia (SCM), Rede e Circuito Especializado (SLE) da Anatel e/ou detentores de Sistema Autônomo conectado a Internet conforme o RFC1930 do registro.br - Somente para pessoas jurídicas.';	}
	if(valor=='org.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades não governamentais sem fins lucrativos - Somente para pessoas jurídicas.<BR>Exige-se a documentação que comprove a natureza da instituição não governamental sem fins lucrativos e o CNPJ.';	}
	if(valor=='psi.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Provedores de serviço Internet - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovação que a entidade é provedora de acesso à Internet';	}
	if(valor=='rec.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Atividades de entretenimento, diversão, jogos, etc... - Somente para pessoas jurídicas.';	}
	if(valor=='srv.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Empresas prestadoras de serviços - Somente para pessoas jurídicas.';	}
	if(valor=='tmp.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Eventos temporários, como feiras e exposições - Somente para pessoas jurídicas.';	}
	if(valor=='tur.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades da área de turismo - Somente para pessoas jurídicas.';	}
	if(valor=='tv.br'){		document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Empresas de radiodifusão de sons e imagens - Somente para pessoas jurídicas.<BR>Exige-se o CNPJ e comprovante da ANATEL para Radiodifusão de Sons e Imagens ou Operação de TV à cabo.';	}
	if(valor=='etc.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Entidades que não se enquadram nas outras categorias - Somente para pessoas jurídicas.';	}
	if(valor=='can.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Candidatos à eleição - Somente para pessoas jurídicas.<BR>Consulte documentação exigida para poder registrar.';	}
	
	if(valor=='adm.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Administradores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='adv.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Advogados - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='arq.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Arquitetos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='ato.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Atores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='bio.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Biólogos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='bmd.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Biomédicos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='cim.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Corretores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='cng.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Cenógrafos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='cnt.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Contadores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='ecn.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Economistas - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='eng.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Engenheiros - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='eti.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Especialista em Tecnologia da Informação - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='fnd.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Fonoaudiólogos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='fot.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Fotógrafos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='fst.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Fisioterapeutas - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='ggf.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Geógrafos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='jor.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Jornalistas - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='lel.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Leiloeiros - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='mat.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Matemáticos e Estatísticos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='med.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Médicos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='mus.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Músicos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='not.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Notários - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='ntr.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Nutricionistas - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='odo.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Dentistas - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='ppg.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Publicitários e profissionais da área de propaganda e marketing - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='pro.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Professores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='psc.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Psicólogos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='qsl.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Rádio amadores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='slg.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Sociólogos - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='trd.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Tradutores - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='vet.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Veterinários - Somente para pessoas físicas (Profissionais liberais).';	}
	if(valor=='zlg.br'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Zoólogos - Somente para pessoas físicas (Profissionais liberais).';	}

	if(valor=='com'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Comércio em geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='net'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão destinada para Empresas de internet - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='biz'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='tv'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='us'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser apenas para pessoas jurídicas estabelecidas nos estados unidos.';	}
	if(valor=='org'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para Entidades não governamentais sem fins lucrativos - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='us'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser apenas para pessoas jurídicas estabelecidas nos estados unidos.';	}
	if(valor=='info'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='name'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas FÍSICAS(CPF).';	}
	if(valor=='bz'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='cc'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='cn'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='de'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='ws'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para uso geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='com.cn'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para Comércio em geral - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='net.cn'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para Empresas de internet - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	if(valor=='org.cn'){	document.getElementById(objeto).innerHTML='<b>'+valor+'</b> - Extensão internacional destinada para Entidades não governamentais sem fins lucrativos - Pode ser para pessoas jurídicas ou FÍSICAS(CPF).';	}
	*/
}

//Função para exibir elementos em FLASH sem a proteção do IE.
function flash(largura, altura, arquivo, transparencia, nome){
 document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+largura+'" height="'+altura+'" id="'+nome+'">');
 document.write('<param name="allowScriptAccess" value="sameDomain" /><param name="wmode" value="'+transparencia+'" /><param name="menu" value="false" />');
 document.write('<param name="movie" value="'+arquivo+'" /><param name="quality" value="best" /><embed src="'+arquivo+'" wmode="'+transparencia+'" menu="false" quality="best" width="'+largura+'" height="'+altura+'" name="'+nome+'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
 document.write('</object>');
}

//Função em AJAX que retorna o conteúdo de uma página em um objeto especificado.
function ajaxGet(url,elemento_retorno,exibe_carregando, texto_carregando){
/****** 
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.2 - 20/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*    exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*    (o nome da variável deve ser declarado por string, pois será feito um eval)
*    a função irá atribuir o retorno à variável ao receber a url.
*******/
     var ajax1 = pegaAjax();
     if(ajax1){
         url = antiCacheRand(url)
         ajax1.onreadystatechange = ajaxOnReady
         ajax1.open("GET", url ,true);
         //ajax1.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");//"application/x-www-form-urlencoded");
         ajax1.setRequestHeader("Cache-Control", "no-cache");
         ajax1.setRequestHeader("Pragma", "no-cache");
         if(exibe_carregando){ put(texto_carregando)    }
         ajax1.send(null)
         return true;
     }else{
         return false;
     }
     function ajaxOnReady(){
         if (ajax1.readyState==4){
             if(ajax1.status == 200){
                 var texto=ajax1.responseText;
                 if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");
                 //texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
                 //alert("Vai no put: "+texto);
				 put(texto);
                 extraiScript(texto);
             }else{
                 if(exibe_carregando){put("Falha no carregamento. " + httpStatus(ajax1.status));}
             }
             ajax1 = null
         }else if(exibe_carregando){//para mudar o status de cada carregando
                 put(texto_carregando)
         }
     }
     function put(valor){ //coloca o valor na variavel/elemento de retorno
         if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
             if(valor!="Falha no carregamento"){ 
                 eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
             }
         }else if(elemento_retorno.tagName.toLowerCase()=="input"){
             valor = escape(valor).replace(/\%0D\%0A/g,"")
             elemento_retorno.value = unescape(valor);
         }else if(elemento_retorno.tagName.toLowerCase()=="select"){        
             select_innerHTML(elemento_retorno,valor)
         }else if(elemento_retorno.tagName){
             elemento_retorno.innerHTML = valor;
             //alert(elemento_retorno.innerHTML)
         }    
     }
     function pegaAjax(){ //instancia um novo xmlhttprequest
         //baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
         if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
         var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
         for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
         return null;
     }
     function httpStatus(stat){ //retorna o texto do erro http
         switch(stat){
             case 0: return "Erro desconhecido de javascript";
             case 400: return "400: Solicita&ccedil;&atilde;o incompreensível"; break;
             case 403: case 404: return "404: N&atilde;o foi encontrada a URL solicitada"; break;
             case 405: return "405: O servidor n&atilde;o suporta o m&eacute;todo solicitado"; break;
             case 500: return "500: Erro desconhecido de natureza do servidor"; break;
             case 503: return "503: Capacidade m&aacute;xima do servidor alcançada"; break;
             default: return "Erro " + stat + ". Mais informa&ccedil;&otilde;es em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;
         }
     }
     function antiCacheRand(aurl){
         var dt = new Date();
         if(aurl.indexOf("?")>=0){// já tem parametros
             return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
         }else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
     }
}
function select_innerHTML(objeto,innerHTML){
/****** 
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
     objeto.innerHTML = ""
     var selTemp = document.createElement("micoxselect")
     var opt;
     selTemp.id="micoxselect1"
     document.body.appendChild(selTemp)
     selTemp = document.getElementById("micoxselect1")
     selTemp.style.display="none"
     if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
         innerHTML = "<option>" + innerHTML + "</option>"
     }
     innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
     selTemp.innerHTML = innerHTML
     for(var i=0;i<selTemp.childNodes.length;i++){
         if(selTemp.childNodes[i].tagName){
             opt = document.createElement("OPTION")
             for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
                 opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
             }
             opt.value = selTemp.childNodes[i].getAttribute("value")
             opt.text = selTemp.childNodes[i].innerHTML
             if(document.all){ //IEca
                 objeto.add(opt)
             }else{
                 objeto.appendChild(opt)
             }                    
         }    
     }
     document.body.removeChild(selTemp)
     selTemp = null
}

function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://forum.imasters.com.br/index.php?showtopic=165277&
     // inicializa o inicio ><
     var ini = 0;
     // loop enquanto achar um script
     while (ini!=-1){
         // procura uma tag de script
         ini = texto.indexOf('<script', ini);
         // se encontrar
         if (ini >=0){
             // define o inicio para depois do fechamento dessa tag
             ini = texto.indexOf('>', ini) + 1;
             // procura o final do script
             var fim = texto.indexOf('</script>', ini);
             // extrai apenas o script
             codigo = texto.substring(ini,fim);
             // executa o script
             //eval(codigo);
             /**********************
             * Alterado por Micox - micoxjcg@yahoo.com.br
             * Alterei pois com o eval não executava funções.
             ***********************/
             novo = document.createElement("script")
             novo.text = codigo;
             document.body.appendChild(novo);
         }
     }
}


/* Funções para fazer Upload Assíncrono (Parecido com AJAX) */
function $m(quem){
	return document.getElementById(quem)
}
function remove(quem){
	quem.parentNode.removeChild(quem);
}
function addEvent(obj, evType, fn){
 //o velho do elcio.com.br/crossbrowser
	if (obj.addEventListener)
		obj.addEventListener(evType, fn, true)
	if (obj.attachEvent)
		obj.attachEvent("on"+evType, fn)
}
function removeEvent( obj, type, fn ) {
	if ( obj.detachEvent ) {
		obj.detachEvent( 'on'+type, fn );
	} else {
		obj.removeEventListener( type, fn, false ); 
	}
} 
/* Função que faz o serviço pesado */
function micoxUpload(form,url_action,id_elemento_retorno,html_exibe_carregando,html_erro_http){
	/******
	* micoxUpload - Submete um form para um iframe oculto e pega o resultado. Consequentemente pode
	*               ser usado pra fazer upload de arquivos de forma assíncrona.
	* Use a vontade mas coloque meu nome nos créditos. Licença Creative Commons.
	* Versão: 1.0 - 03/03/2007 - Testado no FF2.0 IE6.0 e OP9.1
	* Autor: Micox - Náiron JCG - elmicox.blogspot.com - micoxjcg@yahoo.com.br
	* Parametros:
	* form - o form a ser submetido ou seu ID
	* url_action - url pra onde deve ser submetido o form
	* id_elemento_retorno - id do elemento que irá receber a informação de retorno
	* html_exibe_carregando - Texto (ou imagem) que será exibido enquanto se carrega o upload
	* html_erro_http - texto (ou imagem) que será exibido se der erro HTTP.
	*******/

	//testando se passou o ID ou o objeto mesmo
	form = typeof(form)=="string"?$m(form):form;
	
	//Acrescentando o diretório no form envio
	diretorio = document.getElementById('lista_dir').value;
	url_action=url_action+'?diretorio='+diretorio;
	
		
	var erro="";
	if(form==null || typeof(form)=="undefined"){ erro += "O form passado no 1o parâmetro não existe na página.\n"; }
	else if(form.nodeName!="FORM"){ erro += "O form passado no 1o parâmetro da função não é um form.\n"; }
	if($m(id_elemento_retorno)==null){ erro += "O elemento passado no 3o parâmetro não existe na página.\n"; }
	if(erro.length<0) {
		alert("Erro ao chamar a função de envio:\n" + erro);
	return;
	}

	//criando o iframe
	var iframe = document.createElement("iframe");
	iframe.setAttribute("id","micox-temp");
	iframe.setAttribute("name","micox-temp");
	iframe.setAttribute("width","0");
	iframe.setAttribute("height","0");
	iframe.setAttribute("border","0");
	iframe.setAttribute("style","width: 0; height: 0; border: none;");
	/* Não usei display:none pra esconder o iframe
	pois tem uma lenda que diz que o NS6 ignora
	iframes que tenham o display:none */
	
	//adicionando ao documento
	 form.parentNode.appendChild(iframe);
	 window.frames['micox-temp'].name="micox-temp"; //ie sucks
	 
	 //adicionando o evento ao carregar
	var carregou = function() { 
		removeEvent( $m('micox-temp'),"load", carregou);
		var cross = "javascript: ";
		cross += "window.parent.$m('" + id_elemento_retorno + "').innerHTML = document.body.innerHTML; void(0); ";
		
		$m(id_elemento_retorno).innerHTML = html_erro_http;
		$m('micox-temp').src = cross;
		//deleta o iframe
		setTimeout(function(){ remove($m('micox-temp'))}, 250);

		ajaxGet('ftp_arquivos.php?op=cria&diretorio='+diretorio, document.getElementById('ftp_arquivos'), false, '<span class=texto>Aguarde... <BR>Conectando ao serviço de FTP.</span>');
	}
	addEvent( $m('micox-temp'),"load", carregou);
	
	//setando propriedades do form
	form.setAttribute("target","micox-temp");
	form.setAttribute("action",url_action);
	form.setAttribute("method","post");
	form.setAttribute("enctype","multipart/form-data");
	form.setAttribute("encoding","multipart/form-data");
	//submetendo
	form.submit();
	
	//Exibe Carregando
	if(html_exibe_carregando=="sim"){
		var divexib = 'div_ftp_carregando'; //DIV do alerta
		document.getElementById(divexib).style.left		= '230px';
		document.getElementById(divexib).style.top 		= '140px';
		document.getElementById(divexib).style.display	= 'block';
	}
}
