// JavaScript Document
var oOrdenLista = new function(){
	var iniciado = null;
	var contenedor = null;
	var contTodo = null;
	var loader = null;
	var blocker = null;
	var fileReq = null;
	var ordenActual = null;
	var orderActual = 'DESC'
	var solapaActual = null;
	var pagina = 0;
	var idSeccion = 0;
	var req = null;
	this.CAMPOS = new Array();
	var VALORES = '';
	this.CantXPag = 1;
	
	this.iniciar = function(fileRequest,nombreContenedor,nombreContTotal,nombreBlockeador,nombreLoader,idSecc,page){
		idSeccion = idSecc;
		if(page)pagina = page;
		contenedor = $(nombreContenedor);
		blocker = $(nombreBlockeador);
		opacidad(blocker,70);
		loader = $(nombreLoader);
		contTodo = $(nombreContTotal);
		var primerHijo = contTodo.firstChild;
		if(!Nav.esIE)primerHijo = contTodo.childNodes[1];
		primerHijo.appendChild(loader);		
		primerHijo.appendChild(blocker);
		fileReq = fileRequest;
		AddEvent($('imgBuscar'),'click',buscar);
		iniciado = true;
	}
	var mostrarBlockeador = function(mostrar){
		if(mostrar){
			blocker.style.width = contTodo.offsetWidth+'px';
			blocker.style.height = contTodo.offsetHeight+'px';
			blocker.style.display = 'block';
			loader.style.marginLeft = Math.round((contTodo.offsetWidth-93)/2)+'px';
			loader.style.marginTop = Math.round((contTodo.offsetHeight-54)/2)+'px';
			loader.style.display = 'block';
		}
		else{
			blocker.style.display = 'none';
			loader.style.display = 'none';
		}
	}
	this.ordenar = function(orden,solapa,e){
		if(iniciado){
			if(orden == ordenActual){
				if(orderActual == 'ASC')orderActual = 'DESC'
				else orderActual = 'ASC';
			}
			if(solapaActual){
				solapaActual.className = 'solapaOff';
			}
			solapaActual = solapa;
			solapaActual.className = 'solapaOn';
			ordenActual = orden;
			if(e != 'init'){
				obtenerLista();
				if(e)StopEvent(e);
			}


		}
	}
	this.cambiarPagina = function(page,e){
		if(iniciado){
			pagina = page;
			if(e != 'init'){
				obtenerLista();
				if(e)StopEvent(e);
			}
		}
	}
	var armarValores = function(){
		var i;
		VALORES = '';
		for(i in this.CAMPOS){
			if(this.CAMPOS[i].tipo != 'filter'){
				VALORES += this.CAMPOS[i].nombreEnvio + SEP_IGUAL + this.CAMPOS[i].value + SEP_AND;
			}
			else{
				if(!!this.CAMPOS[i].input.oInfo)VALORES += this.CAMPOS[i].nombreEnvio + SEP_IGUAL + this.CAMPOS[i].input.oInfo[this.CAMPOS[i].indiceFilter] + SEP_AND;				
			}
		}
		if(this.enviarMasInfo)VALORES += this.enviarMasInfo();
	}.closure(this);
	var obtenerLista = function(){
		mostrarBlockeador(true);			
		var v = 'orderBy'+SEP_IGUAL+ordenActual+' '+orderActual+SEP_AND+'pagina'+SEP_IGUAL+pagina+SEP_AND+VALORES+'seccion'+SEP_IGUAL+idSeccion+SEP_AND+'forzar'+SEP_IGUAL+'1'+SEP_AND+'total'+SEP_IGUAL+this.CantXPag+SEP_AND;
		req.pedir(fileReq,v);	
	}.closure(this);
	
	var buscar = function(){
		pagina = 1;
		armarValores();
		obtenerLista();
	}
	this.buscar = buscar;
	
	this.agregarCampo = function(oConf){
		var obj;
		if(!oConf.fileReq){
			obj = $(oConf.nombre);	
		}
		else{
			obj = new Filtrador($(oConf.nombre), {archivo:oConf.fileReq, obligatorio:false, posicionar:true, ancho:oConf.ancho});
			obj.msgError = oConf.msjError;
			obj.indiceFilter = oConf.indiceFilter;
			obj.tipo = 'filter';
		}
		obj.nombreEnvio = oConf.nombreEnvio;
		this.CAMPOS.push(obj);
	}
	
	var listener = function(){
		var x,txtCont = '',h;
		var rXML = req.respuestaXML;
		if(!rXML){
			mostrarBlockeador();	
			
		}
		else{
			var n = rXML.firstChild;
			var totalRegistros = 0;
			for(x = 0; x < n.childNodes.length; x++){
				//item
				h = n.childNodes[x];

				if(h.firstChild){
					totalRegistros++;
					txtCont += h.firstChild.data;
				
					s = idSeccion;				
					//solo para cuando estamos en una seccion puntual
					if(s > 0){
	
						eval("oEleCons"+oSecc[s]+h.getAttribute('id')+" = new oEleConsGen("+h.getAttribute('id')+", '"+oSecc[s]+"');");
					}
				}
			}
			if(rXML.childNodes[1])txtCont += rXML.childNodes[1].firstChild.data;
			if(totalRegistros == 0){
				txtCont = '<div class="busquedaNoRes">La búsqueda no obtuvo resultados';
				txtCont += '<'+'/div>';
				
			}
			contenedor.innerHTML = txtCont;
			mostrarBlockeador();
			setTimeout(controlarAltoLateral, 500);
			setTimeout(controlarAltoLateral, 2000);
			setTimeout(controlarAltoLateral, 5000);			
		}
	}.closure(this);
	req = new Request(listener);
	
}
