function fill_cep(element) {
    var str = trim(element.value);
    str = str.replace(/\D/g, '');
    var arr = str.split('');

    var valid = new RegExp(/[0-9]/);
    var nstr = ""; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
        if ((nstr.length==5)&&(nstr[5]!='-')) nstr += '-';
    }
//  nstr = String.format("%80", nstr);
//  nstr = nstr.substr(0,5) + "-" + nstr.substr(5,3);
    element.value = nstr;
}

function fill_mac(element) {
    var str = element.value.toUpperCase();
    str     = trim(str);
    var arr = str.split('');

    var valid = new RegExp(/[0-9A-z]/);
    var nstr  = ""; for (var i in arr) if (i < arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
        if (((nstr.length == 2) || (nstr.length == 5) || (nstr.length == 8) || (nstr.length == 11) || (nstr.length == 14)) && (arr[i] != ':')) nstr += ':';
    } element.value = nstr;
}

function fill_ccard(element,format) {
    var str = trim(element.value);
    str = str.replace(/\D/g, '');
    var arr = str.split('');

    if (format=="AmEx") format = new Array(4,11);
    else format = new Array(4,9,14);

    var valid = new RegExp(/[0-9]/);
    var nstr = ""; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
        for (var j in format) if (j < format.length) {
            if ((nstr.length==format[j])&&(nstr[i]!='-')) nstr += '-';
        }
    }
    element.value = nstr;
}

function fill_date(element,format) {
    var str = trim(element.value);
    str = str.replace(/\D/g, '');
    var arr = str.split('');

    var valid = new RegExp(/[0-9]/);
    var nstr = ""; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
        if ((nstr.length==2)&&(nstr[2]!='/')) nstr += '/';
        if ((nstr.length==5)&&(nstr[5]!='/')&&(format!="my")) nstr += '/';
    }
    element.value = nstr;
}

function format2double_str(element) {
    var str = trim(element.value);
    if (str == "") { element.value = "0,00"; return false; }

    var int = str; var cent = "00";
    var dot = str.lastIndexOf(".");
    if (dot >= 0) {
        int = str.substring(0, dot);
        int = parseInt(int.replace(/\D/g, ""), 10);
        int = String(int);

        cent = str.substring((dot+1));
        if (cent.length == 1) cent += "0";
        else if (cent.length == 0) cent = "00";
        cent = cent.substring(0, 2);
    }
    var nstr = int + "," + cent;
    element.value = nstr;
}

function format2double(element) {
    var str = trim(element.value);
    if (str == "") { element.value = parseFloat("0.00"); return false; }

    var int  = str; var cent = "00";
    var ldot = str.lastIndexOf(",");
    if (ldot >= 0) {
        int  = str.substring(0, ldot);
        int = parseInt(int.replace(/\D/g, ""), 10);
        cent = str.substring((ldot+1));
        if (cent.length == 1) cent += "0";
        else if (cent.length == 0) cent = "00";
    }
    var nstr = parseFloat(int + "." + cent);
    element.value = nstr;
}

function fill_double(element) {
    var str = trim(element.value);
    if (str == "") { element.value = "0,00"; return false; }

    str = parseInt(str.replace(/\D/g, ""), 10);
    str = String(str);

    var nstr = "";
    if (str.length == 1) { nstr = "0,0" + str; }
    else if (str.length == 2) { nstr = "0," + str; }
    else {
        var arr = str.split("");
        for (var i = (arr.length - 3); i >= 0; i--) {
            nstr = arr[i] + nstr;
            if ((arr.length > 5) && (nstr.length == 3)) nstr = "." + nstr;
            if ((arr.length > 8) && (nstr.length == 7)) nstr = "." + nstr;
        }
        nstr = nstr + "," + arr[arr.length - 2] + arr[arr.length - 1];
    }

    element.value = nstr;
}

function fill_int(element) {
    var str = element.value.replace(/\D/g, "");
    element.value = str;
}

function fill_tel(element) {
    var str  = trim(element.value).replace(/\D/g, "");
    var arr  = str.split('');
    var nstr = "";

    for (var i in arr) if (i < arr.length) {
        nstr += arr[i];
        if (i == 0) nstr = "(" + nstr;
        if ((nstr.length == 3) && (nstr[3] != ")")) nstr += ") ";
        if ((nstr.length == 9) && (nstr[9] != ".")) nstr += ".";
    } element.value = nstr;
}

function fill_cpf(element) {
    var str  = element.value.replace(/\D/g, "");
    var tipo = (str.length > 11) ? "CNPJ" : "CPF";

    var arr   = str.split('');
    var valid = new RegExp(/[0-9]/);
    var nstr  = ''; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : '';
        if (tipo == "CNPJ") {
            if ((nstr.length==2)&&(nstr[2]!='.')) nstr += '.';
            if ((nstr.length==6)&&(nstr[6]!='.')) nstr += '.';
            if ((nstr.length==10)&&(nstr[10]!='/')) nstr += '/';
            if ((nstr.length==15)&&(nstr[15]!='-')) nstr += '-';
        } else {
            if ((nstr.length==3)&&(nstr[3]!='.')) nstr += '.';
            if ((nstr.length==7)&&(nstr[7]!='.')) nstr += '.';
            if ((nstr.length==11)&&(nstr[11]!='-')) nstr += '-';
        }
    }
    element.value = nstr;
}

function mostrar(tagid) {
    var elm = document.getElementById(tagid);
    try {
        elm.style.display = 'table-row';
    } catch(e) {
        elm.style.display = 'block';
    }

    var img = eval("document.img_"+tagid);
    if (img) img.src = "img/ico_menos.gif";
}

function ocultar(tagid) {
    var elm = document.getElementById(tagid);
    elm.style.display = 'none';

    var img = eval("document.img_"+tagid);
    if (img) img.src = "img/ico_mais.gif";
}

function alternar(tag,tag1) {
    var elm = document.getElementById(tag);

    if ((elm.style.display == 'table-row') || (elm.style.display == 'block')) {
        ocultar(tag);
        if (tag1) mostrar(tag1);
    } else {
        mostrar(tag);
        if (tag1) ocultar(tag1);
    }
}

function pular(campo,q) {
    var frm = campo.form;

    var ind = "";
    for (var i=0; i<frm.elements.length; i++) {
        if (frm.elements[i]==campo) {
            ind = i;
            break;
        }
    }

    q = (q) ? q : 1; var max = campo.maxLength;
    if (campo.value.length == max) if (frm.elements[ind+q]) {
        frm.elements[ind+q].focus();
    }
}

function avisar(msg,ok) {
    if (msg=="") return false;

    var cl = (ok) ? 'mensagem' : 'alerta';

    msg  = "<div class='" + cl + "'>" + msg;
    msg += "<div align=right><a href=# onclick=ocultar('aviso');>";
    msg += "<img src='img/ico_fechar.gif' border=0 title='Fechar'></a></div></div>";

    var aviso = document.getElementById("aviso");

    if (aviso) {
        aviso.innerHTML = msg;
        mostrar("aviso");
        self.location = "#avison";
    } else {
        alert("Campos estão em branco ou foram preenchidos com dados inválidos.\nPor favor verifique os campos sombreados.");
    }
}

function prevenir_endereco(element) {
    var str = element.value.toUpperCase();
    str     = str.replace(/\s\s/, ' ');
    str     = str.replace(/[ÁÀÃÂÄ]/, 'A');
    str     = str.replace(/[ÉË]/, 'E');
    str     = str.replace(/[Í]/, 'I');
    str     = str.replace(/[ÓÕ]/, 'O');
    str     = str.replace(/[Ú]/, 'U');
    str     = str.replace(/[Ç]/, 'C');
    var arr = str.split('');

    var valid   = new RegExp(/[0-9A-Z\ ]/);
    var nstr = ""; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
    }
    element.value = nstr;
}

function prevenir_login(element) {
    var str = element.value.toLowerCase();
    str     = str.replace(/\s/, '');
    str     = str.replace(/[áàâäã]/, 'a');
    str     = str.replace(/[éêëè]/, 'e');
    str     = str.replace(/[íîïì]/, 'i');
    str     = str.replace(/[óòôõö]/, 'o');
    str     = str.replace(/[úùûü]/, 'u');
    var arr = str.split('');

    var valid   = new RegExp(/[0-9a-z\ ]/);
    var nstr = ""; for (var i in arr) if (i<arr.length) {
        nstr += valid.test(arr[i]) ? arr[i] : "";
    }
    element.value = nstr;
}
