var Password = function() {
	this.pass = "";

	this.generate = function(chars) {
		for (var i= 0; i<chars; i++) {
			this.pass += this.getRandomChar();
		}
		return this.pass;
	}

	this.getRandomChar = function() {
		/* 
		*	matriz contendo em cada linha indices (inicial e final) da tabela ASCII para retornar alguns caracteres.
		*	[48, 57] = numeros;
		*	[64, 90] = "@" mais letras maiusculas;
		*	[97, 122] = letras minusculas;
		*/
		var ascii = [[48, 57],[64,90],[97,122]];
		var i = Math.floor(Math.random()*ascii.length);
		return String.fromCharCode(Math.floor(Math.random()*(ascii[i][1]-ascii[i][0]))+ascii[i][0]);
	}
}


function VerificaCPF (cpf) {
	if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
		return false;
	add = 0;
	
	for (i=0; i < 9; i ++)
		add += parseInt(cpf.charAt(i)) * (10 - i);
	rev = 11 - (add % 11);
	
	if (rev == 10 || rev == 11)
		rev = 0;
	
	if (rev != parseInt(cpf.charAt(9)))
		return false;
	add = 0;
	
	for (i = 0; i < 10; i ++)
		add += parseInt(cpf.charAt(i)) * (11 - i);
	
	rev = 11 - (add % 11);
	
	if (rev == 10 || rev == 11)
		rev = 0;
	
	if (rev != parseInt(cpf.charAt(10)))
		return false;
	
	return true;
}

function showPass(alvo, pass) {
	document.getElementById(alvo).value = pass;
}

function newPass(campo) {
	var pwd = new Password();
	showPass(campo, pwd.generate(6));
}

	function Confirma(caminho){
		if (confirm("Deseja realmente executar esta operação?")){
			location = ""+caminho;
		}
	}

	function MostraCampoSenha(){
		if (document.getElementById("area").style.display == "none"){
				document.getElementById("area").style.display = "block";
				document.getElementById("area").style.visibility = "visible";
		}else
		{
				document.getElementById("area").style.display = "none";
				document.getElementById("area").style.visibility = "hidden";
		}
	}

	function ValidaForm(form)
	{
		
		var msg = "<h5>Para prosseguir, é necessário que você preencha o(s) seguinte(s) campo(s):</h5>";
		var seg = true;

		if (form.name == "estaticos"){
			
			if(form.iptDescricao.value == ""){
				msg += "&bull;&nbsp;DESCRIÇÃO <br />";
				seg = false;
			}
			if(form.iptPergunta.value == ""){
				msg += "&bull;&nbsp;PERGUNTA <br />";
				seg = false;
			}
			if(form.iptEmail.value != "" & !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
		
		}else if (form.name == "cursos"){
			
			if(form.iptTitulo.value == ""){
				msg += "&bull;&nbsp;TITULO <br />";
				seg = false;
			}
			if(form.iptDataInicio.value == ""){
				msg += "&bull;&nbsp;DATA INICIO <br />";
				seg = false;
			}
			if(form.iptTurno.value == ""){
				msg += "&bull;&nbsp;TURNO <br />";
				seg = false;
			}
			if(form.iptLocal.value == ""){
				msg += "&bull;&nbsp;LOCAL <br />";
				seg = false;
			}
		
		}else if (form.name == "emails"){
			
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}
			if(form.iptEmail.value == "" | !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
			if(form.optAtivo.value == ""){
				msg += "&bull;&nbsp;ATIVO <br />";
				seg = false;
			}
		
		}else if (form.name == "eventos"){
			
			if(form.iptTitulo.value == ""){
				msg += "&bull;&nbsp;TITULO <br />";
				seg = false;
			}
			if(form.iptLocal.value == ""){
				msg += "&bull;&nbsp;LOCAL <br />";
				seg = false;
			}
			if(form.iptCidade.value == ""){
				msg += "&bull;&nbsp;CIDADE <br />";
				seg = false;
			}
			if(form.iptData.value == ""){
				msg += "&bull;&nbsp;DATA <br />";
				seg = false;
			}
		
		}else if (form.name == "associados"){
			
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}
			if(form.iptEndereco.value == ""){
				msg += "&bull;&nbsp;ENDERECO <br />";
				seg = false;
			}
			if(form.iptTelefone.value == ""){
				msg += "&bull;&nbsp;TELEFONE <br />";
				seg = false;
			}
			if(form.iptEmail.value == "" | !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
			
		}else if (form.name == "perguntas"){
			
			if(form.iptPergunta.value == ""){
				msg += "&bull;&nbsp;PERGUNTA <br />";
				seg = false;
			}
		
		}else if (form.name == "categorias"){
			
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}
		
		}else if (form.name == "noticias"){
			
			if(form.iptTitulo.value == ""){
				msg += "&bull;&nbsp;TITULO <br />";
				seg = false;
			}
			if(form.iptData.value == ""){
				msg += "&bull;&nbsp;DATA <br />";
				seg = false;
			}
		
		}else if (form.name == "galerias"){
			
			if(form.iptTitulo.value == ""){
				msg += "&bull;&nbsp;TITULO <br />";
				seg = false;
			}
			if(form.iptData.value == ""){
				msg += "&bull;&nbsp;DATA <br />";
				seg = false;
			}
		
		}else if (form.name == "usuarios"){
			
			if(form.iptLogin.value == ""){
				msg += "&bull;&nbsp;LOGIN <br />";
				seg = false;
			}
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}
			
			if(form.iptSenha.value != form.iptSenhaC.value){
				msg += "&bull;&nbsp;SENHAS NAO CONDIZEM<br />";
				seg = false;
			}
			if(form.optGerente.value == ""){
				msg += "&bull;&nbsp;ACESSO TOTAL <br />";
				seg = false;
			}
		
		}else if(form.name == "frmContato"){
            if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}

            if(form.iptEmail.value == "" | !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}

            if(form.iptTelefone.value == ""){
				msg += "&bull;&nbsp;TELEFONE <br />";
				seg = false;
			}

            if(form.iptCidade.value == ""){
				msg += "&bull;&nbsp;CIDADE <br />";
				seg = false;
			}

            if(form.txtMensagem.value == ""){
				msg += "&bull;&nbsp;MENSAGEM <br />";
				seg = false;
			}

        }else if (form.name == "frmContato"){
            
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME <br />";
				seg = false;
			}
            if(form.iptEmail.value == ""){
				msg += "&bull;&nbsp;EMAIL<br />";
				seg = false;
			}
            if(form.iptEmail.value != "" & !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
			if(form.iptTelefone.value == ""){
				msg += "&bull;&nbsp;TELEFONE <br />";
				seg = false;
			}
            
            if(form.iptCidade.value == ""){
				msg += "&bull;&nbsp;CIDADE <br />";
				seg = false;
			}
            if(form.txtMensagem.value == ""){
				msg += "&bull;&nbsp;MENSAGEM <br />";
				seg = false;
			}
		}
		else if (form.name == "frmCadastro"){
            
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME DA EMPRESA <br />";
				seg = false;
			}
			if(form.iptEndereco.value == ""){
				msg += "&bull;&nbsp;ENDERECO<br />";
				seg = false;
			}
			if(form.iptBairro.value == ""){
				msg += "&bull;&nbsp;BAIRRO<br />";
				seg = false;
			}
			if(form.iptCidade.value == ""){
				msg += "&bull;&nbsp;CIDADE<br />";
				seg = false;
			}
			if(form.iptContato.value == ""){
				msg += "&bull;&nbsp;CONTATO<br />";
				seg = false;
			}


            if(form.iptEmail.value == ""){
				msg += "&bull;&nbsp;EMAIL<br />";
				seg = false;
			}
            if(form.iptEmail.value != "" & !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
			if(form.iptTelefone.value == ""){
				msg += "&bull;&nbsp;TELEFONE <br />";
				seg = false;
			}
            
		}

		else if (form.name == "frmCadastroPF"){
            
            
            
			if(form.iptLogin.value == ""){
				msg += "&bull;&nbsp;USUÁRIO<br />";
				seg = false;
			}
			
			if(form.iptSenha.value != form.iptSenhaC.value || form.iptSenha.value == ""){
				msg += "&bull;&nbsp;SENHAS INVÁLIDAS<br />";
				seg = false;
			}
			
			if(form.iptNome.value == ""){
				msg += "&bull;&nbsp;NOME<br />";
				seg = false;
			}
			
			if(!VerificaCPF(form.iptCpf.value)){
				msg += "&bull;&nbsp;CPF INVÁLIDO<br />";
				seg = false;
			}
			
			
			if(form.iptEndereco.value == ""){
				msg += "&bull;&nbsp;ENDERECO<br />";
				seg = false;
			}
			if(form.iptBairro.value == ""){
				msg += "&bull;&nbsp;BAIRRO<br />";
				seg = false;
			}
			if(form.iptCidade.value == ""){
				msg += "&bull;&nbsp;CIDADE<br />";
				seg = false;
			}
			

            if(form.iptEmail.value == ""){
				msg += "&bull;&nbsp;EMAIL<br />";
				seg = false;
			}
            if(form.iptEmail.value != "" & !checa(form.iptEmail.value)){
				msg += "&bull;&nbsp;EMAIL VÁLIDO<br />";
				seg = false;
			}
			if(form.iptTelefone.value == ""){
				msg += "&bull;&nbsp;TELEFONE <br />";
				seg = false;
			}
            
		}
	
		if(seg == false){
			document.getElementById('msg').innerHTML = msg;
			document.getElementById('msg').style.visibility = "visible";
			document.getElementById('msg').style.padding = "5px";
			location = '#msg';
			return false;
		} else {
			return true;	
		}
	}

	function MostraSaudacao(){
		d = new Date();
		hour = d.getHours();
		if(hour < 6)
		   document.write("Boa noite ");
		
		else if(hour < 12)
		   document.write("Bom dia ");
		
		else if(hour < 18)
		   document.write("Boa tarde ");
		
		else
		   document.write("Boa noite ");
	}	


function checa(mail) {
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
                    return true;
                }
    }else{
        return false;
        }
}



function $$(s) {
	return document.getElementById(s);
}

function AutoCompletaData(campo){

	if(campo.value.length == 2 || campo.value.length == 5)
		$$(campo.id).value += "/";
}

function AutoCompletaHora(campo){
	if(campo.value.length == 2)
		$$(campo.id).value += ":";
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


/* ---- FUNCOES AJAX ---- */

function CadastraEmails(nome,email,tipo,retorno){
	
	if(nome.value == '' | nome.value == 'Seu nome...'){
		alert('Favor digitar o nome.');
	}
	else if(checa(email.value)){
		$$(retorno).innerHTML = "<p>Aguarde, cadastrando...</p>";
		xajax_CadastraEmails( nome.value, email.value,tipo,retorno);
		nome.value = '';
		email.value = '';
	}else{
		alert('Favor digitar um email válido.');
	}
	
}

function EnviaEmailIndicando( nome, email, nomeA, emailA , retorno) {
	if(nome.value == '')
		alert('Favor digitar seu nome.');
	//else if(email.value != '' & !checa(email.value))
	//	alert('Favor digitar um email vï¿½lido');
	else if(nomeA.value == '')
		alert('Favor digitar o nome do destinatário.');
	else if(!checa(emailA.value))
		alert('Favor digitar corretamente o email do destinatário.');
	else{
		$$(retorno).innerHTML = "<br>Aguarde, executando ação...";
		xajax_EnviaEmailIndicando( nome.value, email.value, nomeA.value, emailA.value, retorno);
	}
	nome.value = '';
	email.value = '';
	nomeA.value = '';
	emailA.value = '';
}

function MudaValor( retorno, id, value, tabela, campo ){
	$$(retorno).innerHTML = "alterando...";
	xajax_MudaValor( retorno, id, value, tabela, campo );
}

function ExcluiImg(nome, img, retorno){
	$$(retorno).innerHTML = "excluindo...";
	xajax_ExcluiImg(nome, img, retorno);
}

function MudaValorProdutoCarrinho(valor, cod){
    location = 'index.php?p=actions&op=edt&qtd='+valor+'&cod='+cod;
}

function BuscaEmpresas(nomefantasia,segmento,cidade,pagina,qtd){
	$$('carregando').className = "aparece";
    if(nomefantasia.length < 2 && segmento == ""){
        alert('Por favor digite um nome maior para pesquisa.');
        $$('c1').innerHTML = "";
	}else{
		$$('c1').innerHTML = "Aguarde, buscando empresas...";
		xajax_BuscaEmpresas(nomefantasia,segmento,cidade,pagina,qtd);
	}
    $$('carregando').className = "desaparece";
}

/* ---- FIM DAS FUNCOES AJAX ---- */

function AbreBusca(modulo){
    url = "modules/sys.pesquisa.php?origem="+modulo;
    alt  = 400;
    comp = 500;
    tb_show("Pesquisa de "+ modulo, url+"&height="+alt+"&width="+comp);
}

function BuscaNomes(modulo,busca){
    url = "modules/sys.pesquisa.php?origem="+modulo+"&busca="+busca;
    alt  = 400;
    comp = 500;
    tb_show("Pesquisa de "+ modulo, url+"&height="+alt+"&width="+comp);
}

function EscolheValorBuscado(valor,modulo){
    var campo;

    switch(modulo){
        case "bairros"        : campo = 'iptBairro';break;
        case "cidades"        : campo = 'iptCidade';break;
        case "permissoes"     : campo = 'iptPermissao';break;
        case "planos"         : campo = 'iptPlano';break;
        case "segmentos"      : campo = 'iptSegmento';break;
        case "tiposusuario"   : campo = 'iptTipoUsuario';break;
        case "vendedores"     : campo = 'iptVendedor';break;
    }

    $$(campo).value = valor;
    $$(campo).focus();
    tb_remove();
}
