<html>
<head>
  <title>Hit test overlapping 3d elements</title>
  <script src="point-mapping-helpers.js" type="text/javascript" charset="utf-8"></script>
  
  <script type="text/javascript" charset="utf-8">
    
    function test()
    {
      dispatchEvent(285, 50, 'box2', 198, 2);
      dispatchEvent(174, 108, 'box3', 50, 2);

      dispatchEvent(61, 50, 'overlay', 39, 28);
      dispatchEvent(119, 108, 'overlay', 97, 86);
    }
    
  </script>
  <style type="text/css" media="screen">
  
    body {
      margin: 0;
      border: 1px solid black;
      cursor: crosshair;
    }

    .test {
      display: inline-block;
      position: relative;
      height: 300px;
      width: 300px;
      border: 1px solid black;
      margin: 20px;
    }

    .box {
      height: 200px;
      width: 200px;
      -webkit-box-sizing: border-box;
      background-color: #DDD;
      border: 1px solid black;
    }

    .box:hover {
      outline: 3px solid orange;
    }
    
    .container {
      position: absolute;
      height: 260px;
      width: 260px;
      margin: 20px;
      border: 1px solid black;
      -webkit-box-sizing: border-box;
      -webkit-perspective: 400;
    }
    
    .transformed {
      position: absolute;
      top: 20px;
      left: 30px;
      height: 200px;
      width: 200px;
      border: 1px solid black;
      background-color: #AAA;
      -webkit-box-sizing: border-box;
      -webkit-transform: translateZ(50px);
    }
    
    #overlay {
      position: absolute;
      height: 300px;
      width: 150px;
      background-color: rgba(0, 128, 0, 0.3);
      -webkit-transform: translateZ(100px);
    }
    
    .inner {
      position: relative;
      background-color: blue;
      height: 100px;
      width: 100px;
      margin: 50px;
    }

    #results {
      position: absolute;
      left: 30px;
      top: 400px;
    }
    
    #mousepos {
      position: absolute;
      left: 30px;
      top: 700px;
      color: gray;
      font-size: smaller;
    }
  </style>
</head>
<body onclick="clicked(event)">

<div id="results"></div>
<div class="test">
  <!-- Simple transformed div in perpsective -->
  <div class="container box" id="box1">
    <div class="transformed box" id="box2">
      <div class="inner" id="box3"></div>
    </div>
  </div>
  <div id="overlay"></div>
</div>
<p>The green overlay is translated in Z by 100px, so should hit test in front relative to the blue box.</p>

<div id="mousepos"></div>

</body>
</html>
