/*                      
.                       
.       RPC - Rede Paranaense de Comunicacao
.       Projeto: Classificados GP/JL
.       Modulo: Biblioteca de funcoes
.       Criado em: 11/03/2007
.       Autor: pauloh@rpc.com.br
.       Revisado por: ...
.       Ultima alteracao em:
                                
*/

    function MaskDormitorio(objeto, evt) { return Mascara(objeto, evt, '#####');}
    function MaskGaragem(objeto, evt) { return Mascara(objeto, evt, '#####');}
    function MaskArea(objeto, evt) { return Mascara(objeto, evt, '####');}
    function MaskAno(objeto, evt) { return Mascara(objeto, evt, '#####');}

    XaddEvent = function(o, e, f, s){
        var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
        r[r.length] = [f, s || o], o[e] = function(e){
            try{
                (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
                e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
                e.target || (e.target = e.srcElement || null);
                e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
            }catch(f){}
            for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
            return e = null, !!d;
        }
    };
    removeEvent = function(o, e, f, s){
        for(var i = (e = o["_on" + e] || []).length; i;)
            if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
                return delete e[i];
        return false;
    };

    function formatCurrency(o, n, dig, dec){
        o.c = !isNaN(n) ? Math.abs(n) : 2;
        o.dec = typeof dec != "string" ? "," : dec, o.dig = typeof dig != "string" ? "." : dig;
        XaddEvent(o, "keypress", function(e){
            if(e.key > 47 && e.key < 58){
                var o, s, l = (s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, "")).length, n;
                if(o.maxLength + 1 && l >= o.maxLength) return false;
                l <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s);
                for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig);
                n && n < l && (s[l - ++n] += o.dec);
                o.value = s.join("");
            }
            e.key > 30 && e.preventDefault();
        });
    }

    function ValidacaoEmail(email){
        var emailad = email.value;
		if(emailad != ""){
			er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
    	    if(er.exec(emailad)){
        	    return true;
	        } else {
    	        alert("Email invalido!");
        	    email.value = "";
	            return false;
    	    }
		}
/*		
        if(emailad != ""){
            var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
            var check=/@[\w\-]+\./;
            var checkend=/\.[a-zA-Z]{2,3}$/;
            if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){
                alert("Email invalido!");
                email.value = "";
                return false;
            }else{
                return true;
            }
        }else{
            return true;
        }
*/
    }

    function Mascara(objeto, evt, mask) {
        try {
        var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
        var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
        var Numeros = '0123456789';
        var Fixos  = '().-:/ ';
        var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
       
        evt = (evt) ? evt : (window.event) ? window.event : "";
        var value = objeto.value;
        if (evt) {
            var ntecla = (evt.which ) ? evt.which : evt.keyCode;
            tecla = Charset.substr(ntecla - 32, 1);
            if (ntecla < 32) return true;
            if (ntecla == 46) return true;
            if (ntecla == 37) return true;
            if (ntecla == 39) return true;
           
            var tamanho = value.length ;
            if (tamanho >= mask.length) return false;
           
            var pos = mask.substr(tamanho,1);
            while (Fixos.indexOf(pos) != -1) {
                 value += pos;
                 tamanho = value.length;
                 if (tamanho >= mask.length) return false;
                 pos = mask.substr(tamanho,1);
            }
   
            switch (pos) {
              case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
              case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
              case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
              case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
              case '*' : objeto.value = value; return true; break;
              default : return false; break;
            }
        }
        objeto.value = value;
        }catch(e) { }
        return true;
    }

