<!doctype html>
<html>
	<head>
		<title>Origin for site with document.domain set to a parent domain</title>
		<style type="text/css">
div { height: 100px; width: 100px; background: orange; }
iframe { width: 500px; height: 120px; border: none; }
		</style>
		<script type="text/javascript" src="../resources/crossorigin.sub.js"></script>
		<script type="text/javascript">
window.onload = function () {
	var origin = 'http://'+httpHostAlias;
	document.getElementsByTagName('div')[0].ondragstart = function (e) {
		e.dataTransfer.effectAllowed = 'copy';
		e.dataTransfer.setData('text','dummy text');
	};
	document.getElementsByTagName('span')[0].textContent = origin;
	document.domain = httpsHostAlias.replace(/^[^.]+\./,'');
	var iframe = document.createElement('iframe');
	iframe.src = origin+location.pathname.replace(/[^\/]*$/,'HELPER-showorigin.html');
	document.body.insertBefore(iframe,document.getElementsByTagName('div')[0]);
};
		</script>
	</head>
	<body>

		<noscript><p>Enable JavaScript and reload</p></noscript>
		<p>Drag the orange square onto the blue square and release it. The blue square should be replaced with the text:<br>
		<span></span></p>
		<div draggable="true"></div>

	</body>
</html>
