selectBooleanCheckbox onchange

Pessoal, estou querendo desabilitar um checkbox atraves do javascript desabilitar abaixo :

	                                            <h:selectBooleanCheckbox id="checkespecialidade" onchange="desabilitar()" disabled="#{ManterItemOrcamentoMB.habilitachek}" value="#{especificacao.selecionado}">
	                                                <a4j:support event="onclick" ajaxSingle="true"
	                                                	action="#{ManterItemOrcamentoMB.selecionarEspecificacao}"
	                                                	reRender="panelEspecificacoes, panelAnalises,
	                                                		totalEnsaiosContratados, panelPerguntas, panelTotal" />
	                                            </h:selectBooleanCheckbox>

O meu problema é que esta linha esta vindo null:

		            	  var check = document.getElementById("itensOrcamentoForm:checkespecialidade");
		            	  alert(' depois inicio  '+check);  

obs. estou enviando a minha tela, para vcs terem uma ideia …

Alguem pode me ajudar ??

segue abaixo o codigo completo


<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:cqa="http://www.cqa.com.br"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:f="http://java.sun.com/jsf/core"
	version="2.0">
    <ui:composition>
    
    <script type="text/javascript">
	            	function desabilitar() {
		            	alert('inicio');

		            	alert('inicioxxxxxxxxxxxxx');
		            	  var check = document.getElementById("itensOrcamentoForm:checkespecialidade");
		            	  alert(' depois inicio  '+check);  
		            	  if (check.checked){
		            		  alert(' dentro do if ');    


		            		  document.getElementById("itensOrcamentoForm:checkespecialidade").disabled=true;
		            		  alert('aaaaaaaaaaaaaaaa');
		            	   }else{  

		            		   alert(' else ');   
		            		   document.getElementById("itensOrcamentoForm:checkespecialidade").disabled=false;
		            		   alert('bbbbbbbbbbbbbbb');
		            	  }  
		            	

		            	return false;	               
	            	}		                   	
	            </script>	
    	<h:form id="itensOrcamentoForm">


	                                    <h:dataTable value="#{ManterItemOrcamentoMB.especificacoes}" var="especificacao">
	                                        <h:column>
	                                            <h:selectBooleanCheckbox id="checkespecialidade" onchange="desabilitar()" disabled="#{ManterItemOrcamentoMB.habilitachek}" value="#{especificacao.selecionado}">
	                                                <a4j:support event="onclick" ajaxSingle="true"
	                                                	action="#{ManterItemOrcamentoMB.selecionarEspecificacao}"
	                                                	reRender="panelEspecificacoes, panelAnalises,
	                                                		totalEnsaiosContratados, panelPerguntas, panelTotal" />
	                                            </h:selectBooleanCheckbox>
	                                        </h:column>
	                                        <h:column>
	                                            <h:outputText value="#{especificacao.objeto.nome}" />
	                                        </h:column>
	                                    </h:dataTable>


Evandro, verificou na ferramenta de desenvolvedor do browser se o ID do elemento é realmente esse? Talvez a dataTable tenha um id. Ficaria algo tipo itensOrcamentoForm:j_table_1:checkespecialidade

Se for isso, coloque o ID na dataTable e joga no id completo dentro do getElementById(’…’);

Espero que seja isso. Abraço!