<!DOCTYPE html>
<html lang='en'>
<head>
 <title>animate-dom-01-f-manual.svg</title>
 <meta charset='utf-8'>
</head>
<body>
 <h1>Source SVG: animate-dom-01-f-manual.svg</h1>
<svg id="svg-root" width="100%" height="100%" 
  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <!--======================================================================-->
  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
  <!--=  Institute of Technology, European Research Consortium for         =-->
  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
  <!--=  All Rights Reserved.                                              =-->
  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
  <!--======================================================================-->
  
  <title id="test-title">$RCSfile: animate-dom-01-f.svg,v $</title>
  <defs>
    <font-face
      font-family="SVGFreeSansASCII"
      unicode-range="U+0-7F">
      <font-face-src>
        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
      </font-face-src>
    </font-face>
  </defs>
  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
    
    <text x='30' y='30'>Testing SVGAnimationElement.getStartTime()</text>

    <text x='340' y='340' display='none'>Test running...
      <set attributeName='display' to='inline' begin='0s' dur='2.5s'/>
    </text>

    <g id='g' display='none'/>

    <animate id='a1' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='1s' dur='1s'/>
    <animate id='a2' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='1s' dur='1s' fill='freeze'/>
    <animate id='a3' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='indefinite' dur='1s'/>
    <animate id='a4' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='indefinite; 100s; g.click; 1s; indefinite' dur='1s'/>
    <animate id='a5' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='100s; 1s' dur='1s'/>
    <animate id='a6dep' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='5s' dur='1s'/>
    <animate id='a6' attributeName='display' values='inline; inline'
             calcMode='discrete' begin='a6dep.begin+2s' dur='1s'/>

    <animate attributeName='display' values='inline; inline'
             calcMode='discrete' begin='0.5s' dur='1s' onbegin='before()'/>
    <animate attributeName='display' values='inline; inline'
             calcMode='discrete' begin='1.5s' dur='1s' onbegin='during()'/>
    <animate attributeName='display' values='inline; inline'
             calcMode='discrete' begin='2.5s' dur='1s' onbegin='after()'/>

    <g transform='translate(30,-10)'>
      <rect id='r1' y='50' width='25' height='25'/>
      <rect id='r2' y='80' width='25' height='25'/>
      <rect id='r3' y='110' width='25' height='25'/>
      <rect id='r4' y='140' width='25' height='25'/>
      <rect id='r5' y='170' width='25' height='25'/>
      <rect id='r6' y='200' width='25' height='25'/>
      <rect id='r7' y='230' width='25' height='25'/>
      <rect id='r8' y='260' width='25' height='25'/>
    </g>

    <g font-size='14' transform='translate(70,-15)'>
      <text y='72'>Called before a lone interval starts</text>
      <text y='102'>Called on an animation with no intervals</text>
      <text y='132'>Called during an interval</text>
      <text y='162'>Called after a lone interval ends, fill="remove"</text>
      <text y='192'>Called after a lone interval ends, fill="freeze"</text>
      <text y='222'>Called with multiple begin values</text>
      <text y='252'>Called with multiple begin values including "indefinite"</text>
      <text y='282'>Called with syncbase begin value</text>
    </g>
    <script><![CDATA[
      var i, ids = 'a1 a2 a3 a4 a5 a6 r1 r2 r3 r4 r5 r6 r7 r8'.split(' ');
      for (i in ids) {
        this[ids[i]] = document.getElementById(ids[i]);
      }

      function before() {
        try {
          if (a1.getStartTime() == 1) {
            r1.setAttributeNS(null, 'fill', 'lime');
          }
        } catch (e) {
          r1.setAttributeNS(null, 'fill', 'red');
        }

        r2.setAttributeNS(null, 'fill', 'red');
        try {
          a3.getStartTime();
        } catch (e) {
          if (e.code == DOMException.INVALID_STATE_ERR) {
            r2.setAttributeNS(null, 'fill', 'lime');
          }
        }

        try {
          if (a4.getStartTime() == 1) {
            r6.setAttributeNS(null, 'fill', 'lime');
          }
        } catch (e) {
          r6.setAttributeNS(null, 'fill', 'red');
        }

        try {
          if (a5.getStartTime() == 1) {
            r7.setAttributeNS(null, 'fill', 'lime');
          }
        } catch (e) {
          r7.setAttributeNS(null, 'fill', 'red');
        }

        try {
          if (a6.getStartTime() == 7) {
            r8.setAttributeNS(null, 'fill', 'lime');
          }
        } catch (e) {
          r8.setAttributeNS(null, 'fill', 'red');
        }
      }

      function during() {
        try {
          if (a1.getStartTime() == 1) {
            r3.setAttributeNS(null, 'fill', 'lime');
          }
        } catch (e) {
          r3.setAttributeNS(null, 'fill', 'red');
        }
      }

      function after() {
        r4.setAttributeNS(null, 'fill', 'red');
        try {
          a1.getStartTime();
        } catch (e) {
          if (e.code == DOMException.INVALID_STATE_ERR) {
            r4.setAttributeNS(null, 'fill', 'lime');
          }
        }

        r5.setAttributeNS(null, 'fill', 'red');
        try {
          a2.getStartTime();
        } catch (e) {
          if (e.code == DOMException.INVALID_STATE_ERR) {
            r5.setAttributeNS(null, 'fill', 'lime');
          }
        }
      }
    ]]></script>
  </g>
  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
  <text id="revision" x="10" y="340" stroke="none" 
    fill="black">$Revision: 1.11 $</text>
  </g>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
  <!-- comment out this watermark once the test is approved --><!--
  <g id="draft-watermark">
    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
  </g>-->
</svg>
</body>
</html>
