	var mbWidth=460;
	var mbHeight=150;

	function msgBoxShow() {
		$('modWin').style.display = 'block';
		$('modWinBk').style.display = 'block';
		// display the shim to prevent ie showing selects through
		$('modWinShim').style.display = 'block';

		var msgBox=$('modWin');
		msgBox.style.height=mbHeight+'px';	
		msgBox.style.width=mbWidth+'px';	
		// call once to center everything
		mbOnScroll();
		mbOnWindowResize();
		
		if (window.attachEvent)
			window.attachEvent('onresize', mbOnWindowResize);
		else if (window.addEventListener)
			window.addEventListener('resize', mbOnWindowResize, false);
		else
			window.onresize = mbOnWindowResize;
			
		if (window.attachEvent)
			window.attachEvent('onscroll', mbOnScroll);
		else if (window.addEventListener)
			window.addEventListener('scroll', mbOnScroll, false);
		else
			window.onscroll = mbOnScroll;
	}
	function msgBoxHide() {
		$('modWin').style.display = 'none';
		$('modWinBk').style.display = 'none';
		$('modWinShim').style.display = 'none';
		
		if (window.detachEvent)
			window.detachEvent('onresize', mbOnWindowResize);
		else if (window.removeEventListener)
			window.removeEventListener('resize', mbOnWindowResize, false);
		else
			window.onresize = null;
			
		if (window.detachEvent)
			window.detachEvent('onscroll', mbOnScroll);
		else if (window.removeEventListener)
			window.removeEventListener('scroll', mbOnScroll, false);
		else
			window.onscroll = null;		
	}
	
	function mbPosLeft() {
		if (typeof window.pageXOffset!='undefined')
			return window.pageXOffset;
		else if (document.documentElement && document.documentElement.scrollLeft)
			return document.documentElement.scrollLeft;
		else if (document.body.scrollLeft)
			return document.body.scrollLeft;
		else
			return 0;
	}
	function mbPosTop() {
		if (typeof window.pageYOffset!='undefined') 
			return window.pageYOffset;
		else if (document.documentElement && document.documentElement.scrollTop) 
			return document.documentElement.scrollTop;
		else if (document.body.scrollTop)
			return document.body.scrollTop;
		else
			return 0;
	}
	function mbOnScroll() {
		var back=$('modWinBk');
		back.style.top=mbPosTop()+'px';
		back.style.left=mbPosLeft()+'px';
		var shim=$('modWinShim');
		shim.style.top=mbPosTop()+'px';
		shim.style.left=mbPosLeft()+'px';	
		var msgBox=$('modWin');
		var mbTop=mbPosTop()+((windowHeight()-mbHeight)/2)-12;
		var mbLeft=mbPosLeft()+((windowWidth()-mbWidth)/2)-12;
		if (mbTop<0) mbTop=0;
		if (mbLeft<0) mbLeft=0;
		msgBox.style.top=mbTop+'px';	
		msgBox.style.left=mbLeft+'px';	
	}
	function mbOnWindowResize() {
		var div=$('modWinBk');
		div.style.height=windowHeight()+'px';
		div.style.width=windowWidth()+'px';
		var div=$('modWinShim');
		div.style.height=windowHeight()+'px';
		div.style.width=windowWidth()+'px';
	}

	/* utiltiy functions */
	function windowWidth() {
		if (window.innerWidth!=null) 
			return window.innerWidth;
		else if (document.documentElement && document.documentElement.clientWidth)
			return document.documentElement.clientWidth;
		else if (document.body!=null)
			return document.body.clientWidth;
		else
			return 0;
	}
	function windowHeight() {
		if (window.innerHeight!=null)
			return window.innerHeight
		else if (document.documentElement && document.documentElement.clientHeight)
			return document.documentElement.clientHeight
		else if (document.body!=null)
			return document.body.clientHeight
		else
			return null;
	}

	function getSingleElement( id ) {
		if( document.getElementById )
			return document.getElementById(id);
		else
			return document.all(id);
	}
	
	function $(id) {return getSingleElement(id);}
