//Formata o número de telefone
//onblur = FrmtG(this,'Telefone',6,1)
//vElem = Conteúdo do campo
//vMsg = Mensagem de campo inválido
//vLrs = Tamanho mínimo premitodo
//vTp = padrão 1
function FrmtG(vElem,vMsg,vLrs,vTp){
  var vElemv = vElem.value;
  if (vElem.value != ""){
    if (vElemv.length < vLrs){
      alert(vMsg + " Inválido!");
      vElem.value = "";
      vElem.focus();
      return;
    }
    if (vTp == 1){
      if (vElemv.length == 8){
         vElemv = vElemv.substring(0,4) + "-" + vElemv.substring(4,9);
      }
      else if (vElemv.length == 7){
         vElemv = vElemv.substring(0,3) + "-" + vElemv.substring(3,8);     
      }
      else if (vElemv.length == 6){
         vElemv = vElemv.substring(0,2) + "-" + vElemv.substring(2,7);     
      }     
      vElem.value = vElemv;
      return;
    }else if (vTp == 2){
      if (vElemv.length == 8){
        vElem.value = vElemv.substring(0,5) + "-" + vElemv.substring(5,8);
        return;
      }
    }
  }
}

function ChkField_E(checkString){
    var a = "'"
	var b = '"'

	if (checkString.substring(0,1) == " "){
		checkString = "";			
		return checkString;
	}
	checkString = checkString.toUpperCase();
    newString = "";   
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);
		if (ch != a && ch != b)	{
				newString += ch;
		}
    }

	newString = newString.replace("  "," ");
	checkString = checkString.replace("  "," ");

    if (checkString != newString) {
		//alert("Caracter inválido !");
		return newString;
    }else{ 
        return checkString;
    }
}

/*
function ChkField_A(checkString)
{
	if (checkString.substring(0,1) == " "){
		checkString = "";			
		return checkString;
	}
	checkString = checkString.toUpperCase();
    newString = "";   
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);
        if ((ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z") ||
            (ch >= "0" && ch <= "9") || (ch ==" ") || (ch =="/") || (ch =="ç")|| (ch =="Ç")) {
            newString += ch;
        }
    }

	newString = newString.replace("  "," ");
	checkString = checkString.replace("  "," ");

    if (checkString != newString) {
		//alert("Caracter inválido !");
		return newString;
    }else{ 
        return checkString;
    }
}

*/

function ChkField_O(checkString,vOpc){
  if (checkString.substring(0,1) == " "){
    checkString = "";			
    return checkString;
  }
  checkString = checkString.toUpperCase();
  newString = "";    
  for (i = 0; i < checkString.length; i++) {
    ch = checkString.substring(i, i+1);
    for (j = 0; j < vOpc.length; j++) {
      op = vOpc.substring(j, j+1);			
      if (ch == op) {
	    newString += ch;
	  }
	}
  }
  return newString;
}

// Formata campo Data (dd/mm/aaaa)
function maskDataTime(valor,modo) {
//Modo 1=Data, 2=Hora
  var vData = valor.value;
  var vModo = modo
  
  if(event.keyCode != 13) { 	    
    if ((event.keyCode >= 96 && event.keyCode <= 105) || (event.keyCode >=48 && event.keyCode <=57) || event.keyCode ==8 || (event.keyCode >= 37 && event.keyCode <= 40)) {
      if (event.keyCode !=8) {  //caso for diferente de backspace...
        switch (vModo) {
          case 1:
            if (vData.length == 2 || vData.length == 5) {//adiciona (/) para os campos Data
              valor.value=valor.value + "/"; 		  
            }
            break
          case 2:
            if (vData.length == 2){//adiciona (:) para os campos Hora
              valor.value=valor.value + ":";
            }
            break
		}
      }
   	  else {
	    if (vData.length == 2 || vData.length == 5){//Quando for pressionado o backspace, ele automaticamente apaga (/) ou (:) 
		  valor.value = vData.substring(0, vData.length - 1);
 	    }
      }
	}
  }
}

function ValidD(vElem, strSemBarra, vMsg){

  if (strSemBarra == ""){return;} 

  numDia = strSemBarra.substr(0,2);
  numMes = strSemBarra.substr(3,2);
  numAno = parseInt(strSemBarra.substr(6,4));

  if (numDia > 31 || numMes > 12 || numDia < 1 || numMes < 1 || numAno < 1){
     alert(vMsg);
	 vElem.value = "";
     vElem.focus();
     return false;
  }
  else {
     if (numMes == 2){
        if (numDia > 29 || (numDia == 29 && numAno % 4 != 0)){ 
           alert(vMsg); 
		   vElem.value = "";		   
		   vElem.focus();
           return false;
        }
     }
	 else if (numMes == 4 || numMes == 6 || numMes == 9 || numMes == 11){
	    if (numDia > 30){ 
	       alert(vMsg); 
	       vElem.value = "";
		   vElem.focus();
	       return false;
	    }
	 }	
  }

} 

function ValidH(vElem,strHora){
	var vHora = strHora;
	vHora1 = vHora.substring(0,2);
	vHora2 = vHora.substring(3,5);
	if (vHora1 > 24 || vHora2 > 60)
	{
		alert("Hora inválida !");
		vElem.value="";
		vElem.focus();
		return false;
	}
}

// Formata campo de Valores (R$ 000.000.000,00)
function FormatVal(vStrVal){
  if (vStrVal.substring(0,1) == " "){
    vStrVal = "";
    return vStrVal;
  }
  vStrVal = vStrVal.toUpperCase();
  var newString = vStrVal;
  var nStr = "";

  for (i = 0; i < newString.length; i++) {
    if (newString.substring(i, i+1) != "," && newString.substring(i, i+1) != "."){nStr += newString.substring(i, i+1);}
  }
 
  if (isNaN(nStr) == true){nStr = nStr.substring(0,nStr.length -1);} 
  
  //if (nStr.length == 2){newString =  "," + nStr;}
  if (nStr.length > 2 && nStr.length < 6){
    newString = nStr.substring(0,nStr.length-2) + "," + nStr.substring(nStr.length-2,nStr.length);    
  }
  if (nStr.length > 5){
    newString = nStr.substring(0,nStr.length-5) + "." + nStr.substring(nStr.length-5,nStr.length-2) + "," + nStr.substring(nStr.length-2,nStr.length);
  }
  
  if (nStr.length > 8){
    newString = nStr.substring(0,nStr.length-8) + "." + nStr.substring(nStr.length-8,nStr.length-5) + "." + nStr.substring(nStr.length-5,nStr.length-2) + "," + nStr.substring(nStr.length-2,nStr.length);
  }  
  return newString;	
}

//Início Formata Telefone
//Uso: onKeyPress="return(TelefoneFormat(this,event))"
function TelefoneFormat(Campo, e) {
	var key = '';
	var len = 0;
	var strCheck = '0123456789';
	var aux = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	
	if (whichCode == 13 || whichCode == 8 || whichCode == 0)
	{
		return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
	}
	key = String.fromCharCode(whichCode);
	if (strCheck.indexOf(key) == -1){
		return false;  //NÃO E VALIDO
	}
	
	aux =  Telefone_Remove_Format(Campo.value);
	
	len = aux.length;
	if(len>=10)
	{
		return false;	//impede de digitar um telefone maior que 10
	}
	aux += key;
	
	Campo.value = Telefone_Mont_Format(aux);
	return false;
}

function  Telefone_Mont_Format(Telefone)
{
	var aux = len = '';
	
	len = Telefone.length;
	if(len<=9)
	{
		tmp = 5;
	}
	else
	{
		tmp = 6;
	}
	
	aux = '';
	for(i = 0; i < len; i++)
	{
		if(i==0)
		{
			aux = '(';
		}
		aux += Telefone.charAt(i);
		if(i+1==2)
		{
			aux += ')';
		}
		
		if(i+1==tmp)
		{
			aux += '-';
		}
	}
	return aux ;
}

function  Telefone_Remove_Format(Telefone)
{
	var strCheck = '0123456789';
	var len = i = aux = '';
	len = Telefone.length;
	for(i = 0; i < len; i++)
	{
		if (strCheck.indexOf(Telefone.charAt(i))!=-1)
		{
			aux += Telefone.charAt(i);
		}
	}
	return aux;
}
//Fim Formata Telefone
