var swInicio = true;
// ------------------------------------
// Funciones Genericas (Inicio)
// Funciones para Ajax
function http_request() {
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
// Funciones Genericas (Fin)


// ------------------------------------
// Expandir (Inicio)
// -------------- Arbol menos y arbol m?s --------------
function arbolMas(fila){
	enlace=getCampo('a'+fila);
	enlace.href='javascript:arbolMenos(\''+fila+'\')';
	enlace.innerHTML='<img src="images/ico_supri.gif" border=0 />';
	//Expandir filas
	pos=0;
	var sw=true;
	while(sw){
		try{
			getCampo('f'+fila+'_'+pos).style.display='';
			pos++;
		}catch(ex){
			sw=false;
		}
	}
}

function arbolMenos(fila){	
	enlace=getCampo('a'+fila);
	enlace.href='javascript:arbolMas(\''+fila+'\')';
	enlace.innerHTML='<img src="images/ico_expan.gif" border=0 />';
	//Expandir filas
	pos=0;
	var sw=true;
	while(sw){
		try{
			getCampo('f'+fila+'_'+pos).style.display='none';
			pos++;
		}catch(ex){
			sw=false;
		}
	}
	/*getCampo('aTodos').innerHTML="Expandir Todos";
	getCampo('aTodos').href="javascript:todosMas()";*/
}

// --- Todos (Listado de datos)
function todosMas(){ // Expandor todos
	var sw=true;
	var f=1;
	var arbolDpto = false;	
	try{
		enlace = getCampo("aDep0"); //Existe arbol de nivel departamental
		textoNiv3Menos('0');
		arbolDpto=true;
	}catch(e){
		arbolDpto=false;
	}
	while(sw){
		try{
			enlace=getCampo('a'+f);		
			arbolMas(f);
			if(arbolDpto){ textoNiv3Menos(f); }
			f++;
		}catch(e){
			sw=false;
		}
	}
	getCampo('aTodos').innerHTML="Contraer Todos";
	getCampo('aTodos').href="javascript:todosMenos()";
}

function todosMenos(){ // Contraer todos
	var sw=true;
	var f=1;
	var arbolDpto = false;	
	try{
		enlace = getCampo("aDep0"); //Existe arbol de nivel departamental
		textoNiv3Mas('0');
		arbolDpto=true;
	}catch(e){
		arbolDpto=false;
	}
	while(sw){
		try{
			enlace=getCampo('a'+f);
			arbolMenos(f);
			if(arbolDpto){ textoNiv3Mas(f); }
			f++;			
		}catch(e){
			sw=false;
		}
	}
	getCampo('aTodos').innerHTML="Expandir Todos";
	getCampo('aTodos').href="javascript:todosMas()";
}

function arbolMenosNiv3(num){
	var f = parseInt(num);
	var sw = true;
	var enlace;
	f++;
	while(sw){
		try{
			enlace = getCampo("aDep"+f); // Enlace de Dpto
			if(enlace==null){
				try{
					enlace = getCampo("a"+f); // Enlace de Prov
					arbolMenos(f);
					f++;					
				}catch(e){
					sw = false;
				}
			}else{
				arbolMenos(f);
				sw = false				
				f++;
			}
		// en caso de existir se llego al final			
		}catch(e){			
		}
	}
	textoNiv3Mas(num);
}

function arbolMasNiv3(num){
	var f = parseInt(num);
	var sw = true;
	var enlace;
	f++;
	while(sw){
		try{
			enlace = getCampo("aDep"+f); // Enlace de Dpto
			if(enlace==null){
				try{
					enlace = getCampo("a"+f); // Enlace de Prov
					arbolMas(f);
					f++;					
				}catch(e){
					sw = false;
				}
			}else{
				arbolMas(f);
				sw = false				
				f++;
			}
		// en caso de existir se llego al final			
		}catch(e){			
		}
	}
	textoNiv3Menos(num);
}

function textoNiv3Mas(fila){
	try{
		enlace = getCampo("aDep"+fila);
		enlace.href='javascript:arbolMasNiv3(\''+fila+'\')';
		enlace.innerHTML='<img src="images/ico_expan.gif" border=0 />';
	}catch(e){}
}

function textoNiv3Menos(fila){
	try{
		enlace = getCampo("aDep"+fila);
		enlace.href='javascript:arbolMenosNiv3(\''+fila+'\')';
		enlace.innerHTML='<img src="images/ico_supri.gif" border=0 />';
	}catch(e){/*alert("Error en menos");*/}
}

// ---- Contraer y Expandir variables ----
// Variables a seleccionar, listado de checks
function variableMas(fila){	
	enlace=getCampo('aCol'+fila);
	enlace.href='javascript:variableMenos(\''+fila+'\')';
	enlace.innerHTML='<img src="images/ico_supri.gif" border=0 />';
	//Expandir filas
	pos=0;
	var sw=true;
	while(sw){
		try{
			getCampo('var'+fila+'_'+pos).style.display='';
			pos++;
		}catch(ex){
			sw=false;
		}
	}
}

function variableMenos(fila){
	enlace=getCampo('aCol'+fila);
	enlace.href='javascript:variableMas(\''+fila+'\')';
	enlace.innerHTML='<img src="images/ico_expan.gif" border=0 />';
	//Expandir filas
	pos=0;
	var sw=true;
	while(sw){
		try{
			getCampo('var'+fila+'_'+pos).style.display='none';
			pos++;
		}catch(ex){
			sw=false;
		}
	}
}

// Forzar Estado de etiqueta

function estadoArbolMas(){
	getCampo('aTodos').innerHTML="Contraer Todos";
	getCampo('aTodos').href="javascript:todosMenos()";
}


function getCampo(id){
	return document.getElementById(id);
}

// Expandir (Fin)


// ------------------------------------
// Conexion  a servicio de datos (Inicio)
function busquedaPagos(){
	if(validacion()){
		getCampo('divPrincipal').innerHTML=" ";
		var param="";
		if(getCampo('cmbDist').value!='00'){
			param="ubigeo="+getCampo('cmbDist').value;
		}else if(getCampo('cmbProv').value!='00'){
			param="ubigeo="+getCampo('cmbProv').value+'00';
		}else if(getCampo('cmbDpto').value!='00'){
			param="ubigeo="+getCampo('cmbDpto').value+'0000';
		}else{
			param="ubigeo=000000";
		}
		param += "&nombre="+escape(getCampo('txtNombre').value);
		param += "&apPaterno="+escape(getCampo('txtPaterno').value);
		param += "&apMaterno="+escape(getCampo('txtMaterno').value);
		param += "&dni="+escape(getCampo('txtDNI').value);
		
		getCampo("aEmergente").href="javascript:emergentePagos('"+param+"')"; // enlace para emergente
		getCampo("aMapa").href="javascript:verMapa('"+param+"') "; // enlace para emergente
		busquedaPagosServ(param);
	}else{
		getCampo('divPrincipal').innerHTML="<font color=red>Seleccione año y mes.</font>";
	}
}

function busquedaPagosServ(param){
	ajax=http_request();	
	var valores;
	url="PuenteMadreLider.php";
	valores=param;
	ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
		 	getCampo("divPrincipal").innerHTML="Cargando ...";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){
            		getCampo("divPrincipal").innerHTML=ajax.responseText;
            }
            else if(ajax.status==404){
				getCampo("divPrincipal").innerHTML="Servicio no disponible temporalmente.";
            }
            else{
				getCampo("divPrincipal").innerHTML="Datos no disponibles temporalmente.";
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   return;
}
// Conexion  a servicio de datos (Fin)


// ------------------------------------
function clickDpto(cmb){
	if(cmb.value=='00'){
		limpiarCombo('cmbProv');
		limpiarCombo('cmbDist');
	}else{
		buscarUbigeo("prov",cmb.value);
		limpiarCombo('cmbDist');
	}
}

function clickProv(cmb){
	if(cmb.value=='00'){
		limpiarCombo('cmbDist');		
		}else{
			buscarUbigeo("dist",cmb.value);
		}
	
}

// Cargar Ubigeos (inicio)
function buscarUbigeo(alcance,u){
	var arr=new Array();
	var n=0;
	if(alcance=="prov"){
		for(var i=1;i<P.length;i++){
			if(MID(P[i],0,2)==u){
				arr[n]=P[i];
				n++;
			}
		}
	}else if(alcance=="dist"){
		for(var i=1;i<D.length;i++){
			if(MID(D[i],0,4)==u){
				arr[n]=D[i];
				n++;
			}
		}
	}
	cargarCombo(arr,u);
}

function cargarCombo(arr,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[0]=new Option("TODOS","00");	
	for(var i=0;i<arr.length;i++){
		codNom = arr[i].split("&");
		codigo=codNom[0];
		nombre=codNom[1];
		combo.options[i+1] = new Option(nombre,codigo); // texto, valor
	}
}

function limpiarCombo(id){
	var combo;
	combo = document.getElementById(id);
	combo.options.length=0;
	//combo.options[0]=new Option("Seleccione ...","-1");	
	combo.options[0]=new Option("TODOS","00");	
}

// Fin

// Configuracion de Fecha
function clickAnio(cmb){
	var arrCad=Array("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE");
	var finPos=0;
	if(cmb.value==anioFin){
		finPos=mesFin;
	}
	else{
		finPos=12;
	}
	combo = document.getElementById("cmbMes");
	//limpiarCombo("cmbMes");
	combo.options.length=0;
	combo.options[0]=new Option("Seleccione ...","-1");	
	for(var i=0;i<finPos;i++){
		combo.options[i+1] = new Option(arrCad[i],(i+1)); // texto, valor
	}
}

// Validar campos necesarios
function validacion(){
	/*if(getCampo('cmbAnio').value=='-1' || getCampo('cmbMes').value=='-1'){
		return false;
	}else{
		return true;
	}*/
	return true;
}

function emergentePagos(parametro){
		if(parametro==''){
			alert("Aún no se realiza búsqueda.");
		}else{
			var url = "PuenteCocinaLetrina.php?"+parametro+"&emergente=ok";
			window.open(url,"Cronograma","status=1,scrollbars=1,resizable=1");
		}
}


// Visualización de Mapa
function verMapa(param){
	if(param==""){
		
	}else{
		mapaServ(param+"&mapa=ok");
	}
}


function mapaServ(param){
	ajax=http_request();	
	var valores;
	url="PuenteCocinaLetrina.php";
	valores=param;
	ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
		 	getCampo("divMapa").innerHTML="Cargando ...";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){
            		//getCampo("divMapa").innerHTML=ajax.responseText;
					presentacionMapa(ajax.responseText);
            }
            else if(ajax.status==404){
				getCampo("divMapa").innerHTML="Servicio no disponible temporalmente.";
            }
            else{
				getCampo("divMapa").innerHTML="Datos no disponibles temporalmente.";
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   return;
}

function presentacionMapa(tabla){
	var cad="";
	cad+="<table bgcolor='#E47171'><tr bgColor='#FFFFFF'><td>"
	cad+="<table bgcolor='#FFFFFF' >";
	cad+="<tr bgColor='#FFFFFF'><td align=right><a title='Cerrar Mapa' href=\"javascript:cerrarMapa()\" >[Cerrar]</a></td></tr>";
	cad+="<tr bgColor='#FFFFFF'><td>"+tabla+"</td></tr>";
	cad+="</table>";
	cad+="</td></tr></table>";
	mostrarMapa();
	getCampo("divMapa").innerHTML=cad;
}

function cerrarMapa(){
	getCampo("divMapa").style.display="none";
}

function mostrarMapa(){
	var x = (screen.width - 306)/2;
	getCampo("divMapa").style.left = x;
	getCampo("divMapa").style.display="";
}

function buscarTablaResumen(param){
	ajax=http_request();	
	var valores;
	url="PuenteMadreLider.php";
	valores=param;
	ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
		 	getCampo("divPrincipal").innerHTML="Cargando ...";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){
            		getCampo("divPrincipal").innerHTML=ajax.responseText;
            }
            else if(ajax.status==404){
				getCampo("divPrincipal").innerHTML="Servicio no disponible temporalmente.";
            }
            else{
				getCampo("divPrincipal").innerHTML="Datos no disponibles temporalmente.";
            }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   return;
}

function inicioPagos(){
	if(swInicio){
		//  Se ejecuta la primera vez
		param = "ubigeo=000000&resumen=ok";	
		swInicio = false;
		buscarTablaResumen(param);
	}else{
		busquedaPagos();
	}
}

