//FORMATA DATA
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/"; 
// If you are using any Java validation on the back side you will want to use the / because 
// Java date validations do not recognize the dash as a valid date separator.
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 vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.
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) {
	vDateType = 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.
	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("Data inválida!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
		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!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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) {
	if (vDateType == 1) // mmddyyyy
	{
	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;
	}
	if (vDateType == 2) // yyyymmdd
	{
	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;
	}
	if (vDateType == 3) // ddmmyyyy
	{
	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!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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.
	if (vDateType == 1) // mm/dd/yyyy
	{
	var mMonth = vDateName.value.substr(0,2);
	var mDay = vDateName.value.substr(3,2);
	var mYear = vDateName.value.substr(6,4)
	}
	if (vDateType == 2) // yyyy/mm/dd
	{
	var mYear = vDateName.value.substr(0,4)
	var mMonth = vDateName.value.substr(5,2);
	var mDay = vDateName.value.substr(8,2);
	}
	if (vDateType == 3) // dd/mm/yyyy
	{
	var mDay = vDateName.value.substr(0,2);
	var mMonth = vDateName.value.substr(3,2);
	var mYear = vDateName.value.substr(6,4)
	}
	if (vYearLength == 4) {
	if (mYear.length < 4) {
	alert("Data inválida!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	vDateName.value = "";
	vDateName.focus();
	return true;
	   }
	}
	// 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 (mYear.length == 2 && vYearType == 4 && dateCheck) {
	//Turn a two digit year into a 4 digit year
	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;
	vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
	// Store the new value back to the field.  This function will
	// not work with date type of 2 since the year is entered first.
	if (vDateTypeTemp == 1) // mm/dd/yyyy
	vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
	if (vDateTypeTemp == 3) // dd/mm/yyyy
	vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
	} 
	if (!dateValid(vDateValueCheck)) {
	alert("Data inválida!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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!\nFavor digitar novamente.\nIncluir data no formato dd/mm/aaaa");
	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;
}
// FORMATA DATA FIM-->

//FUNÇÃO PARA ABRIR POPUPS
function AbrePopUp(Caminho,Nome,Altura,Largura) {
	window.open(Caminho,Nome,'height='+Altura+',width='+Largura+',scrollbars=1');
}

//TIRA O EXCESSO DE ESPAÇOS
function trim(strValue) 
{ 
	var ichar, icount; 
	if (strValue != null && strValue != undefined && strValue != "") 
	{ 
		strValue = new String(strValue); 
		ichar = strValue.length - 1; 
		icount = -1; 
		while (strValue.charAt(ichar) == " " && ichar > icount) --ichar; 
		if (ichar!=(strValue.length-1)) strValue = strValue.slice(0, ichar+1); 
		ichar = 0; 
		icount = strValue.length - 1; 
		while (strValue.charAt(ichar) == " " && ichar < icount) ++ichar; 
		if (ichar!=0) strValue = strValue.slice(ichar,strValue.length); 
		return strValue; 
	} 
	else return ""; 
}


//LIMITA O PREENCHIMENTO DE UMA TEXTAREA
function textCounter(field, countfield, maxlimit) 
{
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit);
	else 
		countfield.value = maxlimit - field.value.length;
}


//PERMITE APENAS NÚMEROS NO PREENCHIMENTO DO FORM
function SoNumeros(Elem) {
	if (event.keyCode < 48 || event.keyCode > 57){ 
		event.returnValue = false; 
	} 
}

//PERMITE APENAS VALORES MONETÁRIOS NO PREENCHIMENTO DO FORM
function SoMonetario(Elem) {
	//event.keyCode == 44 (codigo da vírgula)
	//event.keyCode == 46 (codigo do ponto)
	
	if (event.keyCode == 44) {
		return false;
	}
	
	if (event.keyCode < 48 || event.keyCode > 57){ 
		event.returnValue = false; 
	} 
}

//FUNÇÃO PARA MOSTRAR OU ESCONDER UMA LINHA DE UMA TABELA (TR) E MOSTRAR
//PÁGINA NO IFRAME FILHO
function MostraTabelaFrame(idObj,endDestino) {
	var trObj = document.getElementById('tr'+idObj);
	var frObj = document.getElementById('frm'+idObj);
	
	switch (trObj.style.display) {
		case 'none':
			frObj.src=endDestino;
			trObj.style.display='block';
			break;
		case 'block':
			trObj.style.display='none';
			frObj.src='about:blank';
			frObj.height=0;
			break;
	}
}

//REDIMENCIONAR IFRAME  PARTIR DA ALTURA DE UM OBJ
function RedimencionaIFrame(idObj,TamMaximo,preObj) {
	var AltTabela=new Number(document.getElementById(preObj+idObj).scrollHeight);
	var TamFrame = 0;
	
	if (AltTabela > TamMaximo) {
		TamFrame = TamMaximo;
		AltTabela = TamMaximo;
	} else {
		TamFrame = AltTabela;
	}
	
	
	parent.document.getElementById('frm'+idObj).style.height=TamFrame;
	document.getElementById(preObj+idObj).style.height=AltTabela;
}
//FUNÇÕES INTEGRADAS AO ALGORITMO DE CRIAÇÃO DE COMBO PERSONALIZADAS
function MostraCombo(NomeDiv,Pos) {
	document.getElementById('txtEsconde'+NomeDiv).value = 'n';
	//alert(event.clientY + 150 + document.body.scrollTop +"-"+ document.body.clientHeight);
	if (Pos == '1') {
		var TamTabela = document.getElementById('tb'+NomeDiv).scrollHeight + 5;
		
		if (TamTabela > 110) {
			TamTabela = 110;
		}
		
		document.getElementById(NomeDiv).style.height=TamTabela;
		
		document.getElementById(NomeDiv).scrollTop=0;
		if (event.clientY + TamTabela + document.body.scrollTop  > document.body.clientHeight) {
			document.getElementById(NomeDiv).style.top = event.clientY - TamTabela + document.body.scrollTop;
		}
	}
	document.getElementById(NomeDiv).style.visibility='visible';
}

function EscondeCombo(NomeDiv) {
	document.getElementById('txtEsconde'+NomeDiv).value = 's';
	setTimeout("EscondeCombo2('"+NomeDiv+"');",500);	
}

function EscondeCombo2(NomeDiv) {
	if (document.getElementById('txtEsconde'+NomeDiv).value == 's') {document.getElementById(NomeDiv).style.visibility='hidden';}
}

function PreencheCombo(pcCodigo,pcDescricao,pcNome,pcPgDestino) {
	if (pcPgDestino != "") {
		window.location=pcPgDestino+'fccCod='+pcCodigo+'&fccNome='+pcDescricao;
	}
	document.getElementById("txtCod"+pcNome).value=pcCodigo;
	document.getElementById("txtNome"+pcNome).value=pcDescricao;
	document.getElementById("dv"+pcNome).style.visibility='hidden';
}
function enviaMsg(Status){
	parent.mainMsg.location = '../msg.asp?Status='+Status 
	return false;
}		
function enviaMsgIframe(Status){
	parent.parent.mainMsg.location = '../msg.asp?Status='+Status 
	return false;
}	
function FormataCNPJCPF(campo, tipo){
	var tecla = event.keyCode;
	vr = campo.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
//	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if (tecla != 9 && tecla != 8)
	{
		if (tipo == 0){
			if ( tam > 3 && tam < 7)
				campo.value = (vr.substr(0,3)+'.'+vr.substr(3,3));
			if ( tam >= 7 && tam <11)
				campo.value = (vr.substr(0,3)+'.'+vr.substr(3,3)+'.'+vr.substr(7,3));
			if ( tam >= 11)
				campo.value = (vr.substr(0,3)+'.'+vr.substr(3,3)+'.'+vr.substr(7,3)+'-'+vr.substr(10,2));
		}else{
			if ( tam > 2 && tam < 6)
				campo.value = (vr.substr(0,2)+'.'+vr.substr(2,3));
			if ( tam >= 6 && tam <10)
				campo.value = (vr.substr(0,2)+'.'+vr.substr(2,3)+'.'+vr.substr(6,3));
			if ( tam >= 10 && tam <14)
				campo.value = (vr.substr(0,2)+'.'+vr.substr(2,3)+'.'+vr.substr(6,3)+'/'+vr.substr(10,4));
			if ( tam >= 14)
				campo.value = (vr.substr(0,2)+'.'+vr.substr(2,3)+'.'+vr.substr(6,3)+'/'+vr.substr(10,4)+'-'+vr.substr(14,2));
		}
	}
}

function VerificaDataHoje(campoData, data) {
		if (campoData.value != '') {
			var DataComp = new Date(campoData.value.substring(6,10), campoData.value.substring(3,5) -1 , campoData.value.substring(0,2));
			var DataHoje = new Date(data.substring(6,10), data.substring(3,5) -1 , data.substring(0,2));
			if (DataComp < DataHoje) {
				alert('A data informada é inferior a data de hoje.');
				campoData.value = '';
				campoData.focus();
				return false;
			}
			
		}
	}
	
	
function Mascara(strField, sMask) { 
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; 
	objForm = document.forms[0]; 
	
	if(document.all) { // Internet Explorer 
	nTecla = event.keyCode; } 
	else if(document.layers) { // Nestcape 
	nTecla = event.which; 
	} 
	
	if(nTecla == 39) return false; 
	
	sValue = objForm[strField].value; 
	
	// Limpa todos os caracteres de formatação que 
	// já estiverem no campo. 
	sValue = sValue.toString().replace( "-", "" ); 
	sValue = sValue.toString().replace( "-", "" ); 
	sValue = sValue.toString().replace( ".", "" ); 
	sValue = sValue.toString().replace( ".", "" ); 
	sValue = sValue.toString().replace( "/", "" ); 
	sValue = sValue.toString().replace( "/", "" ); 
	sValue = sValue.toString().replace( "(", "" ); 
	sValue = sValue.toString().replace( "(", "" ); 
	sValue = sValue.toString().replace( ")", "" ); 
	sValue = sValue.toString().replace( ")", "" ); 
	sValue = sValue.toString().replace( " ", "" ); 
	sValue = sValue.toString().replace( ":", "" ); 
	sValue = sValue.toString().replace( ",", "" ); 
	sValue = sValue.toString().replace( "$", "" ); 
	sValue = sValue.toString().replace( "R", "" ); 
	fldLen = sValue.length; 
	mskLen = sMask.length; // = 5 
	
	i = 0; 
	nCount = 0; 
	sCod = ""; 
	mskLen = fldLen; 
	
	while (i <= mskLen) { 
	bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/")); 
	bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")); 
	bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ",")); 
	
	if (bolMask) { 
	sCod += sMask.charAt(i); 
	mskLen++; } 
	else { 
	sCod += sValue.charAt(nCount); 
	nCount++; 
	} 
	
	i++; 
	} 
	
	objForm[strField].value = sCod; 
	
	if (nTecla != 8) { // backspace 
	if (sMask.charAt(i-1) == "9") { // apenas números... 
	return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9 
	else { // qualquer caracter... 
	return true; 
	} } 
	else { 
	return true; 
	} 
} 

function FormataValor(campo,tammax, evento) {

	if (evento != 0){
		var tecla = evento;
	}else{
		var tecla = event.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( ".", "" );
	tam = vr.length;
	
	var VlFinal='';
	
	if (tam >= tammax) {
		vr = vr.substr(0,tammax);
		tam = vr.length;
	}
	
		
	if (tecla == 46 || tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam == 0) {
			campo.value = ''; }
		if ( tam > 0 && 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 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	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, tam ) ; }
	 	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, 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 bissexto(year) {
if (year % 4 == 0) // regra basica
	return true // se o ano e' bissexto
/* else */ // else nao precisa quando "return" e' utilizado
	return false // se o ano nao e' bissexto
}

//Retorna os números do CNPJ
function retornaNumCNPJ(cnpj){
	if ((cnpj.length)!=18) {
		return false;
	}else{
		substPonto = "."
		cnpj = cnpj.replace(substPonto,"");
		cnpj = cnpj.replace(substPonto,"");
		substBarra = "/"
		cnpj = cnpj.replace(substBarra,"");
		substTraco = "-"
		cnpj = cnpj.replace(substTraco,"");
		return cnpj;
	}
}

function Cgc(pcgc){ 
pcgc = retornaNumCNPJ(pcgc);

// verifica o tamanho 
if (pcgc.length != 14) { 
	sim=false 
	mensErr = "Tamanho de CNPJ Invalido"
	//alert ("Tamanho Invalido de CGC") 
}else{
	sim=true
} 

// verifica se e numero 
if (sim){
	for (i=0;((i<=(pcgc.length-1))&& sim); i++){
		val = pcgc.charAt(i)
		if ((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&
			(val!="5")&&(val!="6")&&(val!="7")&&(val!="8")){
			sim=false;
			mensErr = "CNPJ Inválido"
		}
	} 

	if (sim){
		m2 = 2 
		soma1 = 0 
		soma2 = 0 
		for (i=11;i>=0;i--){ 
			val = eval(pcgc.charAt(i)) 
			m1 = m2 
			if (m2<9){
				m2 = m2+1
			}else{
				m2 = 2
			} 
			soma1 = soma1 + (val * m1);
			soma2 = soma2 + (val * m2);
		} // fim do for de soma 

		soma1 = soma1 % 11 
		if (soma1 < 2){
			d1 = 0
		}else{
			d1 = 11- soma1
		} 

		soma2 = (soma2 + (2 * d1)) % 11 
		if (soma2 < 2){
			d2 = 0
		}else{
			d2 = 11- soma2
		} 

		if ((d1==pcgc.charAt(12)) && (d2==pcgc.charAt(13))){
			sim=true
		}else{
			sim=false
			mensErr = "CNPJ inválido!"
		}
	} 
}
	if (sim){
		return true
	}else{
		alert(mensErr);
		if (pcgc.length != 0){
			return false;
		}
	}
} 
function percent(doc){
	if (doc.value > 100){
		alert('O valor digitado é superior a 100, digite novamente!');
		doc.value = "";
		doc.focus();
	}
}

	function enviaMsg(Status){
	
		parent.mainMsg.location = '../msg.asp?Status='+Status 
		return false;
	}	
function ComparaData(campoData, campoData1, inv, msg) {
		if (campoData.value != '') {
			var DataComp = new Date(campoData.value.substring(6,10), campoData.value.substring(3,5) -1 , campoData.value.substring(0,2));
			var DataComp1 = new Date(campoData1.substring(6,10), campoData1.substring(3,5) -1 , campoData1.substring(0,2));			
			//var DataHoje = new Date(data.substring(6,10), data.substring(3,5) -1 , data.substring(0,2));
			if (inv == '0') {
				if (DataComp < DataComp1) {
					alert(msg);
					campoData.value = '';
					campoData.focus();
					return false;
				}
			}else{
				if (DataComp > DataComp1) {
					alert(msg);
					campoData.value = '';
					campoData.focus();
					return false;
				}				
			}	
		}
	}
	
function CheckEmail(email)
{
   var achou_ponto=false;
   var achou_arroba=false;
   var nao_achou_espaco=false;

   for (var i=0; i < email.length; i++)
   {
      if (email.charAt(i)=="@")
      { 
         if (email.charAt(i+1)==".") achou_arroba=false;
         else achou_arroba=true;
      }
      else if (email.charAt(i)==".") achou_ponto=true;
      else if (email.charAt(i)!=" ") nao_achou_espaco=true;
   }
   if(email.charAt(email.length-1)==".") achou_ponto=false;
   if (achou_ponto && achou_arroba && nao_achou_espaco) return true;
   else
   {      
      return false;  
   }
}
	
//FIM FUNÇÕES INTEGRADAS