
var RSS = {
	maindiv : document.getElementById("rsscontainerID"),
	fuentes : [],
	capas : [],
	grupos : [],
	
	Grupo : function(){
		var self = this;
		self.urls = [];
		self.htm = "";
		self.maxItems= 3;
		self.loaded = 0;
		self.Get = function(objID){
			var fn = this;
			fn.objID = objID;
			fn._url = function(rssfuente){
				new google.feeds.Feed(rssfuente).load(function(result) {  
					self.loaded++;
					if (!result.error) {
						var limite = result.feed.entries.length;
						if(limite > self.maxItems)limite =   self.maxItems;
						for(var j=0;j< limite ;j++){
							var entry = result.feed.entries[j];
							var completo =  entry.title;
							//alert(completo + " Cargados: " + self.loaded + " de " + self.urls.length);
							var it_vinculo =  entry.link;
							document.getElementById(fn.objID).innerHTML += "<li><a href='"+it_vinculo+"' title='"+completo+"'>" + completo+"</a></li>";
							
						}
					}
				});	
			}
		}
		self._start = function(objID){
			var consultas = new Array();
			for(var i=0;i<self.urls.length;i++){
				var rssfuente  = self.urls[i];
				consultas[i] = new self.Get(objID);
				consultas[i]._url(rssfuente);
			}
			
			
		}
	},
	_print : function(){
		var capaID = this.capas.length;
		if(capaID >= this.fuentes.length){
			/*var gp1 = this.grupos["Banxico"];
			var htm = "<ul>";
			
			for(var j=0;j<gp1.length;j++){
				var result = gp1[j];
				for(var i=0;i< result.feed.entries.length ;i++){
						var entry = result.feed.entries[i];
						var completo =  entry.title;
						htm += "<li>"+completo+"</li>";
				}
			}
			htm += "</ul>";
			document.getElementById("indicadoresEmpresa").innerHTML = htm;*/
			oContent._init();
			return;
		}
		this.capas[capaID] = new this._capa(capaID);
		this.capas[capaID].add(this.fuentes[capaID]);
	},
	_capa : function(indice){
			var self = this;
			self.indice = indice;
			self.xf = new oUtils._xml();
			self.cssname = "arrastrable";
			self.maxItems = 10;
			self.intervalo = null;
			self.Group = function(gname,result){
				if(!RSS.grupos[gname])
					RSS.grupos[gname] = new Array();
				var grupoID = RSS.grupos[gname].length;
				RSS.grupos[gname][grupoID] = result;
			}
			self.add_2 = function(rssfuente){
				new google.feeds.Feed(rssfuente).load(function(result) {   
					if (!result.error) {
						
						var tr=document.createElement("tr");
						var td=document.createElement("td");
						var feed = result.feed;
						td.className = "headerRowcss";
						td.onclick = function(){
							aparecer("tdrsscontent_" + self.indice);
						}
						td.innerHTML = " &nbsp;" + feed.title;
						
						tr.appendChild(td);
						var trContent=document.createElement("tr");
						var tdContent=document.createElement("td");
						
						var htm = "<div class='divrss_contenttable' id='tdrsscontent_"+self.indice+"' style='display:none'><ul>";
						for(var i=0;i< result.feed.entries.length ;i++){
							if(i > self.maxItems)break;
							var entry = result.feed.entries[i];
							var completo =  entry.title;
							var it_vinculo =  entry.link;
							htm += "<li><a href='"+it_vinculo+"' title='"+completo+"' target='_blank'>"+completo+"</a></li>";
						}
						htm += "</ul></div>";
						tdContent.innerHTML = htm;
						trContent.appendChild(tdContent);
						var tbody = document.getElementById("rsstbodys");
						tbody.appendChild(tr);
						tbody.appendChild(trContent);
						self.intervalo  = setTimeout(function(){
							RSS._print();
						},1000);
					}
				});
			}
			self.add = function(rssfuente){
				//Muchas Gracias Google
				new google.feeds.Feed(rssfuente).load(function(result) {   
					if (!result.error) {
						if(rssfuente.indexOf("banxico.org.mx")>-1){
							self.Group("Banxico",result);
							self.intervalo  = setTimeout(function(){
								RSS._print();
							},1000);
							return;
						}
						var capa = document.createElement("DIV");
						capa.className = self.cssname;
						var feed = result.feed;
						var htm = "";
						var removeactions = " onclick=\"this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)\" ";
						htm += "<table width='100%' >";
						htm += "<tr><td align='left'>";
						htm += " <h4><a href='"+ feed.link +"' target='_blank' title='"+feed.title+"'>"+feed.title+"</a></h4>";
						htm += "</td>";
						htm += "<td align='right' valign='top'>";
						htm += "<div style='font-size:10px'><span class='oinitarrastrable'>[-]</span> <span "+removeactions+">[X]</span></div>";
						htm += "</td>";
						htm += "</tr></table>";
						htm += "<div class='rsscontent'><ul class='glossymenu'>";
						for(var i=0;i< result.feed.entries.length ;i++){
							if(i > self.maxItems)break;
							var entry = result.feed.entries[i];
							var completo =  entry.title;
							var it_titulo = "";
							if(completo.length > 70)it_titulo = completo.substring(0,70) + "...";
							else it_titulo = completo;
							
							var it_vinculo =  entry.link;
							htm += "<li><a href='"+it_vinculo+"' title='"+completo+"' target='_blank'>"+it_titulo+"</a></li>";
						}
						htm += "</ul></div>";
						capa.innerHTML = htm;
						RSS.maindiv.appendChild(capa);
						
					}
					self.intervalo  = setTimeout(function(){
						RSS._print();
					},1000);
				});
			}
			self.add2 = function(rssfuente){
				var capa = document.createElement("DIV");
				capa.className = self.cssname;
				capa.innerHTML = "cargando feeds...";
				var peticion = new MyServer();
				peticion.url = "admin/clases/rssreader.php";
				peticion.vars = "rssfeed=" + escape(rssfuente);
				peticion.onFinish = function(){
					var xml = peticion.responseXML.documentElement;
					var htm = self._parse(xml);
					if(htm == null){
						self.intervalo = setTimeout(function(){
							RSS._print();
						},100);
						return;
					}
					capa.innerHTML = htm;
					RSS.maindiv.appendChild(capa);
					self.intervalo  = setTimeout(function(){
						RSS._print();
					},1000);
					
				}
				peticion.doAction();
				
			}
			self._parse = function(nodo){
				if(nodo.nodeName.indexOf("rss")>-1){
					return self._rss(nodo);
				}
				return null;
			}
			self._rss = function(nodo){
				var channel = nodo.getElementsByTagName("channel")[0];
				var items =channel.getElementsByTagName("item");
				var title = self.xf._subnodevalue(channel,"title");
				
				var vinculo = self.xf._subnodevalue(channel,"link");
				var htm = "";
				var removeactions = " onclick=\"this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)\" ";
				htm += " <div class='rssbtn'<span class='oinitarrastrable'>[-]</span> <span "+removeactions+">[X]</span></div>";
				htm += " <h4>"+title+"</h4>";
				htm += "<span style='font-size:8px'><a href='"+vinculo+"' target='_blank' title='"+title+"'>Fuente</a></span>";
				htm += "<div class='rsscontent'><ul class='glossymenu'>";
				for(var i=0;i<items.length;i++){
					if(i > self.maxItems)break;
					var _item = items[i];
					var completo =  self.xf._subnodevalue(_item,"title");
					var it_titulo = "";
					if(completo.length > 70)it_titulo = completo.substring(0,70) + "...";
					else it_titulo = completo;
					
					var it_vinculo =  self.xf._subnodevalue(_item,"link");
					htm += "<li><a href='"+it_vinculo+"' title='"+completo+"' target='_blank'>"+it_titulo+"</a></li>";
				}
				htm += "</ul></div>";
				return htm;
			}

	} 
	
	
	
}

	