﻿function objeto(x) {
    return document.getElementById(x);
    document.getElementsByName
}

function objetoName(x) {
    return document.getElementsByName(x);
}

//	FUNÇÃO PARA AVISAR BLOQUEADOR DE POP-UP
function VerificaPopUp() {
    var pop = window.open("about:blank", "_blank", "width=10,height=100,top=0,left=0");
    if (null == pop || true == pop.closed) {
        h = 1;
        alert('Atenção o SAGI utiliza pop-up´s, por favor antes de continuar desative o anti pop-up do seu navegador.');
    }
    else {
        h = 0;
        pop.close();
    }
}

function CallCarteirasAjax(teste) {
    alert(teste);
}

function AbreBuscaCidade() {
    window.open('/Includes/BuscaCidades.aspx', 'BuscaCidade', 'scrollbars=yes,resizable=yes,width=450,height=600');
}

function RetornaBuscaCidade(id_cidade, nm_cidade, nm_uf) {
    alert(id_cidade);
    alert(nm_cidade);
    alert(nm_uf);
}

//	FUNCAO DE REPLACE TOTAL
//	txt_historico.replaceAll('\n','<br>');
String.prototype.replaceAll = function(de, para) {
    var str = this;
    var pos = str.indexOf(de);
    while (pos > -1) {
        str = str.replace(de, para);
        pos = str.indexOf(de);
    }
    return (str);
}

// FORMATA CAMPO NUMERICO NO FORMADO 00.000,00
//Formata número tipo moeda usando o evento onKeyDown
function Formata(campo,tammax,teclapres,decimal) {
	var tecla = teclapres.keyCode;
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=decimal
	if (tam < tammax && tecla != 8){
		tam = vr.length + 1;
	}
	if (tecla == 8){
		tam = tam - 1;
	}
	if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105){
		if (tam <= dec){
			campo.value = vr ;
		}
		if ((tam > dec) && (tam <= 5)){
			campo.value = vr.substr(0, tam - 2) + "," + vr.substr(tam - dec, tam) ; 
		}
		if ((tam >= 6) && (tam <= 8)){
			campo.value = vr.substr(0, tam - 5) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam) ;
		}
		if ((tam >= 9) && (tam <= 11)){
			campo.value = vr.substr(0, tam - 8) + "." + vr.substr(tam - 8, 3) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam) ; 
		}
		if ((tam >= 12) && (tam <= 14)){
			campo.value = vr.substr(0, tam - 11) + "." + vr.substr(tam - 11, 3) + "." + vr.substr(tam - 8, 3) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam) ; 
		}
		if ((tam >= 15) && (tam <= 17)){
			campo.value = vr.substr(0, tam - 14) + "." + vr.substr(tam - 14, 3) + "." + vr.substr(tam - 11, 3) + "." + vr.substr(tam - 8, 3) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - 2, tam) ;
		}
	}
}

//	FUNÇÃO PARA MASCARA DE DATA
//OnKeyUp="MascaraData('NOME_DO_CAMPO');"
function MascaraData(CampoData) {
    var data = objeto(CampoData).value;
    var data = data.replace(/\D/g, "");
    var data_retorno = data;

    if (data.length > 1) {
        data_retorno = data.substring(0, 2) + '/';
    }

    if (data.length > 2) {
        if (data.length > 3) {
            data_retorno = data_retorno + data.substring(2, 4) + '/';
        }
        else {
            data_retorno = data_retorno + data.substring(2);
        }
    }

    if (data.length > 4) {
        data_retorno = data_retorno + data.substring(4);
    }

    objeto(CampoData).value = data_retorno;


    return true;
}

//==================================================================================================
//==================================================================================================
//	FUNÇÕES PARA FORMATAÇÃO DE CAMPOS
//	onkeypress="mascara(this,telefone)"
//	onkeypress="mascara(this,cpf)"
//	onkeypress="mascara(this,cep)"
//	onkeypress="mascara(this,cnpj)"
//	onkeypress="mascara(this,romanos)"
//	onkeyup="mascara(this,site)
function mascara(o, f) {
    v_obj = o
    v_fun = f
    setTimeout("execmascara()", 1)
}

function execmascara() {
    v_obj.value = v_fun(v_obj.value)
}

function leech(v) {
    v = v.replace(/o/gi, "0")
    v = v.replace(/i/gi, "1")
    v = v.replace(/z/gi, "2")
    v = v.replace(/e/gi, "3")
    v = v.replace(/a/gi, "4")
    v = v.replace(/s/gi, "5")
    v = v.replace(/t/gi, "7")
    return v
}

function telefone(v) {
    v = v.replace(/\D/g, "")                 //Remove tudo o que não é dígito
    v = v.replace(/^(\d\d)(\d)/g, "($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v = v.replace(/(\d{4})(\d)/, "$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function cpf(v) {
    v = v.replace(/\D/g, "")                    //Remove tudo o que não é dígito
    v = v.replace(/(\d{3})(\d)/, "$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v = v.replace(/(\d{3})(\d)/, "$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    //de novo (para o segundo bloco de números)
    v = v.replace(/(\d{3})(\d{1,2})$/, "$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function cep(v) {
    v = v.replace(/D/g, "")                //Remove tudo o que não é dígito
    v = v.replace(/^(\d{5})(\d)/, "$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function cnpj(v) {
    v = v.replace(/\D/g, "")                           //Remove tudo o que não é dígito
    v = v.replace(/^(\d{2})(\d)/, "$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v = v.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v = v.replace(/\.(\d{3})(\d)/, ".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v = v.replace(/(\d{4})(\d)/, "$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}

function romanos(v) {
    v = v.toUpperCase()             //Maiúsculas
    v = v.replace(/[^IVXLCDM]/g, "") //Remove tudo o que não for I, V, X, L, C, D ou M
    //Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
    while (v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/, "") != "")
        v = v.replace(/.$/, "")
    return v
}

function site(v) {
    //Esse sem comentarios para que você entenda sozinho ;-)
    v = v.replace(/^http:\/\/?/, "")
    dominio = v
    caminho = ""
    if (v.indexOf("/") > -1)
        dominio = v.split("/")[0]
    caminho = v.replace(/[^\/]*/, "")
    dominio = dominio.replace(/[^\w\.\+-:@]/g, "")
    caminho = caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g, "")
    caminho = caminho.replace(/([\?&])=/, "$1")
    if (caminho != "") dominio = dominio.replace(/\.+$/, "")
    v = "http://" + dominio + caminho
    return v
}

// retira caracteres invalidos da string
function Limpar(valor, validos) {
    var result = "";
    var aux;
    for (var i = 0; i < valor.length; i++) {
        aux = validos.indexOf(valor.substring(i, i + 1));
        if (aux >= 0) {
            result += aux;
        }
    }
    return result;
}

function AprovacaoDespesa(id_objeto, chk_objeto, id_lancamento) {
    if (chk_objeto == false) {
        window.open('JustificativaReprovacao.aspx?id_check=' + id_objeto + '', 'Justifica', 'scrollbars=yes,resizable=yes,width=550,height=300');
    }
    else {
        alert('ok');
    }
}

