﻿// JScript File

function txtBoxFormat(strField, sMask, evtKeyPress)
{
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

    if(evtKeyPress)
	{
		nTecla = evtKeyPress.keyCode ? evtKeyPress.keyCode : evtKeyPress.which ? evtKeyPress.which : evtKeyPress.charCode;
	}
	else
	{
		nTecla = 0;
	}
			
	//alert(nTecla);
	  
    if (nTecla == 8) return true; // BackSpace
    if (nTecla == 9) return true; // Tab
    if (nTecla == 13){
        
        return true; // Enter
    }
    
    sValue = strField.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( ":", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;
    
    if(evtKeyPress = 0 && fldLen == 0) return false;

    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
        {
            // UpperCase           
            if(sMask.charAt(i) == "U")
            {
                sCod += sValue.charAt(nCount).toUpperCase();
            }
            else
            {            
                sCod += sValue.charAt(nCount);
            }
            nCount++;
        }
        i++;
    }   

    

    // backspace
    if (nTecla != 8)
    { 
        // números de 0 a 9
        if (sMask.charAt(i-1) == "9")
        {
            // apenas números...
            retorno = ((nTecla > 47) && (nTecla < 58))           
            
            //alert(retorno);
            
            if(retorno)
            {
                strField.value = sCod;
            }
            return retorno; 
        }        
        
        // qualquer caracter...
        else
        {         
            strField.value = sCod;            
            return true;
        } 
    }
    else {
        return true;
    }
}
function none(event)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    
    if(
        keyCode >= 0    
        && keyCode <=255
      )        
        return true
    else
        return false
}
function somenteNumero(event)
{
      var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
      var caract = new RegExp(/^[0-9 ]+$/i);
	  
	  //alert(keyCode);
	  if(
	  keyCode == 13     // Enter
	  || keyCode == 8 // Backspace
	  || keyCode == 9 // TAB
	  /*|| keyCode == 35 // End
	  || keyCode == 36 // Home 	 
	  /*|| keyCode == 37 // Seta esquerda
	  || keyCode == 38 // Seta cima
	  || keyCode == 39 // Seta direita
	  || keyCode == 40 // Seta baixo*/
	  || keyCode == 46 // Delete
	  )
		return true;
	  
      var caract = caract.test(String.fromCharCode(keyCode));
      //------------------------
      if(!caract){
          keyCode=0;
          return false;
      }
}

function somenteLetra(event)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;    
    
    if(
        keyCode == 13   // Enter
        || keyCode == 8 // Backspace
        || keyCode == 9 // TAB
        /*|| keyCode == 35 // End
        || keyCode == 36 // Home 	 
        /*|| keyCode == 37 // Seta esquerda
        || keyCode == 38 // Seta cima
        || keyCode == 39 // Seta direita
        || keyCode == 40 // Seta baixo*/
        || keyCode == 46 // Delete
    )
        return true;

    else if
    ( 
        (
            keyCode >= 65        // A
            && keyCode <= 90      // Z
        )
        ||
        (
            keyCode >= 97        // a
            && keyCode <= 122    // z
        )
    )
        return true
    else
        return false
}

function LetraNumero(event)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    
    //alert(keyCode);
    
    if(
        keyCode == 13   // Enter
        || keyCode == 8 // Backspace
        || keyCode == 9 // TAB
        /*|| keyCode == 35 // End
        || keyCode == 36 // Home 	 
        || keyCode == 37 // Seta esquerda
        || keyCode == 38 // Seta cima
        || keyCode == 39 // Seta direita
        || keyCode == 40 // Seta baixo*/
        || keyCode == 46 // Delete
    )
        return true;

    else if
    ( 
        (
            keyCode >= 65        // A
            && keyCode <=90      // Z
        )
        ||
        (
            keyCode >= 97        // a
            && keyCode <= 122    // z
        )
        ||
        (
            keyCode >= 48        // 0
            && keyCode <= 57     // 9
        )        
    )
        return true
    else
        return false
}

function LetraNumeroHifem(event)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    
    //alert(keyCode);
    
    if(
        keyCode == 13   // Enter
        || keyCode == 8 // Backspace
        || keyCode == 9 // TAB
        /*|| keyCode == 35 // End
        || keyCode == 36 // Home 	 
        || keyCode == 37 // Seta esquerda
        || keyCode == 38 // Seta cima
        || keyCode == 39 // Seta direita
        || keyCode == 40 // Seta baixo*/
        || keyCode == 46 // Delete
    )
        return true;

    else if
    ( 
        (
            keyCode >= 65        // A
            && keyCode <=90      // Z
        )
        ||
        (
            keyCode >= 97        // a
            && keyCode <= 122    // z
        )
        ||
        (
            keyCode >= 48        // 0
            && keyCode <= 57     // 9
        )        
    )
        return true
    else
        return false
}


function troca(str,strsai,strentra)
{
	while(str.indexOf(strsai)>-1)
	{
		str = str.replace(strsai,strentra);
	}
	return str;
}

//function FormataMoeda(campo,tammax,teclapres,caracter)
//{
//	if(teclapres == null || teclapres == "undefined")
//	{
//		var tecla = -1;
//	}
//	else
//	{
//		var tecla = teclapres.keyCode;
//	}

//	if(caracter == null || caracter == "undefined")
//	{
//		caracter = ".";
//	}
//	
//	vr = campo.value;	
//	
//	if(tecla > 0)
//	{
//		if(tecla != 8 && tecla != 9)
//			if(vr.length >= tammax)
//				return;
//	}
//	
//	if(caracter != "")
//	{
//		vr = troca(vr,caracter,"");
//	}
//	vr = troca(vr,"/","");
//	vr = troca(vr,",","");
//	vr = troca(vr,".","");

//	tam = vr.length;			
//			
//	if(tecla == -1 || tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105)
//	{					
//		if(tam <= 2)
//		{
//			campo.value = vr;
//		}
//		else if((tam > 2) && (tam <= 5))
//		{
//			campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
//		}
//		else if((tam >= 6) && (tam <= 8))
//		{
//			campo.value = vr.substr(0, tam - 5) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
//		}
//		else if((tam >= 9) && (tam <= 11))
//		{
//			campo.value = vr.substr(0, tam - 8) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
//		}
//		else if((tam >= 12) && (tam <= 14))
//		{
//			campo.value = vr.substr(0, tam - 11) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
//		}
//		else if((tam >= 15) && (tam <= 17))
//		{
//			campo.value = vr.substr(0, tam - 14) + caracter + vr.substr(tam - 14, 3) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
//		}		
//	}
//	else if(tecla == 37) // Seta esquerda
//	{
//	    campo.selectionStart--;
//	    campo.selectionEnd = campo.selectionStart; 
//	}
//	else if(tecla == 39) // Seta direita
//	{
//	    campo.selectionStart++;
//	    campo.selectionEnd = campo.selectionStart;
//    }
//    else if(tecla == 35)
//    {
//        campo.selectionStart = campo.value.length;
//        campo.selectionEnd = campo.selectionStart;            
//    }
//    else if(tecla == 36)
//    {
//        campo.selectionStart = 0;
//        campo.selectionEnd = campo.selectionStart;            
//    }

function FormataMoeda(campo,tammax,teclapres,caracter)
{
	if(teclapres == null || teclapres == "undefined")
	{
		var tecla = -1;
	}
	else
	{
		var tecla = teclapres.keyCode;
	}

	if(caracter == null || caracter == "undefined")
	{
		caracter = ".";
	}

	vr = campo.value;
	
	if(tecla > 0)
	{
		if(tecla != 8 && tecla != 9)
			if(vr.length >= tammax)
				return;
	}
	
	if(caracter != "")
	{
		vr = troca(vr,caracter,"");
	}
	vr = troca(vr,"/","");
	vr = troca(vr,",","");
	vr = troca(vr,".","");

	tam = vr.length;

	if(tecla > 0)
	{
		if(tam < tammax && tecla != 8)
		{
			tam = vr.length + 1;
		}

		if(tecla == 8)
		{
			tam = tam - 1;
		}
	}
	if(tecla == -1 || tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105)
	{
		if(tam <= 2)
		{
			campo.value = vr;
		}
		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) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 9) && (tam <= 11))
		{
			campo.value = vr.substr(0, tam - 8) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 12) && (tam <= 14))
		{
			campo.value = vr.substr(0, tam - 11) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 15) && (tam <= 17))
		{
			campo.value = vr.substr(0, tam - 14) + caracter + vr.substr(tam - 14, 3) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	}    
}

