    function validaCPF(pCpf) {
                 cpf = pCpf.value;
                 erro = new String;
                 if (cpf.length < 9) erro = "Sao necessarios 11 digitos para verificacao do CPF! "; 
                 var nonNumbers = /\D/;
                 if (nonNumbers.test(cpf)) erro = "Número de CPF inválido, preecha corretamente!"; 
                 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999" || cpf == "12345678909"){
                        erro = "Número de CPF inválido, preecha corretamente!"
               }
               var a = [];
               var b = new Number;
               var c = 11;
               for (i=0; i<11; i++){
                       a[i] = cpf.charAt(i);
                       if (i < 9) b += (a[i] * --c);
               }
               if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
               b = 0;
               c = 11;
               for (y=0; y<10; y++) b += (a[y] * c--); 
               if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
               if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
                       erro ="Número de CPF inválido, preecha corretamente!";
               }
               if (erro.length > 0){
                       alert(erro);
                       return false;
               }
               return true;
    }
	   
	function LimpaCpf(pForm)
	{
		pForm.txtcpf.value="";
	}

	function FormataCPF(pForm,pCampo,pTamMax,pPos1,pPos2,pPosTraco,pTeclaPres){
		 var wTecla, wVr, wTam;
 
       // alert(pForm[pCampo].value);
  
		 wTecla = pTeclaPres.keyCode;
		 wVr = pForm[pCampo].value;
		 wVr = wVr.toString().replace( "-", "" );
		 wVr = wVr.toString().replace( ".", "" );
		 wVr = wVr.toString().replace( ".", "" );
		 wVr = wVr.toString().replace( "/", "" );
		 wTam = wVr.length ;

		 if (wTam < pTamMax && wTecla != 8) { 
		    wTam = wVr.length + 1 ; 
		 }

		 if (wTecla == 8 ) { 
		    wTam = wTam - 1 ; 
		 }
   
		 if ( wTecla == 8 || wTecla == 88 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 ){
			  if ( wTam <= 2 ){
			    pForm[pCampo].value = wVr ;
			  }
			  if (wTam > pPosTraco && wTam <= pTamMax) {
		        wVr = wVr.substr(0, wTam - pPosTraco) + '-' + wVr.substr(wTam - pPosTraco, wTam);
			  }
			  if ( wTam == pTamMax){
    		   wVr = wVr.substr( 0, wTam - pPos1 ) + '.' + wVr.substr(wTam - pPos1, 3) + '.' + wVr.substr(wTam - pPos2, wTam);
			  }
				  pForm[pCampo].value = wVr;
 
		 }

		}

/*
==============================================================================================
Nome		  : SomenteNumeros
Descrição	: Permite a digitação de números
Entrada		: 
Saida		  : 
OBS			  : Altera a propriedade event.returnValue que controle se um evento será 
			      ou não processado	
==============================================================================================
*/
function SomenteNumeros(strInput)
{
	//Se for caracter de controle retorna
	if (event.keyCode < 32)
	{
		event.returnValue = true;
		return;
	}

	// verifica se já foi digitado uma virgula
	if ((String.fromCharCode(event.keyCode) == ',') && (strInput.indexOf(',') != -1))
		event.returnValue = (false)
	//Verifica se foi digitado um número
	else if (((String.fromCharCode(event.keyCode) < '0') || (String.fromCharCode(event.keyCode) > '9')) && (String.fromCharCode(event.keyCode) != ','))
		event.returnValue = (false)
	else
		event.returnValue = (true);
}
function SomenteInteiros()
{
	//Se for caracter de controle retorna
	if (event.keyCode < 32)
	{
		event.returnValue = true;
		return;
	}

	//Verifica se foi digitado um número
	if ((String.fromCharCode(event.keyCode) < '0') || (String.fromCharCode(event.keyCode) > '9'))
		event.returnValue = (false)
	else
		event.returnValue = (true);
}

// Formata valores para visualização.
function FormataValorBRA(pValor)
{
	var i
	var j
	var iDecimal
	var iInteiro
	var iNovoValor

	iInteiro = pValor
	iDecimal = '00'

	// Limpa formatação antiga
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ".")
		{
			pValor = pValor.substring(0,i) + pValor.substring(i + 1,pValor.length);
		}
	}
	
	// Separa a parte Inteira da parte Decimal
	i = 0
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ",")
		{
			iInteiro = pValor.substring(0,i)
			iDecimal = pValor.substring(i + 1,pValor.length)
		}
	}

	// Formata a parte decimal para duas casas no mínimo.
	if (iDecimal.length <= 1)
	{
		iDecimal = iDecimal + "0"
	}

	// Formata a parte inteira para uma casa no mínimo.
	if (iInteiro.length <= 0)
	{
		iInteiro = "0" + iInteiro
	}

	// Formata a parte Inteira.
	iNovoValor = ''
	j = 0
	for (i = iInteiro.length; i > 0; i--)
	{
		j = j + 1
		if (j == 4)
		{
			iNovoValor = iInteiro.substring(i,i-1) + '.' + iNovoValor
			j = 1
		}
		else
		{
			iNovoValor = iInteiro.substring(i,i-1) + iNovoValor
		}
	}

	// Agrega a Parte decimal ao novo valor
	iNovoValor = iNovoValor + "," + iDecimal

	return iNovoValor
}

function FormataValorInt(pValor)
{
	var i
	var j
	var iDecimal
	var iInteiro
	var iNovoValor

	iInteiro = pValor
	iDecimal = '00'

	// Limpa formatação antiga
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ".")
		{
			pValor = pValor.substring(0,i) + pValor.substring(i + 1,pValor.length);
		}
	}
	
	// Separa a parte Inteira da parte Decimal
	i = 0
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ",")
		{
			iInteiro = pValor.substring(0,i)
			iDecimal = pValor.substring(i + 1,pValor.length)
		}
	}

	// Formata a parte inteira para uma casa no mínimo.
	if (iInteiro.length <= 0)
	{
		iInteiro = "0" + iInteiro
	}

	// Formata a parte Inteira.
	iNovoValor = ''
	j = 0
	for (i = iInteiro.length; i > 0; i--)
	{
		j = j + 1
		if (j == 4)
		{
			iNovoValor = iInteiro.substring(i,i-1) + '.' + iNovoValor
			j = 1
		}
		else
		{
			iNovoValor = iInteiro.substring(i,i-1) + iNovoValor
		}
	}

	return iNovoValor
}



function parseNumber(number)
{
	var s=new String(number);
	
	while(s.indexOf('.') >=0)
	{
		s=s.replace('.','')
	}
	
	
	while(s.indexOf(',') >=0)
	{
		s=s.replace(',','.')
	}
return s
}


function m_CEP(campo,tammax) {



var vr = campo.value;

vr = vr.replace( "-", "" );

vr = vr.replace( ".", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1; }



tam = tam - 1;

if ( (tam > 2) && (tam <= 8) ) {

vr = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ); }

if ( (tam == 7) ) {

vr = vr.substr( 0, tam - 5 ) + '' + vr.substr( tam - 5, tam ); }



campo.value = vr;

}



function fformatanumero(Total)
{

	num3 = Total;
	num3 = num3.toString().replace(/\$|\,/g,'');

	if(isNaN(num3))
	num3 = "0";
	sign = (num3 == (num3 = Math.abs(num3)));
	num3 = Math.floor(num3*100+0.50000000001);
	cents3 = num3%100;
	num3 = Math.floor(num3/100).toString();
	if(cents3<10)
	cents3 = "0" + cents3;
	for (var i = 0; i < Math.floor((num3.length-(1+i))/3); i++)
	num3 = num3.substring(0,num3.length-(4*i+3))+'.'+
	num3.substring(num3.length-(4*i+3));

	Total = (num3 + ',' + cents3);
	
	return Total;
}

function FormataTelefone(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}

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( ":", "" );
fldLen = sValue.length;
mskLen = sMask.length;

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) == ":")

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 MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


        
