function marcarAlgunos(idTodos,lista,cuales){
  var chkTodos= document.getElementById(idTodos);
  var checked=true;
  for(var i=0;i<lista.length;i++){
    if (cuales.indexOf(lista[i].value)>=0){
      checked=checked && lista[i].checked;
    }
  }
  chkTodos.checked=checked;
}
function marcarGrupo(idTodos,lista,cuales){
  var chkTodos= document.getElementById(idTodos);
  for(var i=0;i<lista.length;i++){
    if (cuales.indexOf(lista[i].value)>=0){
      lista[i].checked=chkTodos.checked;
    }
  }
}
function getForm(){
  return document.forms["centroEducativoForm"];
}
function cambiarTab(nTab){
  var i=0;
  for(i=1;i<=4;i++){
    var divTab= document.getElementById("formTab"+i);
    var tab=document.getElementById("tab"+i);
    if (tab!=null && divTab!=null){
      tab.className=(nTab==i?"seleccionado":"");
      divTab.style.display=(nTab==i?"block":"none");
    }
  }
 /* var btn=document.getElementById("btnSubmit");
  if (btn!=null) btn.focus();*/
  return false;
}
function mostrarVariante(){
/*  var form=getForm();
  var nivelF0=getFromNodeList(form.nivelModalidad,"nivelModalidad.F0");
  var nivelG0=getFromNodeList(form.nivelModalidad,"nivelModalidad.G0");
  var tabVariante=DWRUtil.byId("tblVariante");
  if (tabVariante!=null){
    mostrar=((nivelF0!=null && nivelF0.checked)||(nivelG0!=null && nivelG0.checked) );
    tabVariante.style.display=mostrar?"block":"none";
    if(mostrar) updateVariante();
    else if(DWRUtil.byId("variantesOpts")!=null) DWRUtil.byId("variantesOpts").innerHTML="";
  }
  return true;*/
  
}
function getFromNodeList(lista,id){
if (lista!=null)
  for(var i=0;i<lista.length;i++){
    if (lista[i].id==id) return lista[i];
  }
  return null;
}
function limpiar(form){
//          var form=getForm();
  limpiarVariantes(form.variante);
  _limpiarChecks(form.nivelModalidad);
  if (DWRUtil.byId("codigoModular")!=null) DWRUtil.byId("codigoModular").value="";
  if (DWRUtil.byId("nombre")!=null) DWRUtil.byId("nombre").value="";
  if (DWRUtil.byId("region")!=null) DWRUtil.byId("region").selectedIndex=0;
  if (DWRUtil.byId("provincia")!=null) DWRUtil.byId("provincia").selectedIndex=0;
  if (DWRUtil.byId("centroPoblado")!=null) DWRUtil.byId("centroPoblado").value="";
  if (DWRUtil.byId("dre")!=null) DWRUtil.byId("dre").selectedIndex=0;
  if (DWRUtil.byId("resDiaMin")!=null)  DWRUtil.byId("resDiaMin").selectedIndex=0;
  if (DWRUtil.byId("resDiamax")!=null) DWRUtil.byId("resDiaMax").selectedIndex=0;
  if (DWRUtil.byId("resMesMin")!=null) DWRUtil.byId("resMesMin").selectedIndex=0;
  if (DWRUtil.byId("resMesMax")!=null) DWRUtil.byId("resMesMax").selectedIndex=0;
  if (DWRUtil.byId("resAnioMin")!=null) DWRUtil.byId("resAnioMin").value="";
  if (DWRUtil.byId("resAnioMax")!=null) DWRUtil.byId("resAnioMax").value="";
  return true;
}
function initProgressProv(){
  Element.show("progressProv");
}

function mostrar(id){
  var div=DWRUtil.byId(id);
  if (div!=null){
    div.style.display=div.style.display!="block"?"block":"none";
  }
  return false;
}



function isNumber(num){
 if (num==null) return false;
 for(i=0;i<num.length;i++)
  if("0123456789".indexOf(num.substring(i,i+1))<0)
    return false;
 return true;
}

function validateCodigoModular(){
  numOk=isNumber(DWRUtil.byId("codigoModular").value);
  if (!numOk) {
    alert("El c\u00f3digo modular debe ser un n\u00famero");
    return false;
  }
  if (DWRUtil.byId("codigoModular").value.length<7){
    alert("El c\u00f3digo modular debe tener 7 d\u00edgitos");
    return false;
  }
  return true;
}

/************** limpias ************************/

function _limpiarChecks(lista){
  if (lista!=null)
    for(i=0;i<lista.length;i++)
      lista[i].checked=false;
}
function limpiarVariantes(variante){
  _limpiarChecks(variante);
  if (DWRUtil.byId("tblVariante")!=null) DWRUtil.byId("tblVariante").style.display="none";
  if (DWRUtil.byId("variantesOpts")!=null){
   DWRUtil.byId("variantesOpts").innerHTML="";
  }
}
function limpiarDistritos(){
if (DWRUtil.byId("distrito")!=null)
 DWRUtil.setValue("distrito","");
if (DWRUtil.byId("provincia")!=null){
var idProvincia=DWRUtil.byId("provincia").options[DWRUtil.byId("provincia").selectedIndex].value;
var distrito_frame=DWRUtil.byId("distrito_frame");
var inpDistrito=DWRUtil.byId("distrito");
  if (distrito_frame!=null){
	  if (idProvincia!=""){
	  	DWRUtil.byId("distrito_frame").innerHTML="<select name='nombre_distrito' id='nombre_distrito'><option value=''>:: Todos los distritos ::</option></select>";
	  	Dominios.getDistritosByProvincia(idProvincia,cargarDistritos);
	  }else{
	  	DWRUtil.byId("distrito_frame").innerHTML="<input class='text' type='text' name='distrito' id='nombre_distrito'/> <div id='lista_distritos' class='auto_complete'></div>";
	  		
	  	
	  	DWRUtil.byId("nombre_distrito").onmouseover=mostrarTipDistrito;
	  	DWRUtil.byId("nombre_distrito").onmouseout=hideToolTip;
	  	DWRUtil.byId("nombre_distrito").onkeypress=validarDistrito;
   		new Autocompleter.DWR('nombre_distrito', 'lista_distritos', updateListDistritos,{ idValueSelector: idValueSelectorDistrito,  valueSelector: nameValueSelectorDistrito, partialChars: 0,afterUpdateElement:getDistritoId});
	  }
  }else{
  	if (inpDistrito!=null)
  	inpDistrito.options.length=1;
  	Dominios.getDistritosByProvincia(idProvincia,cargarDistritos0);
  }
}  
}
function limpiarDistritosLenguaVernacula(){
if (DWRUtil.byId("distrito")!=null)
 DWRUtil.setValue("distrito","");
if (DWRUtil.byId("provincia")!=null){
var idProvincia=DWRUtil.byId("provincia").options[DWRUtil.byId("provincia").selectedIndex].value;
var distrito_frame=DWRUtil.byId("distrito_frame");
var inpDistrito=DWRUtil.byId("distrito");
  if (distrito_frame!=null){
	  if (idProvincia!=""){
	  	DWRUtil.byId("distrito_frame").innerHTML="<select name='nombre_distrito' id='nombre_distrito'><option value=''>:: Todos los distritos ::</option></select>";
	  	Dominios.getDistritosLenguaVernaculaByProvincia(idProvincia,cargarDistritosLenguaVernacula);
	  }else{
	  	DWRUtil.byId("distrito_frame").innerHTML="<input class='text' type='text' name='distrito' id='nombre_distrito'/> <div id='lista_distritos' class='auto_complete'></div>";
	  		
	  	
	  	DWRUtil.byId("nombre_distrito").onmouseover=mostrarTipDistrito;
	  	DWRUtil.byId("nombre_distrito").onmouseout=hideToolTip;
	  	DWRUtil.byId("nombre_distrito").onkeypress=validarDistrito;
   		new Autocompleter.DWR('nombre_distrito', 'lista_distritos', updateListDistritos,{ idValueSelector: idValueSelectorDistrito,  valueSelector: nameValueSelectorDistrito, partialChars: 0,afterUpdateElement:getDistritoId});
	  }
  }else{
  	if (inpDistrito!=null)
  	inpDistrito.options.length=1;
  	Dominios.getDistritosLenguaVernaculaByProvincia(idProvincia,cargarDistritos0LenguaVernacula);
  }
}  
}
function validarDistrito(){
	var idRegion=getIdRegion();
	if (idRegion==""){
		alert("Primero seleccione una Regi\u00f3n");
		DWRUtil.byId("region").focus();
		return false;
	}
	return true;
	
}
function mostrarTipDistrito(event){
	var idRegion=getIdRegion();
	if (idRegion==""){
		showToolTip(event,'Primero seleccione una Regi&oacute;n');
	}
	return false;
}
function getDistritoId(elem,data){
 DWRUtil.setValue("distrito",data.id);
 var cboRegion=DWRUtil.byId("region");
 var idRegion=data.id.substring(0,2);
 for(var i=0;i<cboRegion.length;i++)

 	if (cboRegion.options[i].value==idRegion){
 		cboRegion.selectedIndex=i;
  		Dominios.getProvinciasByRegion(idRegion,cargarProvincias);
 		limpiarProvincias();
 		limpiarOOII();
		if (DWRUtil.byId("dre")!=null)
		    DWRUtil.byId("dre").selectedIndex=0;
 		return;
 	}
}

function limpiarProvincias(){
  if (DWRUtil.byId("provincia")!=null)
    DWRUtil.byId("provincia").options.length=1;
}
function limpiarProvinciasLenguaVernacula(){
  if (DWRUtil.byId("provincia")!=null)
    DWRUtil.byId("provincia").options.length=1;
}
function limpiarOOII(){
  if (DWRUtil.byId("oi")!=null)
    DWRUtil.byId("oi").options.length=1;
}
function limpiarOOIILenguaVernacula(){
  if (DWRUtil.byId("oi")!=null)
    DWRUtil.byId("oi").options.length=1;
}
/************** cambias ************************/
function cambiaProvincia(callback){
	limpiarDistritos();
        if (callback!=undefined)
          callback();
}
function cambiaProvinciaLenguaVernacula(){
	limpiarDistritosLenguaVernacula();
}
function getIdRegion(){
  var selectRegion=DWRUtil.byId("region").options[DWRUtil.byId("region").selectedIndex];
  return selectRegion.value;
}

function updateListDistritos(autocompleter,token){
  var idRegion=getIdRegion();
  if (idRegion!=""){
	Dominios.getDistritosDeRegionPorNombre(idRegion,token,function(data){
		autocompleter.setChoices(data)
		});

	}
}
function nameValueSelectorDistrito(tag){
   return tag.distrito;
}
function idValueSelectorDistrito(tag){
   return tag.id;
}

function cambiaDRE(){
  limpiarProvincias();
  limpiarDistritos();
  limpiarOOII();
  if (DWRUtil.byId("region")!=null)
    DWRUtil.byId("region").selectedIndex=0;
  Dominios.getOrganosIntermedios(DWRUtil.byId("dre").options[DWRUtil.byId("dre").selectedIndex].value,cargarOOII);
//  Dominios.getOrganosIntermedios(cargarOOII,DWRUtil.getValue("dre"));
}
function cambiaDRELenguaVernacula(){
  limpiarProvinciasLenguaVernacula();
  limpiarDistritosLenguaVernacula();
  limpiarOOIILenguaVernacula();
  if (DWRUtil.byId("region")!=null)
    DWRUtil.byId("region").selectedIndex=0;
  Dominios.getOrganosIntermediosLenguaVernacula(DWRUtil.byId("dre").options[DWRUtil.byId("dre").selectedIndex].value,cargarOOIILenguaVernacula);
}
function cambiaRegion(callback){
  limpiarProvincias();
  limpiarDistritos();
  limpiarOOII();
  if (DWRUtil.byId("dre")!=null)
    DWRUtil.byId("dre").selectedIndex=0;
  Dominios.getProvinciasByRegion(DWRUtil.byId("region").options[DWRUtil.byId("region").selectedIndex].value,cargarProvincias);
  if (callback!=undefined)
    callback();
 // Dominios.getProvinciasByRegion(cargarProvincias,DWRUtil.getValue("region"));
}

function cambiaRegionLenguaVernacula(){
  limpiarProvinciasLenguaVernacula();
  limpiarDistritosLenguaVernacula();
  limpiarOOIILenguaVernacula();
  if (DWRUtil.byId("dre")!=null)
    DWRUtil.byId("dre").selectedIndex=0;
  Dominios.getProvinciasByRegionLenguaVernacula(DWRUtil.byId("region").options[DWRUtil.byId("region").selectedIndex].value,cargarProvinciasLenguaVernacula);
 // Dominios.getProvinciasByRegion(cargarProvincias,DWRUtil.getValue("region"));
}
/************** cargas ************************/


function cargarRegiones(data){
if (DWRUtil.byId("region")!=null)
  DWRUtil.addOptions("region",data,"id","region");
  limpiarDistritos();
}
function cargarProvincias(data){
if (DWRUtil.byId("provincia")!=null)
  DWRUtil.addOptions("provincia",data,"id","provincia");
}
function cargarProvinciasLenguaVernacula(data){
if (DWRUtil.byId("provincia")!=null)
  DWRUtil.addOptions("provincia",data,"id","provincia");
}
function cargarDistritos(data){
if (DWRUtil.byId("nombre_distrito")!=null)
  DWRUtil.addOptions("nombre_distrito",data,"id","distrito");
}
function cargarDistritosLenguaVernacula(data){
if (DWRUtil.byId("nombre_distrito")!=null)
  DWRUtil.addOptions("nombre_distrito",data,"id","distrito");
}
function cargarRegionesLenguaVernacula(data){
if (DWRUtil.byId("region")!=null)
  DWRUtil.addOptions("region",data,"id","region");
  limpiarDistritosLenguaVernacula();
}
function cargarDistritos0(data){
if (DWRUtil.byId("distrito")!=null)
  DWRUtil.addOptions("distrito",data,"id","distrito");
}
function cargarDistritos0LenguaVernacula(data){
if (DWRUtil.byId("distrito")!=null)
  DWRUtil.addOptions("distrito",data,"id","distrito");
}

function cargarOOII(data){
if (DWRUtil.byId("oi")!=null)
  DWRUtil.addOptions("oi",data,"id","organoIntermedio");
}
function cargarOOIILenguaVernacula(data){
if (DWRUtil.byId("oi")!=null)
  DWRUtil.addOptions("oi",data,"id","organoIntermedio");
}

function cargarDREs(data){
if (DWRUtil.byId("dre")!=null)
  DWRUtil.addOptions("dre",data,"id","regionEducacion");
}
function cargarDREsLenguaVernacula(data){
if (DWRUtil.byId("dre")!=null)
  DWRUtil.addOptions("dre",data,"id","regionEducacion");
}
function cargarTiposResolucion(data){
if (DWRUtil.byId("consultaResolucionTipo")!=null)
  DWRUtil.addOptions("consultaResolucionTipo",data,"id","nombre");
}

function cargarMotivosResolucion(data){
if (DWRUtil.byId("consultaResolucionTipo")!=null)
  DWRUtil.addOptions("consultaResolucionMotivo",data,"id","nombre");

}
function cargarDiasResolucion(data){
if (DWRUtil.byId("resDiaMin")!=null)
  DWRUtil.addOptions("resDiaMin",data);
if (DWRUtil.byId("resDiaMax")!=null)
  DWRUtil.addOptions("resDiaMax",data);
}
function cargarMesesResolucion(data){
if (DWRUtil.byId("resMesMin")!=null)
  DWRUtil.addOptions("resMesMin",data,"id","nombre");
if (DWRUtil.byId("resMesMax")!=null)
  DWRUtil.addOptions("resMesMax",data,"id","nombre");
}
function _cargarChecks(data,name,dest){
  cad="";
  for(i=0;i<data.length;i++){
    cad+="<input type='checkbox' name='"+name+"' id='"+name.substring(0,3)+data[i].id+"' value='"+data[i].id+"' /> <label for='"+name.substring(0,3)+data[i].id+"'>"+data[i].nombre+ "</label><br/>";
  }
  if (DWRUtil.byId(dest)!=null)
  DWRUtil.byId(dest).innerHTML=cad;
}
function cargarTurnos(data){
if (DWRUtil.byId("turno")!=null)
  _cargarChecks(data,"turno","turnosOpts");
}
function cargarVariantes(data){
/*if (DWRUtil.byId("variante")!=null)
  _cargarChecks(data,"variante","variantesOpts");*/
}
function cargarEstados(data){
if (DWRUtil.byId("estado")!=null)
  _cargarChecks(data,"estado","estadosOpts");
if (DWRUtil.byId("este")!=null)
  DWRUtil.byId("este").checked=true;
}
function cargarGeneros(data){
if (DWRUtil.byId("genero")!=null)
  _cargarChecks(data,"genero","generosOpts");
}
function cargarServicios(data){
if (DWRUtil.byId("servicios")!=null)
  _cargarChecks(data,"servicios","serviciosOpts");
}
function cargarFormas(data){
if (DWRUtil.byId("forma")!=null)
  DWRUtil.addOptions("forma",data,"id","nombre");

}
/************** updates ************************/

function updateVariante(){
  Dominios.getVariantes(cargarVariantes);
}
function updateUbigeo(){
  Dominios.getRegiones(cargarRegiones);

}

function updateUbigeoLenguaVernacula(){
  Dominios.getRegionesLenguaVernacula(cargarRegionesLenguaVernacula);
}

function updateDREs(){
  Dominios.getRegionesEducacion(cargarDREs);
}

function updateDREsLenguaVernacula(){
  Dominios.getRegionesEducacionLenguaVernacula(cargarDREsLenguaVernacula);
}
function updateTiposResolucion(){
  Dominios.getTiposResolucion(cargarTiposResolucion);
}
function updateMotivosResolucion(){
  Dominios.getMotivosResolucion(cargarMotivosResolucion);
}
function updateFechasResolucion(){
  Dominios.getDias( cargarDiasResolucion);
  Dominios.getMeses(cargarMesesResolucion);
}
function updateTurnos(){
  Dominios.getTurnos(cargarTurnos);
}
function updateEstados(){
  Dominios.getEstados(cargarEstados);
}
function updateGeneros(){
  Dominios.getSexosCentroEducativo(cargarGeneros);
}
function updateServicios(){
  Dominios.getAllServicios(cargarServicios);
}
function updateFormas(){
  Dominios.getFormas(cargarFormas);
}
function updatePersonalizado(){
  updateUbigeo();
  updateDREs();
  updateTiposResolucion();
  updateMotivosResolucion();
  updateFechasResolucion();
  updateTurnos();
  updateEstados();
  updateGeneros();
  updateServicios();
  //updateFormas();
  mostrarVariante();
 // prepararAutoCompleteCentroPoblado();
  prepararAutoCompleteNombreIE();
}
function prepararAutoCompleteCentroPoblado(){
    if (DWRUtil.byId("cen_pob")!=null && DWRUtil.byId("centroPobladoOpciones")!=null)
    new Ajax.Autocompleter("cen_pob","centroPobladoOpciones","/escale/servlets/autocomplete/centro_poblado",{})
}
function prepararAutoCompleteNombreIE(){
    if (DWRUtil.byId("nombre")!=null && DWRUtil.byId("nombreIEOpciones")!=null)
    new Ajax.Autocompleter("nombre","nombreIEOpciones","/escale/servlets/autocomplete/nombre_ie",{})
}
function updateMiDistrito(){
  updateUbigeo();
}
function updateDeMisHijos(){
  updateUbigeo();
}
function updateVariacion(){
  updateDREs();
  updateUbigeo();
}
function updateTamanioClase(){
  updateDREs();
  updateUbigeo();
}
function updateBilingue(){
  updateDREsLenguaVernacula();
  updateUbigeoLenguaVernacula();
}
function updateDesnutricion(){
  updateDREs();
  updateUbigeo();
}
function updateAlumnosQueTrabajan(){
  updateDREs();
  updateUbigeo();
}

function abrir_bloque(anchor,idDiv){
var form=document.getElementById(idDiv);

		form.style.display=form.style.display!="none"?"none":"";
		anchor.className=anchor.className=="cerrado"?"abierto":"cerrado"; 
return false;
}