function flash(text, level, duration) {
  duration = duration || 5000;

  $('#flash').removeClass('success notice error').
              addClass(level).
              text(text).
              fadeIn('slow');

  setTimeout(function() {$('#flash').fadeOut('slow')}, duration);
}

function decode_location_hash() {
  var result = {};
  var items = decodeURIComponent(location.hash.replace(/^#/, '')).split(/\//);

  var i = 0;
  for(i = 0; i < items.length; i+=2) {
    result[items[i]] = items[i+1];
  }

  return result;
}

function encode_location_hash(options) {
  var result = [];

  for(var name in options) {
    if(options[name]) {
      result.push(name);
      result.push(options[name]);
    }
  }

  return encodeURIComponent(result.join('/'));
}

function set_location_hash(name, value) {
  var options = decode_location_hash();
  options[name] = value;
  location.hash = encode_location_hash(options);
}

$(document).ready(function() {
  $(document).bind('keypress', {combi:'/', disableInInput: true}, function() { $('#q').focus(); return false; });

  $('#register_link').click(function() {
    $.facebox(register_form_html());
    $('#logister_form #username').focus();
    return false;
  });

  $('#login_link').click(function() {
    $.facebox(login_form_html());
    $('#logister_form #username').focus();
    return false;
  });
});

