var init = false;
var mov = false;
var ctr = false;
var x = 50;
var dirX = 1;
var y = 50;
var dirY = 1;
var minX = 35;
var maxX = 65;
var minY = 30;
var maxY = 65;
var offsetX = 0.6;
var offsetY = 0.4;

function move()
{
   var oX = offsetX;
   var oY = offsetY;
   if (ctr)
   {
      if (x>=50)
         var dX = Math.round(x)-50;
      else
         var dX = 50-Math.round(x);
      var sX = dX / offsetX;
      if (y>=50)
         var dY = Math.round(y)-50;
      else
         var dY = 50-Math.round(y);
      var sY = dY / offsetY;
      if (sX>=sY)
         var oY = dY / sX;
      else 
         var oX = dX / sY;
   }
   if (Math.round(x)==50 && ctr)
   {
      x = 50;
   } else {
      if (dirX > 0 && x > maxX) 
         dirX = -1;
      else if (dirX < 0 && x < minX) 
         dirX = 1;
      x += dirX * oX;
   }
   if (Math.round(y)==50 && ctr)
   {
      y = 50;
   } else {
      if (dirY > 0 && y > maxY) 
         dirY = -1;
      else if (dirY < 0 && y < minY) 
         dirY = 1;
      y += dirY * oY;
   }
   document.getElementById('sun').style.left = x +'%';
   document.getElementById('sun').style.top  = y +'%';
}

function startMove()
{
   if (document.getElementById('home') && document.getElementById('sun'))
   {
      if (mov) clearInterval(mov);
      if (!init)
      {
         var lis = document.getElementById('navigation').getElementsByTagName('li');
         for (var i=0;i<lis.length;i++)
         {
            if (lis[i].addEventListener)
            {
               lis[i].addEventListener('mouseover', pauseMove, false);
               lis[i].addEventListener('mouseout',  resumeMove, false);
            } else if (lis[i].attachEvent) {
               lis[i].attachEvent('onmouseover', pauseMove);
               lis[i].attachEvent('onmouseout',  resumeMove);
            }
         }
         init = true;
      }
      if (!ctr || x!=50) mov = setInterval('move()', 40);
   }
}

function pauseMove()
{
   if (!ctr)
   {
      if (x>50) dirX = -1;
      else      dirX = 1;
      if (y>50) dirY = -1;
      else      dirY = 1;
      ctr = true;
   }
}

function resumeMove()
{
   if (dirX>0) dirX = -1;
   else dirX = 1;
   if (dirY>0) dirY = -1;
   else dirY = 1;
   ctr = false;
   setTimeout('startMove()', 1500);
}

function loadP()
{
   window.setTimeout('goHome()', 300000);
   window.setTimeout('startMove()', 1500);
}

function goHome() 
{
   if (window.location.href.indexOf('index.html')<0)
      window.location.href='index.html';
}

window.onload = loadP;