/***********************************************
* Mascara de Valores
* onKeyPress = SomenteNumeros(this)
* onKeyUp = FormataValor(this,13,event)
***********************************************/
                
function SomenteNumeros(input)
	{
	if ((event.keyCode<48)||(event.keyCode>57))
		event.returnValue = false;
	}
//-------------------------------

function FormataValor(campo,tammax,teclapres) {

	var tecla = teclapres.keyCode;
	var vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || (tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105) ){
		if ( tam <= 2 ){ 
	 		campo.value = vr ; }
	 	tam = tam - 1;
	 	if ( (tam > 2) && (tam <= 5) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + '.' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ) ;}
	}
}
//-------------------------------

/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
              
function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}      
// -->
//----------------------------------------------------------------------------------
// Ex.: Colocar nos dois eventos para bloquear tanto no Explorer quando no FireFox
// onKeyPress = return Tecla(event)
// onKeyUp = javascript: validar_num(this)
//----------------------------------------------------------------------------------

function limpa_string(S) 
{
	var Digitos = "0123456789/-.() ";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)
	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)
		{
		temp=temp+digito
		}
	}
	return temp
}

function validar_num(campo)
{
	nome=campo.name
	num = limpa_string(campo.value);
	campo.value = num;
}

//------------------------------------------------------------------------------------
// Ex.: no campo que vai ter o texto caixa alte, colocar os eventos abaixo.
//  onBlur = TextBoxCaixaAlta_OnBlur(this.value, this.form.name, this.name)
//  onKeyUp = TextBoxCaixaAlta_OnKeyUp(this.value, this.form.name, this.name)
//------------------------------------------------------------------------------------

function TextBoxCaixaAlta_OnKeyUp(fsValor, foForm, foNome) 
{ 
  if (window.event.keyCode >= 65 && window.event.keyCode <= 90)
  {
    x = new String(document.forms[foForm].elements[foNome].value);
	document.forms[foForm].elements[foNome].value = x.toUpperCase();
  }
}

function TextBoxCaixaAlta_OnBlur(fsValor, foForm, foNome)
{ 	
  var tam=0;
  x = new String(document.forms[foForm].elements[foNome].value);
  while (tam != x.length)
  {
    tam = x.length;
	x = x.replace('\'', '');
  }
  document.forms[foForm].elements[foNome].value = x.toUpperCase();
}

//----------------------------------------------------------------
//MÁSCARA DE VALORES
// Ex. de data XX/XX/XXXX:
// onKeyPress = return txtBoxFormat(this, '99/99/9999', event) 
// Ex. de RG. XX.XXX.XXX-X :
// onKeyPress = return txtBoxFormat(this, '99.999.999-9', event)
// Ex. de telefone (XX)XXXX-XXXX :
// onKeyPress = return txtBoxFormat(this, '(99)9999-9999', event)
// Ex. de código XX-XXX :
// onKeyPress = return txtBoxFormat(this, '99-999', event)
//----------------------------------------------------------------

function txtBoxFormat(objeto, sMask, evtKeyPress) 
{
  var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

  if(document.all) 
  { // Internet Explorer
    nTecla = evtKeyPress.keyCode;
  } 
  else if(document.layers) 
  { // Nestcape
    nTecla = evtKeyPress.which;
  } 
  else 
  {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) 
	{
        return true;
    }
  }

  sValue = objeto.value;

  // Limpa todos os caracteres de formatação que
  // já estiverem no campo.
  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( ":", "" );
  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) == "/") || (sMask.charAt(i) == ":"))
    bolMask = bolMask || ((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
    if (sMask.charAt(i-1) == "9") 
    { // apenas números...
      return ((nTecla > 47) && (nTecla < 58)); 
    } 
    else 
    { // qualquer caracter...
      return true;
    } 
  }
  else 
  {
    return true;
  }
}
//-->
