// JavaScript Document
var net = new Object();
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
// Constructor
net.CargadorContenidos = function(url, funcion, querystring) {
	this.url = url;
	this.req = null;
	this.onload = funcion;
	this.onerror = this.defaultError;
	this.querystring = querystring;
	this.cargaContenidoXML(url);
}
net.CargadorContenidos.prototype = {
	cargaContenidoXML: function(url) {
		if (window.XMLHttpRequest) {
			this.req = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			this.req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if(this.req) {
			try {
				var loader = this;
				this.req.onreadystatechange = function() {
					loader.onReadyState.call(loader);
				}
				if(this.querystring==undefined){
					this.req.open('GET', url, true);
					this.req.send(null);
				}else{
					this.req.open('POST', url, true);
					this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
					this.req.send(this.querystring);
				}				
			} catch (err) {
				this.onerror.call(this);
			}
		}
	},
	onReadyState: function() {
		var req = this.req;
		var ready = req.readyState;
		if (ready == net.READY_STATE_COMPLETE) {
			var httpStatus = req.status;
			if(httpStatus == 200 || httpStatus == 0) {
				this.onload.call(this);
			} else {
				this.onerror.call(this);
			}
		}
	},
	defaultError: function() {
		alert("Se ha producido un error al obtener los datos"
		+ "\n\nreadyState:" + this.req.readyState
		+ "\nstatus: " + this.req.status
		+ "\nheaders: " + this.req.getAllResponseHeaders());
	}
}
function clsConexion(pdivContenido, pintSegundos, pstrURL){
	var This = this;
	this.divContenido = pdivContenido;	
	this.intSegundos = pintSegundos * 1000;
	this.timer = null;	
	this.URL = pstrURL;
	this.mostrarNoticias = function(){
		obtenerNoticia();
	}	
	this.terminar = function(){
		clearInterval(this.timer);
		this.timer=null;
		This = null;
	}
	obtenerNoticia = function (){
		This.divContenido.innerHTML = "Cargando noticia";
		var cargador = new net.CargadorContenidos(This.URL, noticiaObtenida, "");
		if(This.timer==null) This.timer = setInterval("obtenerNoticia()", This.intSegundos);
	}
	noticiaObtenida = function (){
		This.divContenido.innerHTML = this.req.responseText;
	}
}