var wedding_datetime = new Date(2010, 11 - 1, 27, 10, 30);
var cached_server_time_value = null;

function server_time(){
  $.ajax({url: '/server_time.php', 
    async: false, dataType: 'text', 
    success: function(text) { 
      cached_server_time_value = new Date(Date.parse(text)); 
    }, error: function(http, message, exc) { 
      cached_server_time_value = new Date(); 
  }}); 
  return cached_server_time_value;
}

function cached_server_time(){
  return cached_server_time_value;
}

function launch_countdown_before(){
  $('header').append('<div id="countdown_before" class="countdown"></div>');
  $('#countdown_before').countdown({
    until: wedding_datetime,
    description: 'until the wedding',
    onExpiry: function(){
      $('#countdown_before').hide();
      server_time();
      launch_countdown_after();
    },
    alwaysExpire: true,
    serverSync: cached_server_time
  });
}

function launch_countdown_after(){
  $('header').append('<div id="countdown_after" class="countdown"></div>');
  $('#countdown_after').countdown({
    since: wedding_datetime,
    description: 'of married life!',
    serverSync: cached_server_time
  });
}

function launch_countdown(){
  if(server_time() < wedding_datetime) {
    launch_countdown_before();
  } else {
    launch_countdown_after();    
  }
}

$(function(){
  launch_countdown();

  if($('.log_in_button').length > 0) {
    $('body').append('<div id="log_in_dialog" style="display: none;"></div>');
    $('#log_in_dialog').load('/login_dialog.php').dialog({ autoOpen: false, modal: true, title: 'Log In', width: 440});
    $('.log_in_button').attr('href', '#').click(function(){
      $('#log_in_dialog').dialog('open');
      return false;
    });
  }
});
