// Julia main page animations - juliaEffects.js
//
// Copyright (c) 2007 Chrobis
// Created: 01/08/2007
// Last modified: 05/14/2008

//
// Universal page events
//
window.onload = pageLoad;
window.onresize = pageResize;

function pageLoad()
{
   showButtons(($('newsHolder').clientHeight), ($('newsHeadlines').clientHeight), ($('downButton')), ($('upButton')));
}

function pageResize()
{
   if ($('newsHolder').clientHeight > ($('newsHeadlines').clientHeight - currentPosition))
   {
      var newPosition = ($('newsHeadlines').clientHeight - ($('newsHolder').clientHeight));
      new Effect.ScrollVertical($('newsHolder'), {from: (currentPosition), to: (newPosition), duration:0, afterFinishInternal:function(){}});
      currentPosition = newPosition;
   }

   if (currentPosition < 0)
   {
      currentPosition = 0;
   }

   showButtons(($('newsHolder').clientHeight), $('newsHeadlines').clientHeight, $('downButton'), $('upButton'));
}



// Variables for div scrolling
var currentPosition = 0;

//
// Functions
//

// Scroll buttons
//

function showButtons(frame, insideHeight, downButton, upButton)
{
   if (insideHeight > frame)
   {
      if (currentPosition == 0)
      {
         downButton.style.visibility = 'visible';
         $('mainScroll').style.visibility = 'visible';
      }
      else if (currentPosition == insideHeight)
      {
         upButton.style.visibility = 'visible';
         $('mainScroll').style.visibility = 'visible';
      }
      else if (currentPosition > 0)
      {
         upButton.style.visibility = 'visible';
         downButton.style.visibility = 'visible';
         $('mainScroll').style.visibility = 'visible';
      }
   }

   if (insideHeight <= frame)
   {
      upButton.style.visibility = 'hidden';
      downButton.style.visibility = 'hidden';
      $('mainScroll').style.visibility = 'hidden';
   }
}

function scrollDown(frame, height, upButton, downButton)
{
   if (currentPosition < ((height - frame.clientHeight) - 200))
   {
      new Effect.ScrollVertical(frame, {from: (currentPosition), to: (currentPosition + 200)});
      currentPosition = currentPosition + 200;
   }
   else
   {
      remainingMove = ((height - frame.clientHeight)- currentPosition);
      new Effect.ScrollVertical(frame, {from: (currentPosition), to: (currentPosition + remainingMove), afterFinishInternal:function(){}});
      currentPosition = currentPosition + remainingMove;
      downButton.style.visibility = 'hidden';
   }

   upButton.style.visibility = 'visible';
   //alert(currentPosition + " of " + height + ", in " + frame.clientHeight);
   return false;
}

function scrollUp(frame, height, upButton, downButton)
{
   if (currentPosition >= 200)
   {
      new Effect.ScrollVertical(frame, {from: (currentPosition), to: (currentPosition - 200), afterFinishInternal:function(){}});
      currentPosition = currentPosition - 200;
   }

   else
   {
      new Effect.ScrollVertical(frame, {from: (currentPosition), to: (0), afterFinishInternal:function(){}});
      currentPosition = 0;
   }

   downButton.style.visibility = 'visible';
   //alert(currentPosition + " of " + height + ", in " + frame.clientHeight);

   if (currentPosition == 0)
   {
      upButton.style.visibility = 'hidden';
   }
   return false;
}