function limpar(valor, validos)
{ 
	// retira caracteres invalidos da string 
	var result = ""; 
	var aux; 
	for (var i=0; i < valor.length; i++)
	{ 
		aux = validos.indexOf(valor.substring(i, i+1)); 
		if (aux>=0)
			result += aux;
	}
	
	return result; 
} 

function limparCampo(campo, valorPadrao)
{
	if(campo.value == valorPadrao)
		campo.value = "";
}

function voltarPadrao(campo, valorPadrao)
{
	if(campo.value == "")
		campo.value = valorPadrao;
}

//Formata número tipo moeda usando o evento onKeyDown 
function formataNumeros(campo,tammax,teclapres,decimal)
{ 
	var tecla = teclapres.keyCode; 
	vr = limpar(campo.value,"0123456789"); 
	tam = vr.length; 
	dec = decimal;

	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 <= dec ) 
			campo.value = vr ;

		if ( (tam > dec) && (tam <= 5) )
			campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ;

		if ( (tam >= 6) && (tam <= 8) )
			campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, 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 - dec, 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 - dec, 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 ) ;
	}
}

// A medida que o campo vai sendo preenchido as barras são colocadas
function formataData(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 );
	}
}

// Verifica se uma data é válida
function verificaData(dataX)
{
	// Declaração de variáveis
	var str;
	var $erro;
	var $tamanho;
	var $separador;
	// Separa a data em variáveis diferentes
	str = dataX.value;
	$data = str.split("/");
	$dia  = $data[0];
	$mes  = $data[1];
	$ano  = $data[2];
	// Pega o ano corrente para comparação e evitar inclusão de tarefas a longo prazo
	data_atual    = new Date();
	var $ano_atual = data_atual.getYear();
	// Verificação da data - números
	if (($dia > 31) || ($dia == 0) || ($dia == ''))
		$erro = "1";
	if (($mes > 12) || ($mes == 0) || ($mes == ''))
		$erro = "1";
	if (str != "")
	{
		// Verificação do tamanho da data
		$tamanho = str.length;
		if ((($tamanho < 10) && ($tamanho >= 1)) || $tamanho > 10)
			$erro = "2";
		if ($erro == "1")
		{	alert("Data Inválida"); dataX.focus(); }
		if ($erro == "2")
		{
			alert("Formato de data inválido.\nA Formatação Correta é 00/00/0000\n");
			dataX.focus();
		}
	}
}

function verNumero(param1,param2)
{
	tecla = String.fromCharCode(param2);
	if (tecla>=0 && tecla<=9)
		event.returnValue = true;
	else
		event.returnValue = false;
}


function apenasNumericos(caracter,valor)
{
	if(document.all)
	{ // Internet Explorer
		var tecla = event.keyCode;
	}
	else
	{
		if(document.layers)
		{ // Nestcape
			var tecla = caracter.which;
		}
	}
	if (tecla == 46 && valor.indexOf(".") > -1)
	{
		return false;
	}
	if(tecla > 47 && tecla < 58)
	{ // numeros de 0 a 9
		return true;
	}
	else
	{
		if (tecla != 8 || tecla != 46)
		{ // backspace
			return false;
		}
		else
		{
			return true;
		}
	}
}

function checkChars(elemento, maximo)
{ 
	if (elemento.value.length > maximo)
	{ 
		alert("O máximo de caracteres é "+maximo+"!"); 
		elemento.value = elemento.value.substring(0, maximo);
		return false; 
	} 
	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)
		{
			if (document.all)
			{
				x.style.filter="blendTrans(duration=1)";
				x.filters.blendTrans.Apply();
			}
			  
			document.MM_sr[j++] = x;
			if (!x.oSrc)
				x.oSrc = x.src;
			x.src = a[i+2];
			
			if (document.all)
			{
				x.filters.blendTrans.Play();
			}
		}
}

function MM_displayStatusMsg(msgStr) { //v1.0
 document.getElementById("texto").innerText= msgStr;
 status=msgStr;
  document.MM_returnValue = true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

