var arrPIPs = new Array();

var repID;
var coPIP1;
var desPIP1;
var coPIP2;
var desPIP2;
var coPIP3;
var desPIP3;
var coPIP4;
var desPIP4;
var coPIP5;
var desPIP5;
var coPIP6;
var desPIP6;
var coPIP7;
var desPIP7;
var Anio1;
var Anio2;
var Anio3;
var Anio4;
var Anio5;
var Anio6;
var Anio7;
var AnioBase;
var Mes1;
var Mes2;
var sNivs = "";
var usarFiltroActivo = 0;
var iDivisor = 1;
var bDolarizar = 0;
var tipoRep = "";

//Constructor de repNivel
function repNivelRecord(categID, nivelID, Etiqueta, Defecto) {
	this.categID = categID;
	this.nivelID = nivelID;
	this.Etiqueta = Etiqueta;
	this.Defecto = Defecto;				
}

//Constructor de repPIP
function repPIP(codPipMom, desPIPMom) {
	this.codPipMom = codPipMom;
	this.desPIPMom = desPIPMom;			
}

function selecNivel() {																
	var niv1 = findObj("lstNiveles1");
	var niv2 = findObj("lstNiveles2");
	var i = 0;
	
	for (i = 0; i < niv1.options.length; i++) {
		if (niv1.options.item(i).selected == true) {
			var oOption = document.createElement("OPTION");
			var oOpt = niv1.options.item(i);					
			niv2.add(oOption);
			oOption.innerText = oOpt.innerText;
			oOption.value = oOpt.value;						
		}
	}
					
	for (i = 0; i < niv1.options.length; i++) {
		if (niv1.options.item(i).selected == true) {						
			niv1.remove(i);
			i--;						
		}
	}		
}

function deSelecNivel() {												
	var niv1 = findObj("lstNiveles1");
	var niv2 = findObj("lstNiveles2");	
	
	var i = 0;
	
	for (i = 0; i < niv2.options.length; i++) {
		if (niv2.options.item(i).selected == true) {
			var oOption = document.createElement("OPTION");
			var oOpt = niv2.options.item(i);					
			niv1.add(oOption);
			oOption.innerText = oOpt.innerText;
			oOption.value = oOpt.value;						
		}
	}
	
	for (i = 0; i < niv2.options.length; i++) {
		if (niv2.options.item(i).selected == true) {						
			niv2.remove(i);
			i--;
		}
	}
}

function nivUp() {				
	var niv2 = findObj("lstNiveles2");
	var idx = niv2.selectedIndex;							
					
	if ((idx == -1) || (idx == 0))
		return;
		
	var opt1 = niv2.options.item(idx - 1);
	var opt2 = niv2.options.item(idx);
	var text = opt1.innerText;
	var val = opt1.value;
	opt1.innerText = opt2.innerText;
	opt1.value = opt2.value;
	opt2.innerText = text;
	opt2.value = val;
	niv2.selectedIndex = idx - 1;
}

function nivDown() {				
	var niv2 = findObj("lstNiveles2");
	var idx = niv2.selectedIndex;
				
	if ((idx == -1) || (idx == niv2.options.length - 1))
		return;
		
	var opt1 = niv2.options.item(idx + 1);
	var opt2 = niv2.options.item(idx);
	var text = opt1.innerText;
	var val = opt1.value;
	opt1.innerText = opt2.innerText;
	opt1.value = opt2.value;
	opt2.innerText = text;
	opt2.value = val;
	niv2.selectedIndex = idx + 1;
}

function setNiveles() {	
	var objTipoRep = findObj("cboTipoRep");
	
	var idx = objTipoRep.selectedIndex;									
	if (idx > -1) {				
		clearList("lstNiveles1");
		clearList("lstNiveles2");
		var iTipoRep = objTipoRep.options.item(idx).value;
							
		//Llenando niveles
		for (var i = 0; i <= arrNiveles.length - 1; i++) {
			if ((arrNiveles[i].categID == iTipoRep) && (arrNiveles[i].Defecto == true)) {				
				addListItem("lstNiveles2", arrNiveles[i].nivelID, arrNiveles[i].Etiqueta);
			}
			else {
				if ((arrNiveles[i].categID == iTipoRep) && (arrNiveles[i].Defecto == false)) {
					addListItem("lstNiveles1", arrNiveles[i].nivelID, arrNiveles[i].Etiqueta);													
				}
			}												
		}				
		llenarEsquemas();
	}
}
	
function setNivelesPredefinidos() {	
	var objTipoRep = findObj("cboReportePred");
	//alert('Llenar niveles predefinidos'+objTipoRep);
	var idx = objTipoRep.selectedIndex;		
	if (idx > -1) {				
		//clearList("lstNiveles1");
		clearList("lstNiveles2");
		var iTipoRep = objTipoRep.options.item(idx).value;
		//alert('Tipo'+iTipoRep);
							
		//Llenando niveles
		//alert(arrNiveles.length);
		for (var i = 0; i <= arrNiveles.length - 1; i++) {
		//alert(arrNiveles[i].categID);			
			if ((arrNiveles[i].categID == iTipoRep) && (arrNiveles[i].Defecto == true)) {	
			    
				addListItem("lstNiveles2", arrNiveles[i].nivelID, arrNiveles[i].Etiqueta);
			}
			//else {
			//	if ((arrNiveles[i].categID == iTipoRep) && (arrNiveles[i].Defecto == false)) {
			//		addListItem("lstNiveles1", arrNiveles[i].nivelID, arrNiveles[i].Etiqueta);													
			//	}
			//}												
		}				
		llenarEsquemasPredefinidos();
	}
}	
		
function disableAceptar()
{							
	findObj("cmdEjecutar").style.display = 'none';
	findObj("lblGenerando").style.display = 'inline';				 
}

function saveListState(lst, lbl) {							
	var s = "";
	
	lbl.innerText = "";				
	for (i = 0; i < lst.options.length; i++) {						
		s += lst.options[i].value + "|" + lst.options[i].innerText + ";";					
	}
	lbl.value = s;				
}
	
function saveState() {							
	var lns1 = findObj("lblNivState1");
	var niv1 = findObj("lstNiveles1");	
	saveListState(niv1, lns1);								
	var lns2 = findObj("lblNivState2");
	var niv2 = findObj("lstNiveles2");	
	saveListState(niv2, lns2);				
}

function llenarEsquemas() {	
	var cboTR = findObj("cboTipoRep");	
	var cboAR = findObj("cboAreaRep");
		
	var iTR = cboTR.options[cboTR.selectedIndex].value;	
	var iAR = cboAR.options[cboAR.selectedIndex].value;					
		
	var response = Reporter.TraerEsquemas(iTR, iAR);
	var dt = response.value;	
	if(dt != null && typeof(dt) == "object") {		
		clearList("cboReporte");
		for (var i=0; i < dt.Rows.length; i++) {				
			addListItem("cboReporte", dt.Rows[i].repReporteID, Right('000' + dt.Rows[i].repReporteID, 3) + ' - ' + dt.Rows[i].Nombre);
		}
		if (dt.Rows.length > 0) {
			findObj("cboReporte").selectedIndex = 0;
			configParams();
		}
	}
	else{ 
		alert('Function llenarEsquemas: ' + response.error);
	}
}

function llenarEsquemasPredefinidos() {	
	var cboTR = findObj("cboTipoRep");	
	var cboAR = findObj("cboAreaRep");
		
	var iTR = cboTR.options[cboTR.selectedIndex].value;	
	var iAR = cboAR.options[cboAR.selectedIndex].value;					
		
	//alert('llenar esquemas predefinidos');
	var response = ReporterPrede.TraerEsquemasPredefinidos(iTR, iAR);
	var dt = response.value;		
	if(dt != null && typeof(dt) == "object") {		
		clearList("cboReporte");
		for (var i=0; i < dt.Rows.length; i++) {				
			addListItem("cboReporte", dt.Rows[i].repReporteID, Right('000' + dt.Rows[i].repReporteID, 3) + ' - ' + dt.Rows[i].Nombre);
		}
		if (dt.Rows.length > 0) {
			findObj("cboReporte").selectedIndex = 0;
			configParamsPredefinidos();			
		}		
	}
	else{ 
		alert('Function llenarEsquemasPredefinidos: ' + response.error);
	}
}

function llenarReportesPredefinidos() {	
	var cboTR = findObj("cboReporte");	
			
	var iTR = cboTR.options[cboTR.selectedIndex].value;	    		
	var response = ReporterPrede.TraerReportesPredefinidos(iTR );
	var dt = response.value;		
	//alert("llenar reportes predefinido");	
	if(dt != null && typeof(dt) == "object") {		
		clearList("cboReportePred");
		for (var i=0; i < dt.Rows.length; i++) {				
			addListItem("cboReportePred", dt.Rows[i].repReporteID, Right('000' + dt.Rows[i].repReportePredeID, 3) + ' - ' + dt.Rows[i].Nombre);
		}
		if (dt.Rows.length > 0) {
			findObj("cboReportePred").selectedIndex = 0;
			//configParamsPredefinidos();
		}
	}
	else{ 
		alert('Function llenarReportesPredefinidos: ' + response.error);
	}
}

function hideParams() {
	hideObject("cboPIP1");
	hideObject("lblPIP1");
	hideObject("numAnio1");
	hideObject("lblAnio1");
	hideObject("valAnio1");
	
	hideObject("cboPIP2");
	hideObject("lblPIP2");
	hideObject("numAnio2");
	hideObject("lblAnio2");
	hideObject("valAnio2");
	
	hideObject("cboPIP3");
	hideObject("lblPIP3");
	hideObject("numAnio3");
	hideObject("lblAnio3");
	hideObject("valAnio3");
	
	hideObject("cboPIP4");
	hideObject("lblPIP4");
	hideObject("numAnio4");
	hideObject("lblAnio4");
	hideObject("valAnio4");
					
	hideObject("cboPIP5");
	hideObject("lblPIP5");
	hideObject("numAnio5");
	hideObject("lblAnio5");
	hideObject("valAnio5");
	
	hideObject("cboPIP6");
	hideObject("lblPIP6");
	hideObject("numAnio6");
	hideObject("lblAnio6");
	hideObject("valAnio6");
	
	hideObject("cboPIP7");
	hideObject("lblPIP7");
	hideObject("numAnio7");
	hideObject("lblAnio7");
	hideObject("valAnio7");
	

	hideObject("cboMes1");
	hideObject("lblMes1");
	hideObject("cboMes2");
	hideObject("lblMes2");
	
	hideObject("numAnioBase");
	hideObject("lblAnioBase");
	hideObject("valAnioB");				
}

function configParams() {				
	hideParams();
					
	var cboEsq = findObj("cboReporte");
	iRep = cboEsq.options(cboEsq.selectedIndex).value;
					
	var response = Reporter.TraerParametrosReporte(iRep);				
	var dt = response.value;
					
	if(dt != null && typeof(dt) == "object") {
		for (var i=0; i < dt.Rows.length; i++) {
			switch (dt.Rows[i].Nombre) {
				case "[pCodPIP]":
					showObject("lblPIP1");
					showObject("cboPIP1");								
					setText("lblPIP1", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP1");					
					setCboValue("cboPIP1", dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP1").disabled = (dt.Rows[i].SoloLectura == 1);					
					break;
					
				case "[pCodPIP1]":
					showObject("lblPIP1");
					showObject("cboPIP1");
					setText("lblPIP1", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP1");										
					setCboValue("cboPIP1",dt.Rows[i].ValorDefectoPIP);				
					findObj("cboPIP1").disabled = (dt.Rows[i].SoloLectura == 1);										
					break;
				
				case "[pCodPIP2]":
					showObject("lblPIP2");
					showObject("cboPIP2");
					setText("lblPIP2", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP2");					
					setCboValue("cboPIP2",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP3]":
					showObject("lblPIP3");
					showObject("cboPIP3");
					setText("lblPIP3", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP3");
					setCboValue("cboPIP3",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP3").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP4]":
					showObject("lblPIP4");
					showObject("cboPIP4");
					setText("lblPIP4", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP4");
					setCboValue("cboPIP4",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP4").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP5]":
					showObject("lblPIP5");
					showObject("cboPIP5");
					setText("lblPIP5", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP5");
					setCboValue("cboPIP5",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP5").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP6]":
					showObject("lblPIP6");
					showObject("cboPIP6");
					setText("lblPIP6", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP6");
					setCboValue("cboPIP6",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP6").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP7]":
					showObject("lblPIP7");
					showObject("cboPIP7");
					setText("lblPIP7", dt.Rows[i].Etiqueta);
					llenarPIPs("cboPIP7");
					setCboValue("cboPIP7",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP7").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
								
				case "[pAnio]":
					showObject("lblAnio1");
					showObject("numAnio1");
					showObject("valAnio1");								
					setText("lblAnio1", dt.Rows[i].Etiqueta);
					findObj("numAnio1").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pAnio1]":
					showObject("lblAnio1");
					showObject("numAnio1");	
					showObject("valAnio1");
					setText("lblAnio1", dt.Rows[i].Etiqueta);
					findObj("numAnio1").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio2]":
					showObject("lblAnio2");
					showObject("numAnio2");	
					showObject("valAnio2");
					setText("lblAnio2", dt.Rows[i].Etiqueta);
					findObj("numAnio2").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio3]":
					showObject("lblAnio3");
					showObject("numAnio3");
					showObject("valAnio3");	
					setText("lblAnio3", dt.Rows[i].Etiqueta);								
					findObj("numAnio3").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio3").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio4]":
					showObject("lblAnio4");
					showObject("numAnio4");	
					showObject("valAnio4");
					setText("lblAnio4", dt.Rows[i].Etiqueta);
					findObj("numAnio4").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio4").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio5]":
					showObject("lblAnio5");
					showObject("numAnio5");
					showObject("valAnio5");	
					setText("lblAnio5", dt.Rows[i].Etiqueta);
					findObj("numAnio5").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio5").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio6]":
					showObject("lblAnio6");
					showObject("numAnio6");	
					showObject("valAnio6");
					setText("lblAnio6", dt.Rows[i].Etiqueta);
					findObj("numAnio6").value = dt.Rows[i].ValorDefecto;
					break;
				
				case "[pAnio7]":
					showObject("lblAnio7");
					showObject("numAnio7");
					showObject("valAnio7");	
					setText("lblAnio7", dt.Rows[i].Etiqueta);
					findObj("numAnio7").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio7").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
								
				case "[pMes]":
					showObject("cboMes1");
					showObject("lblMes1");																	
					setText("lblMes1", dt.Rows[i].Etiqueta);
					setCboValue("cboMes1",dt.Rows[i].ValorDefecto);
					findObj("cboMes1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pMes1]":
					showObject("cboMes1");
					showObject("lblMes1");	
					setText("lblMes1", dt.Rows[i].Etiqueta);
					setCboValue("cboMes1",dt.Rows[i].ValorDefecto);
					findObj("cboMes1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pMes2]":
					showObject("cboMes2");
					showObject("lblMes2");	
					setText("lblMes2", dt.Rows[i].Etiqueta);
					setCboValue("cboMes2",dt.Rows[i].ValorDefecto);
					findObj("cboMes2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnioBase]":
					showObject("lblAnioBase");
					showObject("numAnioBase");
					showObject("valAnioB");
					setText("lblAnioBase", dt.Rows[i].Etiqueta);
					findObj("numAnioBase").value = dt.Rows[i].ValorDefecto;
					findObj("numAnioBase").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
			} //switch
		} //for
	}
	else { 
		alert('Function configParams: ' + response.error);
	}	
}


function configParamsPredefinidos() {				
	hideParams();
	
	llenarReportesPredefinidos();				
	var cboEsq = findObj("cboReporte");
	iRep = cboEsq.options(cboEsq.selectedIndex).value;
//	alert('Configurar parametros predefinidos');			
	var response = ReporterPrede.TraerParametrosReportePredefinidos(iRep);				
	var dt = response.value;
					
	if(dt != null && typeof(dt) == "object") {
		for (var i=0; i < dt.Rows.length; i++) {
			switch (dt.Rows[i].Nombre) {
				case "[pCodPIP]":
					showObject("lblPIP1");
					showObject("cboPIP1");								
					setText("lblPIP1", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP1");					
					setCboValue("cboPIP1", dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP1").disabled = (dt.Rows[i].SoloLectura == 1);					
					break;
					
				case "[pCodPIP1]":
					showObject("lblPIP1");
					showObject("cboPIP1");
					setText("lblPIP1", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP1");										
					setCboValue("cboPIP1",dt.Rows[i].ValorDefectoPIP);				
					findObj("cboPIP1").disabled = (dt.Rows[i].SoloLectura == 1);										
					break;
				
				case "[pCodPIP2]":
					showObject("lblPIP2");
					showObject("cboPIP2");
					setText("lblPIP2", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP2");					
					setCboValue("cboPIP2",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP3]":
					showObject("lblPIP3");
					showObject("cboPIP3");
					setText("lblPIP3", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP3");
					setCboValue("cboPIP3",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP3").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP4]":
					showObject("lblPIP4");
					showObject("cboPIP4");
					setText("lblPIP4", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP4");
					setCboValue("cboPIP4",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP4").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP5]":
					showObject("lblPIP5");
					showObject("cboPIP5");
					setText("lblPIP5", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP5");
					setCboValue("cboPIP5",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP5").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP6]":
					showObject("lblPIP6");
					showObject("cboPIP6");
					setText("lblPIP6", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP6");
					setCboValue("cboPIP6",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP6").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pCodPIP7]":
					showObject("lblPIP7");
					showObject("cboPIP7");
					setText("lblPIP7", dt.Rows[i].Etiqueta);
					llenarPIPsPredefinidos("cboPIP7");
					setCboValue("cboPIP7",dt.Rows[i].ValorDefectoPIP);
					findObj("cboPIP7").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio]":
					showObject("lblAnio1");
					showObject("numAnio1");
					showObject("valAnio1");								
					setText("lblAnio1", dt.Rows[i].Etiqueta);
					findObj("numAnio1").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pAnio1]":
					showObject("lblAnio1");
					showObject("numAnio1");	
					showObject("valAnio1");
					setText("lblAnio1", dt.Rows[i].Etiqueta);
					findObj("numAnio1").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio2]":
					showObject("lblAnio2");
					showObject("numAnio2");	
					showObject("valAnio2");
					setText("lblAnio2", dt.Rows[i].Etiqueta);
					findObj("numAnio2").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio3]":
					showObject("lblAnio3");
					showObject("numAnio3");
					showObject("valAnio3");	
					setText("lblAnio3", dt.Rows[i].Etiqueta);								
					findObj("numAnio3").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio3").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio4]":
					showObject("lblAnio4");
					showObject("numAnio4");	
					showObject("valAnio4");
					setText("lblAnio4", dt.Rows[i].Etiqueta);
					findObj("numAnio4").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio4").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio5]":
					showObject("lblAnio5");
					showObject("numAnio5");
					showObject("valAnio5");	
					setText("lblAnio5", dt.Rows[i].Etiqueta);
					findObj("numAnio5").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio5").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnio6]":
					showObject("lblAnio6");
					showObject("numAnio6");	
					showObject("valAnio6");
					setText("lblAnio6", dt.Rows[i].Etiqueta);
					findObj("numAnio6").value = dt.Rows[i].ValorDefecto;
					break;
				
				case "[pAnio7]":
					showObject("lblAnio7");
					showObject("numAnio7");
					showObject("valAnio7");	
					setText("lblAnio7", dt.Rows[i].Etiqueta);
					findObj("numAnio7").value = dt.Rows[i].ValorDefecto;
					findObj("numAnio7").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pMes]":
					showObject("cboMes1");
					showObject("lblMes1");																	
					setText("lblMes1", dt.Rows[i].Etiqueta);
					setCboValue("cboMes1",dt.Rows[i].ValorDefecto);
					findObj("cboMes1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pMes1]":
					showObject("cboMes1");
					showObject("lblMes1");	
					setText("lblMes1", dt.Rows[i].Etiqueta);
					setCboValue("cboMes1",dt.Rows[i].ValorDefecto);
					findObj("cboMes1").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
					
				case "[pMes2]":
					showObject("cboMes2");
					showObject("lblMes2");	
					setText("lblMes2", dt.Rows[i].Etiqueta);
					setCboValue("cboMes2",dt.Rows[i].ValorDefecto);
					findObj("cboMes2").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
				
				case "[pAnioBase]":
					showObject("lblAnioBase");
					showObject("numAnioBase");
					showObject("valAnioB");
					setText("lblAnioBase", dt.Rows[i].Etiqueta);
					findObj("numAnioBase").value = dt.Rows[i].ValorDefecto;
					findObj("numAnioBase").disabled = (dt.Rows[i].SoloLectura == 1);
					break;
			} //switch
		} //for
	}
	else { 
		alert('Function configParams: ' + response.error);
	}	
}
				
function traerPIPs() {
	if (arrPIPs.length > 0)
		return;
		
	var response = Reporter.TraerPIPs(iRep);				
	var dt = response.value;
					
	if(dt != null && typeof(dt) == "object") {
		for (var i=0; i < dt.Rows.length; i++) {
			arrPIPs[arrPIPs.length] = new repPIP(dt.Rows[i].CodPipMom, dt.Rows[i].DesPIPMom);						
		}
	}
	else { 
		alert('Function traerPIPs: ' + response.error);
	}				
}

function traerPIPsPredefinidos() {
	if (arrPIPs.length > 0)
		return;
		
	var response = ReporterPrede.TraerPIPs(iRep);				
	var dt = response.value;
					
	if(dt != null && typeof(dt) == "object") {
		for (var i=0; i < dt.Rows.length; i++) {
			arrPIPs[arrPIPs.length] = new repPIP(dt.Rows[i].CodPipMom, dt.Rows[i].DesPIPMom);						
		}
	}
	else { 
		alert('Function traerPIPs: ' + response.error);
	}				
}


function llenarPIPs(sPIP) {								
	var cboPIP = findObj(sPIP);
	
	if (cboPIP.options.length == 0) {
		traerPIPs();
		clearList(sPIP);
		for (var i=0; i < arrPIPs.length; i++) {			
			addListItem(sPIP, arrPIPs[i].codPipMom, arrPIPs[i].desPIPMom);
		}		
	}		
}

function llenarPIPsPredefinidos(sPIP) {								
	var cboPIP = findObj(sPIP);
	
	if (cboPIP.options.length == 0) {
		traerPIPsPredefinidos();
		clearList(sPIP);
		for (var i=0; i < arrPIPs.length; i++) {			
			addListItem(sPIP, arrPIPs[i].codPipMom, arrPIPs[i].desPIPMom);
		}		
	}		
}
function getIntValue(objName) {
	var txt = findObj(objName);
	if (txt.value == "") 
		return 0;
	else
		return parseInt(txt.value);
}

function configRptParams() {	
	repID = getCboValue("cboReporte");
	coPIP1 = getCboValue("cboPIP1");
	desPIP1 = getCboText("cboPIP1");
	coPIP2 = getCboValue("cboPIP2");
	desPIP2 = getCboText("cboPIP2");
	coPIP3 = getCboValue("cboPIP3");
	desPIP3 = getCboText("cboPIP3");
	coPIP4 = getCboValue("cboPIP4");
	desPIP4 = getCboText("cboPIP4");
	coPIP5 = getCboValue("cboPIP5");
	desPIP5 = getCboText("cboPIP5");
	coPIP6 = getCboValue("cboPIP6");
	desPIP6 = getCboText("cboPIP6");
	coPIP7 = getCboValue("cboPIP7");
	desPIP7 = getCboText("cboPIP7");	
	Anio1 = getIntValue("numAnio1");
	Anio2 = getIntValue("numAnio2");
	Anio3 = getIntValue("numAnio3");
	Anio4 = getIntValue("numAnio4");
	Anio5 = getIntValue("numAnio5");
	Anio6 = getIntValue("numAnio6");
	Anio7 = getIntValue("numAnio7");	
	AnioBase = getIntValue("numAnioBase");
	Mes1 = getCboValue("cboMes1");
	Mes2 = getCboValue("cboMes2");
	sNivs = "";
	usarFiltroActivo = 0;
	bDolarizar = 0;
	iDivisor = getCboValue("cboDivisor");
	
	if (findObj("chkFiltrosActivos").checked == true)
		usarFiltroActivo = 1;
		
	if (findObj("chkDolares").checked == true)
		bDolarizar = 1;
		
	var lsNivs = findObj("lstNiveles2");
	if (lsNivs.options.length > 0) {
		for (var i=0; i < lsNivs.options.length - 1; i++) {
			sNivs = sNivs + lsNivs.options[i].value + ",";
		}
		sNivs = sNivs + lsNivs.options[lsNivs.options.length - 1].value;
	}
}

function doExecRpt(tRep) {		
	tipoRep = tRep;
	var response;
	
	configRptParams();	
	switch(tipoRep) {
		case "SNIP":
			//alert(repID);
		   // alert(coPIP1);
		  //  alert(coPIP2);
		  //  alert(Anio1);
		  //  alert(Anio2);	
		 //   alert(usarFiltroActivo); 
		 //   alert(iDivisor); 
		  //  alert(bDolarizar);	    		  
			response = Reporter.EjecutarReporte(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7, Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRpt_CallBack);
			break;
		case "XLS":
			response = Reporter.EjecutarReporteXLS(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7, Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRpt_CallBack);
			break;
		case "HTML":	
			response = Reporter.EjecutarReporteHTML(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7,Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRpt_CallBack);
			break;
	}	
}

function doExecRpt_CallBack(response) {
	var url = response.value;				
	if (url != null) {		
		findObj("hlRep").href = url;		
		if (tipoRep == "HTML" || tipoRep == "XLS")
			findObj("hlRep").target = "_blank";
		else
			findObj("hlRep").target = "";
		
		findObj("hlRepDesc").innerText = getCboText("cboReporte");
		hideObject("lblEspere");
		hideObject("pnlReporter");
		showObject("pnlResultado");
	}
	else { 
		hideObject("lblEspere");
		alert('Function doExecRpt_CallBack: ' + response.error);
		volver();
	}				
}

function doExecRptPredeterminado(tRep) {		
	tipoRep = tRep;
	var response;
	
	configRptParams();	
	switch(tipoRep) {
		case "SNIP":			  		  
			response = ReporterPrede.EjecutarReporte(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7, Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRptPredeterminado_CallBack);
			break;
		case "XLS":
			response = ReporterPrede.EjecutarReporteXLS(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7, Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRptPredeterminado_CallBack);
			break;
		case "HTML":	
			response = ReporterPrede.EjecutarReporteHTML(repID, coPIP1, desPIP1, coPIP2, desPIP2, coPIP3, desPIP3, coPIP4, desPIP4, coPIP5, desPIP5, coPIP6, desPIP6, coPIP7, desPIP7, Anio1, Anio2, Anio3, Anio4, Anio5, Anio6, Anio7, AnioBase, Mes1, Mes2, sNivs, usarFiltroActivo, iDivisor, bDolarizar, doExecRptPredeterminado_CallBack);
			break;
	}	
}


function doExecRptPredeterminado_CallBack(response) {
	//var url = response.value;			
	//if (url != null) {		
		//findObj("hlRep").href = url;		
		//if (tipoRep == "HTML" || tipoRep == "XLS")
		//	findObj("hlRep").target = "_blank";
		//else
		//	findObj("hlRep").target = "";
		
		//findObj("hlRepDesc").innerText = getCboText("cboReporte");
		//hideObject("lblEspere");
		//hideObject("pnlReporter");
		//showObject("pnlResultado");
	//}
	//else { 
	//	hideObject("lblEspere");
	//	alert('Function doExecRptPredeterminado_CallBack: ' + response.error);
	//	volver();
	//}				
}


function ejecutarReporte(tipoRep) {				
	showObject("lblEspere");
	hideObject("pnlReporter");	
	setTimeout("doExecRpt('" + tipoRep + "');", 100);					
}

function ejecutarReportePredeterminado(tipoRep) {				
	showObject("lblEspere");
	hideObject("pnlReporter");	
	setTimeout("doExecRptPredeterminado('" + tipoRep + "');", 100);					
}

function volver() {
	hideObject("pnlResultado");
	showObject("pnlReporter");
}

