var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/";
var vDateType = 3;     // Global value for type of date format
                        // 1 = mm/dd/yyyy
                        // 2 = yyyy/dd/mm  (Unable to do date check at this time)
                        // 3 = dd/mm/yyyy
var vYearType = 4;     //Set to 2 or 4 for number of digits in the year for Netscape
var err = 0;       // Set the error code to a default of zero
if(navigator.appName == "Netscape")
{
   if (navigator.appVersion < "5")
   {
      isNav4 = true;
      isNav5 = false;
   }
   else
   if (navigator.appVersion > "4")
   {
      isNav4 = false;
      isNav5 = true;
   }
}
else isIE4 = true;

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType)
///////////////////////////////////////////////////////////////////////////////////////
// vDateName  = object name                                                          //
// vDateValue = value in the field being checked                                     //
// e          = event                                                                //
// dateCheck                                                                         //
//       True  = Verify that the vDateValue is a valid date                          //
//       False = Format values being entered into vDateValue only                    //
// vDateType                                                                         //
//       1 = mm/dd/yyyy                                                              //
//       2 = yyyy/mm/dd                                                              //
//       3 = dd/mm/yyyy                                                              //
//Enter a tilde sign for the first number and you can check the variable information.//
///////////////////////////////////////////////////////////////////////////////////////
{
   vDateType = dateType;
   if (vDateValue == "~")
   {
      alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
      vDateName.value = "";
      vDateName.focus();
      return true;
   }
   var whichCode = (window.Event) ? e.which : e.keyCode;
   // Check to see if a seperator is already present.
   // bypass the date if a seperator is present and the length greater than 8
   if (vDateValue.length > 8 && isNav4)
   {
      if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1)) return true;
   }
   //Eliminate all the ASCII codes that are not valid
   var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
   if (alphaCheck.indexOf(vDateValue) >= 1)
   {
      if (isNav4)
    {
         vDateName.value = "";
         vDateName.focus();
         vDateName.select();
         return false;
      }
       else
      {
         vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
         return false;
      }
   }
   if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
      return false;
   else
   {
      //Create numeric string values for 0123456789/
      //The codes provided include both keyboard and keypad values
      var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
      if (strCheck.indexOf(whichCode) != -1)
      {
         if (isNav4)
     {
            if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1))
      {
               alert("Invalid Date!");
               vDateName.value = "";
               vDateName.focus();
               vDateName.select();
               return false;
            }
            if (vDateValue.length == 6 && dateCheck)
      {
               var mDay = vDateName.value.substr(2,2);
               var mMonth = vDateName.value.substr(0,2);
               var mYear = vDateName.value.substr(4,4);
               //Turn a two digit year into a 4 digit year
               if (mYear.length == 2 && vYearType == 4)
         {
                  var mToday = new Date();
                  //If the year is greater than 30 years from now use 19, otherwise use 20
                  var checkYear = mToday.getFullYear() + 30;
                  var mCheckYear = '20' + mYear;
                  if (mCheckYear >= checkYear) mYear = '19' + mYear;
                  else mYear = '20' + mYear;
               }
               var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
               if (!dateValid(vDateValueCheck))
         {
                   alert("Data Inválida!");
                   vDateName.value = "";
                   vDateName.focus();
                   vDateName.select();
                   return false;
               }
               return true;
           }
           else
       {
              // Reformat the date for validation and set date type to a 1
              if (vDateValue.length >= 8  && dateCheck)
        {
                 // mmddyyyy
                 if (vDateType == 1)
          {
                      var mDay = vDateName.value.substr(2,2);
                      var mMonth = vDateName.value.substr(0,2);
                      var mYear = vDateName.value.substr(4,4)
                      vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
                  }
                 // yyyymmdd
                 if (vDateType == 2)
         {
                     var mYear = vDateName.value.substr(0,4)
                     var mMonth = vDateName.value.substr(4,2);
                     var mDay = vDateName.value.substr(6,2);
                     vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
                 }
                 // ddmmyyyy
                 if (vDateType == 3)
         {
                     var mMonth = vDateName.value.substr(2,2);
                     var mDay = vDateName.value.substr(0,2);
                     var mYear = vDateName.value.substr(4,4)
                     vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
                 }
                 //Create a temporary variable for storing the DateType and change
                 //the DateType to a 1 for validation.
                 var vDateTypeTemp = vDateType;
                 vDateType = 1;
                 var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
                 if (!dateValid(vDateValueCheck))
         {
                     alert("Data Inválida!");
                     vDateType = vDateTypeTemp;
                     vDateName.value = "";
                     vDateName.focus();
                     vDateName.select();
                     return false;
                 }
                 vDateType = vDateTypeTemp;
                 return true;
             }
             else
       {
                if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1))
        {
                    alert("Data Inválida!");
                    vDateName.value = "";
                    vDateName.focus();
                    vDateName.select();
                    return false;
                 }
             }
       }
   }
   else
   {
      // Non isNav Check
      if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1))
    {
         alert("Data Inválida!");
         vDateName.value = "";
         vDateName.focus();
         return true;
      }
      // Reformat date to format that can be validated. mm/dd/yyyy
      if (vDateValue.length >= 8 && dateCheck)
    {
         // Additional date formats can be entered here and parsed out to
         // a valid date format that the validation routine will recognize.
         // mm/dd/yyyy
         if (vDateType == 1)
     {
            var mMonth = vDateName.value.substr(0,2);
            var mDay = vDateName.value.substr(3,2);
            var mYear = vDateName.value.substr(6,4)
        }
        // yyyy/mm/dd
        if (vDateType == 2)
    {
           var mYear = vDateName.value.substr(0,4)
           var mMonth = vDateName.value.substr(5,2);
           var mDay = vDateName.value.substr(8,2);
        }
        // dd/mm/yyyy
        if (vDateType == 3)
    {
           var mDay = vDateName.value.substr(0,2);
           var mMonth = vDateName.value.substr(3,2);
           var mYear = vDateName.value.substr(6,4)
        }
        // Create temp. variable for storing the current vDateType
        var vDateTypeTemp = vDateType;
        // Change vDateType to a 1 for standard date format for validation
        // Type will be changed back when validation is completed.
        vDateType = 1;
        // Store reformatted date to new variable for validation.
        var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
        if (vDateValueCheck.length >= 8 && dateCheck)
    {
           //Turn a two digit year into a 4 digit year
           if (mYear.length == 2 && vYearType == 4)
       {
              var mToday = new Date();
             //If the year is greater than 30 years from now use 19, otherwise use 20
             var mCheckYear = '20' + mYear;
             if (mCheckYear >= checkYear) mYear = '19' + mYear;
             else mYear = '20' + mYear;
           }
           vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
        }
   if (!dateValid(vDateValueCheck)) {
   alert("Data Inválida!");
   vDateType = vDateTypeTemp;
   vDateName.value = "";
   vDateName.focus();
   return true;
}
 vDateType = vDateTypeTemp;
return true;
}
else {
if (vDateType == 1) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 2)
{
if (vDateValue.length == 4)
{
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 7) {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 3) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
return true;
   }
}
if (vDateValue.length == 10&& dateCheck) {
if (!dateValid(vDateName)) {
// Un-comment the next line of code for debugging the dateValid() function error messages
//alert(err);
alert("Data Inválida!");
vDateName.focus();
vDateName.select();
   }
}
return false;
}
else {
// If the value is not in the string return the string minus the last
// key entered.
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else {
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
         }
      }
   }
}
function dateValid(objName) {
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
// var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
//strDate = datefield.value;
strDate = objName;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
//Adjustment for short years entered
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
   }
}
else {
if (intday > 28) {
err = 10;
return false;
      }
   }
}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) {
return true;
   }
}
else {
if ((intYear % 4) == 0) {
return true;
   }
}
return false;
}

function FormataInteiro(oVar)
{
   var sVar = oVar.value;
   var sRet="";
   for (var i=0;i<sVar.length;i++)
   {
       var sByte=sVar.substring(i,i+1);
       if (sByte>="0" && sByte<="9")
           sRet = sRet + sByte;
   }
   oVar.value = sRet;
   return true;
}

function EnterBR(campo,teclapres) {
  var tecla = teclapres.keyCode;
  if ( tecla == 13 )
    {
        campo.value = campo.value + '<BR>';
    }
}

function Maiuscula (campo) {
    campo.value = campo.value.toUpperCase();
}

function Minuscula (campo) {
    campo.value = campo.value.toLowerCase();
}

function MaiusculaEntra(campo,teclapres,tipo) {
  var tecla = teclapres.keyCode;
  campo.value = campo.value.toUpperCase();
  if (tecla == 13 && tipo == 0)
  { document.Principal.txtsenha.focus(); }
  if (tecla == 13 && tipo == 1)
  { document.Principal.submit(); }
}

function FormataCgc(campo,tammax,teclapres) {
  var tecla = teclapres.keyCode;
  vr = campo.value;
  vr = vr.replace( "/", "" );
  vr = vr.replace( "/", "" );
  vr = vr.replace( "/", "" );
  vr = vr.replace( ",", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( "-", "" );
  vr = vr.replace( "-", "" );
  vr = vr.replace( "-", "" );
  vr = vr.replace( "-", "" );
  vr = vr.replace( "-", "" );
  tam = vr.length;

  if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

  if (tecla == 8 ){  tam = tam - 1 ; }

  if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
    if ( tam <= 2 ){
       campo.value = vr ; }
     if ( (tam > 2) && (tam <= 6) ){
       campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
     if ( (tam >= 7) && (tam <= 9) ){
       campo.value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
     if ( (tam >= 10) && (tam <= 12) ){
       campo.value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
     if ( (tam >= 13) && (tam <= 14) ){
       campo.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
     if ( (tam >= 15) && (tam <= 17) ){
       campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;}
  }
}

function FormataTelefone(campo,tammax,teclapres) {
  var tecla = teclapres.keyCode;
  vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );

	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 4 ){
	 		campo.value = vr ; }
	 	if ( (tam > 4) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 4 ) + '-' + vr.substr( tam - 4, tam ) ; }
	 	if ( (tam > 8) && (tam <= 10) ){
	 		campo.value = vr.substr( 0, tam - 8 ) + ')' + vr.substr( tam - 8, 4) + '-' + vr.substr( tam - 4, 4 ) ; }
	 	if ( (tam >= 10) ){
	 		campo.value = '(' + vr.substr( 0, tam - 8 ) + ')' + vr.substr( tam - 8, 4) + '-' + vr.substr( tam - 4, 4 ) ; }
	}
}

function FormataCep(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 3 ){
	 		campo.value = vr ; }
	 	if ( (tam > 3) && (tam <= 6) ){
	 		campo.value = vr.substr( 0, tam - 3 ) + '-' + vr.substr( tam - 3, tam ) ; }
	 	if ( (tam > 6) ){
	 		campo.value = vr.substr( 0, tam - 6 ) + '.' + vr.substr( tam - 6, 3) + '-' + vr.substr( tam - 3, 3 ) ; }
	}
}

// Formato 99.99 = Percentual
function FormataNNPNN(campo,tammax,teclapres) {
	tecla = teclapres.keyCode;
	vr = campo.value;
    vres = "";

    for (i=0;i<vr.length;i++)
    {
        sByte=vr.substring(i,i+1);
        if (sByte>="0" && sByte<="9")
            vres = vres + sByte;
    }
    vr = vres;
    campo.value = vr;
	tam = vr.length;
	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
	if (tecla == 8 ){	tam = tam - 1 ; }
	if ( tecla == 8 || ( tecla >= 48 && tecla <= 57 ) || ( tecla >= 96 && tecla <= 105 ) )
    {
		if ( tam <= 2 ){
	 		campo.value = vr ; }
	 	if ( (tam > 2) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + '.' + vr.substr( tam - 2, 2); }
	}
}


function FormataDDMM(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
	 		campo.value = vr ; }
	 	if ( (tam > 2) ){
	 		campo.value = vr.substr( 0, tam - 3 ) + '/' + vr.substr( tam - 3, 2 ) ; }
	}
}

function FormataVlr(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
    vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if ( 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, 2 ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 2 ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 2 ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 2 ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 2 ) ;}
	}
}

function FormataCpf(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );

	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( 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 > 5) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3) + '-' + vr.substr( tam - 2, 2 ) ; }
	 	if ( (tam > 8)){
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3) + '.' + vr.substr( tam - 5, 3) + '-' + vr.substr( tam - 2, 2 ) ; }
	}
}

function FormataPlaca(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value.toUpperCase();
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 3 ){
	 		campo.value = vr ; }
	 	if ( (tam > 3) && (tam <= 6) ){
	 		campo.value = vr.substr( 0, tam - 3 ) + '-' + vr.substr( tam - 3, tam ) ; }
	}
}

//Formato 99.99 = Percentual
 function VerifyNNPNN(NNPNN,ONNPNN)
 {
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( " ", "" );
	NNPNN = NNPNN.replace( " ", "" );
   	NNPNN = NNPNN.replace( " ", "" );
   	NNPNN = NNPNN.replace( " ", "" );

    if ( NNPNN == "" )
       return true;

	if (NNPNN.length != 4)
	{
         alert("Campo Inválido ! Preencha todos os espaços com números !");
         ONNPNN.focus();
         ONNPNN.select();
         return false;
	}

	ret = true;
	esq = parseInt(NNPNN.substr(0,2));
	dir = parseInt(NNPNN.substr(2,2));
	if ( esq < 0 || dir < 0 )
	{
		ret = false;
	}

	if ( ret == false )
	{
        alert("Campo Inválido ! Preencha todos os espaços com números !");
        ONNPNN.focus();
        ONNPNN.select();
		return false;
	}
    return true;
 }

function FormataHora(campo,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;
	tammax = 5;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
	 		campo.value = vr ; }
	 	if ( (tam > 3) && (tam <= 4) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + ':' + vr.substr( tam - 2, tam ) ; }
	}
}

function FormataHora3(campo,teclapres)
{
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;
	tammax = 6;

	if (tam < tammax && tecla != 8)
    {
        tam = vr.length + 1 ;
    }
	if (tecla == 8 )
    {
    	tam = tam - 1 ;
    }
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
    {
		if ( tam <= 3)
        {
	 		campo.value = vr ;
        }
	 	if ( (tam > 4) && (tam <= 5) )
        {
	 		campo.value = vr.substr( 0, tam - 2 ) + ':' + vr.substr( tam - 2, tam ) ;
        }
	}
}

function FormataMMAAAA(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( ")", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	vr = vr.replace( "(", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
	 		campo.value = vr ; }
	 	if ( (tam > 2) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '/' + vr.substr( tam - 5, 6 ) ; }
	}
}

// Formato 99.999
function FormataNNPNNN(campo,tammax,teclapres) {
	tecla = teclapres.keyCode;
	vr = campo.value;
    vres = "";

    for (i=0;i<vr.length;i++)
    {
        sByte=vr.substring(i,i+1);
        if (sByte>="0" && sByte<="9")
            vres = vres + sByte;
    }
    vr = vres;
    campo.value = vr;
	tam = vr.length;
	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
	if (tecla == 8 ){	tam = tam - 1 ; }
	if ( tecla == 8 || ( tecla >= 48 && tecla <= 57 ) || ( tecla >= 96 && tecla <= 105 ) )
    {
		if ( tam <= 2 ){
	 		campo.value = vr ; }
	 	if ( (tam > 2) ){
	 		campo.value = vr.substr( 0, tam - 3 ) + '.' + vr.substr( tam - 3, 6 ) ; }

	}
}

//Formato 99.999
 function VerifyNNPNNN(NNPNN,ONNPNN)
 {
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( ".", "" );
	NNPNN = NNPNN.replace( " ", "" );
	NNPNN = NNPNN.replace( " ", "" );
   	NNPNN = NNPNN.replace( " ", "" );
   	NNPNN = NNPNN.replace( " ", "" );

    if ( NNPNN == "" )
       return true;

	if (NNPNN.length != 5)
	{
         alert("Campo Inválido ! Preencha todos os espaços com números !");
         ONNPNN.focus();
         ONNPNN.select();
         return false;
	}

	ret = true;
	esq = parseInt(NNPNN.substr(0,2));
	dir = parseInt(NNPNN.substr(2,3));
	if ( esq < 0 || dir < 0 )
	{
		ret = false;
	}

	if ( ret == false )
	{
        alert("Campo Inválido ! Preencha todos os espaços com números !");
        ONNPNN.focus();
        ONNPNN.select();
		return false;
	}
    return true;
 }

function VerifyCPF (CPF,OCPF) {
	CPF = CPF.replace( "/", "" );
	CPF = CPF.replace( "/", "" );
	CPF = CPF.replace( ",", "" );
	CPF = CPF.replace( ".", "" );
	CPF = CPF.replace( ".", "" );
	CPF = CPF.replace( ".", "" );
	CPF = CPF.replace( ".", "" );
	CPF = CPF.replace( "-", "" );
	CPF = CPF.replace( "-", "" );
	CPF = CPF.replace( "-", "" );
	CPF = CPF.replace( "-", "" );
	CPF = CPF.replace( "-", "" );
	CPF = CPF.replace( ")", "" );
	CPF = CPF.replace( ")", "" );
	CPF = CPF.replace( ")", "" );
	CPF = CPF.replace( ")", "" );
	CPF = CPF.replace( ")", "" );
	CPF = CPF.replace( "(", "" );
	CPF = CPF.replace( "(", "" );
	CPF = CPF.replace( "(", "" );
	CPF = CPF.replace( "(", "" );
	CPF = CPF.replace( "(", "" );

    if ( CPF == "" ){ return true; }
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")
		{
         alert("CPF Inválido!");
         OCPF.focus();
         OCPF.select();
         return false;
		}
	soma = 0;
	for (i=0; i < 9; i ++)
		soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
		{
         alert("CPF Inválido!");
         OCPF.focus();
         OCPF.select();
         return false;
		}
	soma = 0;
	for (i = 0; i < 10; i ++)
		soma += parseInt(CPF.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
		{
         alert("CPF Inválido!");
         OCPF.focus();
         OCPF.select();
         return false;
		}
	return true;
 }

