	function limpapontos(campo)
	{
		var a = "";
		var i;
		if (campo.value.length > "0")
		{
			for(i=0;i<campo.value.length;i++)
			if(campo.value.charAt(i)!="." && campo.value.charAt(i)!="-" && campo.value.charAt(i)!="/")
			a=a + campo.value.charAt(i);
			campo.value = a;
			}
		else
		{
			campo.value = "";
		}
	}

	function validaCPF(s) 
	{
		if (s.value.length == 0)
		{
			alert('Por favor, digite corretamente o número do CPF.');
			//s.value="";
			//s.focus();
			return false;
		}
		cadeia="1234567890"
		for (i=0;i<s.value.length;i++)
		{
			if (cadeia.indexOf(s.value.substring(i,i+1))==-1)
			{
				alert('CPF inválido.');
				//s.value="";
				//s.focus();
				return false;
			}
		}
		var i;
		cpf=s.value;
		var c=cpf.substr(0,9);
		var dv=cpf.substr(9,2);
		var d1=0;
		var d2=0;
		if	((cpf=="11111111111")||
			 (cpf=="22222222222")||
			 (cpf=="33333333333")||
			 (cpf=="44444444444")||
			 (cpf=="55555555555")||
			 (cpf=="66666666666")||
			 (cpf=="77777777777")||
			 (cpf=="88888888888")||
			 (cpf=="99999999999")||
			 (cpf=="00000000000"))
			 {
			alert('CPF inválido.');
			//s.value="";
			//s.focus();
			return false;
		}
		if (cpf.length < 11)
		{
			alert('CPF inválido.');
			//s.value="";
			//s.focus();
			return false;
		}
		for (i=0;i<=9;i++)
		{
			d1 += c.charAt(i)*(10-i);
		}
		if (d1==0)
		{
			alert('CPF inválido.');
			//s.value="";
			//s.focus();
			return false;
		}
		d1=11-(d1%11);
		if (d1>9) d1=0;
		if (dv.charAt(0) != d1)
		{ 
			alert('CPF inválido.');
			//s.value="";
			//s.focus();
			return false;
		}
		d1 *=2;
		for (i=0;i<=9;i++)
		{
			d1+=c.charAt(i)*(11-i); 
		}
		d1=11-(d1%11);
		if (d1>9) d1=0;
		if (dv.charAt(1) != d1)
		{
			alert('CPF inválido.');
			//s.value="";
			//s.focus();
			return false;
		}
		return true;
	}

	function tipoDado(v_campo,v_tipo){
			
		var campo = v_campo;
		var checkOK;

		var todos    = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZÀÈÌÒÙÁÉÍÓÚÃÕÄËÏÖÜÂÊÎÔÛàèìòùáéíóúäëïöüâêîôûãõÇç()[]{}.-_@,ªº&!;/\\";
		//var normal   = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZÀÈÌÒÙÁÉÍÓÚÃÕÄËÏÖÜÂÊÎÔÛàèìòùáéíóúäëïöüâêîôûãõÇç,.-ºª&!;";
		var normal   = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZÀÈÌÒÙÁÉÍÓÚÃÕÄËÏÖÜÂÊÎÔÛàèìòùáéíóúäëïöüâêîôûãõÇç()[]{}.-_@,ªº&!;/\\";
		var simples  = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ";
		var email    = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ@.-_";
		var letras   = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ";
		var numeros  = "0123456789";
		var cpf      = ".-0123456789";
		var telefone = " -()0123456789.";
		var data     = "0123456789/";
		var contabil = "0123456789.,";

		if (v_tipo == "todos"){
			checkOK = todos;
		}
		if (v_tipo == "normal"){
			checkOK = normal;
		}
		if (v_tipo == "simples"){
			checkOK = simples;
		}
		if (v_tipo == "email"){
			checkOK = email;
		}
		if (v_tipo == "letras"){
			checkOK = letras;
		}
		if (v_tipo == "numeros"){
			checkOK = numeros;
		}
		if (v_tipo == "cpf"){
			checkOK = cpf;
		}
		if (v_tipo == "telefone"){
			checkOK = telefone;
		}
		if (v_tipo == "data"){
			checkOK = data;
		}
		if (v_tipo == "contabil"){
			checkOK = contabil;
		}

		var allValid = true;
		var allNum = "";
		for (i = 0;  i < campo.length; i++)
		{
		   ch = campo.charAt(i);
		   for (j = 0;  j < checkOK.length;  j++)
		   if (ch == checkOK.charAt(j)) break;
		   if (j == checkOK.length)
		   {
		     allValid = false;
		     break;
		   }
		   allNum += ch;
		}

		if (v_tipo == "data"){
	
			// verifica barras..
			if ( campo.charAt(2)!="/" || campo.charAt(5)!="/" ) {
				return false;
			}
			// verifica datas..
			var dia = campo.substr(0,2);
			var mes = campo.substr(3,2);
			var ano = campo.substr(6,4);
			if ( dia < 1 || dia > 31 ) {
				return false;
			}
			if ( mes < 1 || mes > 12 ) {
				return false;
			}
			if ( ano < 1900 || ano > 2010 ) {
				return false;
			}

		}


		if (!allValid)
		{	
			return false;
		}
		else
		{
			return true;
		}
	}

	function ehNumerico(v_campo){
			
		var campo = v_campo.value;
		var checkOK = "0123456789";
		var allValid = true;
		var allNum = "";
		for (i = 0;  i < campo.length; i++)
		{
		   ch = campo.charAt(i);
		   for (j = 0;  j < checkOK.length;  j++)
		   if (ch == checkOK.charAt(j)) break;
		   if (j == checkOK.length)
		   {
		     allValid = false;
		     break;
		   }
		   allNum += ch;
		}
		if (!allValid)
		{	
			return false;
		}
		else
		{
			return true;
		}
	}
			
	function ehData(v_campo){
			
		var campo = v_campo.value;
		var checkOK = "0123456789/";
		var allValid = true;
		var allNum = "";
		for (i = 0;  i < campo.length; i++)
		{
		   ch = campo.charAt(i);
		   for (j = 0;  j < checkOK.length;  j++)
		   if (ch == checkOK.charAt(j)) break;
		   if (j == checkOK.length)
		   {
		     allValid = false;
		     break;
		   }
		   allNum += ch;
		}
				
		// verifica barras..
		if ( campo.charAt(2)!="/" || campo.charAt(5)!="/" ) {
			return false;
		}
		// verifica datas..
		var dia = campo.substr(0,2);
		var mes = campo.substr(3,2);
		var ano = campo.substr(6,4);
		if ( dia < 1 || dia > 31 ) {
			return false;
		}
		if ( mes < 1 || mes > 12 ) {
			return false;
		}
		if ( ano < 1950 || ano > 2010 ) {
			return false;
		}
				
		if (!allValid)
		{	
			return false;
		}
		else
		{
			return true;
		}
	}

	function currencyFormat(fld, decSep, milSep, e) {

		
		var valor;
		valor = fld.value.replace(",","");
		valor = valor.replace(".","");

		if ( valor.length >= 16) {
			return;
		}


		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		if (whichCode == 13) return true;  // Enter
		key = String.fromCharCode(whichCode);  // Get key value from key code
		if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
		len = fld.value.length;
		for(i = 0; i < len; i++)
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';
		for(; i < len; i++)
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;
		len = aux.length;
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0'+ decSep + '0' + aux;
		if (len == 2) fld.value = '0'+ decSep + aux;
		if (len > 2) {
		aux2 = '';
		for (j = 0, i = len - 3; i >= 0; i--) {
		if (j == 3) {
		aux2 += milSep;
		j = 0;
		}
		aux2 += aux.charAt(i);
		j++;
		}
		fld.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
		fld.value += aux2.charAt(i);
		fld.value += decSep + aux.substr(len - 2, len);
		}
		return false;
	}
	
	function validar_email(email)
	{
		var checkStr = email;
		var ix = (checkStr.length - 4)
		var x = AtSignValid = DoublePeriod = PeriodValid = SpaceValid = ExtValid = 0;
		for (i = 0;  i < checkStr.length;  i++)  
		{    
			if (checkStr.charAt(i) == '@')
				AtSignValid++;    
			else 
				if (checkStr.charAt(i) == '.')    
				{
					if (x == (i-1)){
					if (x > 0) {
						DoublePeriod++;
					}
				}
				else      
				{        
					x = i;
					PeriodValid++;      
				}    
			}    
			else 
				if (checkStr.charAt(i) == ' ' || checkStr.charAt(i) == ';' || checkStr.charAt(i) == ':' || checkStr.charAt(i) == ',' || checkStr.charAt(i) == '/')
				SpaceValid ++;  
		}
		  
		if (checkStr.charAt(checkStr.length - 3) == ".")
		{
		   ExtValid++;
		}  
		if (checkStr.charAt(checkStr.length - 4) == ".")
		{
		   ExtValid++;	
		}  
		if (AtSignValid != 1)
			return(false);
		if (PeriodValid == 0)
			return(false);
		if (SpaceValid != 0)
			return(false);
		if (DoublePeriod != 0)
			return(false);
		if (ExtValid == 0)
			return(false);
		if (checkStr.length > 120)
			return(false);
		
		return(true);
	}

	function MascaraData(Control,Value)
	{
		var Caracteres="0123456789";
		var Keyascii = event.keyCode;

		Control.value = Control.value.replace("//","/")

		switch (Value.length)
	        {
		        case 2: //dia
			{
				
				Control.value = Value + "/";
				event.returnValue = true;
				break;
			}
			case 5:
			{
				Control.value = Value + "/";
				event.returnValue = true;
				break;
			}
		    	case 10:
			{
				Control.value = Value;
				event.returnValue = false;
				break;
			}
			case 21:
				event.returnValue = false;
		}
	}

	function MascaraHora(Control,Value)
	{
		var Caracteres="0123456789";
		var Keyascii = event.keyCode;

		Control.value = Control.value.replace("::",":")

		switch (Value.length)
	        {
		        case 2: 
			{
				Control.value = Value + ":";
				event.returnValue = true;
				break;
			}
			case 5:
			{
				Control.value = Value + ":";
				event.returnValue = true;
				break;
			}
		    	case 8:
			{
				Control.value = Value;
				event.returnValue = false;
				break;
			}
		}
	}


	function MascaraCPF(Control,Value)
	{
		var Caracteres="0123456789";
		var Keyascii = event.keyCode;

		Control.value = Control.value.replace("..",".")

		switch (Value.length)
	        {
		        case 3: 
			{
				Control.value = Value + ".";
				event.returnValue = true;
				break;
			}
			case 7:
			{
				Control.value = Value + ".";
				event.returnValue = true;
				break;
			}
		    	case 11:
			{
				Control.value = Value + "-";
				event.returnValue = true;
				break;
			}
		}
	}

