<!--
var diasMes=new Array(12);
diasMes[1]=31;
diasMes[2]=29;
diasMes[3]=31;
diasMes[4]=30;
diasMes[5]=31;
diasMes[6]=30;
diasMes[7]=31;
diasMes[8]=31;
diasMes[9]=30;
diasMes[10]=31;
diasMes[11]=30;
diasMes[12]=31;
function diasFevereiro(ano){
	return(((ano % 4==0)&&((!(ano % 100==0))||(ano % 400==0)))? 29 : 28);
}
function ValidaDataMes(stringValue){
	var theString=new String(trim(stringValue));
	if(theString=="")
		return true;
	var delimiterCharacter;
	theString='01/'+theString;
	if(theString.indexOf('/')>0)
		delimiterCharacter='/';
	else
		if(theString.indexOf('-')>0)
			delimiterCharacter='-';
		else
			if(theString.indexOf(' ')>0)
				delimiterCharacter=' ';
			else
				return false;
	var itensData=theString.split(delimiterCharacter);
	if(itensData.length !=3)
		return false;
	return isDate(itensData[2],itensData[1],itensData[0]);
}
function digitaMesData(Campo,teclapres){
	var tecla=teclapres.keyCode;
	vr=Campo.value;
	vr=vr.replace(".","");
	vr=vr.replace("/","");
	vr=vr.replace("/","");
	tam=vr.length+1;

	if(tecla !=9 && tecla !=8){
		if(tam>2 && tam<5)
			Campo.value=vr.substr(0,tam-2)+'/'+vr.substr(tam-2,tam);
	}
}
function dataValida(data){
	var i;
	if((barra1=data.indexOf('/'))< 1)return false;
	if((barra2=data.substring(barra1+1,data.length).indexOf('/'))< 1)return false;
	if(barra2+barra1+1 !=data.lastIndexOf('/'))return false;
	dia=data.substring(0,barra1);
	mes=data.substring(barra1+1,barra2+barra1+1);
	ano=data.substring(barra2+barra1+2,data.length);
	var data=dia+mes+ano;
	for(i=0;i<data.length;i++){
	var ch=data.charAt(i);
	if((ch<"0" || ch>"9"))return false;
	}
	if((mes==2)&&(dia>diasFevereiro(ano)))return false;
	if((dia>diasMes[parseFloat(mes)])||(dia<1)||(mes<1)||(mes>12)||(ano<1900)||(ano>2078))return false;
	return true;
}
function digitaData(Campo,teclapres){
	var tecla=teclapres.keyCode;
	vr=Campo.value;
	vr=vr.replace(".","");
	vr=vr.replace("/","");
	vr=vr.replace("/","");
	tam=vr.length+1;

	if(tecla !=9 && tecla !=8){
		if(tam>2 && tam<5)
			Campo.value=vr.substr(0,tam-2)+'/'+vr.substr(tam-2,tam);
		if(tam>=5 && tam<=10)
			Campo.value=vr.substr(0,2)+'/'+vr.substr(2,2)+'/'+vr.substr(4,4);}
}
function digitaNumero(){
	var Tecla=window.event.keyCode;
	event.cancelBubble=true;
	if((Tecla>47 && Tecla<58)|| Tecla==13)event.returnValue=true;
	else
		event.returnValue=false;
}
function validaCasasDecimal(objeto,maxlength,casas,valor){
	if((objeto.value.indexOf(',')!=-1))
	{
	if((objeto.value.length-objeto.value.indexOf(','))>casas+1)
		objeto.value=objeto.value.substr(0,objeto.value.length-1);
	}
	else{
		if((objeto.value.length)>=maxlength-(casas+valor))
			objeto.value=objeto.value.substr(0,(maxlength-(casas+valor)));
	}
}
function soIP(objeto){
	var keypress=event.keyCode;
	var campo=eval(objeto);
	var qtdPonto=0;
	var caracteres='1234567890.';
	for(i=0;i<objeto.value.length;i++)
		if(objeto.value.substr(i,1)=='.')
		qtdPonto++;
	if(String.fromCharCode(keypress)=='.' && qtdPonto>=3)
		event.returnValue=false;
	else{
		if((caracteres.indexOf(String.fromCharCode(keypress))!=-1))
			event.returnValue=true;
		else
			event.returnValue=false;
	}
}
function soNumeroDecimal(objeto){
	var keypress=event.keyCode;
	if(event.keyCode==17){ 
		event.keyCode=0;
	}
	if(event.keyCode==44 &&(objeto.value.indexOf(String.fromCharCode(44))!=-1))	{
		event.keyCode=0;
	}
	var campo=eval(objeto);
	var caracteres='01234567890,';
	if((caracteres.indexOf(String.fromCharCode(keypress))!=-1))	{
		event.returnValue=true;
	}
	else 
		event.returnValue=false;
}
function soLetra(objeto){
	var keypress=event.keyCode;
	var campo=eval(objeto);
	//var caracteres='abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ âãáàéèêíìîóòôõúùûÂÃÁÀÉÈÊÍÌÎÓÒÔÕÚÙÛçÇ'; 
	var caracteres='01234567890!@#$%¨&*()_+´[`{~]^]<,>.;:?/*-+.';
	if((caracteres.indexOf(String.fromCharCode(keypress))!=-1))
		event.returnValue=false;
	else
		event.returnValue=true; 
		
}
function soNumero(objeto){
	var keypress=event.keyCode;
	var campo=eval(objeto);
	var caracteres='01234567890';
	if((caracteres.indexOf(String.fromCharCode(keypress))!=-1))
		event.returnValue=true;
	else 
		event.returnValue=false;
}
function lpad(value,length){
 while(value.length<length)
	value='0'+value;
	return value;
}
//User Control de Cep
function formatCEP(value){
	if(value !='')	{
 		value=tirarMascaraCEP(value);
		value=lpad(value,8);
		value=value.substr(0,5)+'-'+value.substr(5,3)
	}
	return value;
}
function tirarMascaraCEP(value){
	return value.replace('-','');
}
var cTIPOCONST_MINIMO			=0;
var cTIPOCONST_MAXIMO			=1;
var cTIPOCONST_DECIMAL			=2;
var cTIPOCONST_NUMERICO			=3;
var cTIPOCONST_DATAVALIDA		=4;
var cTIPOCONST_HORA				=5;
var cTIPOCONST_DTINI_DTFIN		=6;
var cTIPOCONST_VAZIO			=7;
var cTIPOCONST_CAMPO_INI_FIN	=8;
var cTIPOCONST_LIKE				=9;
var cTIPOCONST_VAZIO_INI_FIM	=10;
var cTIPOCONST_ZERO				=11;
var cTIPOCONST_NEGATIVO			=12;
var digits				="0123456789";
var lowercaseLetters	="abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters	="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace=" \t\n\r";
var decimalPointDelimiter=","
var milharPointDelimiter="."
var phoneNumberDelimiters="()- ";
var defaultEmptyOK=false
var bOrigemChk=0;
var bAtivaCheckBox=true;
var bAtivaCheckBoxStatus=true;
function makeArray(n){
	for(var i=1;i<=n;i++){
	this[i]=0
	}
	return this
}
var daysInMonth=makeArray(12);
daysInMonth[1]=31;
daysInMonth[2]=29;
daysInMonth[3]=31;
daysInMonth[4]=30;
daysInMonth[5]=31;
daysInMonth[6]=30;
daysInMonth[7]=31;
daysInMonth[8]=31;
daysInMonth[9]=30;
daysInMonth[10]=31;
daysInMonth[11]=30;
daysInMonth[12]=31;
function isEmpty(s){
	return((s==null)||(s.length==0))
}
function isWhitespace(s)
{var i;
	if(isEmpty(s))return true;
	for(i=0;i<s.length;i++){
		var c=s.charAt(i);
		if(whitespace.indexOf(c)==-1)return false;
	}
	return true;
}
function stripCharsInBag(s,bag)
{var i;
	var returnString="";
	for(i=0;i<s.length;i++)	{
		var c=s.charAt(i);
		if(bag.indexOf(c)==-1)returnString +=c;
	}
	return returnString;
}
function replace(expressao,encontrar,substituir){
	var sExpressaoRetorno="";
	expressao=expressao+"";
	var arrExpressao=expressao.split(encontrar);
	for(var cont=0;cont<arrExpressao.length;cont++){
		sExpressaoRetorno=sExpressaoRetorno+arrExpressao[cont]+substituir;
	}
	return sExpressaoRetorno.substring(0,sExpressaoRetorno.length-substituir.length);
}
function right(expressao,tamanho){
	var inicio=expressao.length-tamanho;
	return expressao.substring(inicio,expressao.length);
}
function left(expressao,tamanho){
	return expressao.substring(0,tamanho);
}
function charInString(c,s){
	for(i=0;i<s.length;i++){
		if(s.charAt(i)==c)return true;
	}
	return false
}
function stripInitialWhitespace(s){
	var i=0;
	while((i<s.length)&& charInString(s.charAt(i),whitespace))
		i++;
	return s.substring(i,s.length);
}
function isLetter(c)
{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))
}
function isDigit(c)
{return((c>="0")&&(c<="9"))
}
function isLetterOrDigit(c)
{return(isLetter(c)|| isDigit(c))
}
function isInteger(s){
	var i;
	if(isEmpty(s))
		if(isInteger.arguments.length==1)return defaultEmptyOK;
		else return(isInteger.arguments[1]==true);
	for(i=0;i<s.length;i++)	{
		var c=s.charAt(i);
		if(!isDigit(c))return false;
	}
	return true;
}
function isSignedInteger(s)
{if(isEmpty(s))
		if(isSignedInteger.arguments.length==1)return defaultEmptyOK;
		else return(isSignedInteger.arguments[1]==true);
	else {
		var startPos=0;
		var secondArg=defaultEmptyOK;
		if(isSignedInteger.arguments.length>1)
			secondArg=isSignedInteger.arguments[1];
		if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
			startPos=1;
		return(isInteger(s.substring(startPos,s.length),secondArg))
	}
}
function isPositiveInteger(s)
{var secondArg=defaultEmptyOK;
	if(isPositiveInteger.arguments.length>1)
		secondArg=isPositiveInteger.arguments[1];
	return(isSignedInteger(s,secondArg)
		&&((isEmpty(s)&& secondArg)||(parseInt(s)>0)));
}
function isNonnegativeInteger(s)
{var secondArg=defaultEmptyOK;
	if(isNonnegativeInteger.arguments.length>1)
		secondArg=isNonnegativeInteger.arguments[1];
	return(isSignedInteger(s,secondArg)
		&&((isEmpty(s)&& secondArg)||(parseInt(s)>=0)));
}
function isNegativeInteger(s)
{var secondArg=defaultEmptyOK;

	if(isNegativeInteger.arguments.length>1)
		secondArg=isNegativeInteger.arguments[1];
	return(isSignedInteger(s,secondArg)
		&&((isEmpty(s)&& secondArg)||(parseInt(s)< 0)));
}
function isNonpositiveInteger(s)
{var secondArg=defaultEmptyOK;

	if(isNonpositiveInteger.arguments.length>1)
		secondArg=isNonpositiveInteger.arguments[1];
	return(isSignedInteger(s,secondArg)
		&&((isEmpty(s)&& secondArg)||(parseInt(s)<=0)));
}
function isFloat(s)
{var i;
	var seenDecimalPoint=false;

	if(isEmpty(s))
		if(isFloat.arguments.length==1)return defaultEmptyOK;
		else return(isFloat.arguments[1]==true);

	if(s==decimalPointDelimiter)return false;

	if(s.indexOf(milharPointDelimiter)!=-1){
		var arrCasas=s.split(milharPointDelimiter);
		var count;
		for(count=0;count<arrCasas.length;count++){
			if(count==0){
				if(arrCasas[count].length>3 || arrCasas[count].length==0){
					return false;
				}
			}
			else if(count==arrCasas.length-1){
				if(arrCasas[count].indexOf(decimalPointDelimiter)==-1){
					if(arrCasas[count].length !=3){
						return false;
					}
				}
				else if(arrCasas[count].indexOf(decimalPointDelimiter)!=3){
					return false;
				}
			}
			else{
				if(arrCasas[count].length !=3 || !isInteger(arrCasas[count])){
					return false;
				}
			}
		}
		s=stripCharsInBag(s,milharPointDelimiter);
	}
	for(i=0;i<s.length;i++)
	{
		var c=s.charAt(i);
		if((c==decimalPointDelimiter)&& !seenDecimalPoint)seenDecimalPoint=true;
		else if(!isDigit(c))return false;
	}
	return true;
}
function verificaValor(valor,range,msg,mostra){
	var resp=true;
	for(var i=0;i<valor.length;i++){
	if(range.indexOf(valor.charAt(i))==-1){
	resp=false;
	i=valor.length;
	}
	}
	if(!resp && mostra=='1')
	alert(msg);
	
	return resp;
}
function isSignedFloat(s)
{if(isEmpty(s))
		if(isSignedFloat.arguments.length==1)return defaultEmptyOK;
		else return(isSignedFloat.arguments[1]==true);
	else {
		var startPos=0;
		var secondArg=defaultEmptyOK;

		if(isSignedFloat.arguments.length>1)
			secondArg=isSignedFloat.arguments[1];
		if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
			startPos=1;
		return(isFloat(s.substring(startPos,s.length),secondArg))
	}
}
function fnConsisteTamanhoDecimal(Numero,iQtdInteiros,iQtdDecimais){
	var sDigitoDecimalEntrada="";
	var aNumero;
	Numero=Numero+"";
	if(Numero.indexOf(",")< Numero.indexOf(".")&& Numero.indexOf(".")< Numero.lastIndexOf(","))return false;
	if(Numero.indexOf(".")< Numero.indexOf(",")&& Numero.indexOf(",")< Numero.lastIndexOf("."))return false;
	var iPosVirgula=Numero.indexOf(",");
	var iPosPonto=Numero.indexOf(".");
	if(iPosVirgula>iPosPonto && iPosPonto !=-1){
		Numero=replace(Numero,".","")
		sDigitoDecimalEntrada=",";
	}else if(iPosVirgula<iPosPonto && iPosVirgula !=-1){
		Numero=replace(Numero,",","")
		sDigitoDecimalEntrada=".";
	}else if(iPosVirgula>-1 && iPosPonto==-1){
		sDigitoDecimalEntrada=",";
	}else if(iPosPonto>-1 && iPosVirgula==-1){
		sDigitoDecimalEntrada=".";
	}else{
		sDigitoDecimalEntrada="";
	}
	if(sDigitoDecimalEntrada !=""){
		Numero=replace(Numero,sDigitoDecimalEntrada,".");
	}
	if(isNaN(parseFloat(Numero)))return false;

	Numero=Numero-0;
	Numero=Numero+"";
	if(Numero.indexOf(".")==-1)sDigitoDecimalEntrada="";
	if(sDigitoDecimalEntrada !=""){
		aNumero=Numero.split(".");
		if(aNumero[0].length>iQtdInteiros || aNumero[1].length>iQtdDecimais)
			return false;

	}else if(Numero.length>iQtdInteiros)
		return false;
		
	return true;
}
function fnValidaCEP(sCEP){
	var aCEP;
	sCEP=sCEP+"";
	aCEP=sCEP.split("-");
	if(sCEP.length !=9)return false;
	if(aCEP.length !=2)return false;
	if(aCEP[0].length !=5 || !isInteger(aCEP[0]))return false;
	if(aCEP[1].length !=3 || !isInteger(aCEP[1]))return false;
	
	return true;
}
function isAlphabetic(s)
{var i;

	if(isEmpty(s))
		if(isAlphabetic.arguments.length==1)return defaultEmptyOK;
		else return(isAlphabetic.arguments[1]==true);
	for(i=0;i<s.length;i++)
	{
		var c=s.charAt(i);
		if(!isLetter(c))
		return false;
	}
	return true;
}
function isAlphanumeric(s)
{var i;

	if(isEmpty(s))
		if(isAlphanumeric.arguments.length==1)return defaultEmptyOK;
		else return(isAlphanumeric.arguments[1]==true);
	for(i=0;i<s.length;i++){
		var c=s.charAt(i);
		if(!(isLetter(c)|| isDigit(c)))
		return false;
	}
	return true;
}
function ltrim(s){
	var i=0;
	while((i<s.length)&& charInString(s.charAt(i)," "))
		i++;
	return s.substring(i,s.length);
}
function rtrim(s){
	var i=s.length-1;
	while((i>0)&& s.charAt(i)==" ")
		i--;
	return s.substring(0,(i==0)?s.length:++i)
}
function trim(s){
	return ltrim(rtrim(s));
}
function mid(str,start,len){
	if(start<0 || len<0)return "";

	var iEnd,iLen=String(str).length;
	if(start+len>iLen)
		iEnd=iLen;
	else
		iEnd =(start -1)+len;

	return String(str).substring(start -1,iEnd);
}
function len(str){
	return String(str).length;}
function reformat(s){
	var arg;
	var sPos=0;
	var resultString="";

	for(var i=1;i<reformat.arguments.length;i++){
		arg=reformat.arguments[i];
		if(i % 2==1)resultString +=arg;
		else {
			resultString +=s.substring(sPos,sPos+arg);
			sPos +=arg;
		}
	}
	return resultString;
}
function isIntegerInRange(s,a,b)
{if(isEmpty(s))
		if(isIntegerInRange.arguments.length==1)return defaultEmptyOK;
		else return(isIntegerInRange.arguments[1]==true);
	if(!isInteger(s,false))return false;
	var num=parseFloat(s);
	return((num>=a)&&(num<=b));
}
function isYear(s)
{if(isEmpty(s))
		if(isYear.arguments.length==1)return defaultEmptyOK;
		else return(isYear.arguments[1]==true);
	if(!isNonnegativeInteger(s))return false;
	return((s.length==2)||(s.length==4));
}
function isMonth(s)
{if(isEmpty(s))
		if(isMonth.arguments.length==1)return defaultEmptyOK;
		else return(isMonth.arguments[1]==true);
	return isIntegerInRange(s,1,12);
}
function isDay(s)
{if(isEmpty(s))
		if(isDay.arguments.length==1)return defaultEmptyOK;
		else return(isDay.arguments[1]==true);
	return isIntegerInRange(s,1,31);
}
function daysInFebruary(year) {
	return(((year % 4==0)&&((!(year % 100==0))||(year % 400==0)))? 29 : 28);
}
function isDate(year,month,day) {
	if(!(isYear(year,false)&& isMonth(month,false)&& isDay(day,false)))return false;
	var intYear=parseInt(year);
	var intMonth=parseInt(month);
	var intDay=parseInt(day);
	if(intDay>daysInMonth[intMonth])return false;
	if((intMonth==2)&&(intDay>daysInFebruary(intYear)))return false;
	return true;
}
function ValidaData(stringValue){
	var theString=new String(trim(stringValue));
	if(theString=="")
		return true;
	var delimiterCharacter;
	if(theString.indexOf('/')>0)
		delimiterCharacter='/';
	else
		if(theString.indexOf('-')>0)
			delimiterCharacter='-';
		else
			if(theString.indexOf(' ')>0)
				delimiterCharacter=' ';
			else
				return false;
	var itensData=theString.split(delimiterCharacter);
	if(itensData.length !=3)
		return false;
	return isDate(itensData[2],itensData[1],itensData[0]);
}
function isDateString(stringValue){
	var theString=new String(trim(stringValue));
	var delimiterCharacter;
	if(theString.indexOf('/')>0)
		delimiterCharacter='/';
	else
		if(theString.indexOf('-')>0)
			delimiterCharacter='-';
		else
			if(theString.indexOf(' ')>0)
				delimiterCharacter=' ';
			else
				return false;
	var theTokens=theString.split(delimiterCharacter);
	if(theTokens.length !=3)
		return false;
	var tokenIndex;
	for(tokenIndex=0;tokenIndex<theTokens.length;tokenIndex++){
		theTokens[tokenIndex]=new String(theTokens[tokenIndex])
		if(theTokens[tokenIndex].charAt(0)=='0')
			theTokens[tokenIndex]=theTokens[tokenIndex].substring(1,theTokens[tokenIndex].length);
	}
	for(tokenIndex=0;tokenIndex<theTokens.length;tokenIndex++){
		if(! isNonnegativeInteger(theTokens[tokenIndex]))
			return false;
	}
	var numericValue;
	var yearTokenIndex=-1;
	var monthTokenIndex=-1;
	var dayTokenIndex=-1;
	for(tokenIndex=0;tokenIndex<theTokens.length;tokenIndex++){
		numericValue=parseInt(theTokens[tokenIndex],10);
		if(tokenIndex==0 && numericValue<=31)
			dayTokenIndex=tokenIndex;
		if(tokenIndex==1 && numericValue<=12)
			monthTokenIndex=tokenIndex;
		if(tokenIndex==2 &&(numericValue>=1900 && numericValue<=9999))
			yearTokenIndex=tokenIndex;
	}
	if(theTokens.length==2){
	if(monthTokenIndex==-1)
		return false;
	if(!(yearTokenIndex==-1)){
		return true;
	}
	else
		if(!(dayTokenIndex==-1)){
			var today=new Date();
			var currentYear=today.getYear();
			return isDate(currentYear,theTokens[monthTokenIndex],theTokens[dayTokenIndex]);
		}
		else
			return false;
	}
	else {
		if(yearTokenIndex==-1 || monthTokenIndex==-1 || dayTokenIndex==-1)
			return false;
		else
			if(monthTokenIndex==0){
				if(dayTokenIndex !=1 || yearTokenIndex !=2)
					return false;
			}
			else
				if(dayTokenIndex==0){
					if(monthTokenIndex !=1 || yearTokenIndex !=2)
						return false;
				}
				else
					if(yearTokenIndex==0){
						if(monthTokenIndex !=1 || dayTokenIndex !=2)
							return false;
					}
					else
						return false;
			return isDate(theTokens[yearTokenIndex],theTokens[monthTokenIndex],theTokens[dayTokenIndex]);
	}
}
function formatDate(data,formato){
	var arrData1;
	var dia;
	var mes;
	var ano;
	var sSubistitui;
	if(!isDateString(data))return false;
	data=trim(data);
	data=replace(data,".","/");
	data=replace(data,"-","/");
	data=replace(data," ","/");
	arrData1=data.split("/");
	try{
		dia=arrData1[0];
		mes=arrData1[1];
		ano=arrData1[2];
	}catch(Erro){
		return false;
	}
	sSubistitui=replace(formato,"dd",right("0"+dia,2))
	sSubistitui=replace(sSubistitui,"d",dia);
	sSubistitui=replace(sSubistitui,"mm",right("0"+mes,2))
	sSubistitui=replace(sSubistitui,"m",mes);
	sSubistitui=replace(sSubistitui,"yyyy",right("0000"+ano,4))
	return replace(sSubistitui,"yy",right(ano,2));
}
function today(){
	var data=new Date();
	return right("0"+data.getDate(),2)+"/"+right("0"+parseFloat(data.getMonth()+1),2)+"/"+data.getYear();
}
function toTime(){
var sData=new Date();
	return right("000"+mid(sData,11,9),9);
}
function string$(sCaracter,iTamanho){
	var sRetorno='';
	for(var iContador=1;iContador<=iTamanho;iContador++){
		sRetorno=sRetorno+sCaracter;
	}
	return sRetorno;
}
function round(number,X){
	X =(!X ? 2 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
function FormatNumber(Numero,sDigitoDecimalSaida,iCasasDecimais,bExibeMilhar){
	var sDigitosPermitidos="-.-,";
	var sDigitoMilhar;
	var sSinal="";
	var aNumeroSeparado;
	var sDigitoDecimalEntrada="";
	var iPosVirgula=-1;
	var iPosPonto=-1;
	Numero=Numero+"";
	if(sDigitosPermitidos.indexOf(sDigitoDecimalSaida)==-1)return false;
	if(sDigitosPermitidos.indexOf(sDigitoDecimalEntrada)==-1)return false;
	if(Numero.indexOf(",")< Numero.indexOf(".")&& Numero.indexOf(".")< Numero.lastIndexOf(","))return "NaN";
	if(Numero.indexOf(".")< Numero.indexOf(",")&& Numero.indexOf(",")< Numero.lastIndexOf("."))return "NaN";
	if(iCasasDecimais<0)return false;
	iPosVirgula=Numero.indexOf(",");
	iPosPonto=Numero.indexOf(".");
	if(iPosVirgula>iPosPonto && iPosPonto !=-1){
		Numero=replace(Numero,".","")
		sDigitoDecimalEntrada=",";
	}else if(iPosVirgula<iPosPonto && iPosVirgula !=-1){
		Numero=replace(Numero,",","")
		sDigitoDecimalEntrada=".";
	}else if(iPosVirgula>-1 && iPosPonto==-1){
		sDigitoDecimalEntrada=",";
	}else if(iPosPonto>-1 && iPosVirgula==-1){
		sDigitoDecimalEntrada=".";
	}else{
		sDigitoDecimalEntrada="";
	}
	if(sDigitoDecimalEntrada !=""){
		Numero=replace(Numero,sDigitoDecimalEntrada,".");
	}
	if(sDigitoDecimalSaida=="."){
		sDigitoMilhar=",";
	}else{
		sDigitoMilhar=".";
	}
	if(isNaN(parseFloat(Numero)))return "NaN";
	
	if(left(Numero,1)=="-"){
		Numero=right(Numero,Numero.length-1);
		sSinal="-";
	}else
		sSinal="";

	if(Numero.indexOf(".")==-1){
		if(iCasasDecimais !=0)
			Numero=Numero+sDigitoDecimalSaida+string$(0,iCasasDecimais);
	}else{
		var sDecimal=right(Numero,Numero.length-Numero.indexOf(".")- 1);
		if(sDecimal.length<=iCasasDecimais){
			Numero=Numero+string$(0,iCasasDecimais-sDecimal.length);
		}else{
			Numero=round(Numero,iCasasDecimais)+""
		}
	}
	Numero=replace(Numero,".",sDigitoDecimalSaida);

	if(bExibeMilhar){
		aNumeroSeparado=Numero.split(sDigitoDecimalSaida);
		Numero=aNumeroSeparado[0];
		if(Numero.length>3){
			aNumeroSeparado[0]="";
			while(Numero.length>0){
				aNumeroSeparado[0]=sDigitoMilhar+right(Numero,3)+aNumeroSeparado[0];
				Numero=left(Numero,Numero.length-3);
			}
			aNumeroSeparado[0]=right(aNumeroSeparado[0],aNumeroSeparado[0].length-1);
		}
		if(aNumeroSeparado.length==1)
			Numero=aNumeroSeparado[0];
		else
			Numero=aNumeroSeparado[0]+sDigitoDecimalSaida+aNumeroSeparado[1];
	}
	return sSinal+Numero;
}
function putdata(Control,Value){
	var Caracteres="/0123456789";
	var Keyascii=event.keyCode;
	var sCaracter=String.fromCharCode(Keyascii);
	var strData;
	var rngSelecao=Control.createTextRange();
	var intPosicao
	var intSelecao
	if(Caracteres.indexOf(sCaracter)==-1){
		event.returnValue=0;
		return;
	}
	if(sCaracter=="/"){
		if(intPosicao==2 || intPosicao==5){
			Control.value=mid(Value,1,intPosicao)+"/"+mid(Value,intPosicao+1,Value.length-intPosicao+1);
			fnMudaPosicaoText(Control,Value.length-intPosicao);
		}
		event.returnValue=false;
		return;
	}
	if(fnSelecaoText(0)>0){
		if(fnSelecaoText(1)=="/"){
			fnMudaPosicaoText(Control,Value.length-intPosicao);
			event.returnValue=false;
			return;
		}
		intSelecao=fnSelecaoText(0);
		switch(intPosicao-intSelecao){
			case 0:
				if(sCaracter>3){
					event.returnValue=false;
					return;
				}
				break;
			case 1:
				if(mid(Value,1,1)==3){
					if(sCaracter>1){
						event.returnValue=false;
						return;
					}
				}
				break;
			case 3:
				if(sCaracter>=2){
					event.returnValue=false;
					return;
				}
				break;
			case 4:
				if(mid(Value,4,1)==1){
					if(sCaracter>2){
						event.returnValue=false;
						return;	
					}
				}
				break;
		}
		if(fnPosicaoText()- fnSelecaoText(0)==2 || fnPosicaoText()- fnSelecaoText(0)==5){
			strData=mid(Value,1,intPosicao-intSelecao+1)+sCaracter+mid(Value,intPosicao-intSelecao+3,Value.length);
			Control.value=strData;
			rngSelecao.moveStart('character',intPosicao-intSelecao+2);
			rngSelecao.moveEnd('character',(Value.length-intPosicao)* -1);
			rngSelecao.select();
			if(fnSelecaoText(1)=="/"){
				fnMudaPosicaoText(Control,Value.length-intPosicao);
			}
		}else{
			strData=mid(Value,1,intPosicao-intSelecao)+sCaracter+mid(Value,intPosicao-intSelecao+2,Value.length);
			Control.value=strData;
			rngSelecao.moveStart('character',intPosicao-intSelecao+1);
			rngSelecao.moveEnd('character',(Value.length-intPosicao)* -1);
			rngSelecao.select();
			if(fnSelecaoText(1)=="/"){
				fnMudaPosicaoText(Control,Value.length-intPosicao);
			}
		}
		event.returnValue=false;
		return;
	}else{
		if(Value.length==10){
			event.returnValue=false;
			return;
		}
		switch(fnPosicaoText()){
			case 2: //mes
				if(Value.length !=9){
					if(isDate('2000',sCaracter+'1','01')){
					Control.value=mid(Value,1,2)+"/"+sCaracter+mid(Value,3 ,Value.length-2);
						event.returnValue=false;
						fnMudaPosicaoText(Control,Value.length-intPosicao);
						break;
					}else{
					event.returnValue=false;
						break;
					}
				}
				event.returnValue=false;
				break;
			case 3: //mes
				if(isDate('2000',sCaracter+'1','01')){
				Control.value=mid(Value,1,3)+sCaracter+mid(Value,4,Value.length-3);
					event.returnValue=false;
					fnMudaPosicaoText(Control,Value.length-intPosicao);
					break;
				}else{
				event.returnValue=false;
					break;
				}
			case 4://mes
				intPosicao=fnPosicaoText();
				if(isDate('2000',mid(Value,4,1)+sCaracter,'01')){
				Control.value=mid(Value,1,3)+mid(Value,4,1)+sCaracter+mid(Value,intPosicao+1,Value.length-intPosicao);
					event.returnValue=false;
					fnMudaPosicaoText(Control,Value.length-intPosicao);
					break;
				}else{
					event.returnValue=false;
					break;
				}
			case 5:
				if(sCaracter<1){
					event.returnValue=false;
					break;
				}			
				if(Value.length !=9){
					if(isDate(sCaracter+'000','01','01')){
					Control.value=mid(Value,1,5)+"/"+sCaracter+mid(Value,6,Value.length-5);
					event.returnValue=false;
					fnMudaPosicaoText(Control,Value.length-intPosicao);
						break;
					}else{
						event.returnValue=false;
						break;
					}
				}
				event.returnValue=false;
				break;
			case 6:
				if(sCaracter<1){
					event.returnValue=false;
					break;
				}
				if(isDate(sCaracter+'000','01','01')){
				Control.value=mid(Value,1,6)+sCaracter+mid(Value,7,Value.length-6);
				event.returnValue=false;
				fnMudaPosicaoText(Control,Value.length-intPosicao);
					break;
				}else{
					event.returnValue=false;
					break;
				}
		}
	}
}
function MascaraDataHora(Control,Value) {
	var Caracteres="0123456789";
	var Keyascii=event.keyCode;

	if(Caracteres.indexOf(String.fromCharCode(Keyascii))==-1){
		event.returnValue=0;
		return;
	}
	switch(Value.length)
	{
		case 2:
		{
			if(isDate('2000','01',Value)){
				Control.value=Value+"/";
				event.returnValue=true;
				break;
			}else{
				event.returnValue=false;
				break;
			}
		}
		case 5:
		{
			if(isDate('2000',mid(Value,4,2),left(Value,2))){
				Control.value=Value+"/";
				event.returnValue=true;
				break;
			}else{
				event.returnValue=false;
				break;
			}
		}
		case 9:
		{
			var sData=Value+String.fromCharCode(Keyascii);
			if(isDate(mid(sData,7,4),mid(sData ,4,2),left(sData,2))){
				event.returnValue=false;
				Control.value=sData+"-";
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 13:
		{
			var sHora=String.fromCharCode(Keyascii);
			if(parseFloat(sHora)<=2){
				event.returnValue=true;
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 14:
		{
			var sData=left(Control.value,13)
			var sHora=right(Control.value,1)+String.fromCharCode(Keyascii);
			if(parseFloat(sHora)<=23){
				event.returnValue=false;
				Control.value=sData+sHora+":";
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 16:
		{
			var sData=left(Control.value,13)
			var sHora=right(Control.value,3)+String.fromCharCode(Keyascii);
			if(isTimeString(sHora+"0:00")){
				event.returnValue=false;
				Control.value=sData+sHora;
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 17:
		{
			var sData=left(Control.value,13)
			var sHora=right(Control.value,4)+String.fromCharCode(Keyascii);
			if(isTimeString(sHora+":00")){
				event.returnValue=false;
				Control.value=sData+sHora+":";
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 19:
		{
			var sData=left(Control.value,13)
			var sHora=right(Control.value,6)+String.fromCharCode(Keyascii);
			if(isTimeString(sHora+"0")){
				event.returnValue=false;
				Control.value=sData+sHora;
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 20:
		{
			var sData=left(Control.value,13)
			var sHora=right(Control.value,7)+String.fromCharCode(Keyascii);
			if(isTimeString(sHora)){
				event.returnValue=false;
				Control.value=sData+sHora;
				break;
			}else{
				Control.value=Value;
				event.returnValue=false;
				break;
			}
		}
		case 23:
			event.returnValue=false;
	}
}
function puthora(Control,Value,bSeg){
	var Caracteres="0123456789";
	var Keyascii=event.keyCode;
	var TotalCaracteres=0;
	if(bSeg==true)
		TotalCaracteres=9
	else
		TotalCaracteres=5

	if(Caracteres.indexOf(String.fromCharCode(Keyascii))==-1){
		event.returnValue=0;
		return;
	}
	if(Value.length<TotalCaracteres){
		switch(Value.length)
		{
			case 1: {
				if(Value>=0 && Value<=2){
					event.returnValue=true;
					break;
				}else{
					event.returnValue=false;
					break;
				}
			}
			case 2: {
				if(Value.substring(1,0)==1 || Value.substring(1,0)==0){
					if(Value.substring(2,1)>=0 && Value.substring(2,1)<=9){
						Control.value=Value+":";
						event.returnValue=true;
						break;
					}else{
						event.returnValue=false;
						break;
					}
				}
				if(Value.substring(1,0)==2){
					if(Value.substring(2,1)>=0 && Value.substring(2,1)< 4){
						Control.value=Value+":";
						event.returnValue=true;
						break;
					}else{
						event.returnValue=false;
						break;
					}
				}
			}
			case 4: {
				if(Value.substring(4,3)>=0 && Value.substring(4,3)<=5){
					event.returnValue=true;
					break;
				}else{
					event.returnValue=false;
					break;
				}
			}
			case 5: {
				if(Value.substring(5,4)>=0 && Value.substring(5,4)<=9){
					if(bSeg==true)
						Control.value=Value+":";
					event.returnValue=true;
					break;
				}else{
					event.returnValue=false;
					break;
				}
			}
			case 7: {
				if(Value.substring(7,6)>=0 && Value.substring(7,6)<=5){
					event.returnValue=true;
					break;
				}else{
					event.returnValue=false;
					break;
				}
			}
			case 8: {
				if(Value.substring(8,1)>=0 && Value.substring(8,1)<=9){
					event.returnValue=true;
					break;
				}else{
					event.returnValue=false;
					break;
				}
			}
		}
	}else{
		event.returnValue=false;
	}
}
function MsascaraCEP(objeto){
	var keypress=event.keyCode;
	var campo=eval(objeto);
	var caracteres='01234567890';
	var separacoes=1;
	var separacao1='-';
	var conjuntos=2;
	var conjunto1=5;
	var conjunto2=3;
	if((caracteres.indexOf(String.fromCharCode(keypress))!=-1)&& campo.value.length<
	(conjunto1+conjunto2+1)){
		if(campo.value.length==conjunto1)
			campo.value=campo.value+separacao1;
		}
	else 
		event.returnValue=false;
}
function fnMascaraInteiro(objeto){
	var keypress=event.keyCode;
	var campo=eval(objeto);
	var sCaracteres='0123456789';
	if(sCaracteres.indexOf(String.fromCharCode(keypress))!=-1){
		event.returnValue=true;
	}else
		event.returnValue=false;
}
function fnMascaraValor(Objeto,iNumDecimais,bExibeMilhar){
	var sCaracteres="0123456789,";
	var intNumero=Objeto.value;
	var intInteiro;
	var intDecimal;
	var intContador;
	var intMultiplo=0;
	var intNovoInteiro="";
	var intNegativo=0;
	var intPosicao;
	var intTamOriginal;
	var sCaracter=String.fromCharCode(event.keyCode);
	var intParteEsq;
	var intParteDir;
	var intPosAtual;
	if(iNumDecimais==0) {
		sCaracteres='0123456789';
		if(sCaracter=="," || sCaracter=="." || sCaracter=="-")event.returnValue=false;
	}
	if(sCaracteres.indexOf(sCaracter)==-1){
		event.returnValue=false;
		return;
	}
	if(sCaracter==","){
		if(intNumero.indexOf(",")!=-1){
			event.returnValue=false;
			return;
		}
	}
	if(event.keyCode==37 || event.keyCode==39 || event.keyCode==16 || event.keyCode==36 || event.keyCode==35){
		event.returnValue=false;
		return;
	}
	if(fnSelecaoText(0)>0){
		intPosAtual=fnPosicaoText()- fnSelecaoText(0);
		intNumero=mid(intNumero,1,fnPosicaoText()- fnSelecaoText(0))+sCaracter+mid(intNumero,fnPosicaoText()+1,intNumero.length-fnPosicaoText());
	}else{
		intPosAtual=fnPosicaoText();
		intNumero=mid(intNumero,1,fnPosicaoText())+sCaracter+mid(intNumero,fnPosicaoText()+1,intNumero.length-fnPosicaoText());
	}
	if(intNumero.indexOf("-")>=0){
		intNumero=replace(intNumero,"-","");
		intTamOriginal=intNumero.length-1;
		if(Objeto.value.indexOf("-")==-1){
			intNegativo=1;
		}else{
			intNegativo=0;
		}
	}else{
		intNegativo=0;
		intTamOriginal=intNumero.length;
	}	
	if(intNumero.length==0){
		intTamOriginal=3;
	}
	intPosicao=intTamOriginal-intPosAtual-1;
	if(sCaracter==","){
		Objeto.value=intNumero;
		fnMudaPosicaoText(Objeto,intPosicao)
		event.returnValue=false;
		return;
	}
	intNumero=replace(intNumero,".","");
	intNumero=replace(intNumero,",","");
	if(intNumero.length<=Objeto.maxLength-1 || left(intNumero,1)=="0"){
		if(iNumDecimais !=0){
			if(intNumero.length<=iNumDecimais)
				intNumero="0,"+string$(0,iNumDecimais-intNumero.length)+intNumero;
			else{
				if(left(intNumero,iNumDecimais)==string$(0,iNumDecimais)){
					if(iNumDecimais==1)
						intNumero=mid(intNumero,2,1)+","+right(intNumero,iNumDecimais);
					else
						intNumero="0,"+right(intNumero,iNumDecimais);
				}else if(left(intNumero,1)=="0")
					intNumero=mid(intNumero,2,1)+","+right(intNumero,iNumDecimais);
				else
					intNumero=left(intNumero,intNumero.length-iNumDecimais)+","+right(intNumero,iNumDecimais);
			}
		}
		intNumero=FormatNumber(intNumero,",",iNumDecimais,bExibeMilhar);
		if(intNegativo==1){
			Objeto.value="-"+intNumero;
		}else{
			Objeto.value=intNumero;
		}
		fnMudaPosicaoText(Objeto,intPosicao)
		event.returnValue=false;
		return;
	}
}
function fnReformataValor(Objeto,iNumDecimais){
	var intNumero=replace(replace(Objeto.value,".","")," ","");
	var intPosicao=intNumero.indexOf(",");
	var TamDecimais;
	if(intNumero !=""){
		if(intPosicao==-1){
			TamDecimais=0;
		}else{
			TamDecimais=intNumero.length-intPosicao-1;
		}
		Objeto.value=FormatNumber(intNumero,",",iNumDecimais,true);
	}
}
function fnSelecaoText(flgTipo){
	var rngSelecao=document.selection.createRange();
	if(flgTipo==0){
		return rngSelecao.text.length;
	}else{
		return rngSelecao.text;
	}
}
function fnPosicaoText(){
	var rngSelecao=document.selection.createRange();
	rngSelecao.moveStart('textedit',-1);
	return rngSelecao.text.length;
}
function fnMudaPosicaoText(Objeto,Posicao){
	var rngSelecao=Objeto.createTextRange();
	rngSelecao.moveStart('character',1000);
	rngSelecao.moveEnd('character',Posicao * -1);
	rngSelecao.select();
}
function prompt(s) {
	window.status=s
}
function promptEntry(s){
	window.status=pEntryPrompt+s
}
function fnMascaraCNPJCPF(SCPFCNPJ){
	valor=SCPFCNPJ.value;
	if(valor.length==11){
		mask=valor.substring(0,3)+"."+valor.substring(3,6)+"."+valor.substring(6,9)+"-"+valor.substring(9,11);
		SCPFCNPJ.value=mask;
	}
	if(valor.length==14){
		mask=valor.substring(0,2)+"."+valor.substring(2,5)+"."+valor.substring(5,8)+"/"+valor.substring(8,12)+"-"+valor.substring(12,15);
		SCPFCNPJ.value=mask;
	}
}
function fnTiraMascaraCNPJCPF(SCPFCNPJ){
	valor=SCPFCNPJ.value;
	if(valor.length==14){
		mask=valor.substring(0,3)+valor.substring(4,7)+valor.substring(8,11)+valor.substring(12,14);
		SCPFCNPJ.value=mask
	}
	if(valor.length==18){
		mask=valor.substring(0,2)+valor.substring(3,6)+valor.substring(7,10)+valor.substring(11,15)+valor.substring(16,18);
		SCPFCNPJ.value=mask;
	}
}
function ComparaDatas(pData1,pData2){
var dia1	=left(pData1,2);
var mes1	=left(right(pData1,7),2);
var ano1	=right(pData1,4);
var dData1	=parseInt(ano1+mes1+dia1);
var dia2	=left(pData2,2);
var mes2	=left(right(pData2,7),2);
var ano2	=right(pData2,4);
var dData2	=parseInt(ano2+mes2+dia2);
	if(dData1>dData2){
		return 0;
	}
	if(dData1<dData2){
		return 1;
	}
	if(dData1==dData2){
		return 2;
	}
	return false;
}
function IIf(sCondicao,sTrue,sFalse){
	if(sCondicao){
		return sTrue;
	}else{
		return sFalse;
	}
}
function fnPreencheDataHora(oTextBox,sValor,iTipoHora){
	var iTamanho=len(sValor);
	if(iTipoHora==0){
		var sData=today()+'-00:00:00';
	}else if(iTipoHora==1){
		var sData=today()+'-'+toTime();
	}else{
		var sData=today()+'-23:59:59';
	}
	oTextBox.value=trim(sValor)+right(sData,21-iTamanho);
}
function fnTrataDados(sResultado){
	var aResultado;
	if(sResultado.search('<LogEvent>')!=-1){
		eval(sResultado);
		return;
	}else{
		aResultado=sResultado.split('|');
	}
	return aResultado;
}
function fnConsisteVazio(sCampo,sNome){
	if(trim(eval(sCampo+".value"))==""){
		alert("O campo '"+sNome+"' é de preenchimento obrigatório.");
		fnSetaCampo(sCampo);
		return false;
	}
	return true;
}
function fnComparaValor(sValor1,sValor2){
	var intValor1=parseInt(replace(replace(replace(replace(sValor1,':',''),'.',''),',',''),'-',''));
	var intValor2=parseInt(replace(replace(replace(replace(sValor2,':',''),'.',''),',',''),'-',''));
	if(intValor1>intValor2){
		return 0;
	}
	if(intValor1<intValor2){
		return 1;
	}
	if(intValor1==intValor2){
		return 2;
	}
}
function fnCalculaXY(strXY,lngXY){
	if(lngXY !=0){
		if(strXY=='X'){
			return((screen.width / 2)-(lngXY / 2));
		}else{
			return((screen.height / 2)-(lngXY / 2));
		}
	}else{
		return 0;
	}
}
function FormataCPF(Campo,teclapres){
	var tecla=teclapres.keyCode;
	var sCaracteres="0123456789";
	var sCaracter=String.fromCharCode(event.keyCode);
	var vr=new String(Campo.value);
	vr=vr.replace(".","");
	vr=vr.replace(".","");
	vr=vr.replace("-","");
	tam=vr.length+1;
	if(tecla !=9 && tecla !=8){
		if(sCaracteres.indexOf(sCaracter)==-1){
			event.returnValue=false;
			return;
		}
		if(tam>3 && tam<7)
			Campo.value=vr.substr(0,3)+'.'+vr.substr(3,tam);
		if(tam>=7 && tam <10)
			Campo.value=vr.substr(0,3)+'.'+vr.substr(3,3)+'.'+vr.substr(6,tam-6);
		if(tam>=10 && tam<12)
			Campo.value=vr.substr(0,3)+'.'+vr.substr(3,3)+'.'+vr.substr(6,3)+'-'+vr.substr(9,tam-9);
	}
}
function FormataCNPJ(Campo,teclapres){
	var tecla=teclapres.keyCode;
	var sCaracteres="0123456789";
	var sCaracter=String.fromCharCode(event.keyCode);
	if(sCaracteres.indexOf(sCaracter)==-1){
		event.returnValue=false;
		return;
	}
	if(event.keyCode==37 || event.keyCode==39 || event.keyCode==16 || event.keyCode==36 || event.keyCode==35){
		event.returnValue=false;
		return;
	}
	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);
	}
}
var NUM_DIGITOS_CNPJ=14;
var NUM_DIGITOS_CPF =11;
String.prototype.lpad=function(pSize,pCharPad){
	var str=this;
	var dif=pSize-str.length;
	var ch=String(pCharPad).charAt(0);
	for(;dif>0;dif--)str=ch+str;
	return(str);
}
String.prototype.trim=function(){
	return this.replace(/^\s*/,"").replace(/\s*$/,"");
}
function unformatNumber(pNum){
	return String(pNum).replace(/\D/g,"").replace(/^0+/,"");
}
function formatCpfCnpj(pCpfCnpj,pUseSepar,pIsCnpj){
	if(pIsCnpj==null)pIsCnpj=false;
	if(pUseSepar==null)pUseSepar=true;
	var maxDigitos=pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
	var numero=unformatNumber(pCpfCnpj);
	numero=numero.lpad(maxDigitos,'0');
	if(!pUseSepar)return numero;
	if(pIsCnpj){
		reCnpj=/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;
		numero=numero.replace(reCnpj,"$1.$2.$3/$4-$5");
	}
	else{
		reCpf =/(\d{3})(\d{3})(\d{3})(\d{2})$/;
		numero=numero.replace(reCpf,"$1.$2.$3-$4");
	}
	return numero;
}
function dvCpfCnpj(pBase,pIsCnpj){
	if(pIsCnpj==null)pIsCnpj=false;
	var i,j,k,soma,dv;
	var cicloPeso=pIsCnpj? 8: NUM_DIGITOS_CPF;
	var maxDigitos=pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
	var calculado=formatCpfCnpj(pBase,false,pIsCnpj);
	calculado=calculado.substring(2,maxDigitos);
	var result="";
	for(j=1;j<=2;j++){
		k=2;
		soma=0;
		for(i=calculado.length-1;i>=0;i--)
		{
			soma +=(calculado.charAt(i)- '0')* k;
			k =(k-1)% cicloPeso+2;
		}
		dv=11-soma % 11;
		if(dv>9)dv=0;
		calculado +=dv;
		result +=dv
	}
	return result;
}
function isCpf(pCpf){
	if(pCpf=='')
		return true;
	var numero=formatCpfCnpj(pCpf,false,false);
	var base=numero.substring(0,numero.length-2);
	var digitos=dvCpfCnpj(base,false);
	var algUnico,i;
	if(numero !=base+digitos){
		return false;
	}
	algUnico=true;
	for(i=1;i<NUM_DIGITOS_CPF;i++){
		algUnico=algUnico &&(numero.charAt(i-1)==numero.charAt(i));
	}
	if(algUnico)
	return(!algUnico);
}
function validatorCnpj(source,arguments){
	pCnpj=arguments.Value;
	if(pCnpj=='')
		arguments.IsValid=true;
	var numero=formatCpfCnpj(pCnpj,false,true);
	var base=numero.substring(0,8);
	var ordem=numero.substring(8,12);
	var digitos=dvCpfCnpj(base+ordem,true);
	var algUnico;
	if(numero !=base+ordem+digitos){
	arguments.IsValid =false;
	}
	algUnico=numero.charAt(0)!='0';
	for(i=1;i<8;i++){
		algUnico=algUnico &&(numero.charAt(i-1)==numero.charAt(i));
	}
	if(algUnico){
	arguments.IsValid=false;
 	}
	if(ordem=="0000"){
	arguments.IsValid=false;
	}
	if(!(base=="00000000"
		|| parseInt(ordem,10)<=300 || base.substring(0,3)!="000"))
	arguments.IsValid=(base=="00000000"
		|| parseInt(ordem,10)<=300 || base.substring(0,3)!="000");
}
function isCnpj(pCnpj){
	if(pCnpj=='')
		return true;
	var numero=formatCpfCnpj(pCnpj,false,true);
	var base=numero.substring(0,8);
	var ordem=numero.substring(8,12);
	var digitos=dvCpfCnpj(base+ordem,true);
	var algUnico;
	if(numero !=base+ordem+digitos){
	return false;
	}
	algUnico=numero.charAt(0)!='0';
	for(i=1;i<8;i++){
		algUnico=algUnico &&(numero.charAt(i-1)==numero.charAt(i));
	}	if(algUnico){
	return false;
 	}
	if(ordem=="0000"){
	return false;
	}
	if(!(base=="00000000"
		|| parseInt(ordem,10)<=300 || base.substring(0,3)!="000"))
	return(base=="00000000"
		|| parseInt(ordem,10)<=300 || base.substring(0,3)!="000");
}
function isCpfCnpj(pCpfCnpj)
{
	var testLog;
	var numero=pCpfCnpj.replace(/\D/g,"");
	if(numero.length>NUM_DIGITOS_CPF){
	testLog=isCnpj(pCpfCnpj)
	}
	else{
	testLog=isCpf(pCpfCnpj)
	}
	return testLog;
}
function validatorIP(source,arguments){
	var valor=arguments.Value;
	var qtde=0;
	var qtdePontos=0;
	if(valor=='')arguments.IsValid=true;

	for(i=0;i<valor.length;i++){
		qtde++;
		if(valor.substr(i,1)=='.'){
			qtdePontos++;
			qtde=0;
		}
		if(qtde>3){
			arguments.IsValid=false;
			break;
		}
	}
	if(qtde<=3)
		if(qtdePontos !=3)
			arguments.IsValid=false;
		else
			arguments.IsValid=true;}
