function NewsTicker(oAppendTo) {
    var oThis = this;
    this.timer = null;
    this.feeds = [];
    this.tickerContainer = document.createElement("div");
    this.ticker = document.createElement("nobr");
alert
    this.tickerContainer.className = "newsTickerContainer";
    this.ticker.className = "newsTicker";

    this.tickerContainer.onmouseover = function () {
        clearTimeout(oThis.timer);
    };

    this.tickerContainer.onmouseout = function () {
        oThis.tick();
    };

    this.tickerContainer.appendChild(this.ticker);

    var oToAppend = (oAppendTo)?oAppendTo:document.body;
    oToAppend.appendChild(this.tickerContainer);

    this.ticker.style.left = this.tickerContainer.offsetWidth + "px";
    this.tick();
}
	/*
		    
NewsTicker.prototype.tick = function () {
    var iTickerLength = this.ticker.offsetWidth;
    var oThis = this;

    var doSetTimeout = function() {
        oThis.tick();
    };

    if (this.ticker.innerHTML) {
        if (this.ticker.offsetLeft > -iTickerLength) {
            var iNewLeft = this.ticker.offsetLeft - 1;
            this.ticker.style.left = iNewLeft + "px";
        } else {
            this.ticker.style.left = this.tickerContainer.offsetWidth + "px";
        }
    }
    this.timer = setTimeout(doSetTimeout,1);
};
*/
	    
NewsTicker.prototype.tick = function () {
    var iTickerLength = this.ticker.offsetWidth;
    var oThis = this;
    tim = new Date();
    sMill = tim.getTime();

    var doSetTimeout = function() {
        oThis.tick();
    };

    if (this.ticker.innerHTML) {
        if (this.ticker.offsetLeft > -iTickerLength) {
            var iNewLeft = this.ticker.offsetLeft - 1;
            this.ticker.style.left = iNewLeft + "px";
        } else {
            this.ticker.style.left = this.tickerContainer.offsetWidth + "px";
        }
    }
	eMill = tim.getTime();
	//var scrollSpeed = 10;
    diff = 20 - (eMill - sMill);
    this.timer = setTimeout(doSetTimeout,diff);
};

NewsTicker.prototype.add = function (sUrl) {
    var feedsLength = this.feeds.length;

    this.feeds[feedsLength] = new NewsTickerFeed(this,sUrl);
};
	    
function NewsTickerFeed(oParent,sUrl) {
    this.parent = oParent;
    this.url = sUrl;
    this.container = null;

    this.poll();
}
	    
NewsTickerFeed.prototype.poll = function () {
    var oThis = this;
	
    var oReq = zXmlHttp.createRequest();
	    oReq.onreadystatechange = function () {
		if (oReq.readyState == 4) {
		    if (oReq.status == 200) {
                oThis.populateTicker(oReq.responseText);
            }
        }
    };
	
	
		    
    //var sFullUrl = encodeURI("newsticker.php?url=" + this.url);
    var sFullUrl = encodeURI(this.url);
		
    oReq.open("GET", sFullUrl, true);
    oReq.send(null);

	
    var doSetTimeout = function () {
        oThis.poll();
    };
    setTimeout(doSetTimeout, 30*60*1000);
};
	    
NewsTickerFeed.prototype.populateTicker = function (sXml) {
    var oParser = new XParser(sXml, true);

    var spanLinkContainer = document.createElement("span");
/*
    var aFeedTitle = document.createElement("a");
    aFeedTitle.className = "newsTicker-feedTitle";
    aFeedTitle.href = oParser.link.value;
    aFeedTitle.target = "_self";
    aFeedTitle.innerHTML = oParser.title.value;


    spanLinkContainer.appendChild(aFeedTitle);
	*/
    for (var i = 0; i < oParser.items.length; i++) {
        var item = oParser.items[i];
    
        var aFeedLink = document.createElement("a");
        aFeedLink.href = item.link.value;
        aFeedLink.target = "_self";
        aFeedLink.className = "newsTicker-feedItem";
        aFeedLink.innerHTML = item.title.value+" :: ";
    
        spanLinkContainer.appendChild(aFeedLink);
    }
	  	    
    if (!this.container) {
        this.container = document.createElement("span");
        this.container.className = "newsTicker-feedContainer";
        this.parent.ticker.appendChild(this.container);
    } else {
        this.container.removeChild(this.container.firstChild);
    }

    this.container.appendChild(spanLinkContainer);
};

init_newsticker = function() {
        var newsTicker = new NewsTicker(document.getElementById("scroller"));
		newsTicker.add("http://www.estatpropi.cat/rss.xml");        
		newsTicker.add("http://www.estatpropi.cat/recompte_rnd_geoRSS.xml");
		newsTicker.add("http://www.estatpropi.cat/rss.xml");
		newsTicker.add("http://www.estatpropi.cat/newsticker_geoRSS.xml");
}