﻿/*
Funação que aceita várias mascara e ja bloquei os não numericos
    formata exempro: ##/##/#### , ##:##, ...
*/
function formatar(src, e, tipo)
{   
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;

    var character = String.fromCharCode(code);

    if(code==8)
    {}   
    else
    {   
        if(code > 47 && code < 58)
        {            
            var i = src.value.length;
            if(tipo == 'DATA')   
            {
                if(i < 10)
                {
                    src.value = mascara(src, '##/##/####',i);                  
                }
                else
                return false;
            }
            
            if(tipo == 'HORA')   
            {
                if(i < 5)
                {
                    src.value = mascara(src, '##:##',i);
                }
                else
                    return false;
            }
            
            if(tipo == '')
                return false;
        }
    }
}

function mascara(src2, mask2,i2)
{
      var saida = mask2.substring(0,1);
      var texto = mask2.substring(i2)
      if (texto.substring(0,1) != saida)
      {
         src2.value += texto.substring(0,1);
      }
    return src2.value;
}
//=============================================

//bloquei os não numéricos
function soNumero(e)
{
      var code;
      if (!e) var e = window.event;
      if (e.keyCode) code = e.keyCode;
      else if (e.which) code = e.which;
      var character = String.fromCharCode(code);      
      if(code==8)
      {}  
      else
      {          
        if(code >= 47 && code <= 58)//permite: 47 = / e 58 = : 
            return true;
        else
            return false
       }
}       
function messagemAlerta(msg)
{
    alert(msg);
}

function numero(e){
	obj=eval(sender)
	valor=obj.value;
	if (document.all){
		x=event.keyCode;
	}else{
		x=e.which
	}
	if(x==44){
		if(document.all && valor.indexOf(".")==-1){
			event.keyCode=46;
			return true
		}else{
		window.status="Use ponto como separador de centavos."}
	}
	if (x>47 && x<58 || x==8 || (x==46 && valor.indexOf(".")==-1)){return true}
	else{
		return false
	}
}

function AlertValidaData(data)
{
    if ( (data == null) || (data.length < 10) ) {
      return false;
    }
    var jsDataValida = true;
    var jsDia = data.substring(0,2)-0;
    var jsMes = data.substring(3,5)-1;
    var jsAno = data.substring(6,10)-0;
    var oData = new Date(jsAno, jsMes, jsDia);    
    if (jsDia != oData.getDate()) { jsDataValida = false }
    if (jsMes != oData.getMonth()) { jsDataValida = false }
    if (jsAno != oData.getFullYear()) { jsDataValida = false }
    
    if(jsDataValida == false)
        alert("Data inválida!");    
    
    return jsDataValida;
}



function validarData(data){
    var formatoValido = "/^d{2}/d{2}/d{4}$/"; 
    var valido = false;
    if(!formatoValido.test(data.value))
      alert("A data está no formato errado. Por favor corrija.");
    else{
      var dia = data.value.split("/")[0];
      var mes = data.value.split("/")[1];
      var ano = data.value.split("/")[2];
      var MyData = new Date(ano, mes - 1, dia);
      if((MyData.getMonth() + 1 != mes)||
         (MyData.getDate() != dia)||
         (MyData.getFullYear() != ano))
        alert("Valores inválidos para o dia, mês ou ano. Por favor corrija.");
      else
        valido = true;
    }
    if(valido == false){
      data.focus();
      data.select();
    }
    return valido;
  }

