var rbCenter = false;
var rbLastScrollTop = null;
var rbSimulateTop = 0;

function rbSupportsFixed() {
  if ( $.browser.msie && $.browser.version < 7.0 ) {
    return false;
  }
  return true;
}

function rbResize() {
  var x, y, w, h;
  var width = $(window).width();
  var height = $(window).height();
  var $img = $('#rbBackground');
  if (rbCenter) {
    if ($img.width() === 0) {
      // We don't know the width yet, the image
      // hasn't loaded. Set a timer to try again.
      setTimeout("rbResize()", 1000);
      return;
    }
    w = width;
    h = width * ($img.height() / $img.width());
    x = 0;
    y = (height - h) / 2;
    if (y > 0) {
      h = height;
      w = height * ($img.width() / $img.height());
      y = 0;
      x = (width - w) / 2;
    }
  } else {
    x = 0;
    y = 0;
    w = width;
    h = height;
  }
  $img.width( parseInt(w, 10) + "px" );
  $img.height( parseInt(h, 10) + "px" );
  $background = $('#rbBackgroundDiv');
  $background.css( 'visibility', 'visible' );
  if( $('#content_categories .row .category').length ) {
    if( $('#content_categories .row .category:visible').length ) {
      $background.css( 'opacity', .5 );
    }
  } else {
    $background.css( 'opacity', .5 );
  }
  var rbLastScrollTop = null;
}

function rbInit() {
  if (rbSupportsFixed()) {
    $('#rbBackgroundDiv').css( 'position', 'fixed' );
  }
  // I'd use onScroll, but that
  // doesn't exist in standards mode
  rbResize();
}

$(document).ready( function () {
  var body = $('body');
  var bodyImage = body.css('background-image');
  body.css('background-image', 'none');
  $('body').append( "<div " +
    "id='rbBackgroundDiv' " +
    "style='position: absolute; " +
    "  visibility: hidden; " +
    "  top: 0px; " +
    "  left: 0px; " +
    "  z-index: -1'>" +
    "  <img src='/images/background.jpg' id='rbBackground' />" +
    "</div>\n" );
  rbInit();
});

$(window).resize( function() {
  rbResize();
});

function rbOpen(center) {
  rbCenter = center;
}
