function rbIsIE()

{

if (navigator.appName == 'Microsoft Internet Explorer') {

return true;


}

return false;

}



function rbIsOpera()

{

if (navigator.appName == 'Opera') {

return true;

}

return false;

}



function rbSupportsFixed()

{

if (navigator.appName == 'Microsoft Internet Explorer') {

var agent = navigator.userAgent;

var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

var version;

if (re.exec(agent) != null) {

version = parseFloat(RegExp.$1);

}

if (version < 7.0) {

return false;

}

}

return true;

}



var rbCenter = false;



function rbInit()

{

if (rbSupportsFixed()) {

div = document.getElementById('rbBackgroundDiv');

div.style.position = 'fixed';
	if( rbIsIE6() ) {
		div.style.position = 'absolute';
	}
} 

// I'd use onScroll, but that 

// doesn't exist in standards mode

setTimeout("rbReposition()", 50);

rbResize();

}



var rbLastScrollTop = null;

var rbSimulateTop = 0;



function rbResize()

{

// We're in "standards mode," so we must use

// document.documentElement, not document.body, in IE.

var width;

var height;

var x, y, w, h;

if (rbIsIE()) {

// All modern versions of IE, including 7, give the

// usable page dimensions here.

width = parseInt(document.documentElement.clientWidth); 

height = parseInt(document.documentElement.clientHeight); 

} else if (rbIsOpera()) {

// This is slightly off: the width and height will include

// scrollbar space we can't really use. Compensate by

// subtracting 16 pixels of scrollbar space from the width

// (standard in Opera). Firefox has an equivalent but

// more serious problem because such a mistake in Firefox

// will break mouse clicks on the scrollbar in 

// Mac Firefox (yes, really!). Fortunately, in Firefox,

// we can use a third method that gives accurate results

// (see below).

width = parseInt(window.innerWidth) - 16;

// If there is a horizontal scrollbar this will be

// 16 pixels off in Opera. I can live with that.

// You don't design layouts with

// horizontal scrollbars, do you? (Shudder)

height = parseInt(window.innerHeight);

} else {

// Other non-IE browsers give the usable page dimensions here.

// We grab the info by discovering the visible dimensions 

// of a hidden 100% x 100% div. Opera doesn't like this

// method any more than IE does. Fun!

testsize = document.getElementById('rbTestSizeDiv');

width = testsize.scrollWidth;

height = testsize.scrollHeight;

}

div = document.getElementById('rbBackgroundDiv');

img = document.getElementById('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.

alert("Don't know width yet");

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;

}

// HTML 4.0 Strict makes the px suffix mandatory

// We have floating point numbers, trim them and add px

div.style.left = parseInt(x) + "px";

if (rbSupportsFixed()) {

div.style.top = parseInt(y) + "px";

} else {

rbSimulateTop = parseInt(y);

}

img.style.width = parseInt(w) + "px";

img.style.height = parseInt(h) + "px";

div.style.visibility = 'visible';

rbLastScrollTop = null;

rbReposition();

}



function rbReposition()

{

if (rbSupportsFixed()) {

return;

}

// Make sure we do this again

setTimeout("rbReposition()", 50);

// Standards mode, must use documentElement

body = document.documentElement;

var scrollTop = body.scrollTop;

// No scroll since last check

if (scrollTop == rbLastScrollTop) {

return;

}

rbLastScrollTop = scrollTop;

div = document.getElementById('rbBackgroundDiv');

var rbBodyDiv = document.getElementById('rbBodyDiv');

var pos = 0;

// Don't make the user scroll just to see the background itself

var max = rbBodyDiv.offsetHeight - rbBodyDiv.clientHeight;

if (max < 0) {

max = 0;

}

if (scrollTop <= max)

{

pos = scrollTop;

} else {

pos = max;

}

if (pos < 0) {

pos = 0;

}

div.style.top = pos + rbSimulateTop;

}



function rbOpen(center)

{

rbCenter = center;

document.write("<div id='rbBodyDiv' style='z-index: -2'>\n");

}

function rbIsIE6() {
	var navi = navigator.appVersion;
	if(navi.indexOf("MSIE")>-1){
	var navAr = navi.split(";");
	if(parseFloat(navAr[1].split(" ")[2])>6)
	{
	//IE 7 >
	} else {
	//IE 6 of lager

	return;
	}
	} else {
	//Geen MSIE
	}
}

function rbClose(image)

{
if( rbIsIE6() ) {
	return;
}
document.write("</div>\n");

str = "<div " +

"id='rbBackgroundDiv' " +

"style='position: absolute; " +

" visibility: hidden; " +

" top: 0px; " +

" left: 0px; " +
" z-index: -1; position: fixed'>";



if( image != '' )
 str += " <img src='" + image + "' id='rbBackground'>"

str += "</div>\n";

document.write(str);

if( rbIsIE6() ) {
	document.getElementByID('rbBackgroundDiv').style.position = 'absolute';
}

document.write("<div " +

"id='rbTestSizeDiv' " +

"style='width: 100%; " +

" height: 100%; " +

" position: fixed; " +

" left: 0; " +

" top: 0; " +

" visibility: hidden; " +

" z-index: -1'></div>\n");

}

if( rbIsIE6() ) {
	document.getElementByID('rbTestSizeDiv').style.position = 'absolute';
}


