<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
<!--======================================================================-->
<!--=  Copyright 2002 World Wide Web Consortium, (Massachusetts          =-->
<!--=  Institute of Technology, Institut National de Recherche en        =-->
<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
<!--======================================================================-->
<!-- ===================================================================== -->
<!-- interact-events-01-b.svg                                             -->
<!-- Author : Jon Ferraiolo 06-Aug-2000                                    -->
<!-- Revised : Lee Klosterman 31-January-2002                              -->
<!--======================================================================-->
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" onload="onEvent(evt, 'Rect6', 'visible')">
	<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
		<OperatorScript version="$Revision: 1.2 $" testname="interact-events-01-b.svg">
			<Paragraph>
                Test 'onload' event attribute.
            </Paragraph>
			<Paragraph>
                Six blue rectangles have been defined, each initially defined with
                'visibility:hidden'. 'onload' event attributes are assigned in
                a variety of ways, usually to set 'visibility:visible'.
                The red text indicates the correct behavior
                (whether a given rectangle should appear in the visual result).
            </Paragraph>
			<Paragraph>
                The first rectangle has no associated 'onload' event so it remains invisible.
                The second rectangle has an 'onload' event on itself, which invokes a script
                which sets 'visibility:visible', so it should appear.
                The third rectangle has an 'onload' event on its parent 'g', which invokes a script
                which sets 'visibility:visible' on the rectangle, so it should appear.
                The fourth rectangle has an 'onload' event on an ancestor 'svg', which invokes a script
                which sets 'visibility:visible' on the rectangle, so it should appear.
                The fifth rectangle has an 'onload' event both itself and its parent 'g'.
                The rectangle's script sets 'visibility:visible' on the rectangle
                but the parent's script sets  'visibility:hidden' on the rectangle,
                which should happen afterwards, so the rectangle should not appear.
                The sixth rectangle has an 'onload' event on the outermost 'svg', which invokes a script
                which sets 'visibility:visible' on the rectangle, so it should appear.
            </Paragraph>
		</OperatorScript>
	</SVGTestCase>
	<title id="test-title">interact-events-01-b</title>
	<desc id="test-desc"> Test 'onload' event attribute. </desc>
	<!--======================================================================-->
	<!--Content of Test Case follows...                  =====================-->
	<!--======================================================================-->
	<g id="test-body-content">
		<defs>
			<script type="text/ecmascript"><![CDATA[
        		
        		function onEvent(evt, indicatorId, visibilityValue){
        		// Get Document
                        var target = evt.target;
        		var doc = target.ownerDocument;

        		// Mark test as passed
        		var elementToShow = doc.getElementById(indicatorId);
        		elementToShow.setAttribute('visibility', '' + visibilityValue);
        		}

        	]]></script>
		</defs>
		<text font-family="Arial" font-size="40" x="30" y="40">
             'onload' event attribute.
        </text>
		<g  font-family="Arial" font-size="40" fill="blue" stroke="none">
			<g transform="translate(77.5,45)">
				<rect id="Rect1" width="80" height="80" visibility="hidden"/>
				<text x= "-30" y="120" fill="red">1: No</text>
			</g>
			<g transform="translate(202.5,45)">
				<rect id="Rect2" width="80" height="80" onload="onEvent(evt, 'Rect2', 'visible')" visibility="hidden"/>
				<text x= "-30" y="120" fill="red">2: Yes</text>
			</g>
			<g transform="translate(327.5,45)">
				<g onload="onEvent(evt, 'Rect3', 'visible')">
					<rect id="Rect3" width="80" height="80" visibility="hidden"/>
				</g>
				<text x= "-30" y="120" fill="red">3: Yes</text>
			</g>
			<g transform="translate(77.5,178)">
				<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" onload="onEvent(evt, 'Rect4', 'visible')">
					<rect id="Rect4" width="80" height="80" visibility="hidden"/>
				</svg>
				<text x= "-30" y="120" fill="red">4: Yes</text>
			</g>
			<g transform="translate(202.5,178)">
				<g onload="onEvent(evt, 'Rect5', 'hidden')">
					<rect id="Rect5" width="80" height="80" onload="onEvent(evt, 'Rect5', 'visible')" visibility="hidden"/>
				</g>
				<text x= "-30" y="120" fill="red">5: No</text>
			</g>
			<g transform="translate(327.5,178)">
				<rect id="Rect6" width="80" height="80" visibility="hidden"/>
				<text x= "-30" y="120" fill="red">6: Yes</text>
			</g>
		</g>
	</g>
	<text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.2 $</text>
	<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
</svg>
