/* Inclui a máscara para incluir parenteses no DDD de um Telefone
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraDDD(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;

	if (vTamanho == 1)
		obj.value = '(' + vValor;
	if (vTamanho == 3)
		obj.value = vValor + ') ';
}

/* Inclui a máscara para incluir a máscara do telefone com DDD - (23) 6789-1234
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraTelefoneDDD(obj) {
	if (obj.value.length < 15)
	{
	    vCaracter = obj.value.charCodeAt(obj.value.length-1);
	    if(!(vCaracter >= 48 && vCaracter <= 57)) //48 a 57 = caracteres diferentes de números
        {
  	        if (vCaracter != 40 && vCaracter != 41 && vCaracter != 32) 	//40 e 41 = caracteres parênteses(). Senão for apaga o caractere
  	        {
	            obj.value = obj.value.substring(0, obj.value.length-1);      
	        }
	    }
	    vValor = obj.value;
	    vTamanho = obj.value.length;
	    if (vTamanho == 1)
		    obj.value = '(' + vValor;
	    if (vTamanho == 3)
		    obj.value = vValor + ') ';
	    if (vTamanho == 9)
		    obj.value = vValor + '-';
    }
    else obj.value = obj.value.substring(0,14);      
}



//-------------------------------------------------------------------

/* Inclui a máscara do CPF (999.999.999-99)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCPF(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 3)
		obj.value = vValor + '.';
	if (vTamanho == 7)
		obj.value = vValor + '.';
	if (vTamanho == 11)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Inclui a máscara do CGC (99.999.999/9999-99)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCGC(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + '.';
	if (vTamanho == 6)
		obj.value = vValor + '.';
	if (vTamanho == 10)
		obj.value = vValor + '/';
	if (vTamanho == 15)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Inclui a máscara do CEP (99.999-999)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCEP(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + '.';
	if (vTamanho == 6)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Incluir a máscara de moeda
Exemplo de chamada: incluiMascaraMoeda(this,event);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraMoeda(fld, e) { 
		var milSep = "."; 
		var decSep = ","; 
		var sep = 0; 
		var key = ''; 
		var i = j = 0; 
		var len = len2 = 0; 
		var strCheck = '0123456789'; 
		var aux = aux2 = ''; 
		var whichCode = (window.Event) ? e.which : e.keyCode; 
		
		if (whichCode == 13) 
		return true; 

		key = String.fromCharCode(whichCode); 

		//if (strCheck.indexOf(key) == -1) 
		//return false; 

		len = fld.value.length; 

		for (i = 0; i < len; i++) 
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
		break; 

		aux = ''; 

		for (; i < len; i++) 
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
		aux += fld.value.charAt(i); 

		aux += key; 
		len = aux.length; 

		if (len == 0) 
		fld.value = ''; 

		if (len == 1) 
		fld.value = '0'+ decSep + '0' + aux; 

		if (len == 2) 
		fld.value = '0'+ decSep + aux; 

		if (len > 2){ 
		aux2 = ''; 

		for (j = 0, i = len - 3; i >= 0; i--){ 
		if (j == 3){ 
		aux2 += milSep; 
		j = 0; 
		} 
		aux2 += aux.charAt(i); 
		j++; 
		} 

		fld.value = ''; 
		len2 = aux2.length; 

		for (i = len2 - 1; i >= 0; i--) 
		fld.value += aux2.charAt(i); 
		fld.value += decSep + aux.substr(len - 2, len); 
		} 

		return false; 
}

//-------------------------------------------------------------------
/*Cleilton 28/03/2007
Inclui a máscara da Hora: incluirMascaraHora (99:99)
Valida números e dois pontos: validarNumeroCom2Pontos
Valida a hora: validarHora
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: incluirMascaraHora(obj);
Essas funcoes devem ser chamadas através do "OnKeyUp" ou "OnKeyPress" ou "OnBlur"
*/
function incluirMascaraHora(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + ':';

}

function validarNumeroCom2Pontos(obj) {
	var vTamanho = obj.value.length;
	
	for(var i = 0; i < vTamanho; i++) {
  		var vCaracter = obj.value.charCodeAt(i);
		if (!(vCaracter >= 48 && vCaracter <= 57)) {	//48 a 57 = caracteres diferentes de números
			if (vCaracter != 58)	//58 = caracter dois pontos (:). Se não for os dois pontos apaga o caractere
				obj.value=obj.value.substring(0, vTamanho - 1);      
		}
	}
}

function validarHora(obj) {

   var timePat = /^(\d{1,2}):(\d{2})?$/;
   var timeStr = obj.value;
   var vTamanho = obj.value.length;
   var matchArray = timeStr.match(timePat);

   if (vTamanho > 0) {

		hour   = matchArray[1];
		minute = matchArray[2];

		if (hour < 0  || hour > 23) {
			alert("Hora invalida.");
			return false;
		}

		if (minute<0 || minute > 59) {
			alert ("Hora invalida.");
			return false;
		}

 }

}
//-------------------------------------------------------------------
