<html>
<head>
    <title>Align in textarea Test</title>
</head>
<body>
    <p>The following textarea elements should all be rendered on the left, with their text aligned to the left.</p>
    <textarea align="right" cols="50">This is should be aligned to the left.</textarea>
    <br>
    <textarea align="left" cols="50">This is should be aligned to the left.</textarea>
    <br>
    <textarea cols="50">This is should be aligned to the left.</textarea>

    <br>
    <textarea cols="50" id="test1">This is should be aligned to the left.</textarea>
    <script>
    <!--
        var obj1 = document.getElementById('test1');
        obj1.setAttribute('align', 'right');
    -->
    </script>

    <div id='insertionpoint'></div>
    <script>
    <!--
        var ins = document.getElementById('insertionpoint');
        var obj2 = document.createElement('TEXTAREA');
        obj2.setAttribute('align', 'right');
        obj2.setAttribute('cols', '50');
        obj2.appendChild(document.createTextNode('This is should be aligned to the left.'));
        ins.appendChild(obj2);
    //-->
    </script>
</body>
</html>
