function createXHR(){

    var request = false;

        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }

        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
                try {
                        request = new XMLHttpRequest();
                }
                catch (err1)
                {
                        request = false;
                }
            }
        }

    return request;

}

function cookieset (nome, valor, expira){

   var exdate = new Date();
   exdate.setDate (exdate.getDate() + expira);
   document.cookie = nome+ '=' +escape(valor)+ ';expires=' +exdate.toGMTString();

}

function valida_email (email) {

   var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

   if(filter.test(email)){
   return true;
   }else{
   return false;
   }

}

function fonteset (qual){

   var fontes = new Array ('P', 'M', 'G');
   var sizes = new Array ('90', '100', '110');

   for (x = 0; x < fontes.length; x++){

      var linka = document.getElementById('fonte_' +fontes[x]);

      if (fontes[x] == qual){

         cookieset ('fonte', fontes[x], 90);
         linka.className = 'linkcl';
         document.body.style.fontSize = sizes[x]+ '%';

      }else{
      linka.className = 'linksl';
      }

   }

}

function popup (a_str_windowURL, a_int_windowWidth, a_int_windowHeight) {

   var int_windowLeft = (screen.width - a_int_windowWidth) / 2;
   var int_windowTop = (screen.height - a_int_windowHeight) / 2;
   var str_windowProperties = 'height=' + a_int_windowHeight + ',width=' + a_int_windowWidth + ',top=' + int_windowTop + ',left=' + int_windowLeft + ',scrollbars=0,resizable=0,menubar=0,toolbar=0,location=0,statusbar=0,fullscreen=0';

   var obj_window = window.open (a_str_windowURL, 'popupjs', str_windowProperties);

   if (parseInt(navigator.appVersion) >= 4) {
   obj_window.window.focus();
   }

}

function agenda_calendario_muda (m, y){

   document.getElementById('agenda_calendario_div').innerHTML = '<img src="/img/ajax_loading.gif">';

   var requestCalendario = createXHR();

   requestCalendario.onreadystatechange  = function(){

      if (requestCalendario.readyState  == 4){

         if (requestCalendario.status  == 200){
         document.getElementById('agenda_calendario_div').innerHTML = requestCalendario.responseText;
         }else{
         document.getElementById('agenda_calendario_div').innerHTML = "Erro: " +requestCalendario.status;
         }

      }

   }

   requestCalendario.open('GET', '/agenda/' +y+ '/' +m+ '//cal',  true);
   requestCalendario.send('NULL');

}

function newsletter_realiza (){

   var form_src = document.form_newsletter;
   var img_load = document.getElementById('newsletter_load');
   var erro = '';

   // E-Mail
   if (!form_src.email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!valida_email(form_src.email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (form_src.nome.value.length < 3 || form_src.nome.value == 'Nome'){
   erro = 'Informe o nome';
   }

   if (erro){
   alert (erro);
   }else{

       img_load.style.display = 'inline';
       var post_values = 'nome=' +form_src.nome.value+ '&email=' +form_src.email.value;

       var request = createXHR();

       request.onreadystatechange  = function(){

          if (request.readyState  == 4){

             img_load.style.display = 'none';

             if (request.status  == 200){

                var resposta = request.responseText;

                if (resposta == 'ok'){
                alert ('Obrigado !\nSeu e-mail foi inserido ao nosso banco de dados com sucesso.');
                }

                if (resposta == 'repetido'){
                alert ('Seu e-mail já se encontra cadastrado em nosso banco de dados.');
                }

                if (resposta == 'erro'){
                alert ('Erro\nPor favor, tente novamente mais tarde');
                }

             }else{

                alert ('Erro\nPor favor, tente novamente mais tarde');

             }

          }

       }

       request.open ('POST', '/newsletter',  true);
       request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
       request.send (post_values);

   }

}

function voto (ID){

   var opcoes = document.formEnquete.escolha;
   var html_volta = document.getElementById('formEnquete');
   var escolhido = 0;

   for (x = 0; x < opcoes.length; x++){

      if (opcoes[x].checked == true){
         escolhido = opcoes[x].value;
      }

   }

   if (escolhido){

      html_volta.innerHTML = '<div class="aguarde"><img src="/img/ajax_loading.gif">Aguarde</div>';

      var request = createXHR();

      request.onreadystatechange = function(){

         if (request.readyState == 4){

            if (request.status == 200){
            html_volta.innerHTML = request.responseText;
            }else{
            html_volta.innerHTML = '<ul><li class="aguarde"><img src="/img/erro.gif">Erro</li><li>Um erro ocorreu ao computar o seu voto. Por favor, tente novamente mais tarde</li><li><a href="javascript:void(0)" onclick="javascript:document.getElementById(\'resp\').innerHTML = html_volta;"><< voltar</a></ul>';
            }

         }

      }

      request.open('GET', '/enquete/' +ID+ '/' +escolhido,  true);
      request.send('NULL');

   }else{

      alert ('Escolha uma das opções');

   }

}

function parseUri(sourceUri){

    var uriPartNames = ["source","protocol","authority","domain","port","path","directoryPath","fileName","query","anchor"];
    var uriParts = new RegExp("^(?:([^:/?#.]+):)?(?://)?(([^:/?#]*)(?::(\\d*))?)?((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[\\?#]|$)))*/?)?([^?#/]*))?(?:\\?([^#]*))?(?:#(.*))?").exec(sourceUri);
    var uri = {};

    for(var i = 0; i < 10; i++){
        uri[uriPartNames[i]] = (uriParts[i] ? uriParts[i] : "");
    }


    if(uri.directoryPath.length > 0){
        uri.directoryPath = uri.directoryPath.replace(/\/?$/, "/");
    }

    return uri;
}

function onLine(){

      referrer = '';
      parseUrl = parseUri(document.location);
      parseRef = parseUri(document.referrer);
      urlAtual = parseUri(document.location);

      if (parseUrl['domain'] != parseRef['domain']){
      referrer = escape (document.referrer);
      }

      urlBoa = urlAtual['path'];

      if (urlAtual['query']){
      urlBoa += '?' +urlAtual['query'];
      }

      var online = createXHR();

      online.open('POST', '/online',  true);
      online.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      online.send('resolucao=' +screen.width+ 'x' +screen.height+ '&url=' +urlBoa+ '&referer=' +referrer);

      setTimeout ("onLine()", 240000);


}

function contatos_envia (){

   var cont_nome = document.getElementById('cont_nome');
   var cont_email = document.getElementById('cont_email');
   var cont_bairro = document.getElementById('cont_bairro');
   var cont_mensagemc = document.getElementById('cont_mensagemc');
   var cont_part_sim = document.getElementById('cont_part_sim').checked;
   var cont_env = document.getElementById('cont_env');
   var mensagem_aguarde = '<div class="mensagem"><img src="/img/loading_big.gif" /><p class="tit aguarde">Aguarde</p><p class="desc">Enviando o seu formulário ...</p>';
   var mensagem_erro_geral = '<div class="mensagem"><img src="/img/erro.gif" /><p class="tit erro">Um erro ocorreu</p><p class="desc">Por favor, tente novamente mais tarde</p>';

   var erro = '';

   // Mensagem
   if (cont_mensagemc.value.length < 10){
   erro = 'Digite a sua mensagem';
   }

   // E-Mail
   if (!cont_email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!valida_email(cont_email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (cont_nome.value.length < 3){
   erro = 'Informe o seu nome';
   }

   if (erro){
   alert (erro);
   }else{

       var post_values = 'nome=' +cont_nome.value+ '&email=' +cont_email.value+ '&bairro=' +cont_bairro.value+ '&mensagem=' +cont_mensagemc.value;
       cont_env.innerHTML = mensagem_aguarde;  

       if (cont_part_sim){
       post_values += '&newsletter=1';
       }

       var request = createXHR();

       request.onreadystatechange  = function(){

          if (request.readyState  == 4){

             if (request.status  == 200){
             cont_env.innerHTML = request.responseText;
             }else{
             cont_env.innerHTML = mensagem_erro_geral;
             }

          }

       }

       request.open ('POST', '/contatos',  true);
       request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
       request.send (post_values);

   }

}

function recomenda_envia (){

   var materia = document.getElementById('env_materia');
   var url = document.getElementById('env_url');
   var nome = document.getElementById('env_nome');
   var email = document.getElementById('env_email');
   var emails = document.getElementById('env_emails');
   var envio = document.getElementById('envio');
   var cont_part_sim = document.getElementById('cont_part_sim').checked;
   var mensagem_aguarde = '<div class="mensagem"><img src="/img/loading_big.gif" /><p class="tit aguarde">Aguarde</p><p class="desc">Enviando o seu formulário ...</p>';
   var mensagem_erro_geral = '<<div class="mensagem"><img src="/img/erro.gif" /><p class="tit erro">Um erro ocorreu</p><p class="desc">Tente novamente mais tarde</p>';

   var erro = '';

   // E-Mails
   if (emails.value.length < 3){
   erro = 'Informe um ou mais e-mails para o envio';
   }

   // E-Mail
   if (!email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!valida_email(email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (nome.value.length < 3){
   erro = 'Informe o seu nome';
   }

   if (erro){
   alert (erro);
   }else{

       envio.innerHTML = mensagem_aguarde;
       var post_values = 'acao=envio&materia=' +materia.value+ '&url=' +url.value+ '&nome=' +nome.value+ '&email=' +email.value+ '&emails=' +emails.value;

       if (cont_part_sim){
       post_values += '&newsletter=1';
       }

       var request = createXHR();

       request.onreadystatechange  = function(){

          if (request.readyState  == 4){

             if (request.status  == 200){
             envio.innerHTML = request.responseText;
             }else{
             envio.innerHTML = mensagem_erro_geral;
             }

          }

       }

       request.open ('POST', '/envio',  true);
       request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
       request.send (post_values);

   }

}

function cadastro_envia (){

   var cad_nome = document.getElementById('cad_nome');
   var cad_email = document.getElementById('cad_email');
   var cad_nascimento = document.getElementById('cad_nascimento');
   var cad_naturalidade = document.getElementById('cad_naturalidade');
   var cad_endereco = document.getElementById('cad_endereco');
   var cad_complemento = document.getElementById('cad_complemento');
   var cad_cep = document.getElementById('cad_cep');
   var cad_cidade = document.getElementById('cad_cidade');
   var cad_estado = document.getElementById('cad_estado');
   var cad_rg = document.getElementById('cad_rg');
   var cad_cpf = document.getElementById('cad_cpf');
   var cad_nome_pai = document.getElementById('cad_nome_pai');
   var cad_nome_mae = document.getElementById('cad_nome_mae');
   var cad_tel_fixo = document.getElementById('cad_tel_fixo');
   var cad_tel_celular = document.getElementById('cad_tel_celular');
   var cad_estudante = document.getElementById('cad_estudante');
   var cad_serie = document.getElementById('cad_serie');
   var cad_onde = document.getElementById('cad_onde');
   var cad_curso = document.getElementById('cad_curso');
   var cont_env = document.getElementById('cont_env');
   var cad_experi = document.getElementById('cad_experi');
   
   var mensagem_aguarde = '<div class="mensagem"><img src="/img/loading_big.gif" /><p class="tit aguarde">Aguarde</p><p class="desc">Enviando o seu formulário ...</p>';
   var mensagem_erro_geral = '<div class="mensagem"><img src="/img/erro.gif" /><p class="tit erro">Um erro ocorreu</p><p class="desc">Por favor, tente novamente mais tarde</p>';

   var erro = '';

   // E-Mail
   if (!cad_email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!valida_email(cad_email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (cad_nome.value.length < 3){
   erro = 'Informe o seu nome';
   }
   
   // CPF
   if (cad_cpf.value.length < 3){
   erro = 'Informe o seu cpf';
   }
   
   // RG
   if (cad_rg.value.length < 3){
   erro = 'Informe o seu RG';
   }   
   
   // Cidade
   if (cad_cidade.value.length < 3){
   erro = 'Informe o sua cidade';
   }     

   if (erro){
   alert (erro);
   }else{

       var post_values = 'nome=' +cad_nome.value
	   + '&email=' +cad_email.value
	   + '&nascimento=' +cad_nascimento.value	   
	   + '&endereco=' +cad_endereco.value
	   + '&complemento=' +cad_complemento.value
	   + '&cep=' +cad_cep.value
	   + '&cidade=' +cad_cidade.value
	   + '&estado=' +cad_estado.value
	   + '&rg=' +cad_rg.value
	   + '&nascimento=' +cad_nascimento.value
	   + '&cpf=' +cad_cpf.value
	   + '&nome_pai=' +cad_nome_pai.value
	   + '&nome_mae=' +cad_nome_mae.value
	   + '&tel_fixo=' +cad_tel_fixo.value
	   + '&tel_celular=' +cad_tel_celular.value
	   + '&estudante=' +cad_estudante.value
	   + '&serie=' +cad_serie.value
	   + '&onde=' +cad_onde.value
	   + '&curso=' +cad_curso.value
	   + '&experiencia=' +cad_experi.value;
	   
       cont_env.innerHTML = mensagem_aguarde;  


       var request = createXHR();

       request.onreadystatechange  = function(){

          if (request.readyState  == 4){

             if (request.status  == 200){
             cont_env.innerHTML = request.responseText;
             }else{
             cont_env.innerHTML = mensagem_erro_geral;
             }

          }

       }

       request.open ('POST', '/cadastro',  true);
       request.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
       request.send (post_values);

   }

}
function entrar (){

   var nome = document.formentrar.nome;
   var email = document.formentrar.email;
   var erro = '';

   // E-Mail
   if (!email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!valida_email(email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (nome.value.length < 3){
   erro = 'Informe o seu nome';
   }

   if (!erro){
   return true;
   }else{

      alert (erro);
      return false;

   }

}

// Insere o usuário online
onLine();

