<html>
<head>
<script>
var clickcount = 0;
function dispatchClickEvent(target) {
    // Create a click event and dispatch it
    var event = document.createEvent('UIEvents');
    event.initUIEvent('click', true, true, window, 1)
    target.dispatchEvent(event);                
}

function runTest() {
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    var label1 = document.getElementById('label1');
    dispatchClickEvent(label1);
    if (clickcount < 1)
        return;

    var label2 = document.getElementById('label2');
    dispatchClickEvent(label2);
    if (clickcount < 2)
        return;
    document.getElementById('result').innerHTML = 'SUCCESS'
}

function inc()
{
    clickcount++;
}
</script>
</head>
<body onload="runTest()">
This tests that the correct form control element is clicked when clicking on a label.
If the test is successful, the text "SUCCESS" should show below.<br>
<Label id="label1">label1<button onclick="inc();">inc</button></label><br>
<Label id="label2">label2<fieldset><legend><button onclick="inc();">inc</button></legend></fieldset></label><br>
<div id="result">FAILURE</div>

</body>
</html>

