// funcion que inica el programa
var swInicio = true;

function inicio(){
	setValor('txtProyecto','001');
	//var anio = arrGlobal[getValor('txtProyecto')]['anio']; // Año del ubigeo
	//getCampo('titTabla').innerHTML = arrGlobal[getValor('txtProyecto')]['titulo'];
	var anio = "07";
	buscarDpto(anio,'');
}

function reInicio(){
	// Lipiar combos, por cambio de interfaz de usuario
	limpiarCombo('cmbDpto');
	limpiarCombo('cmbProv');
	limpiarCombo('cmbDist');
	globalCuadro = "";
	swInicio=true;
	//var anio = arrGlobal[getValor('txtProyecto')]['anio']; // Año del ubigeo
	var anio = '';
	//getCampo('titTabla').innerHTML = arrGlobal[getValor('txtProyecto')]['titulo'];
	buscarDpto(anio,'');
}


function buscarDpto(anio,ubigeo){
	buscarUbigeo(anio,ubigeo);
}

function buscarProv(combo){	
	if(combo.value=='-1'){
		limpiarCombo('cmbProv');
		limpiarCombo('cmbDist');
		mostrarInfoCombo();
	}else if(combo.value=='00'){
		if(tipoIUGlobal=="grafico" || tipoIUGlobal=="mapa"){
			limpiarCombo('cmbProv');
		}else{
			limpiarComboTodos('cmbProv');
		}		
		limpiarCombo('cmbDist');
		mostrarInfoCombo();
	}
	else{
		limpiarCombo('cmbDist');
		//var anio = arrGlobal[getValor('txtProyecto')]['anio']; // Año del ubigeo
		var anio = '';
		buscarUbigeo(anio,combo.value);
	}
}

function buscarDist(combo){
	if(combo.value=='-1'){
		limpiarCombo('cmbDist');
		mostrarInfoCombo();
	}else if(combo.value=='00'){
		if(tipoIUGlobal=="grafico" || tipoIUGlobal=="mapa"){
			limpiarCombo('cmbDist');
		}else{
			//limpiarComboTodos('cmbDist');
			limpiarCombo('cmbDist'); // No permite la seleccion de 00 00 00
		}
		mostrarInfoCombo();
	}
	else{
		//var anio = arrGlobal[getValor('txtProyecto')]['anio']; // Año del ubigeo
		var anio = '';
		buscarUbigeo(anio,combo.value);
	}
}

function buscarUbigeo(anio,ubigeo){
	ajax=http_request();	
	var valores;
	url="ubigeo.asp";
	valores="anio="+anio+"&ubigeo="+ubigeo;
	ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){					
					cargarCombo(ajax.responseXML,ubigeo);
            }
            else if(ajax.status==404){                    
            }
            else{                    
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   return;	
}

function cargarCombo(objXml,ubigeo){	
	var combo;	
	switch(ubigeo.length){
		case 0: combo = document.getElementById('cmbDpto'); break;
		case 2: combo = document.getElementById('cmbProv'); break;
		case 4: combo = document.getElementById('cmbDist'); break;
	}
	combo.options.length=0;
	combo.options[0]=new Option("Seleccione ...","-1");
	combo.options[1]=new Option("TODOS","00");
	var dato = objXml.getElementsByTagName('dato');
	for(var i=0;i<dato.length;i++){
		codigo=nodoCadena(dato[i],"cod");
		nombre=nodoCadena(dato[i],"nom");
		combo.options[i+2] = new Option(nombre,codigo); // texto, valor
	}
	mostrarInfoCombo();
}

function limpiarCombo(id){
	var combo;
	combo = document.getElementById(id);
	combo.options.length=0;
	combo.options[0]=new Option("Seleccione ...","-1");	
}

function limpiarComboTodos(id){
	var combo;
	combo = document.getElementById(id);
	combo.options.length=0;
	combo.options[0]=new Option("Seleccione ...","-1");
	combo.options[1]=new Option("TODOS","00");
}

function mostrarInfoCombo(){	
	ccdd=getValor("cmbDpto");
	ccpp=getValor("cmbProv");
	ccdi=getValor("cmbDist");
	divInf = getCampo("divCmbInfo");
	if(ccdi=='00'){
		if(ccpp=='00' && ccdd=='00'){divInf.innerHTML="Listado de Distritos a nivel nacional."; varOcultarCuadros(3);}
		else if(ccpp=='00' && ccdd!='00'){divInf.innerHTML="Listado de Distritos del Departamento de " + textoCmb("cmbDpto"); varOcultarCuadros(3);}
		else{divInf.innerHTML="Listado de Distritos de la Provincia de " + textoCmb("cmbProv"); varOcultarCuadros(3);}
	}else if(ccpp=='00'){
		if(ccdd=='00'){	divInf.innerHTML="Listado de Provincias a nivel nacional."; varOcultarCuadros(2);}
		else{ divInf.innerHTML="Listado de Provincias del Departamento de " + textoCmb("cmbDpto"); varOcultarCuadros(2);}		
	}else if(ccdd=='00'){
		divInf.innerHTML="Listado de Departamentos a nivel nacional.";varOcultarCuadros(1);
	}else if(ccdi!='-1'){
		divInf.innerHTML="Información del Distrito de "+textoCmb("cmbDist");varOcultarCuadros(3);
	}else if(ccpp!='-1'){
		divInf.innerHTML="Información de la Provincia de "+textoCmb("cmbProv");	varOcultarCuadros(2);
	}else if(ccdd!='-1'){
		divInf.innerHTML="Información del Departamento de "+textoCmb("cmbDpto"); varOcultarCuadros(1);
	}else{
		divInf.innerHTML="Información a nivel nacional";varOcultarCuadros(0);
	}
	//infoSelecVariables(ccdd,ccpp,ccdi);
	if(swInicio){ //Se ejecuta una sola vez, luego de iniciada la aplicacion
		//buscarColRep(); //Muestra las columnas del proyecto seleccionado
		buscarCuadros(); //Muestra las columnas del proyecto seleccionado
		swInicio=false;
	}
}

// --- Informacion acerca de seleccion de variables
function infoSelecVariables(ccdd,ccpp,ccdi){
	var numM;
	if(tipoIUGlobal=="tabla"){
		numM=maxVarGlobal;
	}else{ // Grafico y Mapa
		numM=1;
	}
	/*if(ccdd=='00' || ccpp=='00' || ccdi=='00'){
		var cad;
		if(numM==1){cad=" variable."}
		else{cad=" variables."}
		getCampo("divInfoColumna").innerHTML="Seleccione como máximo " + numM + cad;
	}else{
		getCampo("divInfoColumna").innerHTML="Seleccione variables.";
	}*/
} 


// Seleccion de ubigeo (en combos) segun codigo de ubigeo

function buscarUbigeoPorCodigo(ubigeo){	
	//Limpiar Combos
	limpiarComboTodos("cmbProv");
	limpiarComboTodos("cmbDist");
	//limpiarCombo("cmbDpto");
	seleccionCmbValor("cmbDpto",ubigeo.substring(0,2));	
	//var anio = arrGlobal[getValor('txtProyecto')]['anio']; // Año del ubigeo
	var anio='';	
	buscarUbigeo2(anio,ubigeo,"prov");
}

function buscarUbigeo2(anio,ubigeo,alcance){
	ajax=http_request();	
	var valores;
	var ubigeoEnviar="";
	url="ubigeo.asp";
	if(alcance=="prov"){ubigeoEnviar=ubigeo.substring(0,2);}
	else if(alcance=="dist"){ubigeoEnviar=ubigeo.substring(0,4);}
	valores="anio="+anio+"&ubigeo="+ubigeoEnviar;
	ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){
				cargarCombo(ajax.responseXML,ubigeoEnviar);
				if(alcance=="prov" && ubigeo.length>=4){					
					seleccionCmbValor("cmbProv",ubigeo.substring(0,4));
					buscarUbigeo2(anio,ubigeo,"dist")
				}
				else if(alcance=="dist" && ubigeo.length==6){
					seleccionCmbValor("cmbDist",ubigeo,ubigeo);
					mostrarInfoCombo();
				}				
            }
            else if(ajax.status==404){                    
            }
            else{                    
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   return;	
}

function selUbigeoTipoIU(){
	ccdd=getValor("cmbDpto");
	ccpp=getValor("cmbProv");
	ccdi=getValor("cmbDist");
	// Agrega o Elimina "00 TODOS", de el listado de ubigeos
	if(tipoIUGlobal=="grafico" || tipoIUGlobal=="mapa"){
		// Eliminar "TODOS"
		if(ccdd=="00"){ eliminarElementoCmb("cmbProv","00"); eliminarElementoCmb("cmbDist","00"); }
		else if(ccpp=="00"){ eliminarElementoCmb("cmbDist","00"); }
		else if(ccdi=="00"){  }
	}else{
		// Agregar "TODOS"
		if(ccdd!="-1"){ // Seleccione ...
			if(getCampo("cmbProv").options[1]==null){
				agregarElementoCmb("cmbProv",1,"00","TODOS"); // Agregar TODOS
			}else{
				if(getCampo("cmbProv").options[1].value!="00" ){
					// No existe TODOS
					agregarElementoCmb("cmbProv",1,"00","TODOS"); // Agregar TODOS
				}
			}			
			if(ccpp!="-1"){
				if(getCampo("cmbDist").options[1]==null){
					agregarElementoCmb("cmbDist",1,"00","TODOS"); // Agregar TODOS
				}else{
					if(getCampo("cmbDist").options[1].value!="00"){
						agregarElementoCmb("cmbDist",1,"00","TODOS"); // Agregar TODOS
					}
				}
			}
		}
	}
}

