function PFRSS(){
	this.maxitems="";
	this.divid="";
	this.outputstring="";
	//this.rssurl="http://apps.formfinder.at/pf_rss/latest.rss";
	this.rssurl="http://www.formfinder.at/fileadmin/script/pf_rssviewer/latest.rss";
};



PFRSS.prototype.start = function(divid, maxitems){
	this.maxitems=maxitems;
	this.divid=divid;
	this.outputstring="";
	//ev lade anzeige
	//ajax
	this.getRSS();	
};



/////////////
//getRSS
//uses xmlhttpreq to get the raw rss xml
PFRSS.prototype.getRSS = function(){
	var thisobject=this;
	//call the right constructor for the browser being used
	if (window.ActiveXObject)
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest)
		xhr = new XMLHttpRequest();
	else
		alert("not supported");
	//prepare the xmlhttprequest object
	xhr.open("GET",this.rssurl,true);
	xhr.setRequestHeader("Cache-Control", "no-cache");
	xhr.setRequestHeader("Pragma", "no-cache");
	xhr.setRequestHeader("Keep-Alive", "305");
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200)
			{
				if (xhr.responseText != null)
					thisobject.processRSS(xhr.responseXML);
				else
				{
					alert("Failed to receive RSS file from the server - file not found.");
					return false;
				}
			}
			else
				alert("Error code " + xhr.status + " received: " + xhr.statusText);
		}
	}
	//send the request
	xhr.send(null);
};




///////////
//processRSS
PFRSS.prototype.processRSS = function(rssxml){
	var itemElements = rssxml.getElementsByTagName("item");
	this.outputstring+='<div class="pfrss_itemarea" >';
	var maxitems = (this.maxitems<=itemElements.length) ? this.maxitems : itemElements.length;
	for (var i=0; i<maxitems; i++){
		var aktitemstr='<div class="pfrss_item" >';
		aktitemstr+= '<div class="pfrss_iimage"><img src="'+itemElements[i].getElementsByTagName('enclosure')[0].getAttribute('url')+'" /></div>'; 
		aktitemstr+= '<div class="pfrss_itextarea">';
		aktitemstr+= '<div class="pfrss_ititle">'+itemElements[i].getElementsByTagName('title')[0].childNodes[0].nodeValue+'</div>';		
		aktitemstr+= '<div class="pfrss_idescription">'+itemElements[i].getElementsByTagName('description')[0].childNodes[0].nodeValue+'</div>';
		aktitemstr+= '<div class="pfrss_ipupdate">'+itemElements[i].getElementsByTagName('pubDate')[0].childNodes[0].nodeValue+'</div>';
		aktitemstr+= '</div>';
		aktitemstr+= '<div class="pfrss_ilink"><a href="'+itemElements[i].getElementsByTagName('link')[0].childNodes[0].nodeValue+'" target="_blank" >[view project]</a></div>';
		aktitemstr+='</div>';
		this.outputstring+=aktitemstr;
	}
	this.outputstring+='<div style="clear: both;"></div>';
	this.outputstring+='</div>';
	document.getElementById(this.divid).innerHTML = this.outputstring;
};



///////////////
//xml2Str
PFRSS.prototype.xml2Str= function(xmlNode){
  try {
    // Gecko-based browsers, Safari, Opera.
    return (new XMLSerializer()).serializeToString(xmlNode);
  }
  catch (e) {
    try {
      // Internet Explorer.
      return xmlNode.xml;
    }
    catch (e)
    {//Strange Browser ??
     alert('Xmlserializer not supported');
    }
  }
  return false;
}