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];}
}

function veremail(obj)
{
if (obj.value!="") {

  while (obj.value.indexOf(' ') != -1) {
    obj.value = obj.value.substring(0,obj.value.indexOf(' ')) + obj.value.substring(obj.value.indexOf(' ')+1,obj.value.length);
  }

  var checkOK = "\@."; // Caracteres Obrigatorios
  obj.value = obj.value.toLowerCase(); // Converte para Lower Case
  var checkStr = obj.value;
  var achar = true;
  var erro = false;
  i=0;

  // Verifica a presenca dos caracteres obrigatorios

  while ((i<checkOK.length)&&(achar)) {
    ch = checkOK.charAt(i);
    t=0;
    achar=false;
    while ((!achar)&&(t<checkStr.length)) {
      if (ch==checkStr.charAt(t))
        achar=true;
      t++;
    }
    i++;
  }

  // Se OK entao prossegue com os testes

  if (achar) {
    cta=0;
    ctpp=0;
    for (i=0;i<checkStr.length;i++)        // Verifica a quantidade de '\@'
      if (checkStr.charAt(i)=='\@') {
        cta++;

        // Verifica se existe algum '.' antes ou depois do '\@'

        if ((checkStr.charAt(i+1)=='.') || 
            (checkStr.charAt(i-1)=='.'))
              cta++;
      } 

    // Verifica a quantidade de '.'


    // Verifica se ha algum '.' junto a outro

    for (i=0;i<checkStr.length;i++)
      if (checkStr.charAt(i)=='.')
        if (checkStr.charAt(i+1)=='.') ctpp++;

    if ((cta>1)||(ctpp!=0)) erro=true;   // Seta esta variavel se houve algum erro ate agora

    // Verifica se ha '.' ou '\@' no inicio ou no fim do E-mail
   
    if ((checkStr.charAt(0)=='\@') ||
        (checkStr.charAt(0)=='.') ||
        (checkStr.charAt(checkStr.length-1)=='\@') ||
        (checkStr.charAt(checkStr.length-1)=='.'))
          erro = true;    // Seta esta variavel se houve algum erro ate agora

    // Certifica que o fim do E-mail possui 2 ou 3 caracteres

    if ((checkStr.charAt(checkStr.length-4)!='.') &&
        (checkStr.charAt(checkStr.length-3)!='.'))
          erro = true;    // Seta esta variavel se houve algum erro ate agora
  }

  if ((erro)||(!achar))
  {
    alert("Por favor digite um email válido!");
    obj.focus();
    obj.value="";
    return (false);
  }

  var checkOK = "abcdefghijklmnopqrstuvwxyz0123456789\@%_-."; // Caracteres Possiveis
  var allValid = true;

  // Verifica existencia de caracteres invalidos

  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;

    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Por favor digite um email válido!");
    obj.focus();
    obj.value="";
    return (false);
  }
  else
    return(obj.value);   // Retorna o E-mail ja' em Lower Case
}
}

function ver_nums_letras(vl)
{
	var nums = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var erros = 0;
	temps = vl.value;

	for (i=0; i < temps.length; i++)
	{
		if (nums.indexOf(temps.charAt(i))<0)
		{ erros=1
		break; }
	}		
		
	if (erros == 1)
	{
	alert("Por favor digite um email válido!");
	vl.value = "";
	vl.focus();
	return erros;
	}
}

function sonumeros(obj,cad,txt) {
  var chvalidos = cad;
  var i=0;
  var valid=true;

  while ((i<obj.value.length) && (valid)) {
    valid=false;
    for(j=0;j<chvalidos.length;j++) {
      if (obj.value.charAt(i) == chvalidos.charAt(j)) {valid=true;}
    }
    i++;
  }
  if (!valid) {
    alert(txt);
    obj.value="";
    obj.focus();
    return(false);
  }
  return(true);
}

// colocar no evento onKeyUp passando o objeto como parametro
function formata(val)
{
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		// charAt -> retorna o caractere posicionado no índice especificado
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   // search -> retorna um valor inteiro, indicando a posição do inicio da primeira
		   // ocorrência de expReg dentro de instStr. Se nenhuma ocorrencia for encontrada o método retornara -1
		   // instStr.search(expReg);
		   if ((lchar.search(expr) != 0) || (lchar>3)){
			  val.value = "";
		   }
		   
		}else if(i==1){
			   
			   if(lchar.search(expr) != 0){
				  // substring(indice1,indice2)
				  // indice1, indice2 -> será usado para delimitar a string
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   
			   if ((nchar != '/') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
			   }

		 }else if(i==4){
			
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
		
				if	((nchar != '/') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
				}
   		  }
		
		  if(i>=6){
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;			
			  }
		  }
	 }
	
     if(pass.length>10)
		val.value = val.value.substring(0, 10);
	 	return true;
}

function validarData(campo) {
var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
var msgErro = 'Formato inválido de data.';
if ((campo.value.match(expReg)) && (campo.value!='')) {
	//alert('Data válida');
	} else {
	alert(msgErro);
	campo.value="";
	campo.focus();
	}}
	
