<!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>absolute</title>
		<style type="text/css" media="screen">
			body { margin: 1px; padding: 5px; }
			div.absolute { position: absolute; margin: 1px; border: 2px solid #000; padding: 5px; width: 100px; height: 100px; background: #fff; }
			#absolute-1 { top: 0; left: 0; }
				#absolute-1-1 { top: 1px; left: 1px; }
					#absolute-1-1-1 { top: 1px; left: 1px; }
			#absolute-2 { top: 19px; left: 19px; }
			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
			p.instructions { position: absolute; bottom: 0; }
			#positionTest { position: absolute; }
		</style>
		<script src="../../../src/core.js"></script>
		<script src="../../../src/deferred.js"></script>
		<script src="../../../src/support.js"></script>
		<script src="../../../src/sizzle/sizzle.js"></script>
		<script src="../../../src/sizzle-jquery.js"></script>
		<script src="../../../src/traversing.js"></script>
		<script src="../../../src/data.js"></script>
		<script src="../../../src/event.js"></script>
		<script src="../../../src/css.js"></script>
		<script src="../../../src/offset.js"></script>
		<script type="text/javascript" src="../../../dist/jquery.js"></script>
		<script type="text/javascript" charset="utf-8">
			jQuery(function($) {
				$('.absolute').click(function() {
					$('#marker').css( $(this).offset() );
					var pos = $(this).position();
					$(this).css({ top: pos.top, left: pos.left });
					return false;
				});
			});
		</script>
	</head>
	<body>
		<div id="absolute-1" class="absolute">absolute-1
			<div id="absolute-1-1" class="absolute">absolute-1-1
				<div id="absolute-1-1-1" class="absolute">absolute-1-1-1</div>
			</div>
		</div>
		<div id="absolute-2" class="absolute">absolute-2</div>
		<div id="positionTest">Has absolute position but no values set for the location ('auto').</div>
		<div id="marker"></div>
		<p class="instructions">Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.</p>
	</body>
</html>
