
$(function(){
  $(window).hashchange(execMovieOverlayAction);
  execMovieOverlayAction();
  
  if (typeof SHOW_MOVIE_OVERLAY != 'undefined') {
    location.hash = '#movieoverlay';
  }
});

var overlay;
var movieOverlayMenuItem;
var hiddenObjects;

function getMovieOverlayMenuItem() {
  if (!movieOverlayMenuItem) {
    movieOverlayMenuItem = $('#movieoverlay-item');
  }
  return movieOverlayMenuItem;
}


function execMovieOverlayAction() {
  switch (location.hash) {
    // show Movie Overlay
    case '#movieoverlay':
      // init overlay element if it doesn't exist
      if (!overlay) {
        overlay = $(document.createElement('div'));
        overlay.attr('id', 'overlay');
        overlay.click(function(){
          window.location.hash = '';
        });
        overlay.hide();
        $(document.body).append(overlay);
      }
      
      // hide object and embed elements
      hiddenObjects = $('#page object, #page embed');
      hiddenObjects.css('visibility', 'hidden');
      
      // load the flash
      overlay.load('movie-overlay.php', function() {
        $('#movie-overlay').click(function(e){
          if (e.target.tagName == 'A') {
            window.open(e.target.href);
          }
          e.stopPropagation();
          e.preventDefault();
          return false;
        });
        overlay.show();
        getMovieOverlayMenuItem().addClass('active');
      });
      break;
      
    // hide movie overlay
    case '#':
    case '':
      if (overlay) {
        // show any object and embed tags that were hidden
        if (hiddenObjects) {
          hiddenObjects.css('visibility', 'visible');
          hiddenObjects = null;
        }
        
        // unload the flash
        overlay.hide();
        overlay.html('');
        getMovieOverlayMenuItem().removeClass('active');
      }
      break;
  }
}

function closeMovieOverlay() {
  location.hash = '';
}


