function rssfeed(feed,target){
    var req = jslib_ajaxfactory.createRequest();
    req.setMode("xml");
    req.target = target;
    target.innerHTML = 'Loading RSS Feed...';
    //req.setURL("rssfeed.php?feed="+encodeURIComponent(feed));
    req.setURL("/fileadmin/scripts/rssfeed.php?feed="+encodeURIComponent(feed));
    req.target = target;
    req.registerCompletionListener(function(){
	var data = this.getContent();
	if(!data){
	    target.innerHTML = 'Loading RSS Feed...';
	}else{
	    target.innerHTML = '';
	    var root = data.getElementsByTagName("rss").item(0);
	
	    var rss = document.createElement("div");
	    rss.className="rss";

	    var channels = root.getElementsByTagName("channel");
	    for(c=0;c<channels.length;c++){
		var channelDiv = document.createElement("div");
		channelNode = new Array();
		var items = new Array();
		for(j=0;j<channels[c].childNodes.length;j++){
		    var channel = channels[c].childNodes[j];
		    if(channel.nodeName=='item'){
			items[items.length] = channel;
		    }else{
			switch(channel.nodeName){
			case 'description':
			case 'link':
			case 'title':
			    if(channel.firstChild) channelNode[channel.nodeName] = channel.firstChild.nodeValue;
			    break;
			}
		    }
		}
		var title = document.createElement("div");
		title.className="rss-title";
		title.appendChild(document.createTextNode(channelNode['title']));
		channelDiv.appendChild(title);

		for(i=0;i<items.length;i++){
		    var itemDiv = document.createElement("div");
		    itemNode = new Array();
		    for(k=0;k<items[i].childNodes.length;k++){
			var item = items[i].childNodes[k];
			switch(item.nodeName){
			case 'description':
			case 'link':
			case 'title':
			    if(item.firstChild) itemNode[item.nodeName] = item.firstChild.nodeValue;
			    break;
			}
		    }
		    var title = document.createElement("div");
		    title.className="rss-item";
		    var link = document.createElement("a");
		    link.appendChild(document.createTextNode(itemNode['title']));
		    link.href=itemNode['link'];
		    link.target="_blank";
		    title.appendChild(link);
		    channelDiv.appendChild(title);
		    if(itemNode['description']){
			var desc = document.createElement("div");
			desc.className="rss-item-description";
			desc.appendChild(document.createTextNode(itemNode['description']));
			channelDiv.appendChild(desc);
		    }
		}
		rss.appendChild(channelDiv);
	    }
	    target.appendChild(rss);
	}
    });
    req.execute();
}

function blog(blog,target){
    var req = jslib_ajaxfactory.createRequest();
    req.target = target;
    if(document.getElementById("blogmessage")){
	var blogmessage = document.getElementById("blogmessage");
	blogmessage.innerHTML = 'Loading Blog...';
	req.blogmessage = blogmessage;
    }
    //req.setURL("blog.php?target="+target.id+"&url="+(blog ? encodeURIComponent(blog) : ""));
    req.setURL("/fileadmin/scripts/blog.php?target="+target.id+"&url="+(blog ? encodeURIComponent(blog) : ""));
    req.target = target;
    req.registerCompletionListener(function(){
	var data = this.getContent();
	if(!data){
	    target.innerHTML = 'Blog failed to load.';
	}else{
	    if(req.blogmessage) req.blogmessage.innerHTML = '';
	    target.innerHTML = data;
	}
    });
    req.execute();
}
