// write a stylesheet to hide pink panel immediately
document.write('<style type="text/css" media="screen"> .not-front #main { visibility:hidden; width:0px; }</style>');

// runs when DOM is ready
$(document).ready(
  function() {
    if ($('body').hasClass('front')) {
      // preload pink panel background & IE6 pink nav
      var pink = new Image();
      if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) {
        pink.src = '/_images/pink.gif';
        var nav = new Image();
        nav.src = '/_images/navigation.gif';
      }
      else pink.src = '/_images/pink.png';
    }

    // hide home images
    $('.front #jam-cam').fadeOut(10);
    $('.front .fade').fadeOut(10);
    
    // animate non-homepage main pink panel
    $('.not-front #navigation').css('display', 'none');
    $('.not-front #main').css( 'visibility', 'visible' );
    $('.not-front #main').animate( { 'width':'939' }, 400, function() {
      $('.not-front #navigation').css('display', 'block');
    });
    
    // install homepage fade functions as jquery object data
    $('.front .fade').data('fadeFunction', function() {
      $(this).fadeTo(randTime(), randTrans('min'), function() {
        $(this).fadeTo(randTime(), randTrans('max'), $(this).data('fadeFunction'));
      });
    });
    
    // attach homepage hover events
    $('.front .fade').hover(
      function() {
        $(this).stop();
        $(this).fadeTo(100, 1);
      },
      function() {
        $(this).fadeIn(10, $(this).data('fadeFunction'));        
        $(this).data('fadeFunction')();
      }
    );
  }
);

// runs after all page images load
$(window).load(
  function() {
    
    // unhide homepage images & start fades
    $('.front #jam-cam').fadeIn(200);
    $('.front #star-phone').fadeIn(500, $('#star-phone').data('fadeFunction'));
    $('.front #star-check').fadeIn(800, $('#star-check').data('fadeFunction'));
    $('.front #star-pump').fadeIn(1100, $('#star-pump').data('fadeFunction'));
  }
);

function randTime() {
  return 1300 - Math.random() * 500;
}

function randTrans(state) {
  if (state == 'max') return 0.97 - Math.random() * 0.04;
  else if(state == 'min') return 0.77 - Math.random() * 0.12;
}


