<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<meta http-equiv="Content-type" content="text/html; charset=utf-8">
		<title>fixed</title>
		<style type="text/css" media="screen">
			body { margin: 1px; padding: 5px; }
			div.fixed { position: fixed; margin: 1px; border: 2px solid #000; padding: 5px; width: 100px; height: 100px; background: #fff; overflow: hidden; }
			#fixed-1 { top: 0; left: 0; }
			#fixed-2 { top: 20px; left: 20px; }
			#forceScroll { width: 5000px; height: 5000px; }
			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
		</style>
		<script src="../../jquery.js"></script>
		<script src="../iframeTest.js"></script>
		<script type="text/javascript" charset="utf-8">
			jQuery( function( $ ) {
				window.scrollTo( 1000, 1000 );
				$( ".fixed" ).on( "click", function() {
					$( "#marker" ).css( $( this ).offset() );
					return false;
				});
				startIframeTest();
			});
		</script>
	</head>
	<body>
		<div id="fixed-1" class="fixed"></div>
		<div id="fixed-2" class="fixed"></div>
		<div id="fixed-no-top-left" class="fixed"></div>
		<div id="forceScroll"></div>
		<div id="marker"></div>
		<p class="instructions">Click the white box to move the marker to it.</p>
	</body>
</html>
