var mPosX = null;
var mPosY = null;
var IE = false;
var FF = false;
var docHeight = 0;
var docWidth = 0;
var tipBox = 0;
var fi;
var ct;

if (document.all)
{
	IE = true;
	FF = false;
}
else
{
	IE = false;
	FF = true;
}

function getMousePosIE()
{
	mPosX=event.clientX;
	mPosY=event.clientY;
}

function getMousePosFF(e)
{
	mPosX=e.clientX;
	mPosY=e.clientY;
}

if (IE)
{
	document.onmousemove=getMousePosIE;
//	docHeight=document.body.clientHeight;
//	docWidth=document.body.clientWidth;
}
else
{
	document.onmousemove=getMousePosFF;
	docHeight=innerHeight;
	docWidth=innerWidth;
}

function ver(obj,visivel)
{
	var tip=document.getElementById(obj);
	tip.style.visibility=visivel;
}

function show(obj)
{
	var Obj=document.getElementById(obj);
	Obj.style.left=mPosX + 'px';
	Obj.style.top=mPosY-70 + 'px';
	Obj.style.visibility='visible';
}

function hide(obj)
{
	var Obj=document.getElementById(obj);
	Obj.style.visibility='hidden';
}

function closePopup(obj)
{
	var Obj=document.getElementById(obj);
	Obj.style.visibility='hidden';
}

function validaForm(obj)
{
  if (obj.wfc_nome.value == "" || obj.wfc_email.value == "" || obj.wfc_tel.value == "")
  {
	alert("Os campos:\nNome, E-mail e Telefone\nSão obrigatórios!");
  }
  else
  {
	obj.submit();
  }
}

function limpaForm(obj)
{
  obj.reset();
  obj.elements[0].focus();
}

function envia_form()
{
	frm = document.form1;
	if ((frm.wnome.value == "") && (frm.wassunto.value == "selecione"))
	{
		alert("Especifique o nome da empresa, ou o programa de certificação, para realizar a pesquisa.");
		return false;
	}
	else
	{
		frm.submit();
	}
}

function send_form()
{
	frm = document.form1;
	if ((frm.wnome.value == "") && (frm.wassunto.value == "selecione"))
	{
		alert("Please, specify the company's name, or certification program, to perform the search.");
		return false;
	}
	else
	{
		frm.submit();
	}
}

function initrc()
{
	fi=document.getElementById("interno");
	ct=document.getElementById("_ct");
}

function SwitchMenu(obj)
{
	if (document.getElementById)
	{
		var el = document.getElementById(obj);
		var ar = document.getElementById("cont").getElementsByTagName("DIV");
		if (el.style.display == "none")
		{
			for (var i=0; i<ar.length; i++)
			{
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}
		else
		{
			el.style.display = "none";
		}
	}
}

function ChangeClass(menu, newClass)
{
	if (document.getElementById)
	{
		document.getElementById(menu).className = newClass;
	}
}

function validarCNPJ_CPF(theCPF)
{

  if (theCPF.value == "")
  {
    alert("Campo inválido. É necessário informar o CPF ou CNPJ");
    theCPF.focus();
    return (false);
  }
  if (((theCPF.value.length == 11) && (theCPF.value == 11111111111) || (theCPF.value == 22222222222) || (theCPF.value == 33333333333) || (theCPF.value == 44444444444) || (theCPF.value == 55555555555) || (theCPF.value == 66666666666) || (theCPF.value == 77777777777) || (theCPF.value == 88888888888) || (theCPF.value == 99999999999) || (theCPF.value == 00000000000)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }


  if (!((theCPF.value.length == 11) || (theCPF.value.length == 14)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }

  var checkOK = "0123456789";
  var checkStr = theCPF.value;
  var allValid = true;
  var allNum = "";
  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;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Favor preencher somente com dígitos o campo CPF/CNPJ.");
    theCPF.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseFloat(allNum);
  if (chkVal != "" && !(prsVal > "0"))
  {
    alert("CPF zerado !");
    theCPF.focus();
    return (false);
  }

if (theCPF.value.length == 11)
{
  var tot = 0;

  for (i = 2;  i <= 10;  i++)
    tot += i * parseInt(checkStr.charAt(10 - i));

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(9)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }

  tot = 0;

  for (i = 2;  i <= 11;  i++)
    tot += i * parseInt(checkStr.charAt(11 - i));

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(10)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }
}
else
{
  var tot  = 0;
  var peso = 2;

  for (i = 0;  i <= 11;  i++)
  {
    tot += peso * parseInt(checkStr.charAt(11 - i));
    peso++;
    if (peso == 10)
    {
        peso = 2;
    }
  }

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(12)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }

  tot  = 0;
  peso = 2;

  for (i = 0;  i <= 12;  i++)
  {
    tot += peso * parseInt(checkStr.charAt(12 - i));
    peso++;
    if (peso == 10)
    {
        peso = 2;
    }
  }

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(13)))
  {
    alert("CPF/CNPJ inválido.");
    theCPF.focus();
    return (false);
  }
}
  return(true);
}

// **************** Fim da função validarCNPJ_CPF ************************************

function validarData(campo)
{
      dia = (campo.value.substring(0,2));
      mes = (campo.value.substring(3,5));
      ano = (campo.value.substring(6,10));
      correto = true;

      // verifica o dia valido para cada mes
      if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31)
      {    correto = false; }

      // verifica se o mes e valido
      if (mes < 01 || mes > 12 )
      {    correto = false; }

      // verifica se e ano bissexto
      if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4))))
      {    correto = false; }

      if (correto)
      {
          return(true);
      }
      else
      {
          alert("Data inválida.");
          campo.focus();
          return(false);
      }
}

// **************** Fim da função validarData ************************************

function validaCotacao(obj)
{
    var correto;
    correto = true;
    
    if (obj.razao.value == "")
    {
       alert("Favor, preencher o campo de Razão Social / Produtor, necessário para elaboração de nossa proposta.");
       correto = false;
    }

    if (obj.cnpj.value == "" && correto)
    {
       alert("Favor, preencher o campo de CNPJ / CPF, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (!validarCNPJ_CPF(obj.cnpj) && correto)
    {
       correto = false;
    }

    if (obj.reprlegal.value == "" && correto)
    {
       alert("Favor, preencher o campo Representante Legal / Contato, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (obj.logradouro.value == "" && correto)
    {
       alert("Favor, preencher o Logradouro do Endereço, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (obj.cidade.value == "" && correto)
    {
       alert("Favor, preencher a Cidade do Endereço, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (obj.uf.value == "00" && correto)
    {
       alert("Favor, preencher a UF do Endereço, necessário para elaboração de nossa proposta.");
       correto = false;
    }

    if (obj.cep.value == "" && correto)
    {
       alert("Favor, preencher o CEP do Endereço, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (obj.fone.value == "" && correto)
    {
       alert("Favor, preencher o Telefone, necessário para elaboração de nossa proposta.");
       correto = false;
    }

    if (obj.email.value == "" && correto)
    {
       alert("Favor, preencher o E-mail, necessário para elaboração de nossa proposta.");
       correto = false;
    }

    if (obj.validadecert.value != "" && correto)
    {
        if (!validarData(obj.validadecert))
        { correto = false; }
    }

    if (obj.assunto.value == "0" && correto)
    {
       alert("Favor, preencher o Programa de Certificação desejado, necessário para elaboração de nossa proposta.");
       correto = false;
    }
    
    if (correto)
    {
       obj.submit();
    }
}

/***************** Funções de máscara para campos de formulário ******************************/
    function Mascara(o,f)
    {
        v_obj=o
        v_fun=f
        setTimeout("execmascara()",1)
    }

    /*Função que Executa os objetos*/
    function execmascara()
    {
        v_obj.value=v_fun(v_obj.value)
    }

    /*Função que Determina as expressões regulares dos objetos*/
    function leech(v)
    {
        v=v.replace(/o/gi,"0")
        v=v.replace(/i/gi,"1")
        v=v.replace(/z/gi,"2")
        v=v.replace(/e/gi,"3")
        v=v.replace(/a/gi,"4")
        v=v.replace(/s/gi,"5")
        v=v.replace(/t/gi,"7")
        return v
    }

    /*Função que permite apenas numeros*/
    function Integer(v)
    {
        return v.replace(/\D/g,"")
    }

    /*Função que padroniza telefone (11) 4184-1241*/
    function Telefone(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2")
        v=v.replace(/(\d{4})(\d)/,"$1-$2")
        return v
    }

    /*Função que padroniza telefone (11) 41841241*/
    function TelefoneCall(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2")
        return v
    }

    /*Função que padroniza CPF*/
    function Cpf(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/(\d{3})(\d)/,"$1.$2")
        v=v.replace(/(\d{3})(\d)/,"$1.$2")

        v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2")
        return v
    }

    /*Função que padroniza CEP*/
    function Cep(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/^(\d{5})(\d)/,"$1-$2")
        return v
    }

    /*Função que padroniza CNPJ*/
    function Cnpj(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/^(\d{2})(\d)/,"$1.$2")
        v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3")
        v=v.replace(/\.(\d{3})(\d)/,".$1/$2")
        v=v.replace(/(\d{4})(\d)/,"$1-$2")
        return v
    }

    /*Função que permite apenas numeros Romanos*/
    function Romanos(v)
    {
        v=v.toUpperCase()
        v=v.replace(/[^IVXLCDM]/g,"")

        while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
            v=v.replace(/.$/,"")
        return v
    }

    /*Função que padroniza o Site*/
    function Site(v)
    {
        v=v.replace(/^http:\/\/?/,"")
        dominio=v
        caminho=""
        if(v.indexOf("/")>-1)
            dominio=v.split("/")[0]
            caminho=v.replace(/[^\/]*/,"")
            dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
            caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
            caminho=caminho.replace(/([\?&])=/,"$1")
        if(caminho!="")dominio=dominio.replace(/\.+$/,"")
            v="http://"+dominio+caminho
        return v
    }

    /*Função que padroniza DATA*/
    function Data(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/(\d{2})(\d)/,"$1/$2")
        v=v.replace(/(\d{2})(\d)/,"$1/$2")
        return v
    }

    /*Função que padroniza HORA*/
    function Hora(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/(\d{2})(\d)/,"$1:$2")
        return v
    }

    /*Função que padroniza valor monétario*/
    function Valor(v)
    {
        v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
        v=v.replace(/^([0-9]{3}\.?){3}-[0-9]{2}$/,"$1.$2");
        //v=v.replace(/(\d{3})(\d)/g,"$1,$2")
        v=v.replace(/(\d)(\d{2})$/,"$1.$2") //Coloca ponto antes dos 2 últimos digitos
        return v
    }

    /*Função que padroniza Area*/
    function Area(v)
    {
        v=v.replace(/\D/g,"")
        v=v.replace(/(\d)(\d{2})$/,"$1.$2")
        return v

    }
    
// ***************** Fim do bloco das funções de máscaras *************************************



