function CarregaFlash(caminho,largura,altura)
{
	if (arguments[3] != null) { 
		wmode = arguments[3]; // Para forçar o wmode=transparent quando necessario
	} else {
		wmode = "opaque";
	}
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+largura+'" height="'+altura+'">');
	document.write('<param name="movie" value="'+caminho+'">');
	document.write('<param name="quality" value="high">');
//	document.write('<param name="scale" value="noscale" />');
	document.write('<param name="salign" value="lt" />');
	document.write('<param name="wmode" value="'+wmode+'" />');
	document.write('<param name="menu" value="false">');
	document.write('<embed src="'+caminho+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="'+wmode+'" salign="lt" width="'+largura+'" height="'+altura+'"></embed>');
	document.write('</object>');
}

function NovaJanela(pagina,nome,w,h,scroll,toolbar){
	var win = null;
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',toolbar='+toolbar+',resizable=no'
	win = window.open(pagina,nome,settings);
}

var ie4 = (document.all) ? 1:0;
function HideLayer(Layer) {
	if (ie4) {
		document.all(Layer).style.visibility="hidden";
	} else {
		document.getElementById(Layer).style.visibility="hidden";
	}
}

function ShowLayer(Layer) {
	if (ie4) {
		document.all(Layer).style.visibility="visible";
	} else {
		document.getElementById(Layer).style.visibility="visible";
	}
}

function MM_preloadImages() {
	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() {
	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) {
	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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() {
	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];}
}

//Funcoes Gerais - Comeco
function Ucase(valor)
{
	return valor.toUpperCase();
}

function Len(valor)
{
	return valor.length;
}

function InStr(valor1,valor2)
{
	var wl_caracter;
	var i;
	var wl_compara;

	wl_compara = '';
	for (i=0;i<valor1.length+1;i++)
	{
		wl_caracter = valor1.charAt(i);
		if (valor2.length==wl_compara.length){
			if (wl_compara==valor2){
				return valor2.length;
			}
			else{
				wl_compara = wl_compara.substring(1,valor2.length+1)+wl_caracter;
			}
		}
		else{
			wl_compara = wl_compara + wl_caracter;
		}
	}
	return 0;
}

function ReplaceString(numero,valor)
{
	var i;
	var wl_retorno = "";

	for (i=1;i<=numero;i++)
	{
		wl_retorno += valor;
	}
  
	return wl_retorno;
}

function Left(valor,numero)
{
	var i;
	var wl_retorno = "";

	for (i=0;i<=numero-1;i++)
	{
		wl_retorno += valor.charAt(i);
	}

	return wl_retorno;
}

function Right(valor,numero)
{
	var i;
	var wl_retorno = "";

	for (i=valor.length-numero;i<=valor.length;i++)
	{
		wl_retorno += valor.charAt(i);
	}
  
	return wl_retorno;    
}

function Trim(obj)
{
	while (obj.value.indexOf('  ') != -1) {
		obj.value = obj.value.substring(0,obj.value.indexOf('  ')) + obj.value.substring(obj.value.indexOf('  ')+1,obj.value.length);
	}

	if (obj.value.indexOf(' ') == 0) {
		obj.value = obj.value.substring(1,obj.value.length);
	}

	if (obj.value.charAt(obj.value.length-1) == ' ') {
		obj.value = obj.value.substring(0,obj.value.length-1);
	}

	return(true);
}

function SoNumeros(obj,cad)
{
	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('Digite somente numeros');
		obj.value="";
		obj.focus();
		return(false);
	}
	return(true);
}

//Funcoes Gerais - Fim


//FF_KeyPress - Comeco

function FF_KeyPress(Controle)
{
	SL_FormatarMascara(event.keyCode,Controle);
	event.keyCode=0;
}

function SL_FormatarMascara(Valor,Controle)
{
	var wl_mask = Controle.mask;
	var wl_sair = true;

	if (Controle.mask == "9999-9999")
	{
		if (InStr("0123456789",String.fromCharCode(Valor))==0)
		{
			event.keyCode=0;
			return;
		}
		else
		{
			if ((String.fromCharCode(Valor)==0) && (Controle.Value==""))
			{
				event.keyCode=0;
				return;
			}
		}
	}
 
	if ((Len(Controle.value)==0) && (InStr("A9#",Left(Controle.mask,1))==0))
	{
		Controle.value = Left(Controle.mask,1);
	}

	while(wl_sair==true)
	{
		if (Len(Controle.value)>=Len(Controle.mask))
		{
			wl_sair = false;
			break;
		}

		switch (wl_mask.charAt(Len(Controle.value)))
		{
			case "9":
				if ((Valor>=48) && (Valor<=57))
				{
					Controle.value += String.fromCharCode(Valor);
					break;
				}
				else
				{
					wl_sair = false;
					break;
				}
			case "#":
				if (Valor==0)
				{
					wl_sair = false;
					break;
				}
				else
				{
					Controle.value += String.fromCharCode(Valor);
					break;
				}
			case "A","a":
				if (InStr("QWERTYUIOPLKJHGFDSAZXCVBNM",String.fromCharCode(Valor))==0)
				{
					wl_sair = false;
					break;
				}
				else
				{
					Controle.value += String.fromCharCode(Valor);
					break;
				}
			default:
			{
				Controle.value += wl_mask.charAt(Len(Controle.value));
				break;
			}
		}
		Valor=0;
	}
}
 //FF_KeyPress - Fim


//FF_CPF - Comeco

function FF_CPF(obj)
{
 if (obj.value!="") 
  {

    if ((obj.value=="000.000.000-00") || (obj.value=="111.111.111-11") || (obj.value=="222.222.222-22") || (obj.value=="333.333.333-33") || (obj.value=="444.444.444-44") || (obj.value=="555.555.555-55") || (obj.value=="666.666.666-66") || (obj.value=="777.777.777-77") || (obj.value=="888.888.888-88") || (obj.value=="999.999.999-99")) {
        alert("Numero do CPF invalido");
        obj.value="";
        obj.focus();
        return (false);
    }

    var checkOK = "0123456789.-";
    var checkStr = obj.value;
    var allValid = true;

    // Verifica a 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("O CPF possui caracteres invalidos\n\nFormato: 999.999.999-99");
        obj.value="";
        obj.focus();
        return (false);
      }

   // Elimina todos os caracteres nao numericos  
    var cad="";
    for (i=0;i<checkStr.length;i++) {
      if ((checkStr.charAt(i)!=".") && (checkStr.charAt(i)!="-") && (checkStr.charAt(i)!="/"))
         cad += checkStr.charAt(i);
     }

   // Inicio do teste com CPF
    if (cad.length!=11)
      {
         alert("O numero do CPF precisa ter 11 digitos");         
         obj.value="";
         obj.focus();
         return (false);
       }
       
    //Valida CPF
    if (FF_Valida_CPF(cad)==0)
      {
         alert("Numero do CPF invalido");
         obj.value="";
         obj.focus();
         return (false);
       }        
    
    return (true);
    
  }
}

function FF_CPF2(obj)
{
	if ((obj.value!="") && (obj.value!="000.000.000-00"))
	{
		FF_CPF(obj);
	}
}

function FF_Valida_CPF(cad)
{
	s = cad;
	if (isNaN(s)) {
		return 0;
	}
	var i;
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0)
	{
		return 0;
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;         
	if (dv.charAt(0) != d1)
	{
		return 0;
	}
	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) {
		return 0;
	}
	return 1;
}
//FF_CPF - Fim


//FF_CNPJ - Comeco
function FF_CNPJ(obj)
{

if (obj.value!="") 
{
  var checkOK = "0123456789.-/";
  var checkStr = obj.value;
  var allValid = true;

  // Verifica a 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("O CNPJ possui caracteres invalidos\n\nFormato: 99.999.999/9999-99");
    obj.value="";
    obj.focus();
    return (false);
  }

  // Elimina todos os caracteres nao numericos
  
  var cad="";
  for (i=0;i<checkStr.length;i++) {
    if ((checkStr.charAt(i)!=".") && (checkStr.charAt(i)!="-") && (checkStr.charAt(i)!="/"))
      cad += checkStr.charAt(i);
  }

// Inicio do teste com CNPJ

    if (cad.length!=14)
    {
      alert("O numero do CNPJ precisa ter 14 digitos");
      obj.value="";
      obj.focus();
      return (false);
    }
    
// Testa digito verificador
   if (FF_Valida_CNPJ(cad)==0) 
      {
      alert("Numero do CNPJ invalido");      
      obj.value="";
      obj.focus();
      return (false);
      }   
    
 }
return(true);
}

function FF_CNPJ2(obj)
{
	if ((obj.value!="") && (obj.value!="00.000.000/0000-00"))
	{
		FF_CNPJ(obj);
	}
}

function FF_Valida_CNPJ(cad){
 s = cad;
 if (isNaN(s)) {
  return 0;
 }
 var i;
 var c = s.substr(0,12);
 var dv = s.substr(12,2);
 var d1 = 0;
 for (i = 0; i <12; i++){
  d1 += c.charAt(11-i)*(2+(i % 8));
 }
 if (d1 == 0) 
  return 0;
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1){
  return 0;
 }
 d1 *= 2;
 for (i = 0; i < 12; i++){
  d1 += c.charAt(11-i)*(2+((i+1) % 8));
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) 
  d1 = 0;
 if (dv.charAt(1) != d1){
  return 0;
 }
  return 1;
}

//FF_CNPJ - Fim


//FF_Telefone - Comeco

function FF_Telefone(obj)
{
  var chkstr=obj.value;
  var caracter;

  if (chkstr.length = 0) {
     return(true);
  }


  if (SoNumeros(obj,"0123456789()") == false) {
     return(false);
  }

  caracter =chkstr.charAt(0);
 
  if (caracter == "") {
    return(true);
  }

  if (caracter == 0) {
     alert("O telefone nao deve iniciar com zero!");
     obj.focus();
     obj.value="";
     return(false);
  }

  if (chkstr.length < 10) {
     alert("Quantidade de numeros menor que o minimo exigido (10 caracteres: ddd + numero)");
     obj.focus();
     obj.value="";
     return(false);
  }

  return(true);
}

//FF_Telefone - Fim

//FF_Email - Comeco

function FF_Email(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("Digite o e-mail no formato user\@dominio");
    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("O e-mail possui caracteres invalidos");
    obj.focus();
    obj.value="";
    return (false);
  }
  else
    return(obj.value);   // Retorna o E-mail ja' em Lower Case
}
}

//FF_Email - Fim

//FF_CEP - Comeco

function FF_CEP(obj,muda)
{
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 = "0123456789-. "; // Caracteres Possiveis
  var checkStr = obj.value;
  var allValid = true;

  // Verifica a 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("O CEP possui caracteres invalidos\\n\\nFormato: 60000-000");
    obj.focus();
    obj.value="";
    return (false);
  }

  // Elimina todos os caracteres nao numericos

  var cad="";
  for (i=0;i<checkStr.length;i++) {
    if ((checkStr.charAt(i)!="-") && (checkStr.charAt(i)!="."))
      cad += checkStr.charAt(i);
  }

  // Verifica o tamanho do CEP. Caso esteja OK Reformata o CEP

  if (cad.length<8) {
    alert('O CEP precisa ter 8 digitos');
    obj.focus();
    obj.value="";
    return(false);
  }
  else { 
    obj.value=cad.charAt(0)+cad.charAt(1)+cad.charAt(2)+cad.charAt(3)+cad.charAt(4)+"-"+
                     cad.charAt(5)+cad.charAt(6)+cad.charAt(7);
  }
  return(obj.value);
}
}

//FF_CEP - Fim

//FF_Data - Comeco
function FF_Data(obj)
{

if (SoNumeros(obj,"0123456789/") == false) {
	return(false);
}

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);
  }

  ch='/';
  validform=true;
  valid=true;
  chkstr=obj.value;
  ct=0;
  dia=''; mes=''; ano='';

  if (((chkstr.charAt(1)!=ch)&&(chkstr.charAt(2)!=ch))||
     ((chkstr.charAt(3)!=ch)&&(chkstr.charAt(4)!=ch)&&(chkstr.charAt(5)!=ch))||
      (chkstr.charAt(chkstr.length-1)==ch))
        validform=false;
  for (i=0;i<chkstr.length;i++)
    if (chkstr.charAt(i)==ch) ct++;
  if (ct>2) validform=false;
  i=0;
  if (validform)
  {
    while (chkstr.charAt(i)!=ch)
    {
      dia=dia+chkstr.charAt(i);
      i++;
    }
    i++; 
    while (chkstr.charAt(i)!=ch)
    {
      mes=mes+chkstr.charAt(i);
      i++;
    }
    i++; 
    while (i<chkstr.length)
    {
      ano=ano+chkstr.charAt(i);
      i++;
    }

    if ((ano.length != 2)&&(ano.length != 4)) {valid=false;}

    if (ano < 100) {
      if ((ano >=0)&&(ano<=49))
        ano = eval(ano)+2000;
      else
        ano = eval(ano)+1900;
    }
    
    if (ano > 2050) valid=false;
 
    if (!(((ano%4)||!(ano%100))&&(ano%400)))
    {
      if ((dia>29)&&(mes==2)) valid=false;
    }
    else
    {
      if ((dia>28)&&(mes==2)) valid=false;
    }

    if (valid)
    if (((dia>31)&&(mes==1))||
        ((dia>31)&&(mes==3))||
        ((dia>30)&&(mes==4))||
        ((dia>31)&&(mes==5))||
        ((dia>30)&&(mes==6))||
        ((dia>31)&&(mes==7))||
        ((dia>31)&&(mes==8))||
        ((dia>30)&&(mes==9))||
        ((dia>31)&&(mes==10))||
        ((dia>30)&&(mes==11))||
        ((dia>31)&&(mes==12))||       
         (dia<1)||(dia>31)||
         (mes<1)||(mes>12)||
         (ano<0)
       )
      valid=false;
  }
  else
  {
    alert("Digite a data no formato dd/mm/aaaa");
    obj.focus();
    obj.value="";
    return (false);
  }
  if (!valid)
  {
    alert("Data invalida");
    obj.focus();
    obj.value="";
    return (false);
  }

  if (dia.length == 1) {dia = "0" + dia;}
  if (mes.length == 1) {mes = "0" + mes;}

  return (obj.value=dia+'/'+mes+'/'+ano);
}
}
//FF_Data - Fim

//FF_Hora - Comeco
function FF_Hora(controle)
   {
   
	if (SoNumeros(controle,"0123456789:") == false) {
		return(false);
	}

   var wl_valor
   
   wl_valor = controle.value;
   
   if (wl_valor=="") 
      return;
   
   if (Len(wl_valor)!=5)   
      {
       alert("Hora invalida");
		controle.focus();
		controle.value="";
      }
      
   if ((parseInt(Left(wl_valor, 2))>23) || (parseInt(Right(wl_valor,2))>59))   
      {
       alert("Hora invalida");
		controle.focus();
		controle.value="";
      }      
      

   }     
//FF_Hora - Fim

//FF_Moeda - Comeco
function FF_RemoveMascaraMoeda(Controle,Tipo)
{
  var wl_string = ""    
  var i 
  var wl_numero = Controle.value        
  var wl_numeros = "0123456789"          
   
  for (i=0;i<=wl_numero.length-1;i++)
    {        
     if ((wl_numeros.search(wl_numero.substring(i,i+1))!=-1) && (wl_numero.substring(i,i+1)!=".") && (wl_numero.substring(i,i+1)!=","))                                  
       {     
        wl_string += wl_numero.substring(i,i+1);                             
       }     
     else
       {       
         if (wl_numero.substring(i,i+1) == Controle.SeparadorEntrada)
            {         
              if (Tipo == 1)
                 wl_string += Controle.SeparadorEntrada;
              else
                 wl_string += Controle.SeparadorSaida;
            }                    
       }     
    }                                  
    if (wl_string == "0" || wl_string == "0.00" || wl_string == "0,00")
        wl_string = "";
    
    return wl_string;                                     
} 

function FF_Moeda(Controle)
{  
    if (Controle.value!="")
     {       
        var wl_fixo,wl_decimal,wl_qtdepontos,wl_posinicio,wl_caracter
        var i
        var wl_valor = Controle.value;

        wl_fixo = InStr(wl_valor,Controle.SeparadorEntrada);        
        
        if (wl_fixo==0) 
          {
           wl_fixo    = wl_valor; 
           wl_decimal = ReplaceString(Controle.NumeroDecimais,"0");
          } 
        else
          {                    
          wl_decimal = Left(wl_valor.substring(wl_fixo+1,wl_valor.length) + ReplaceString(Controle.NumeroDecimais,"0"),Controle.NumeroDecimais);
          wl_fixo = Left(wl_valor,wl_fixo);                                   
          }                    
        
        wl_qtdepontos = Math.round((wl_fixo.length/3));
        if (wl_fixo.length % 3 == 0) 
           wl_qtdepontos = wl_qtdepontos - 1;            

        if (wl_qtdepontos>0)
          {
             wl_posinicio=3;
             for (i=1;i<=wl_qtdepontos;i++)
               {
               wl_fixo = Left(wl_fixo,wl_fixo.length-wl_posinicio) + Controle.SeparadorSaida + Right(wl_fixo,wl_posinicio);
               wl_posinicio += 4;
               }                    
             if (wl_fixo.substring(0,1) == Controle.SeparadorSaida)
                wl_fixo = wl_fixo.substring(1,wl_fixo.length) 
          }                      
        
        if (wl_fixo=="")
           wl_fixo=0;                    
              
       Controle.value = (wl_fixo + Controle.SeparadorEntrada + wl_decimal);               
     }   
    else
       return 0; 
}    
//FF_Moeda - Fim
  
//Tamanho da fonte - Comeco
var Tamanho=11;
function TextoTamanho(funcao)
{
	if(funcao=="aumenta")
	{
		if(Tamanho<22)
		{
			Tamanho=Tamanho+1;
			document.getElementById("Corpo").style.fontSize = Tamanho + "px";
		}
	}
	if(funcao=="diminui")
	{
		if(Tamanho>10)
		{
		Tamanho=Tamanho-1;
		document.getElementById("Corpo").style.fontSize = Tamanho + "px";			  
		}
	}
}
//Tamanho da fonte - Fim


function ValidaSomenteNumero(objEvent) {
	var Code;

	if (navigator.appName == 'Microsoft Internet Explorer') {
 		Code = objEvent.keyCode;
	} else if (navigator.appName == 'Netscape') {
 		Code = objEvent.which;
	}

	if ((Code > 47) && (Code < 58)) {
		return true;
	}
	else {
		if ((Code == 0) || (Code == 8) || (Code == 13)) {
			return true;
		}
		else {
			alert('Digite apenas numeros');
			return false;
		}
	}
}

function FormataReais(fld, milSep, decSep, e) {
	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) || (whichCode == 0) || (whichCode == 8)) return true;
	key = String.fromCharCode(whichCode); // Valor para o codigo da Chave
	if (strCheck.indexOf(key) == -1) return false; // Chave invalida
	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 formata(campo, mask, evt) {
 
 if(document.all) { // Internet Explorer
    key = evt.keyCode; }
    else{ // Nestcape
       key = evt.which;
     }

if (key == 8) {
return true;
}

 string = campo.value;  
 i = string.length;

 if (i < mask.length) {
  if (mask.charAt(i) == '?') {
       return (key > 47 && key < 58);
      } else {
       if (mask.charAt(i) == '!') {  return true;  }
   for (c = i; c < mask.length; c++) {
         if (mask.charAt(c) != '?' && mask.charAt(c) != '!')
         campo.value = campo.value + mask.charAt(c);
      else if (mask.charAt(c) == '!'){
                return true;
       } else {
         return (key > 47 && key < 58);
          }
       }
    }
  } else return false;
}




function VerificarEmail(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 = "\@.";
		obj.value = obj.value.toLowerCase();
		var checkStr = obj.value;
		var achar = true;
		var erro = false;
		i = 0;

		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++;
		}

		if (achar) {
			cta = 0;
			ctpp=0;
			for (i=0;i<checkStr.length;i++)
				if (checkStr.charAt(i)=='\@') {
					cta++;
					if ((checkStr.charAt(i+1)=='.') || (checkStr.charAt(i-1)=='.'))
						cta++;
				}
				for (i=0;i<checkStr.length;i++)
					if (checkStr.charAt(i)=='.')
						if (checkStr.charAt(i+1)=='.') ctpp++;
							if ((cta>1)||(ctpp!=0)) erro=true;
						if ((checkStr.charAt(0)=='\@') || (checkStr.charAt(0)=='.') || (checkStr.charAt(checkStr.length-1)=='\@') || (checkStr.charAt(checkStr.length-1)=='.'))
							erro = true;
						if ((checkStr.charAt(checkStr.length-4)!='.') && (checkStr.charAt(checkStr.length-3)!='.'))
							erro = true;
				}

				if ((erro)||(!achar))
				{
					alert("Digite o e-mail no formato user\@dominio");
					obj.value="";
					obj.focus();
					return (false);
				}

				var checkOK = "abcdefghijklmnopqrstuvwxyz0123456789\@%_-.";
				var allValid = true;

				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("O e-mail possui caracteres invalidos.");
					obj.value="";
					obj.focus();
					return (false);
				}
		else
			return(obj.value);
	}
}

function QuantidadeCaracteres(Campo, Quantidade, Mascara) {
	if ((Campo.value.length > 0) && (Campo.value.length != Quantidade))
		{
			if (Mascara != "")
			{
				alert("Formato: " + Mascara);
			}
			Campo.value = "";
			Campo.focus();
		}
}

function VerificarCaracteres(str1, str2)
{
	var chvalidos = str2;
	var i = 0;
	var valid = true;
	while ((i<str1.length) && (valid)) {
		valid = false;
		for(j=0; j<chvalidos.length; j++) {
			if (str1.charAt(i) == chvalidos.charAt(j)) {valid=true;}
		}
		i++;
	}
	if (!valid) {
		return false;
	}
	return true;
}

function ConsistirData(str) {
	if (str.length != 10 || str.charAt(2) != "/" || str.charAt(5) != "/")
		return false;

	if (VerificarCaracteres(str, "/0123456789") == false)
		return false;

	var d = str.substring(0,2);
	var m = str.substring(3,5);
	var y = str.substring(6,10);

  	if (d == 0 || m == 0 || y == 0)
		return false;

	if (m > 12)
		return false;

	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
		var dmax = 31;
	else
		if (m == 4 || m == 6 || m == 9 || m == 11)
			dmax = 30;
		else
			if ((y%400 == 0) || (y%4 == 0 && y%100 != 0))
				dmax = 29;
			else
				dmax = 28;

	if (d > dmax)
		return false;
	if (y < 1900)
		return false;
	return true;

}

function FF_FormatarData(Campo, teclapres)
{
	var vr = new String(Campo.value);
	var keypress;
	
	if(document.all)
		keypress = teclapres.keyCode;
	else
		keypress = teclapres.which;
    
	if (VerificarCaracteres(vr, "/0123456789") == false)
	{
		Campo.value = "";
		Campo.focus();
	}
	
	if (keypress != 13 && keypress != 8 && keypress != 9 && keypress != 46)
	{
		separacao = '/';
		vr = vr.replace("/", "");
				
	        if(document.all)
			event.returnValue = false;
				
		if (Campo.value.length == 2)
			Campo.value = Campo.value + separacao;
		if (Campo.value.length == 5)
			Campo.value = Campo.value + separacao;

		if(document.all)
			event.returnValue = true;
	}

	if (Campo.value.length == 10)
	{
		if (!ConsistirData(Campo.value))
		{
			alert("Data invalida.");
			Campo.value = "";
			Campo.focus();
		}
	}

	if (Campo.value.length > 10)
		Campo.value = Campo.value.substring(0,10);
}

function FF_FormatarData2(Campo, teclapres, AnoMax)
{
	var vr = new String(Campo.value);
	var keypress;
	
	if(document.all)
		keypress = teclapres.keyCode;
	else
		keypress = teclapres.which;
	
	if (VerificarCaracteres(vr, "/0123456789")==false)
	{
		Campo.value = "";
		Campo.focus();
	}

	if (keypress != 13 && keypress != 8 && keypress != 9 && keypress != 46)
	{
		separacao = '/';
		vr = vr.replace("/", "");
				
	        if(document.all)
			event.returnValue = false;
               
		if (Campo.value.length == 2) 
			Campo.value = Campo.value + separacao;
		if (Campo.value.length == 5) 
			Campo.value = Campo.value + separacao;

		if(document.all)
			event.returnValue = true;
	}

	if (Campo.value.length == 10)
	{
		if (!ConsistirData(Campo.value))
		{
			alert("Data invalida.");
			Campo.value = "";
			Campo.focus();
		}
		else
		{
			var Data = new Date();
			var AnoFut = Data.getYear() + AnoMax;
			var AnoPas = Data.getYear() - AnoMax;
			var AnoDig = Campo.value.substr(6,4);
			
			if (Math.round(AnoDig) >= Math.round(AnoFut))
			{
				if (!confirm("Atencao: Data igual ou superior a "+AnoMax+" anos.\nConfirma?"))
				{
					Campo.value = "";
					Campo.focus();
				}
			}
			if (Math.round(AnoDig) <= Math.round(AnoPas))
			{
				if (!confirm("Atencao: Data igual ou inferior a "+AnoMax+" anos.\nConfirma?"))
				{
					Campo.value = "";
					Campo.focus();
				}
			}
		}
	}

	if (Campo.value.length > 10)
		Campo.value = Campo.value.substring(0,10);
}

function ConsistirHora(str) {
	if (str.length != 5 || str.charAt(2) != ":")
		return false;

	if (VerificarCaracteres(str, ":0123456789") == false)
		return false;

	var h = str.substring(0,2);
	var m = str.substring(3,5);

	if (h.length != 2)
		return false;

	if (m.length != 2)
		return false;

	if (h > 23)
		return false;

	if (m > 59)
		return false;

	return true;
}

function FF_FormatarHora(Campo, teclapres)
{
	var vr = new String(Campo.value);
	var keypress;
	
	if(document.all)
		keypress = teclapres.keyCode;
	else
		keypress = teclapres.which;
    
	if (VerificarCaracteres(vr, ":0123456789") == false)
	{
		Campo.value = "";
		Campo.focus();
	}
	
	if (keypress != 13 && keypress != 8 && keypress != 9 && keypress != 46)
	{
		separacao = ':';
		vr = vr.replace(":", "");

		if(document.all)
			event.returnValue = false;

		if (Campo.value.length == 2)
			Campo.value = Campo.value + separacao;

		if(document.all)
			event.returnValue = true;
	}

	if (Campo.value.length == 5)
	{
		if (!ConsistirHora(Campo.value))
		{
			alert("Hora invalida.");
			Campo.value = "";
			Campo.focus();
		}
	}

	if (Campo.value.length > 5)
		Campo.value = Campo.value.substring(0,5);
}

function VerificarSomenteNumero(Campo) {
    if (VerificarCaracteres(Campo.value, "0123456789") == false)
    {
		alert("Digite apenas numeros.");
		Campo.value = "";
		Campo.focus();
    }
}

//INFO-Começo
var displayMensagem;
function criarDisplayMensagem() {
	displayMensagem = document.createElement("div");
	displayMensagem.id = "displayMensagem";
	displayMensagem.style.position = "absolute";
	displayMensagem.style.display = "none";
	displayMensagem.style.zIndex = 999;
	displayMensagem.style.backgroundColor = "#ffd600";
	displayMensagem.style.padding = "4px";
	displayMensagem.style.borderWidth = "1px";
	displayMensagem.style.borderColor = "#000000";
	displayMensagem.style.borderStyle = "solid";
	document.body.appendChild(displayMensagem);
    document.getElementById("displayMensagem").innerHTML = '<div style="position:absolute;top:-5px;left:10px;"><img src="/Imagens/mouseover.gif" width="9" height="5" border="0"></div> <span id="conteudoMensagem"></span>';
}
function FF_info(event,str,obj,cursor,tamanho) {
	if (!displayMensagem)
		criarDisplayMensagem(tamanho);
	document.getElementById("displayMensagem").style.left=event.clientX-25;
	document.getElementById("displayMensagem").style.top=((event.clientY+23)+document.body.scrollTop);
	document.getElementById("displayMensagem").style.textAlign='left';
	
	if (tamanho) {
	    document.getElementById("displayMensagem").style.width=tamanho;
	}
	
	document.getElementById("displayMensagem").style.display='';
	document.getElementById("conteudoMensagem").innerHTML = str;
	if (cursor)
		obj.style.cursor = cursor;
	obj.onmousemove = function (event) {
		event = event?event:window.event;
		document.getElementById("displayMensagem").style.left = (event.clientX>25)?(event.clientX-25):0;
		document.getElementById("displayMensagem").style.top = ((event.clientY+23)+document.body.scrollTop);
	}
	obj.onmouseout = function () {
		document.getElementById("displayMensagem").style.display='none';
	}
}
//INFO-Fim

function onUpdating(){
    FF_showPopWin('<span class=txt5>Aguarde...</span>', 300, 120, null, false, 'Aviso');
}
   
function onUpdated() {
    hidePopWin(false);
}
