jQuery.fn.rssfeed = function(settings) {
	settings = jQuery.extend({
		rssurl : 'http://politiken.dk/rss/senestenyt.rss',
		recs : 3,
		interval : 3600,
		oid : '',
		fields: '0',
		format: 'd-m-Y H:i:s',
		chars: ''
	}, settings);
    
	oldoffset = null; 
	fields = settings

	var url = "http://" + top.location.host + top.location.pathname;
	var extkey = "tcrsslite";

	return this.each(function(){
	
		params = {
			eID:		extkey,
			recs:		settings.recs,
			url:		settings.rssurl,
			format:		settings.format,
			chars:	settings.chars,
			timestamp:   Math.random()
		} 
		
		ajaxLoading(settings.oid);
		getRSSData(params);
		setTimer(settings.interval * 1000, params);
	});
	
	
	function setTimer(time, params) {
		// This is the way to ensure that the actual parameters is used
		setInterval(function() {
			getRSSData(params);
		}, time);
	}

	
	function getRSSData (params) {
		//console.log(params.url + "::" + params.recs);
		$.getJSON(url, params, function(data) {

			$.each(data, function(i,item){
				if(settings.fields.indexOf('1') > -1) {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed  > .rssheader > h2 > a").eq(i).attr("href", item.link);
				}else {
					// remove link from DOM
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed > .rssheader > h2 > a").eq(i).css("display","none");
				}
				
				if(settings.fields.indexOf('0') > -1) {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed > .rssheader > h2 > a").eq(i).html('&raquo; ' + item.title);
				}else {
					// hide both link and title
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed > .rssheader > h2 > a").eq(i).css("display","none");
				}
				
				if(settings.fields.indexOf('2') > -1) {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed  p").eq(i).html(item.description);
				}else {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed  p").eq(i).css("display","none");
				}
				
				if(settings.fields.indexOf('3') > -1) {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed .rssheader > .date").eq(i).html(item.date);
				}else {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed  .rssheader > .date").eq(i).css("display","none");

				}
				
				if($("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed p").eq(i).html() == "") {
					$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed p").eq(i).css("display","none");
				}
			
			});
			
			// remove tags with display: none
			$("#tx-tcrsslite-pi1-" + settings.oid + " > div.rssfeed  p").each(function() {
				if($(this).css("display") == "none") {
					$(this).remove();
				}
			});
			
		});
	}

	function ajaxLoading(oid) {
		
		$(".tx-tcrsslite-pi1 #loading-"+oid).ajaxStart(function(){
			$(this)
				.css("left", (parseInt($(this).parent().width()) / 2 - parseInt($(this).width()) / 2))
				.show();
		});
		
		$(".tx-tcrsslite-pi1 #loading-"+oid).ajaxStop(function(){
			$(this)
				.hide()
				.siblings(".rssfeeds").show('slow');
		});
	}
	
}

