

//--------------------------------------------------------------------------------
function FtrataBackSpace(dado)
{
   NumDig = dado.value;

   valor_negativo = (NumDig.substr(0,1) == '-') ;
 
   if (valor_negativo)
	NumDig = NumDig.substr(1,NumDig.length-1) ;

   TamDig = NumDig.length;
   TamDig--;
   Contador = 0;
   if ((TamDig >= 0) && (event.keyCode == 8))
    { numer = "";
      for (i = TamDig; (i >= 0); i--){
          if ((parseInt(NumDig.substr(i,1))>=0) && (parseInt(NumDig.substr(i, 1))<=9))
            {
             Contador++;
			 
             if ((Contador == 4) && ((TamDig -i) < 5))
              {numer = ","+numer;
               Contador = 0;
               }
             else if ((Contador == 3) && ((numer.length) > 4))  
              {numer = "."+numer;
               Contador = 0;
              }
			  
             numer = NumDig.substr(i, 1)+numer;
			
            }
			}
			//if (numer == "001") 
			//    numer="";		
			//if ((numer.length) == 3 )
			//    numer= "0," + numer;

	if (valor_negativo)
		dado.value = '-'+ numer;
	else
		dado.value = numer;
      };
}










//--------------------------------------------------------------------------------
function FmascTempoReal(ConteudoCampo)
{

if (((event.keyCode == 45) || (ConteudoCampo.value.substr(0,1) == '-')) && ConteudoCampo.value.length < 3)
	return(true) ;

valor_negativo = (ConteudoCampo.value.substr(0,1) == '-') ;

if (((event.keyCode) > 47) && ((event.keyCode) < 58))
{

   if (valor_negativo)
  	ConteudoCampo.value = ConteudoCampo.value.substr(1,ConteudoCampo.value.length-1) ;

   NumDig = ConteudoCampo.value;
   TamDig = NumDig.length;
   Contador = 0;
   if (TamDig > 1)
      {numer = "";
      for (i = TamDig; (i >= 0); i--){
          if ((parseInt(NumDig.substr(i,1))>=0) && (parseInt(NumDig.substr(i, 1))<=9))
            {
             Contador++;
             if ((Contador == 2) && ((TamDig -i) < 4))
              {numer = ","+numer;
               Contador = 0;
               }
             else if (Contador == 3)
              {numer = "."+numer;
               Contador = 0;
              }
             numer = NumDig.substr(i, 1)+numer;
            }
           }
      
      if (valor_negativo)
         ConteudoCampo.value = '-'+numer;
      else
         ConteudoCampo.value = numer;
      };
   return(true)
   }
   else return(false)
}




//--------------------------------------------------------------------------------
function ValorFmtToFloat(input)
{
	var inputlength = input.length;
	input = input.toLowerCase();
	var number = "";
	for (i = 0; i < inputlength; i++)
	{
		var character = input.charAt(i);   
		switch(character)
		{
			case '-': number+="-";break;
			case '0': number+="0";break;
			case '1': number+="1";break;
			case '2': number+="2";break;
			case '3': number+="3";break;
			case '4': number+="4";break;
			case '5': number+="5";break;
			case '6': number+="6";break;
			case '7': number+="7";break;
			case '8': number+="8";break;
			case '9': number+="9";break;
		}
	}
	var numberAux = number.substring(0,number.length - 2);
	
	if(numberAux == "")
	{
		numberAux+="0";
	}	
	numberAux+=".";	
	numberAux+=number.substring(number.length - 2,number.length);	
	number = numberAux; 

	var valor;
	//var valor =0;
	valor = parseFloat (number);
	//valor = eval(number);		

	return valor;
}



//--------------------------------------------------------------------------------
function FloatToSrt(Num)
{

	var negativo = (Num < 0) ;

	if (negativo)
		Num = Num * -1 ;

	var valorStr = "";
	var pospt = 0;
	valorStr += Num;	
	if(Num <= .99)
	{
		valorStr = valorStr.replace("0","");
		valorStr = "0" + valorStr;		
	}	
	for (var n = 1 ; n <= valorStr.length ; n++) 
	{
		if (valorStr.substring(n-1,n) == ".") 
		{
			pospt = n;
			break;
		}
	}
		
	if (pospt == 0)		
	{
		valorStr+=".00";		
	}else if(pospt > 0)
	{
		var fracao = valorStr.substring(pospt, valorStr.length);
		if(fracao.length == 1)
		{
			valorStr+="0";			
		}		
	}

	if (negativo)
		valorStr = '-' +  valorStr ;

	return valorStr;
}






//--------------------------------------------------------------------------------
function ValorFloatToFmt(Num)
{

	valor_negativo = (Num.substr(0,1) == '-')

	var numer;
	var i;	
	var TamDig = Num.length;
	var Contador = 0;
	if (TamDig > 1)
	{
 		numer = "";
   		for (i = TamDig; (i >= 0); i--)
   		{
			if ((parseInt(Num.substr(i,1))>=0) && (parseInt(Num.substr(i, 1))<=9)) 
			{
				Contador++;
				if ((Contador == 3) && ((TamDig -i) < 5))
				{
					numer = ","+numer;
					Contador = 0;
				}
				else if (Contador == 3)
				{
					numer = "."+numer;
					Contador = 0;					
				}
				numer = Num.substr(i, 1)+numer;
			}
		}       
	}    

	if (valor_negativo)
		numer = '-'+ numer ;
	
	return numer;   
}




//--------------------------------------------------------------------------------
function FormatNumber(dado)
{

   if (dado.value == '')
      dado.value = '0' ;

	if (dado.value.length > 0) 
		dado.value = ValorFloatToFmt(FloatToSrt(ValorFmtToFloat(dado.value)))	
}




/*** 
* Descrição.: formata um campo do formulário de 
* acordo com a máscara informada... 
* Parâmetros: - objForm (o Objeto Form) 
* - strField (string contendo o nome 
* do textbox) 
* - sMask (mascara que define o 
* formato que o dado será apresentado, 
* usando o algarismo "9" para 
* definir números e o símbolo "!" para 
* qualquer caracter... 
* - evtKeyPress (evento) 
* Uso.......: <input type="textbox" 
* name="xxx"..... 
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> 
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* E por aí vai... 
***/



//--------------------------------------------------------------------------------
function mm_valida_inputmask(objeto, sMask) {


sMask = sMask.toUpperCase() ;
objeto.value = Trim(objeto.value.toUpperCase()) ;

if (objeto.value == "")
   return ;


// Maior que a Máscara... Erro
if (objeto.value.length > sMask.length)
{
   window.alert('ERRO - Preencha este campo inteiro.') ;
   objeto.value = "" ;
   return
}

var chr_tudo9 = "";
for (int_tudo9 = 1; (int_tudo9 <= sMask.length ); int_tudo9++)
{ chr_tudo9 = chr_tudo9 + '9' ; }


// Menor que a Mascara? Se tudo 9 Encher de Zero...
if (objeto.value.length < sMask.length)
   if (sMask == chr_tudo9)
   {
      int_diferenca = sMask.length - objeto.value.length ;

      for (int_preenche0 = 1; (int_preenche0 <= int_diferenca ); int_preenche0++)
      { objeto.value = objeto.value +" "; }

      
   }
   else
   {
      window.alert('ERRO - Preencha este campo corretamente - '+sMask) ;
      objeto.value = "" ;
      return
   }


var conteudo = objeto.value ;
var tamanho  = objeto.value.length ;
var teveerro = false ;
var jateve_espaco = false;

for (int_lop = 0; (int_lop <= tamanho ); int_lop++)
{
   chr_atual = conteudo.charAt(int_lop);
   asc_atual = conteudo.charCodeAt(int_lop) ;
   mascara_atual = sMask.charAt(int_lop);   

   var substituto_ok = false;

   if (chr_atual != mascara_atual)
   {
      // números de 0 a 9 & Letras A a Z
      if (mascara_atual == "9") 
         if ((asc_atual >= 48) && (asc_atual <= 57))
         {
            substituto_ok = true ;
            if (jateve_espaco) { teveerro = true ;}
         }
         
      if (mascara_atual == "A") 
         if ((asc_atual >= 65) && (asc_atual <= 90))
         {
            substituto_ok = true ;
            if (jateve_espaco) { teveerro = true ;}
         }

      if (mascara_atual == "X") 
         if (((asc_atual >= 48) && (asc_atual <= 57)) || ((asc_atual >= 65) && (asc_atual <= 90)))
         {
            substituto_ok = true ;
            if (jateve_espaco) { teveerro = true ;}
         }

      if ((sMask == chr_tudo9) && asc_atual == 32)
         {
            substituto_ok = true ;
            jateve_espaco = true ;
         }
         
      if (!substituto_ok)
         teveerro = true ;
   }   

   
}

if (teveerro && objeto.value != "")
{ 
   window.alert('ERRO - Preencha este campo corretamente - '+sMask) ;
   objeto.value = "" ;
}


return


}



//--------------------------------------------------------------------------------
// Parâmetros objForm e strField serão ignorados. Mantidos por Compatibilidade.

function txtBoxFormat(objeto, objForm, strField, sMask, evtKeyPress) {

var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;


sMask = sMask.toUpperCase() ;

if(document.all) // Internet Explorer
    { nTecla = evtKeyPress.keyCode; }
else
    { nTecla = evtKeyPress.which; }

sValue = objeto.value;

// Limpa todos os caracteres de formatação que
// já estiverem no campo.

for (i = 0; (i < sMask.length); i++)
{
   // Rodando <n> vezes é certeza que não vai sobrar nada !!!
   sValue = sValue.toString().replace( "-", "" );
   sValue = sValue.toString().replace( ".", "" );
   sValue = sValue.toString().replace( "/", "" );
   sValue = sValue.toString().replace( "(", "" );
   sValue = sValue.toString().replace( ")", "" );
   sValue = sValue.toString().replace( ":", "" );
   sValue = sValue.toString().replace( " ", "" );
}

fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
   bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
   bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == " "))

   if (bolMask) {
      sCod += sMask.charAt(i);
      mskLen++; }
   else {
      sCod += sValue.charAt(nCount) ; ;
      nCount++;
   }

   i++;
}

objeto.value = sCod;

if (nTecla != 8) // backspace
   { 
      switch(sMask.charAt(i-1))
      { 
         case "9" : return ((nTecla > 47) && (nTecla < 58)) ; 
         case "A" : return ((nTecla >= 65) && (nTecla <= 90) || (nTecla >= 97) && (nTecla <= 122)) ; 
         case "X" : return ((nTecla > 47) && (nTecla < 58) || (nTecla >= 65) && (nTecla <= 90) || (nTecla >= 97) && (nTecla <= 122)) ; 
         default  : return true ;
      }
   }
else
   { 
      return true;
   }
   
}
//Fim da Função Máscaras Gerais













//--------------------------------------------------------------------------------
function mm_showmodaldialog(janela, str_url, int_width, int_height)
{
if (int_height == 0) 
	int_height = screen.availHeight - 41 ; 
	
var retorno = janela.showModalDialog(str_url, null,'dialogWidth:'+ int_width +'px;dialogHeight:'+ int_height +'px;status:no;dialogHide:true;help:no;scroll:yes;center=yes;') 
return retorno 
}



//--------------------------------------------------------------------------------
function mm_windowopen_blank(janela, str_url, int_width, int_height)
{
str_width  = int_width.toString() ;
str_height = int_height.toString() ;

doc_width  = str_width ;

if (int_height == 0) 
	doc_height = screen.availHeight - 41 ; 
else
	doc_height = str_height ;

var int_left = (screen.width/2) - (doc_width/2)  ; 

if (int_height == 0) 
	var int_top  = 0 ; 
else
	var int_top  = (screen.availHeight/2)-(doc_height/2) ; 

var str_parametros = 'scrollbars=yes,toolbar=no,status=no,menubar=no,titlebar=no,resizable=yes,dialog=no,location=no,width='+ doc_width +',height='+ doc_height +',left='+ int_left +',top='+ int_top ; 

janela.open(str_url, '_blank' ,str_parametros) ; 

}







//--------------------------------------------------------------------------------
function mm_windowopen_target(janela, str_url, int_width, int_height, str_target)
{
str_width  = int_width.toString() ;
str_height = int_height.toString() ;

doc_width  = str_width ;

if (int_height == 0) 
	doc_height = screen.availHeight - 41 ; 
else
	doc_height = str_height ;

var int_left = (screen.width/2) - (doc_width/2)  ; 

if (int_height == 0) 
	var int_top  = 0 ; 
else
	var int_top  = (screen.availHeight/2)-(doc_height/2) ; 

var str_parametros = 'scrollbars=yes,toolbar=no,status=no,menubar=no,titlebar=no,resizable=yes,dialog=no,location=no,width='+ doc_width +',height='+ doc_height +',left='+ int_left +',top='+ int_top ; 

janela.open(str_url, str_target ,str_parametros) ; 

}






//------------------------------------------------------------------
function validar_datahora(objeto_datahora)
{
var str_datahora = objeto_datahora.value

if (str_datahora.length == 0)
	return true

if (str_datahora.length != 19 || str_datahora.substr(10,1) != ' ')
	{
	window.alert('DataHora Errada')
	objeto_datahora.value = ''
	}

var str_horario = str_datahora.substr(11,8)           

if (!horario_check(str_horario,true))
	{
	window.alert('Horario Errado')
	objeto_datahora.value = ''
	}

// Checando a Data dd/mm/aaaa
var str_data = str_datahora.substr(0,10)
if (!data_check(str_data))
	{
	window.alert('DataHora Errada')  
	objeto_datahora.value = ''
	}

}






//------------------------------------------------------------------
function horario_check(horario1, inclui_segundos)
{
if (horario1.length == 0)
	return true

if (inclui_segundos)
	{
	// Formato 00:00:00 com segundos
	if (horario1.length != 8)
		return false
		
	if (horario1.substr(5,1) != ':')
		return false
	}
else
	{
	// Formato 00:00 sem segundos
	if (horario1.length != 5)
		return false
	}
	
if (horario1.substr(2,1) != ':')
	return false
	
if (horario1.search(" ") != -1)
	return false

var int_horas    = parseInt(horario1.substr(0,2))
var int_minutos  = parseInt(horario1.substr(3,2))
var int_segundos = parseInt(horario1.substr(6,2))

if (int_horas < 0 || int_horas > 23)
	return false 

if (int_minutos < 0 || int_minutos > 59)
	return false 

if (int_segundos < 0 || int_segundos > 59)
	return false 
	
return true
}



//------------------------------------------------------------------
function validar_horario(objeto_horario, inclui_segundos)
{
if (!horario_check(objeto_horario.value, inclui_segundos))
	{
	window.alert('Horario Errado')
	objeto_horario.value = ''
	}

}


//------------------------------------------------------------------
function validar_data(objeto_data)
{
	
if (!data_check(objeto_data.value))
	{
	window.alert('Data Errada')
	objeto_data.value = ''
	}

}



//------------------------------------------------------------------
function data_check(data1)
{
if (data1.length ==0)
	return true
	
if (data1.length !=10)
	return false
	
if (data1.substr(2,1) != "/" || data1.substr(5,1) != "/" )
	return false
	
if (data1.search(" ") != -1)
	return false

var dia1  = data1.substr(0,2)
var mes1  = data1.substr(3,2) 
var ano1  = data1.substr(6,4)

var data2 = new Date(ano1,mes1-1,dia1)
var dia2  = data2.getDate()
var mes2  = data2.getMonth()+1
var ano2  = data2.getFullYear()

return (dia1 == dia2 && mes1 == mes2 && ano1 == ano2)
}




//------------------------------------------------------------------
function forcar_upper(objeto)
{
   objeto.value = objeto.value.toUpperCase() ;
}




//--------------------------------------------------------------------------------
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

//--------------------------------------------------------------------------------
function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

//--------------------------------------------------------------------------------
function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function
