// Feed-Display Skript basierend auf der Google-Feed API 
// http://code.google.com/apis/ajaxfeeds/
// zusammengetragen und gebastelt von Christian Muecke
// http://wwww.coldheat.de

google.load("feeds", "1") // Google Ajax Feed API (V1)

function rssdisplayer(divid, url, feedlimit, showoptions){
	// Display-Optionen auswerten
	this.showoptions=showoptions || ""
	// Google AJAX Feed API rufen
	var feedpointer=new google.feeds.Feed(url) 
	//Anzahl darzustellender Eintraege
	feedpointer.setNumEntries(feedlimit) 
	document.write('<div id="'+divid+'">Feeds werden geladen...</div>')
	this.feedcontainer=document.getElementById(divid)
	var displayer=this
	feedpointer.load(function(r){displayer.formatoutput(r)})
	}

// Formatierung fuer Datumsausgabe eines einzelnen Items
rssdisplayer.prototype.formatdate=function(datestr){
	var itemdate=new Date(datestr)
	return "<span class='date'>"+itemdate.toLocaleString()+"</span>"
	}

rssdisplayer.prototype.formatoutput=function(result){
	// Feed erfolgreich ausgelesen
	if (!result.error){ 
	// Feed-Titel holen in li-Tags packen und Klasse zuweisen
	var feedtitle="<li class='blogtitle'>"+ result.feed.title + "</li>" 
	// Feed-Beschreibung holen in li-Tags packen und Klasse zuweisen
	var feeddescription="<li class='tagline'>" + result.feed.description + "</li>" 
	// Daten als thefeeds-Variable speichern
	var thefeeds=result.feed.entries 
	// Feed-Titel ausgeben
	var rssoutput="<ul>" // Nicht für Mike Jucker: + feedtitle + feeddescription 
	// für alle Feeds
	for (var i=0; i<thefeeds.length; i++){ 
	// HTML für Titel schreiben
	var itemtitle="<a href=\"" + thefeeds[i].link + "\" title=\"" + thefeeds[i].title + "\" onclick=\"window.open(this.href,'_blank'); return false;\">" + thefeeds[i].title + "</a>"
	// HTML für Datum schreiben
	var itemdate=/date/i.test(this.showoptions)? this.formatdate(thefeeds[i].publishedDate) : ""
	// HTML für Content schreiben alles zusammenfügen und als rssoutput speichern
	var itemdescription=/description/i.test(this.showoptions)? ""+thefeeds[i].content : /snippet/i.test(this.showoptions)? ""+thefeeds[i].contentSnippet  : ""
	rssoutput+=
	// hier geschieht die Magie, wer mehr als die einfache Ueberschrift haben moechte, fuegt hier zusaetzlich itemdate oder itemdescription als Variablen ein
	"<li class=\"itemtitle\">" + itemtitle + "</li>" +
	"<li class=\"itemcontent\">" + itemdescription + "</li>" // Nicht für Mike Jucker: +
	// Nicht für Mike Jucker: "<li class=\"itemdate\">" + itemdate + "</li>"
	}
	rssoutput+="</ul>"
	this.feedcontainer.innerHTML=rssoutput
	}
	else // Fehler beim Laden
	this.feedcontainer.innerHTML="Fehler beim Laden: "+result.error.message // alert("Fehler beim Laden: "+result.error.message)
	}

//SYNTAX: new rssdisplayer("id", "URL", Anzahl, "Optionen")
//new rssdisplayer("div-id", "http://coldheat.de/feed", 10, "title,contentSnippet,publishedDate")
