use HTML input.indeterminate property instead of custom tri-state checkbox