var current_page = 0;
var guestbook_url = "guestbook.php";
var guestbook_request;

function updateGuestbook()
{
  guestbook_request.send(guestbook_url, "currentPage=" + current_page);
}

function SetCurrentPage(number)
{
  current_page = number;
  if (current_page < 0)
     current_page = 0;
  updateGuestbook();
}

function hideSignForm()
{
   $('myForm').setStyle('visibility', 'hidden');
}

function showSignForm()
{
   $('myForm').setStyle('visibility', 'visible');
}

function addPageLinkEvents()
{
   var counter = 1;
   while($('gotoPage' + counter))
   {
     name = 'gotoPage' + counter;

     $(name).page = counter;
     $(name).addEvent('click', function(e)
     {
         e = new Event(e).stop();
         SetCurrentPage(this.page - 1);
     });
     counter = counter + 1;
   }
}

function addPrevNextLinkEvents()
{
   if($('prev-book-page'))
   {
      $('prev-book-page').addEvent('click', function(e)
      {
         e = new Event(e).stop();
         SetCurrentPage(current_page-1);
      });
   }

   if($('next-book-page'))
   {
      $('next-book-page').addEvent('click', function(e)
      {
         e = new Event(e).stop();
         SetCurrentPage(current_page+1);
      });
   }
}

function addFormEvent()
{
   $('myForm').addEvent('submit', function(e)
   {
      new Event(e).stop();
      if($('mail').getValue().match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) == null)
      {
         $('guestbookerror').setHTML("<br/><span class=\"guestbook_error\">Erro: endereço de e-mail inválido.</span><p/>");
      }
      else if($('name').getValue().length <= 1)
      {
         $('guestbookerror').setHTML("<br/><span class=\"guestbook_error\">Erro: nome inexistente.</span><p/>");
      }
      else if($('comment').getValue().length <= 1)
      {
         $('guestbookerror').setHTML("<br/><span class=\"guestbook_error\">Erro: comentário inexistente.</span><p/>");
      }
      else
      {
         hideSignForm();
         SetCurrentPage(0);

         this.send(
         {
            onComplete: function()
            {
               updateGuestbook();
            }
         });
      }
   });
}

function loadGuestbook(e)
{
   guestbook_request = new XHR(
   {
      method:'post',
      onRequest:function()
      {
         if($('loading_guestbook'))
            $('loading_guestbook').setHTML("<p>Carregando livro de visitas...  <img src=\"../images/loader.gif\"/></p>");
      },
      onSuccess: function()
      {
         $('content').setHTML(this.response.text);

         $('signGuestbook').addEvent('click', function(e)
         {
            showSignForm();
         });

         addPrevNextLinkEvents();
         addPageLinkEvents();
         addFormEvent();
      }
   })
   updateGuestbook();
}
