var lastrssbridgeurl = 'bridge.php';
function createAjaxObj(){
	var httprequest = false;
	if(window.ActiveXObject){
		try {
			httprequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e){
			try {
				httprequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	} else if (window.XMLHttpRequest){
		httprequest = new XMLHttpRequest();
		if(httprequest.overrideMimeType){
			httprequest.overrideMimeType('text/xml');
		}
	}
	return httprequest;
}
function rssticker_ajax(RSS_id, cachetime, divId, divClass, delay, logicswitch){
	this.RSS_id = RSS_id;
	this.cachetime = cachetime;
	this.tickerid = divId;
	this.delay = delay;
	this.logicswitch = (typeof logicswitch != "undefined") ? logicswitch : '';
	this.mouseoverBol = 0;
	this.pointer = 0;
	this.opacitysetting = 0.2;
	this.title = [], this.link = [], this.description = [], this.pubdate = []
	this.ajaxobj = createAjaxObj();
	document.write('<div id="' + divId + '" class="' + divClass + '"><span align="center" style="margin:0 auto; padding-top:10px"><img style="margin:0 auto; padding-top:10px; padding-left:55px" src="ajax-loader.gif" border="0" alt="" width="128" height="15" /></span></div>');
	if(window.getComputedStyle){
		this.mozopacityisdefined = (window.getComputedStyle(document.getElementById(this.tickerid),"").getPropertyValue("-moz-opacity") == 1) ? 0 : 1;
	}
	this.getAjaxcontent()
}
rssticker_ajax.prototype.getAjaxcontent = function(){
	if(this.ajaxobj){
		var instanceOfTicker = this;
		var parameters = 'id=' + encodeURIComponent(this.RSS_id) + '&cachetime=' + this.cachetime + '&bustcache=' + new Date().getTime();
		this.ajaxobj.onreadystatechange = function(){
			instanceOfTicker.initialize();
		}
		this.ajaxobj.open('GET', lastrssbridgeurl + '?' + parameters, true);
		this.ajaxobj.send(null);
	}
}
rssticker_ajax.prototype.initialize = function(){
	if(this.ajaxobj.readyState == 4){
		if(this.ajaxobj.status == 200){
			var xmldata = this.ajaxobj.responseXML;
			if(xmldata.getElementsByTagName("item").length == 0){
				document.getElementById(this.tickerid).innerHTML = '<b>Error</b> fetching remote RSS feed!<br />';
				return;
			}
			var instanceOfTicker = this;
			this.feeditems = xmldata.getElementsByTagName("item");
			for(var i = 0; i < this.feeditems.length; i++){
				if((this.feeditems[i].getElementsByTagName("title").length != 0) && (this.feeditems[i].getElementsByTagName("title")[0].firstChild != null)){
					this.title[i] = this.feeditems[i].getElementsByTagName("title")[0].firstChild.nodeValue;
				} else {
					this.title[i] = '';
				}
				if((this.feeditems[i].getElementsByTagName("link").length != 0) && (this.feeditems[i].getElementsByTagName("link")[0].firstChild != null)){
					this.link[i] = this.feeditems[i].getElementsByTagName("link")[0].firstChild.nodeValue;
				} else {
					this.link[i] = '';
				}
				if((this.feeditems[i].getElementsByTagName("description").length != 0) && (this.feeditems[i].getElementsByTagName("description")[0].firstChild != null)){
					this.description[i] = this.feeditems[i].getElementsByTagName("description")[0].firstChild.nodeValue;
				} else {
					this.description[i] = '';
				}
				if((this.feeditems[i].getElementsByTagName("pubDate").length != 0) && (this.feeditems[i].getElementsByTagName("pubDate")[0].firstChild != null)){
					this.pubdate[i] = this.feeditems[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue;
				} else {
					this.pubdate[i] = '';
				}
			}
			document.getElementById(this.tickerid).onmouseover = function(){
				instanceOfTicker.mouseoverBol = 1;
			}
			document.getElementById(this.tickerid).onmouseout = function(){
				instanceOfTicker.mouseoverBol = 0;
			}
			this.rotatemsg();
		}
	}
}
rssticker_ajax.prototype.rotatemsg = function(){
	var instanceOfTicker = this;
	if(this.mouseoverBol == 1){
		setTimeout(function(){instanceOfTicker.rotatemsg()}, 100)
	} else {
		var tickerDiv = document.getElementById(this.tickerid);
		var linktitle = '<div class="rsstitle"><a target="_blank" rel="dofollow" title="RuseNEWS -=- ' + this.title[this.pointer] + '" href="' + this.link[this.pointer] + '">' + this.title[this.pointer] + '</a></div>';
		var description = '<div class="rssdescription">' + this.description[this.pointer] + '</div>';
		var feeddate = '<div class="rssdate">' + this.pubdate[this.pointer] + '</div>';
		if(this.logicswitch.indexOf("description") == -1){
			description = '';
		}
		if(this.logicswitch.indexOf("date") == -1){
			feeddate = '';
		}
		var tickercontent = linktitle + feeddate + description;
		this.fadetransition("reset");
		tickerDiv.innerHTML = tickercontent;
		this.fadetimer1 = setInterval(function(){instanceOfTicker.fadetransition('up', 'fadetimer1')}, 100);
		this.pointer = (this.pointer < this.feeditems.length-1) ? this.pointer + 1 : 0;
		setTimeout(function(){instanceOfTicker.rotatemsg()}, this.delay);
	}
}
rssticker_ajax.prototype.fadetransition = function(fadetype, timerid){
	var tickerDiv = document.getElementById(this.tickerid);
	if(fadetype == "reset"){
		this.opacitysetting = 0.2;
	}
	if(tickerDiv.filters && tickerDiv.filters[0]){
		if(typeof tickerDiv.filters[0].opacity == "number"){
			tickerDiv.filters[0].opacity = this.opacitysetting * 100;
		} else {
			tickerDiv.style.filter = "alpha(opacity=" + this.opacitysetting * 100 + ")";
		}
	} else if(typeof tickerDiv.style.MozOpacity != "undefined" && this.mozopacityisdefined){
		tickerDiv.style.MozOpacity = this.opacitysetting;
	}
	if(fadetype == "up"){
		this.opacitysetting += 0.2;
	}
	if(fadetype == "up" && this.opacitysetting >= 1){
		clearInterval(this[timerid]);
	}
}