チェックボックスをすべて選択・解除する

<script type="text/javascript">
//<![CDATA[
    flag =false;
    function allChange(){
        flag = !flag;
        var chkbox = document.getElementsByName('check');
        for(i = 0; i < chkbox.length; i++){
            chkbox[i].checked = flag;
        }
    }
//]]>
</script>
</head>
<body>
<form>
<label><input name="check" value="1" type="checkbox" />XHTML</label><br />
<label><input name="check" value="2" type="checkbox" />Javascript</label><br />
<label><input name="check" value="3" type="checkbox"/>PHP</label><br />
<br />
<label><input name="selectall" onclick="allChange(this.checked);" type="checkbox" />すべて選択/すべて解除</label><br />
</form>