/* teclas bloqueadas no firefox
tecla == 8 -> backspace
tecla == 9 -> tab
tecla == 35 -> end
tecla == 36 -> home
tecla == 37 -> seta esquerda
tecla == 39 -> seta direita
O ESC também é bloqueado no firefox. Não foi desbloqueado porque é o mesmo número do . (ponto) = 46
*/
//onkeydown
function formataValor(numero, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if ((tecla > 47 && tecla < 58) || (tecla > 95 && tecla < 106)) { //so numeros
        //avança a virgula
	    numero.value = numero.value.replace(",", "");
	    var numFormatado = numero.value;
	    numero.value = numFormatado.substring(0, numFormatado.length - 1);
	    numero.value += ",";
	    numero.value += numFormatado.substring(numFormatado.length - 1);
	} else {
	    if (tecla == 8) {//backspace
	        //retrocede a virgula
    	    numero.value = numero.value.replace(",", "");
	        var numFormatado = numero.value;
	        numero.value = numFormatado.substring(0, numFormatado.length - 3);
	        numero.value += ",";
	        numero.value += numFormatado.substring(numFormatado.length - 3);
	        return true; 
	    } else if (tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39 || tecla == 46){
	        return true;
	    } else {
	        return false;
	    }
	}
}
//onkeypress
function soNumeros(e) {
    var tecla = e.keyCode ? e.keyCode : e.which;
	if (tecla > 47 && tecla < 58) //numeros de 0 a 9
		return true;
	else
	{
        if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) // backspace
            return true;
        else
            return false;
	}
}
//onkeypress
function formataHora(hora, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if (tecla > 47 && tecla < 58){
	    if (hora.value.length == 2) hora.value += ':';
	} else {
	    if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) return true;
    	else return false;
	}
}
//onkeypress
function formataCPF(cpf, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if (tecla > 47 && tecla < 58){
	    if (cpf.value.length == 3 || cpf.value.length == 7){
		    cpf.value += ".";
	    } else if (cpf.value.length == 11){
		    cpf.value += "-";
	    } else if (cpf.value.length > 14){
		    cpf.value = cpf.value.substring(0,14);
	    }
	} else {
	    if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) return true;
    	else return false;
	}
}
//onkeypress
function formataCNPJ(cnpj, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if (tecla > 47 && tecla < 58){
	    if (cnpj.value.length == 2 || cnpj.value.length == 6){
		    cnpj.value += ".";
	    } else if (cnpj.value.length == 10){
		    cnpj.value += "/";
	    } else if (cnpj.value.length == 15){
		    cnpj.value += "-";
	    } else if (cnpj.value.length > 18){
		    cnpj.value = cnpj.value.substring(0,18);
	    }
	} else {
	    if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) return true;
    	else return false;
	}
}
//onkeypress
function formataData(data, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if (tecla > 47 && tecla < 58){
	    if (data.value.length == 2) data.value += '/';
	    if (data.value.length == 5) data.value += '/';
	} else {
	    if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) return true;
    	else return false;
	}
}
//onkeypress
function formataCEP(cep, e){
    var tecla = e.keyCode ? e.keyCode : e.which;
    if (tecla > 47 && tecla < 58){
	    if (cep.value.length == 5){
		    cep.value += "-";
	    } else if (cep.value.length > 9){
		    cep.value = cep.value.substring(0,9);
	    }
	} else {
	    if (tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 37 || tecla == 39) return true;
    	else return false;
	}
}
//onBlur
function validarData(campo){
    var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
    var msgErro = 'Data incorreta.';
    if (campo.value.length > 0){
        if (campo.value.match(expReg)){
            var dia = campo.value.substring(0,2);
            var mes = campo.value.substring(3,5);
            var ano = campo.value.substring(6,10);
            if((mes==4 || mes==6 || mes==9 || mes==11) && dia > 30){
                alert("Dia incorreto! O mês especificado contém no máximo 30 dias.");
                campo.value = "";
                campo.focus();
                return false;
            } else {
                if(ano%4!=0 && mes==2 && dia>28)
                {
                    alert("Data incorreta! O mês especificado contém no máximo 28 dias.");
                    campo.value = "";
                    campo.focus();
                    return false;
                } else {
		            if(ano%4==0 && mes==2 && dia>29) {
			            alert("Data incorreta! O mês especificado contém no máximo 29 dias.");
			            campo.value = "";
			            campo.focus();
			            return false;
		            }
	            }
            }
        } else {
            campo.value = "";
            campo.focus();
            alert(msgErro);
            return false;
        }
    }
}
function limitaTamanho(textarea, tamanho) {
	if(textarea.value.length < tamanho) 
		return true;
	else 
		return false;
}
function abrePopUp(url, nomeJanela, estilo){
    window.open(url, nomeJanela, estilo);
}
function imprime(){
	self.print();
}
function setfocus() {
	document.focus();
	return;
}
function MM_reloadPage(init) { //reloads the window if Nav4 resized 
   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { 
     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} 
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); 
} 
MM_reloadPage(true); 
function Browser(){ 
    this.name = navigator.appName; 
    if (this.name == 'Microsoft Internet Explorer') this.browser = 'ie'; 
    else if (this.name.match(/Netscape/)) this.browser = 'ns'; 
    else this.browser = this.name; 
    this.version = parseInt(navigator.appVersion); 
    this.ns = (this.browser=='ns' && this.version>=4); 
    this.ns4 = (this.browser=='ns' && this.version==4); 
    this.ns6 = (this.browser=='ns' && this.version>=5); 
    this.ie = (this.browser=='ie' && this.version>=4); 
    this.ie4 = (this.browser=='ie' && navigator.userAgent.indexOf('MSIE 4')>-1); 
    this.ie5 = (this.browser=='ie' && navigator.userAgent.indexOf('MSIE 5')>-1); 
    this.ie6 = (this.browser=='ie' && navigator.userAgent.indexOf('MSIE 6')>-1); 
    if (this.ie5) this.version = 5; 
    this.op5 = (navigator.userAgent.indexOf('Opera 5')>-1); 
    if (this.op5){this.browser = 'op'} 
    this.dom1 = (document.implementation && document.implementation.hasFeature)?true:false; 
    this.os = (navigator.platform)?navigator.platform:'unknown'; 
    if (this.ie){ this.language = navigator.userLanguage.substring(0,2).toLowerCase() } else if (this.ns || this.op5) {    this.language = navigator.language.substring(0,2).toLowerCase() } 
    this.toString = function(){ return '[object Browser]'} 
    return this; 
} 
function setOpacity(objId, i){ 
     b = new Browser() 
     if (b.ie){ 
            obj = document.all[objId] 
             obj.style.filter = "alpha(opacity=" + i + ")"; 
     } 
     else if (b.ns6){ 
             obj = document.getElementById(objId) 
             obj.style.MozOpacity = i+'%' 
     } 
} 
function MM_findObj(n, d) { //v4.01 
   var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
   if(!x && d.getElementById) x=d.getElementById(n); return x; 
} 
function MM_showHideLayers() { //v6.0 
   var i,p,v,obj,args=MM_showHideLayers.arguments; 
   for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; 
      if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } 
         obj.visibility=v; } 
} 
function fadeOpacity(objId, sOpacity, fOpacity,speed){ 
     b = new Browser() 
     var finished = false 
     if (sOpacity == fOpacity) 
      { 
          finished=true 
       } 
     else if (sOpacity > fOpacity){ sOpacity = sOpacity - 10 } 
     else if (sOpacity < fOpacity){ sOpacity = sOpacity + 10 } 
     setOpacity(objId,sOpacity) 
     if (finished!=true) 
       document.TC_opacity = setTimeout('fadeOpacity(\''+objId+'\','+sOpacity+','+fOpacity+','+speed+')',speed) 
     else MM_showHideLayers('noel','','hide')
 }
 function hideDiv() {
     document.getElementById("hideshow").style.display = "none";
 }

