/*****************************************************************************/
/*                                2010 Shio2e                                */
/*                      JAVASCRIPT MENU LISTADO VERTICAL                     */
/*****************************************************************************/

var menuListadoVertical = {
	// VARIABLES CONFIGURACION

	// VARIABLES INTERNAS
	menus_creados : new Array(),

	// FUNCIONES
	nuevo : function (listado, prefijo, cantidad_x_pag){
		this.menus_creados[listado] = {
			prefijo			: prefijo,
			cantidad_x_pag	: cantidad_x_pag,
			pag_actual		: 0
		};
	},

	reset : function (listado){
		this.menus_creados[listado].pag_actual = 0;
	},

	down : function (listado){
		if (this.menus_creados[listado]) {
			if ($(this.menus_creados[listado].prefijo+((this.menus_creados[listado].pag_actual+1)*this.menus_creados[listado].cantidad_x_pag))) {
				// OCULTAR ELEMENTOS ANTERIORES
				for (i=(this.menus_creados[listado].pag_actual*this.menus_creados[listado].cantidad_x_pag); i<((this.menus_creados[listado].pag_actual+1)*this.menus_creados[listado].cantidad_x_pag); i++)
					if ($(this.menus_creados[listado].prefijo+i))
						$(this.menus_creados[listado].prefijo+i).hide();

				// MOSTRAR NUEVOS ELEMENTOS
				for (i=((this.menus_creados[listado].pag_actual+1)*this.menus_creados[listado].cantidad_x_pag); i<((this.menus_creados[listado].pag_actual+2)*this.menus_creados[listado].cantidad_x_pag); i++)
					if ($(this.menus_creados[listado].prefijo+i)) {
						// MOSTRAR
						$(this.menus_creados[listado].prefijo+i).show();

						// COMPROBAR PESO
						if ($(this.menus_creados[listado].prefijo+i).className.substring(0,5) == 'peso_')
							i = i - 1 + parseInt($(this.menus_creados[listado].prefijo+i).className.substring(5));
					}

				// CONFIGURAR NUEVA PAGINA ACTUAL
				this.menus_creados[listado].pag_actual++;
			}
		}
	},

	up : function (listado){
		if (this.menus_creados[listado]) {
			if (this.menus_creados[listado].pag_actual > 0 && $(this.menus_creados[listado].prefijo+((this.menus_creados[listado].pag_actual-1)*this.menus_creados[listado].cantidad_x_pag))) {
				// OCULTAR ELEMENTOS ANTERIORES
				for (i=(this.menus_creados[listado].pag_actual*this.menus_creados[listado].cantidad_x_pag); i<((this.menus_creados[listado].pag_actual+1)*this.menus_creados[listado].cantidad_x_pag); i++)
					if ($(this.menus_creados[listado].prefijo+i))
						$(this.menus_creados[listado].prefijo+i).hide();

				// MOSTRAR NUEVOS ELEMENTOS
				for (i=((this.menus_creados[listado].pag_actual-1)*this.menus_creados[listado].cantidad_x_pag); i<(this.menus_creados[listado].pag_actual*this.menus_creados[listado].cantidad_x_pag); i++)
					if ($(this.menus_creados[listado].prefijo+i)) {
						// MOSTRAR
						$(this.menus_creados[listado].prefijo+i).show();

						// COMPROBAR PESO
						if ($(this.menus_creados[listado].prefijo+i).className.substring(0,5) == 'peso_')
							i = i - 1 + parseInt($(this.menus_creados[listado].prefijo+i).className.substring(5));
					}

				// CONFIGURAR NUEVA PAGINA ACTUAL
				this.menus_creados[listado].pag_actual--;
			}
		}
	},

	regenerar : function (id_provincia, id_poblacion, id_barrio){ // SOLO REGENERA LISTADO DE COMERCIOS
		id_poblacion = typeof id_poblacion == "undefined" ? 0 : id_poblacion;
		id_barrio = typeof id_barrio == "undefined" ? 0 : id_barrio;

		new Ajax.Request('/exec/ajax/listado_comercios.php', {
			parameters: { id_provincia: id_provincia, id_poblacion: id_poblacion, id_barrio: id_barrio },
			onSuccess: function(respuesta) {
				var coordenadas_leidas = respuesta.responseText.evalJSON();
				mapa.centrar(coordenadas_leidas.latitud, coordenadas_leidas.longitud);
			}
		});
	}
};
