Fujar.Usuario = {
	instance : [],
	//prefix : "admin_tree",
	_usuario : function(){
		me =  this;
		var indice = me.instance.length;
		if(!me.instance[indice]){
			me.instance[indice] = new me.c(me,indice);
		}
		return me.instance[indice];
	},
	// @pobj objeto padre
	// @ci indice de instancia
	// @fname funcion que se ejecuta al cargar el XML
	c : function(pobj,ci,fname){
		var self =  this;
		self._parent = pobj;
		self.urlHandler = "handler.php";
		self.lastUsuarioID = null;
		self.xml = null;
		self.xnodes = [];
		self.currentvars = "";
		self.indice = ci;
		self.pagina = 1;
		self.numpages = 1;
		self.nmaximo = 11;
		self.mainID = "";
		self.pagingID = "usuarios_paging";
		self.currentID = null;
		self.xpagina = 0;
		self.nresultados = 0;
		self.criterio = "";
		self.loadForm = function(vars,fname){
			var peticion = new Fujar.MyServer();
			peticion.url = self.urlHandler;
			peticion.vars = vars
			peticion.onFinish = function(){
				var htm = peticion.response;
				if(fname)fname(htm);
			}
			peticion._get();
		};
		self.AccionUsuario = function(valores,accion,fname){
			var peticion = new Fujar.MyServer();
			peticion.url = self.urlHandler;
			var vars = "pg=accionuser&accion="+accion;
			for (var att in valores){
				vars += "&" + att + "=" + escape(valores[att]);
			}
			peticion.vars = vars;
			peticion.onFinish = function(){
				var htm = peticion.response;
				if(fname)fname(htm);
			}
			peticion._post();
		};
		self._search = function(criterio,fname){
			self.pagina = 1;
			self.criterio = criterio;
			self._load(self.urlHandler,self.currentvars,function(xml){
				if(fname)fname();						 
			});
		};
		self._load = function(url,vars,fname){
			self.currentvars = vars;
			vars += "&pagina="+self.pagina;
			vars += "&criterio="+encodeURIComponent(self.criterio);
			var _xml = new Fujar.MyServer();
			_xml.url = url;
			_xml.vars = vars;
			_xml.onFinish = function(){
				var node,rootNode;
				node = _xml.responseXML;
				if(node.childNodes[0].nodeType == 7) {
					rootNode = node.childNodes[1];
				}else{
					rootNode = node.childNodes[0];
				}
				self.xml = rootNode;
				self._parse();
				if(fname){ fname(self.xml);}
			}
			_xml._get(); 
		};
		self.loadhtm = function(url,vars,fname){
			var peticion = new Fujar.MyServer();
			peticion.url = url;
			peticion.vars = vars
			peticion.onFinish = function(){
				var htm = peticion.response;
				if(fname)fname(htm);
			}
			peticion._get();
		};
		self._parse = function(){
			var config = self.xml.getElementsByTagName("configuracion")[0];
			var tpaginas = Number(Fujar.Utils._xml._subnodevalue(config,"total"));
			var nresultados = Number(Fujar.Utils._xml._subnodevalue(config,"num"));
			self.xpagina = Number(Fujar.Utils._xml._subnodevalue(config,"xpagina"));
			self.nresultados = nresultados;
			self.setpaging(nresultados);
			var items = self.xml.getElementsByTagName("item");
			var obj = document.getElementById(self.mainID);
			obj.innerHTML = "";
			if(items.length > 0){
				var capa = self._html(items);
				obj.appendChild(capa);
			}else{
				obj.innerHTML = "No se encontraron elementos";	
			}
			obj.style.display = "none";
			$(obj).fadeIn("slow");
		};
		self._html = function(items,clase){
			if(!clase)var clase = "";
			var capa = document.createElement("div");
			capa.className = clase;
			var htm = '';
			htm += "<table width='100%' BORDER=0>";
			htm += "<tr>";
			htm += "<td>NOMBRE</td>";
			htm += "<td>accion</td>";
			htm += "</tr>";
			for(var i=0;i<items.length;i++){
				var nodo = items[i];
				var nombre = Fujar.Utils._xml._subnodevalue(nodo,"nombre");
				var email = Fujar.Utils._xml._subnodevalue(nodo,"email");
				var fecha = nodo.getAttribute("fecha");
				var usuarioID = nodo.getAttribute("usuarioID");
				htm += "<tr>";
				htm += "<td>"+nombre+"</td>";
				htm += "<td><a href=\"#\" onclick=\"Editar('pg=form&usuarioID="+usuarioID+"'); return false;\"><img src='"+_url+"/services/img/edit.png' border=0></a>";
				htm += "<a href=\"#\" onclick=\"Eliminar('"+usuarioID+"');return false\"><img src='"+_url+"/services/img/remove.png' border=0></a>";
				htm += "<a href=\"#\" onclick=\"LoadGrupoFromUsuario('"+usuarioID+"',1);return false\"><img src='"+_url+"/img/group_add.png' border=0></a>";
				htm += "<a href=\"#\" onclick=\"AddUsuarioToGrupo('"+usuarioID+"');return false\"><img src='"+_url+"/img/redo.png' border=0 style='display:none'></a>";
				htm += "</td>";
				htm += "</tr>";
			}
			htm += "</table>";
			capa.innerHTML = htm;
			return capa;
		};
		self._asignTools = function(tipo){
			var capa = document.getElementById(self.mainID);
			var imgs = capa.getElementsByTagName("IMG");
			for(var i=0;i<imgs.length;i++){
				if(imgs[i].src.indexOf("redo.png")>-1){
					imgs[i].style.display = tipo;
				}	
			}
		};
		self.p = function(pindex){
			if(self.nresultados == 0)return;
			var pnum = Math.ceil(self.nresultados/self.xpagina);
			if(pindex < 1)pindex = 1;
			else if(pindex > pnum)pindex = pnum;
			self.pagina = pindex;
			self._load(self.urlHandler,self.currentvars);
    	};
		self.setpaging = function(pnum){
			var divpage = document.getElementById(self.pagingID);
			if(pnum == 0){
				divpage.innerHTML = "";
				return;
			}
			pnum = Math.ceil(pnum/self.xpagina);
			var mitad = Math.ceil(self.nmaximo / 2);
			var htm ="";
			htm += "<div class='pagenavi' style='clear: both;'>"
			htm += "<span class='pages'>Page " + self.pagina + " of " + pnum + "</span>";
			htm += '<a href="#" title="&laquo; Primera" onclick="Fujar.Usuario.instance[\''+self.indice+'\'].p(1);return false;">&laquo; Primera</a>';
			var ultima = 1;
			if(self.pagina < mitad){
				ultima = (pnum < self.nmaximo)?pnum:self.nmaximo;
				for(var i = 1;i <= ultima;i++){
					var clase = "class='normal'";
					if(self.pagina == i)clase ='class="current"';
					htm += '<a href="#" onclick="Fujar.Usuario.instance[\''+self.indice+'\'].p('+i+');return false;" title="'+i+'"><span '+clase+'>'+i+'</span></a>';
				}
			}else{
				var inicio = (self.pagina - (mitad))+1;
				var nfinal = (self.pagina + (mitad))-1;
				for(var i = inicio;i <= self.pagina-1;i++){
					htm += '<a href="#" onclick="Fujar.Usuario.instance[\''+self.indice+'\'].p('+i+');return false;" title="'+i+'">'+i+'</a>';
				}
				for(var i = self.pagina;i <= nfinal;i++){
					var clase = "class='normal'";
					if(self.pagina == i)clase ='class="current"';
					if(i > pnum)break;
					htm += '<a href="#" title="'+i+'" onclick="Fujar.Usuario.instance[\''+self.indice+'\'].p('+i+');return false;" ><span '+clase+'>'+i+'</span></a>';
				}
			}
			htm += '<a href="#" title="&Uacute;ltima &raquo;" onclick="Fujar.Usuario.instance[\''+self.indice+'\'].p('+pnum+');return false;">&Uacute;ltima &raquo;</a>';
			htm += "</div>";
			divpage.innerHTML = htm;
			
		   
		}
	}
	
}