function FormataCampo(Campo,teclapres,mascara){
//pegando o tamanho do texto da caixa de texto com delay de -1 no event
//ou seja o caractere que foi digitado não será contado.
strtext = Campo.value
tamtext = strtext.length
//pegando o tamanho da mascara
tammask = mascara.length
//criando um array para guardar cada caractere da máscara
arrmask = new Array(tammask)
//jogando os caracteres para o vetor
for (var i = 0 ; i < tammask; i++){
arrmask[i] = mascara.slice(i,i+1)
}
//alert (teclapres.keyCode)
//começando o trabalho sujo
if (((((arrmask[tamtext] == "#") || (arrmask[tamtext] == "9"))) || (((arrmask[tamtext+1] != "#") || (arrmask[tamtext+1] != "9"))))){
if ((teclapres.keyCode >= 37 && teclapres.keyCode <= 40)||(teclapres.keyCode >= 48 && teclapres.keyCode <= 57)||(teclapres.keyCode >= 96 && teclapres.keyCode <= 105)||(teclapres.keyCode == 8)||(teclapres.keyCode == 9) ||(teclapres.keyCode == 46) ||(teclapres.keyCode == 13)){
Organiza_Casa(Campo,arrmask[tamtext],teclapres.keyCode,strtext)
}
else{
Detona_Event(Campo,strtext)
}
}
else{//Aqui funcionaria a mascara para números mas eu ainda não implementei
if ((arrmask[tamtext] == "A")) {
charupper = event.valueOf()
//charupper = charupper.toUpperCase()
Detona_Event(Campo,strtext)
masktext = strtext + charupper
Campo.value = masktext
}
}
}
function Organiza_Casa(Campo,arrpos,teclapres_key,strtext){
if (((arrpos == "/") || (arrpos == ".") || (arrpos == ",") ||(arrpos == "(") ||(arrpos == ")") || (arrpos == ":") || (arrpos == " ") || (arrpos == "-")) && !(teclapres_key == 8)){
separador = arrpos
masktext = strtext + separador
Campo.value = masktext
}
}
function Detona_Event(Campo,strtext){
event.returnValue = false
if (strtext != "") {
Campo.value = strtext
}
}
/*----------------------------------------*/
var ie=(((navigator.userAgent.indexOf("MSIE")>-1)||(navigator.userAgent.indexOf("Mozilla/5.0")>-1))&&navigator.userAgent.indexOf("Opera")==-1?true:false);
var ns=(navigator.userAgent.indexOf("Netscape")>-1&&navigator.userAgent.indexOf("Opera")==-1?true:false);

//
function Data() {
	alert("Informe a data, com dois algarismos para o dia, dois para o mês e quatro para o ano. Formato: ddmmaaaa. Não são necessários os separadores do número.");
}
//
var foco = "";
var msgstatus = "";
function aviso (campo, msg)
{   
    alert(msg);
    campo.focus();
    campo.select();
    return false;
}
//-------------------------------
function ValidaForm(f) {
		foco = "";
		msgstatus = "";
		
 	    if (!ValidaData(f.value)) 
		{
			if (isEmpty(foco)) foco = f;
		}
     	
}
//-------------------------------
function RetiraCaracteresInvalidos(strCampo,tam) {
	nTamanho = strCampo.length;
	szCampo = "";
	j=0;
	for (i = nTamanho-1;i>=0;i--) 
	{
		if (isDigit(strCampo.charAt(i)))	{
			szCampo = strCampo.charAt(i) + szCampo;
			j++;
			if (j > tam) break;
		}
	}
	if (szCampo.length < tam) {
		for (i = szCampo.length;i<tam;i++) 
		{
			szCampo = "0" + szCampo;
		}
	}
    return szCampo;
}
//-------------------------------
function ContaDigitos(strCampo) {
	nTamanho = strCampo.length;
	szCampo = "";
	j=0;
	for (i = nTamanho-1;i>=0;i--) 
	{
		if (isDigit(strCampo.charAt(i)))	{
			szCampo = strCampo.charAt(i) + szCampo;
			j++;
		}
	}
    return j;
}
//---------------------------




//-------------------------------
function ajustar_data(input, evento)
{
         var BACKSPACE=  8; 
         var DEL=  46; 
         var FRENTE=  39; 
         var TRAS=  37; 
         var tecla= (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode)
         if (( tecla == BACKSPACE )||(tecla == DEL)||(tecla == FRENTE)||(tecla == TRAS)) {
             return true; 
             }
         if ( tecla == 13 )     return false; 


		if ((tecla<48)||(tecla>57)) {
			evento.returnValue =  
			 false;
			return false; } 
				else {if((input.value.length==2)||(input.value.length==5)) {
				   input.value=input.value + "/" ;
				   }
			}
			//
			//
  return true;			
};
//---------------
function ajustar_cpf(input, evento)
{
         var BACKSPACE=  8; 
         var DEL=  46; 
         var FRENTE=  39; 
         var TRAS=  37;          
         var tecla= (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode)
         if (( tecla == BACKSPACE )||(tecla == DEL)||(tecla == FRENTE)||(tecla == TRAS)) {
             return true; 
             }
         if ( tecla == 13 )     return false; 

		if ((tecla<48)||(tecla>57)){
			evento.returnValue =
			 false;
		return false; } 
			else{if((input.value.length==3)||(input.value.length==7)) {
			    input.value=input.value + "." ;
			}  else {
			      if(input.value.length==11) {
			           input.value=input.value + "-" ;
			         }
			}
		}
 return true;		
  		
}
//-------------------------------
function editadata(strCampo,tam) {
    var i;
    var j;
    var nTamanho;
    var szCampo;
	nTamanho = strCampo.length;
	szCampo = "";
	j=0;
	for (i = nTamanho-1;i>=0;i--) 
	{
		if (isDigit(strCampo.charAt(i)))	{
			szCampo = strCampo.charAt(i) + szCampo;
		    j++;
			if (j > tam) break;
        }
	}
	if (szCampo.length < tam) {
		//for (i = szCampo.length;i<tam;i++) 
		//{
		//	szCampo = "0" + szCampo;
		//}
	}
	if (j==0) return "";
    return (szCampo.substr(0,2)+"/"+szCampo.substr(2,2)+"/"+szCampo.substr(4,4));
}

//-------------------------------
function editacpf(strCampo,tam) {
    var i;
    var j;
    var nTamanho;
    var szCampo;
    j=0;
	nTamanho = strCampo.length;
	szCampo = "";
	for (i = nTamanho-1;i>=0;i--) 
	{
		if (isDigit(strCampo.charAt(i)))	{
			szCampo = strCampo.charAt(i) + szCampo;
			j++;
			if (j > tam) break;
        }
	}
	if (szCampo.length < tam) {
		//for (i = szCampo.length;i<tam;i++) 
		//{
		//	szCampo = "0" + szCampo;
		//}
	}
	if (j==0) return "";
    return (szCampo.substr(0,3)+"."+szCampo.substr(3,3)+"."+szCampo.substr(6,3)+"-"+szCampo.substr(9,2));
}
//-------------------------------
function isDigit (c){   
	
	    return ((c >= "0") && (c <= "9"))
    }  
//-------------------------------
function isInteger (s) {
    var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return false;
     
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}
//-------------------------------
function isEmpty(s){
    return ((s == null) || (s.length == 0))
}
function ValidaData(strData)
{
	if (strData.length != 10)
	{
		msgstatus = msgstatus + "Informe a data no formato (DDMMAAAA).\n\n";
		return false;
	}
	var i = parseInt(strData.substring(6,10));
	if (i < 1850 || i > 2006)  
	{
		msgstatus = msgstatus + "O ano da data deve ser igual ou superior a 1850 e anterior a 2007.\n\n";
		return false;
	}
	var j = parseInt(strData.substring(3,5),10);
	if (j < 1 || j > 12)  
	{
		msgstatus = msgstatus + "O mês deve estar entre 1 e 12.\n\n";
		return false;
	}
	var k = parseInt(strData.substring(0,2),10);
	if (k < 1 || k > 31)  
	{
		msgstatus = msgstatus + "O dia da data deve estar entre 1 e 31.\n\n";
		return false;
	}	return true;
}



function mostrar(par,topo){
//alert(par);
MM_showHideLayers('layer_calendario','','show');
layer_calendario.style.left = ( document.body.clientWidth / 2 )-100;
layer_calendario.style.top = topo;
calendario.location=par;
//poup('calendar.php?campo='+this.name+'&formulario=form_cad','adicionar','width=200,height=150','auto')
layer_calendario.focus();
}

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; }
}