﻿        
function verifyCalendarMask(pobjEvent, pobjCtrl) {
    if (verifySpecialKeys(pobjEvent)) {
        return true;
    }
    var intKeyCode = document.all ? pobjEvent.keyCode : pobjEvent.which;
    var chrDigit = String.fromCharCode(intKeyCode);
    if (("0123456789").indexOf(chrDigit) >= 0) {
        while (pobjCtrl.value.indexOf("/") >= 0) {
            pobjCtrl.value = pobjCtrl.value.replace("/", "");
        }
        if (pobjCtrl.value.length > 2) {
            pobjCtrl.value = pobjCtrl.value.substr(0, 2) + "/" + pobjCtrl.value.substr(2);
        }
        if (pobjCtrl.value.length > 5) {
            pobjCtrl.value = pobjCtrl.value.substr(0, 5) + "/" + pobjCtrl.value.substr(5);
        }
        return true;
    }
    return false;
}


function eventClick(e) {
    if (e.keyCode == 13) {
        event.returnValue = false;
    }
}

function OpenPopUp(url, height, width) {
    newwindow = window.open(url, 'name', 'height=' + height + ',width=' + width + ',scrollbars,resizable');
    if (window.focus) { newwindow.focus() }
}

function verifySpecialKeys(pobjEvent) {
    if (pobjEvent.type == "keypress") {
        if (document.all) {
            return false;
        }
        return (pobjEvent.keyCode > 0);
    } else {
        return (pobjEvent.keyCode == 8 ||
            pobjEvent.keyCode == 9 ||
            pobjEvent.keyCode == 13 ||
            pobjEvent.keyCode == 33 ||
            pobjEvent.keyCode == 34 || 
            pobjEvent.keyCode == 35 || 
            pobjEvent.keyCode == 36 ||
            pobjEvent.keyCode == 37 ||
            pobjEvent.keyCode == 38 || 
            pobjEvent.keyCode == 39 ||
            pobjEvent.keyCode == 40 ||
            pobjEvent.keyCode == 46 ||
            pobjEvent.keyCode == 116);
    }
}

function FormataCpf(campo, teclapres)
{

    if(!OnlyNumber(teclapres, campo))
        return false;

    var tecla = teclapres.keyCode;

    if (tecla == 8)
        return true;
        
	var vr = new String(campo.value);
	vr = vr.replace(".", "");
	vr = vr.replace("/", "");
	vr = vr.replace("-", "");
	tam = vr.length + 1;
	if (tecla != 14)
	{
		if (tam == 4)
			campo.value = vr.substr(0, 3) + '.';
		if (tam == 7)
			campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 6) + '.';
		if (tam == 11)
			campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(7, 3) + '-' + vr.substr(11, 2);
	}
}

function FormataCEP(campo, teclapres) {

    if (!OnlyNumber(teclapres, campo))
        return false;

    var tecla = teclapres.keyCode;

    if (tecla == 8)
        return true;
    
    var vr = new String(campo.value);
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    tam = vr.length + 1;
    if (tecla != 14) {
        if (tam == 3)
            campo.value = vr.substr(0, 2) + '.';
        if (tam == 6)
            campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 4) + '-';
        if (tam == 11)
            campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 4) + '-' + vr.substr(7, 3);
    }
}


function FormataCNPJ(Campo, teclapres){

    if(!OnlyNumber(teclapres, Campo))
        return false;
        
   if(window.event){
    var tecla = teclapres.keyCode;
   }else  tecla = teclapres.which;

   var vr = new String(Campo.value);
   vr = vr.replace(".", "");
   vr = vr.replace(".", "");
   vr = vr.replace("/", "");
   vr = vr.replace("-", "");

   tam = vr.length + 1;

   
   if (tecla != 9 && tecla != 8){
      if (tam > 2 && tam < 6)
         Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
      if (tam >= 6 && tam < 9)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
      if (tam >= 9 && tam < 13)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
      if (tam >= 13 && tam < 15)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
      }
}

function OnlyNumber(p_objEvento, p_objCtrl) {

    try{var key = p_objEvento.keyCode;    var shift = p_objEvento.shiftKey    }catch(er){};
    if (key == 8 || key == 9 || key == 46 ||
    key == 109 || key == 194 || (key >= 35 && key <= 40) || (key >= 96 && key <= 105)) return true;
 
    if (shift || !/\d/g.test(String.fromCharCode(key))) return false;
    
    return true;
  }

  function OnlyCurrency(p_objEvento, p_objCtrl) {
      if (p_objEvento.shiftKey || p_objEvento.keyCode == 37 || p_objEvento.keyCode == 39) { return false };

      var strDigit = "";

      if (p_objEvento.keyCode == 8 || p_objEvento.keyCode == 46) {
          p_objCtrl.value = (p_objCtrl.value.length > 0) ? p_objCtrl.value.substr(0, p_objCtrl.value.length - 1) : "";
      } else {
          if (p_objEvento.keyCode > 95 && p_objEvento.keyCode < 107) {
              strDigit = ("0123456789").charAt(p_objEvento.keyCode - 96);
          } else if (p_objEvento.keyCode > 47 && p_objEvento.keyCode < 58) {
              strDigit = String.fromCharCode(p_objEvento.keyCode);
          } else {
              return false;
          }
      }

      while (p_objCtrl.value.indexOf(",") >= 0) {
          p_objCtrl.value = p_objCtrl.value.replace(",", "");
      }

      while (p_objCtrl.value.indexOf(".") >= 0) {
          p_objCtrl.value = p_objCtrl.value.replace(".", "");
      }

      if (p_objCtrl.value.length < 11) {
          p_objCtrl.value += strDigit;
      }

      if (p_objCtrl.value.length > 2) {
          p_objCtrl.value = p_objCtrl.value.substr(0, p_objCtrl.value.length - 2) + "," + p_objCtrl.value.substr(p_objCtrl.value.length - 2);
      }

      if (p_objCtrl.value.length > 6) {
          p_objCtrl.value = p_objCtrl.value.substr(0, p_objCtrl.value.length - 6) + "." + p_objCtrl.value.substr(p_objCtrl.value.length - 6);
      }

      if (p_objCtrl.value.length > 10) {
          p_objCtrl.value = p_objCtrl.value.substr(0, p_objCtrl.value.length - 10) + "." + p_objCtrl.value.substr(p_objCtrl.value.length - 10);
      }

      return false;
  }
  
  function AplicarMascaraTelefone(p_objEvento, p_objCtrl) {
    if(p_objEvento.shiftKey) return false;
  
    /*Bloqueia teclas invalidas*/
    if (p_objEvento.keyCode == 8 || p_objEvento.keyCode == 46 || p_objEvento.keyCode == 9) {
      return true;
    }
    
    if ((p_objEvento.keyCode < 95 || p_objEvento.keyCode > 105) && (p_objEvento.keyCode < 48 || p_objEvento.keyCode > 57)) {
      return false;
    }
    
    /*Remove Caracteres Especiais*/
    while (p_objCtrl.value.indexOf("(") >= 0) {
      p_objCtrl.value = p_objCtrl.value.replace("(", "");
    }
    
    while (p_objCtrl.value.indexOf(")") >= 0) {
      p_objCtrl.value = p_objCtrl.value.replace(")", "");
    }
    
    while (p_objCtrl.value.indexOf(" ") >= 0) {
      p_objCtrl.value = p_objCtrl.value.replace(" ", "");
    }
    
    while (p_objCtrl.value.indexOf("-") >= 0) {
      p_objCtrl.value = p_objCtrl.value.replace("-", "");
    }
    
    /*Aplica Mascara*/
    if (p_objCtrl.value.length >= 0) {
      p_objCtrl.value = "(" + p_objCtrl.value;
    }
    
    if (p_objCtrl.value.length >= 3) {
      p_objCtrl.value = p_objCtrl.value.substr(0, 3) + ") " + p_objCtrl.value.substr(3);
    }
    
    if (p_objCtrl.value.length >= 9) {
      p_objCtrl.value = p_objCtrl.value.substr(0, 9) + "-" + p_objCtrl.value.substr(9);
    }
    
    return true;
  }
  
   function AplicarMascaraData(p_objEvento, p_objCtrl) {
    if(p_objEvento.shiftKey) return false;
  
    if (p_objEvento.keyCode == 8 || p_objEvento.keyCode == 46 || p_objEvento.keyCode == 9) {
      return true;
    }
    if ((p_objEvento.keyCode < 95 || p_objEvento.keyCode > 105) && (p_objEvento.keyCode < 48 || p_objEvento.keyCode > 57)) {
      return false;
    }
    while (p_objCtrl.value.indexOf("/") >= 0) {
      p_objCtrl.value = p_objCtrl.value.replace("/", "");
    }
    if (p_objCtrl.value.length >= 2) {
      p_objCtrl.value = p_objCtrl.value.substr(0, 2) + "/" + p_objCtrl.value.substr(2);
    }
    if (p_objCtrl.value.length >= 5) {
      p_objCtrl.value = p_objCtrl.value.substr(0, 5) + "/" + p_objCtrl.value.substr(5);
    }
    return true;
  }
    
  function VerificarData(p_objCtrl){
    for (var i = 0; i < p_objCtrl.value.length; i++) {
        if (i == 2 || i == 5) {
            if (p_objCtrl.value.substr(i, 1) != "/") {
                alert(_strInvalidDateTimeMessage); 
                p_objCtrl.focus();
                return false;
            } else {
                continue;
            }
        }
        
        if (("0123456789").indexOf(p_objCtrl.value.substr(i, 1)) < 0) {
            alert(_strInvalidDateTimeMessage); 
            p_objCtrl.focus();
            return false;
        }
    }    

    if (p_objCtrl.value.length == 0) {
        return true;
    }
    
    if (p_objCtrl.value.length != 10) {
    alert(_strInvalidDateTimeMessage);
        p_objCtrl.focus(); 
        return false;
    }
    
   var  dia = (p_objCtrl.value.substr(0, 2)); 
   var mes = (p_objCtrl.value.substr(3, 2)); 
   var ano = (p_objCtrl.value.substr(6, 4)); 

    // verifica o dia valido para cada mes 
    if ((dia < 1)||(dia < 1 || dia > 30) && (  mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31) { 
        alert(_strInvalidDateTimeMessage);
        p_objCtrl.focus(); 
        return false;
    } 

    // verifica se o mes e valido 
    if (mes < 01 || mes > 12 ) { 
        alert(_strInvalidDateTimeMessage); 
        p_objCtrl.focus();
        return false;
    } 
    
    // verifica se o ano é valido
    if (ano < 1900 || ano > 2100 ) { 
        alert(_strInvalidDateTimeMessage); 
        p_objCtrl.focus();
        return false;
    } 

    // verifica se e ano bissexto 
    if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != 0)))) { 
        alert(_strInvalidDateTimeMessage); 
        p_objCtrl.focus();
        return false;
    } 
    return true;
  }
function BlockKeybord()
{
    if((event.keyCode < 48) || (event.keyCode > 57))
    {
        event.returnValue = 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(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);
        }
    }
}

function maskKeyPress(objEvent) 
{
    var iKeyCode; 
    iKeyCode = objEvent.keyCode; 
    if(iKeyCode>=48 && iKeyCode<=57) return true;
    return false;
}



function changeSelectedTab(pobjTabContainer) {
    var cont = pobjTabContainer;

    if (cont == null)
        return;
        
    var strAttribute = null;
    var objControl = null;
    var objHiddenControl = pobjTabContainer.getElementsByTagName("INPUT")[0];
    var arrDIVS = null;

    if (objHiddenControl == null || objHiddenControl.nodeName.toUpperCase() != "INPUT" ||
        objHiddenControl.type.toUpperCase() != "HIDDEN") {
        return;
    }

    for (var i = 0; i < pobjTabContainer.childNodes.length; i++) {
        strAttribute = null;
        if (pobjTabContainer.childNodes[i].nodeName.toUpperCase() == "DIV") {
            strAttribute = pobjTabContainer.childNodes[i].firstChild.value;
        }
        if (strAttribute == null || strAttribute.length == 0) {
            continue;
        }
        objControl = document.getElementById(strAttribute);
        if (objControl == null) {
            continue;
        }

        arrDIVS = pobjTabContainer.childNodes[i].getElementsByTagName("DIV");

        if (strAttribute == objHiddenControl.value) {
            objControl.style.display = "inline";
            arrDIVS[0].className = arrDIVS[0].className.replace("_selected", "") + "_selected";
            arrDIVS[1].className = arrDIVS[1].className.replace("_selected", "") + "_selected";
            arrDIVS[2].className = arrDIVS[2].className.replace("_selected", "") + "_selected";
        } else {
            objControl.style.display = "none";
            arrDIVS[0].className = arrDIVS[0].className.replace("_selected", "");
            arrDIVS[1].className = arrDIVS[1].className.replace("_selected", "");
            arrDIVS[2].className = arrDIVS[2].className.replace("_selected", "");
        }
    }
}

function changeTab(pobjTabControl) {
    if (pobjTabControl == null)
        return;
    var objHiddenControl = pobjTabControl.parentNode.getElementsByTagName("INPUT")[0];

    if (objHiddenControl == null || objHiddenControl.nodeName.toUpperCase() != "INPUT" ||
        objHiddenControl.type.toUpperCase() != "HIDDEN") {
        return false;
    }

    if (objHiddenControl != null) {
        objHiddenControl.value = pobjTabControl.firstChild.value;
        changeSelectedTab(pobjTabControl.parentNode);
    }
    return false;
}

function verifyDecimal(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 0 && keyChar == ",") {
        control.value = "0";
        return true;
    }
    if (control.value.indexOf(",") > 0) {
        if (keyChar == ",") { return false; }
        if (control.value.split(",")[1].length >= 4) { return false; }
    }
    return (("0123456789,").indexOf(keyChar) >= 0);
}

function verifyNumber(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    return (("0123456789").indexOf(keyChar) >= 0);
}

function verifyCurrency(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 0 && keyChar == ",") {
        control.value = "0";
        return true;
    }
    if (control.value.indexOf(",") > 0) {
        if (keyChar == ",") { return false; }
        if (control.value.split(",")[1].length >= 2) { return false; }
    }
    return (("0123456789,").indexOf(keyChar) >= 0);
}

function verifyDate(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 2 || control.value.length == 5) {
        if (keyChar == "/") {
            return true;
        }
        control.value += "/";
    }
    return (("0123456789").indexOf(keyChar) >= 0);
}

function verifyCNPJ(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 2 || control.value.length == 6) {
        if (keyChar == ".") {
            return true;
        }
        control.value += ".";
    }
    if (control.value.length == 10) {
        if (keyChar == "/") {
            return true;
        }
        control.value += "/";
    }
    if (control.value.length == 15) {
        if (keyChar == "-") {
            return true;
        }
        control.value += "-";
    }
    return (("0123456789").indexOf(keyChar) >= 0);
}

function verifyCPF(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 3 || control.value.length == 7) {
        if (keyChar == ".") {
            return true;
        }
        control.value += ".";
    }
    if (control.value.length == 11) {
        if (keyChar == "-") {
            return true;
        }
        control.value += "-";
    }
    return (("0123456789").indexOf(keyChar) >= 0);
}

function verifyPhoneNumber(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 0) {
        if (keyChar == "(") {
            return true;
        }
        control.value += "(";
    }
    if (control.value.length == 3) {
        if (keyChar == ")") {
            return true;
        }
        control.value += ")";
    }
    if (control.value.length == 4) {
        if (keyChar == " ") {
            return true;
        }
        control.value += " ";
    }
    if (control.value.length == 9) {
        if (keyChar == "-") {
            return true;
        }
        control.value += "-";
    }
    return (("0123456789").indexOf(keyChar) >= 0);
}

function verifyPostalCode(e, control) {
    var key = (e.keyCode) ? e.keyCode : e.which;
    if (key == 8) { return true; }
    var keyChar = String.fromCharCode(key);
    if (control.value.length == 5) {
        if (keyChar == "-") {
            return true;
        }
        control.value += "-";
    }
    return (("0123456789").indexOf(keyChar) >= 0);
}