function seleccionarInputSelect(sSelect, iId){ 
	var oSelect = document.getElementById(sSelect);
	var i;
	var encontrado = false;

	// Primero se busca el selectedIndex.
	i = 0;
	while (!encontrado && i<oSelect.options.length){
		if (oSelect.options[i].value == iId)
			encontrado = true;
		else
			i++;
	}
	
	// Luego se lo setea para que aparezca como seleccionado el item correcto.
	if (encontrado){
		oSelect.selectedIndex = i;
	}
}

function precargarValores(){
	var oHid = document.getElementById("enviado");
	var oProvincias = document.getElementById("provincias");
	
	seleccionarInputSelect("provincias", 0);
	actualizarRubros(oProvincias,"rubros");
	seleccionarInputSelect("rubros", 0);
}

function validarYEnviar(){
	var oForm = document.getElementById("frmPromociones");
	var oProvincias = document.getElementById("provincias");
	var oRubros = document.getElementById("rubros");
	var sMsg = "";
	
	if (oProvincias.options[oProvincias.selectedIndex].value == 0)
		sMsg += "Debe seleccionar una provincia";
	if (oRubros.options[oRubros.selectedIndex].value == 0)
		sMsg += "Debe seleccionar un rubro";
	
	if (sMsg != "")
		alert(sMsg);
	else
		oForm.submit();
}

function limpiarRubros(oRubros){
	for(i = oRubros.options.length - 1; i > 0; i--)
		oRubros.options[i] = null;
}

function inArray(arrABuscar, idBuscado){
	var i;
	
	for (i=0; i<arrABuscar.length; i++){
		if (arrABuscar[i] == idBuscado) return true;
	}
	return false;
}

function hayRubrosAsociados(iIdProvincia){
	var i;
	
	for (i=0; i<arrRubros.length; i++){
		if (arrRubros[i][1] == iIdProvincia) return true;
	}
	return false;
}

function actualizarRubros(oProvincias, sRubros){
	var oRubros = document.getElementById(sRubros);
	var idProvincia = oProvincias.options[oProvincias.selectedIndex].value;
	var sOption;
	var sRubro;
	var oValue;
	var oOption;

	limpiarRubros(oRubros);
	oRubros.selectedIndex = 0;
	
	// Solo si no es el idProvincia cero, es decir, el titulo "Seleccione Provincia"
	if (idProvincia != 0){
		if (idProvincia != 1000){
			// Solo se agregan options si existe algun rubro para esa provincia
			if (hayRubrosAsociados(idProvincia)){
				idRubro = 1000;
				sRubro = "Todos";
				oOption = document.createElement("option");
				oOption.setAttribute("value", idRubro);
				oOption.setAttribute("id", sRubro); // AGREGUE PARA TENER EL NOMBRE POR JS (MARTIN)
				oRubros.appendChild(oOption);
				oValue = document.createTextNode(sRubro);
				oOption.appendChild(oValue);
				
				for (i = 0; i < arrRubros.length; i++){
					// Solo si el rubro esta asociado a la provincia
					if (arrRubros[i][1] == idProvincia){
						idRubro = arrRubros[i][0];
						sRubro = arrRubros[i][2];
						oOption = document.createElement("option");
						oOption.setAttribute("value", idRubro);
						oOption.setAttribute("id", sRubro); // AGREGUE PARA TENER EL NOMBRE POR JS (MARTIN)
						oRubros.appendChild(oOption);
						oValue = document.createTextNode(sRubro);
						oOption.appendChild(oValue);
					}
				}
			}
		} else {
			// Se imprimen todos los rubros existentes
			idRubro = 1000;
			sRubro = "Todos";
			oOption = document.createElement("option");
			oOption.setAttribute("value", idRubro);
			oOption.setAttribute("id", sRubro); // AGREGUE PARA TENER EL NOMBRE POR JS (MARTIN)
			oRubros.appendChild(oOption);
			oValue = document.createTextNode(sRubro);
			oOption.appendChild(oValue);
			
			arrRubrosListados = new Array();
			for (i = 0; i < arrRubros.length; i++){
				idRubro = arrRubros[i][0];
				if (!inArray(arrRubrosListados, idRubro)){
					sRubro = arrRubros[i][2];
					oOption = document.createElement("option");
					oOption.setAttribute("value", idRubro);
					oOption.setAttribute("id", sRubro); // AGREGUE PARA TENER EL NOMBRE POR JS (MARTIN)
					oRubros.appendChild(oOption);
					oValue = document.createTextNode(sRubro);
					oOption.appendChild(oValue);
					arrRubrosListados.push(idRubro);
				}
			}
		}
	}
}

function ejecutarLogImpresion(blnMethod, idPromo){
     	var jsrsPOST = blnMethod;
      	// Pasaje de parametros y ejecucion de funcion remota.
      	jsrsExecute(	"funciones_remotas.inc.php", 
      			funcionCallback, 
      			"insertEstadisticaImpresion", 
      			Array(idPromo));
}

function funcionCallback(sReturn){
	sReturn = '';
	return sReturn;
}

function guardarNombresBusquedaPromo(){
	//var oNombrePromo 	= document.getElementById("nombre_promo");
	//var oSlctPromos 	= document.getElementById("slctPromos");

	var oNombreRegion 	= document.getElementById("nombre_region");
	var oSlctRegiones	= document.getElementById("provincias");

	var oNombreRubro 	= document.getElementById("nombre_rubro");
	var oSlctRubros 	= document.getElementById("rubros");
		
	// Seteo el nombre de la promo que busco
	//oNombrePromo.value	= oSlctPromos[oSlctPromos.selectedIndex].id;
	oNombreRubro.value	= oSlctRubros[oSlctRubros.selectedIndex].id;
	oNombreRegion.value	= oSlctRegiones[oSlctRegiones.selectedIndex].id;	

}

function blockFiltro(){
	// Esta funcion habilita o deshabilita el filtro en la busqueda
	// de promociones del backend, dependiendo si eligio una promocion (lo desactiva)
	// o no aplica ese filtro (lo deja activo)
	/*
	var oSlctPromos = document.getElementById("slctPromos");
	var oFiltro		= document.getElementById("filtro"); 
	
	if(oSlctPromos[oSlctPromos.selectedIndex].value != 0){
		oFiltro.value = '';
		oFiltro.readOnly = true;
	} else {
		oFiltro.readOnly = false;			
	}
	*/

}

function blockFiltroOnLoad(iPromo){
	// Esta funcion habilita o deshabilita el filtro en la busqueda
	// de promociones del backend, dependiendo de lo que ya fue elegido
	
	var oFiltro		= document.getElementById("filtro"); 
	
	if(iPromo != 0){
		oFiltro.value = '';
		oFiltro.readOnly = true;
	} else {
		oFiltro.readOnly = false;			
	}

}

function procesarEstadisticas(){
	document.getElementById('frmProcesar').target = 'procesar_frame'; 
	document.getElementById('frmProcesar').action = '../s_procesar_estadisticas.php'; 
	document.getElementById('frmProcesar').submit();
}

function showVigencia(oCmbPromos){
	var idPromocion = oCmbPromos.options[oCmbPromos.selectedIndex].value;
	var oLabelFechaDesde = document.getElementById('fecha_desde');
	var oLabelFechaHasta = document.getElementById('fecha_hasta');
	var arrOptions = oCmbPromos.options;
	var iCant = 0;

	// Casteo a entero el value	
	idPromocion = parseInt(idPromocion,10);

	// Recorro las options para ver la cantidad seleccionada
	for(i=0; i<arrOptions.length; i++){
		if (arrOptions[i].selected){
			iCant++;
		}
	}

	// Si hay mas de una seleccionada pongo cartel de que solo hay que
	// seleccionar una, sino pongo las fechas de vigencias de esa promo.
	if (iCant > 1) {
		oLabelFechaDesde.value = "Seleccione una";
		oLabelFechaHasta.value = "Seleccione una";
	} else {
		oLabelFechaDesde.value = arrVigencias[idPromocion][0];
		oLabelFechaHasta.value = arrVigencias[idPromocion][1];
	}
}