$(window).load(align_footer);
$(window).resize(align_footer);
$('#content').resize(align_footer);

var content_is_loading    = false;
var content_is_fading_out = false;

function align_footer()
{
  if($(window).height() > $("#content").height() - 609)
  {
    $("#content").css("min-height", $(window).height() - 609);
  }
}

function open_page(page)
{
  // do not change page if requested page is current page
  if(current_page != page)
  {
    // set status vars
    content_is_loading    = true;
    content_is_fading_out = true;

    next_page = page;
  
    // load content of requestet page
    $('#content_' + next_page).load('/templates/content_' + next_page + '.php', on_content_load_ready);

    // scroll to top
    $('html').animate({scrollTop: 0}, 2000);
  
    if(current_page == 'home' && next_page != 'home')
    {
      // fade out slideshow
      $('#slideshow_movieclip').externalInterface({method:'fade_out'});
      $('#slideshow_wrapper').fadeOut(1000);
    }
    else if(current_page != 'home' && next_page == 'home')
    {
      // fade out bread crumb navigation
      $('#bread_crumb').fadeOut(1000);
    }

    // fade out content
    $('#content').fadeOut(1000, on_content_fade_out_ready);
  
    // fade out bread crumb navigation text (slide effect)
    $('#bread_crumb_blend').animate({marginLeft: -64}, 1000); return false;
  }
}

function on_content_load_ready()
{
  if(content_is_fading_out == false)
  {
    content_swap_page();
  }
  
  content_is_loading = false;
}

function on_bread_crumb_load_ready(data)
{
  $('#bread_crumb_list').html(data);

  // fade in bread crumb navigation text (slide effect)
  $('#bread_crumb_blend').animate({marginLeft: 576}, 1000); return false;
}

function on_content_fade_out_ready()
{
  if(content_is_loading == false)
  {
    content_swap_page();
  }

  content_is_fading_out = false;
}

function content_swap_page()
{
  document.getElementById('content_' + current_page).style.display    = 'none';
  document.getElementById('content_' + next_page).style.display       = 'block';
  
  // ensure nested elements being hidden/displayed in IE <= 8
  document.getElementById('content_' + current_page).style.visibility = 'hidden';
  document.getElementById('content_' + next_page).style.visibility    = 'visible';

  current_page = next_page;
  next_page    = null;
  
  if(current_page == 'home')
  {
    // not required for jquery fade in
    // document.getElementById('slideshow_wrapper').style.display    = 'block';
    document.getElementById('bread_crumb').style.display          = 'none';

    // ensure nested elements being hidden/displayed in IE <= 8
    document.getElementById('slideshow_wrapper').style.visibility = 'visible';
    document.getElementById('bread_crumb').style.visibility       = 'hidden';
  
    $('#slideshow_movieclip').externalInterface({method:'fade_in'});
    $('#slideshow_wrapper').fadeIn(1000);
  }
  else
  {
    document.getElementById('slideshow_wrapper').style.display    = 'none';
    // not required for jquery fade in
    // document.getElementById('bread_crumb').style.display          = 'block';

    // ensure nested elements being hidden/displayed in IE <= 8
    document.getElementById('slideshow_wrapper').style.visibility = 'hidden';
    document.getElementById('bread_crumb').style.visibility       = 'visible';

    $('#bread_crumb').fadeIn(1000);
  }
  
  align_footer();
  
  // get and set page title
  $.ajax({
    type: "POST",
    url: "/ajax/get_page_title.php",
    data: "page=" + current_page,
    success: function(data) { document.title = data; } });

  // get and set bread crumb navigation text
  $.ajax({
    type: "POST",
    url: "/ajax/get_bread_crumb_text.php",
    data: "page=" + current_page,
    success: on_bread_crumb_load_ready });

  $('#content').fadeIn(1000);
}

var current_entry = 1;
var next_entry    = null;

function open_history_entry(entry)
{
  // do not reload entry if requested entry is current entry
  if(current_entry != entry)
  {
    next_entry = entry;

    // fade our currennt entry
    $('#history_entry_image').fadeOut(1000);
    $('#history_entry_text').fadeOut(1000, on_history_entry_fade_out_ready);
  }
}

function on_history_image_load()
{
  $('#history_entry_image').fadeIn(1000);
}

function on_history_entry_fade_out_ready()
{
  // set entry image
  document.getElementById('history_entry_image').src = '/images/history/history_' + next_entry + '.jpg';
  document.getElementById('history_entry_image').onload = on_history_image_load;

  // load description of requestet entry
  $('#history_entry_text').load('/templates/history/entry_' + next_entry + '.php', on_history_entry_load_ready);
}

function on_history_entry_load_ready()
{
  current_entry = next_entry;
  next_entry    = null;

  $('#history_entry_text').fadeIn(1000);
}
