if(window.google) {
  if(!google.feeds) {
    google.load("feeds", "1");
  }
}
(function($) {
  /**
  *  Plugin which uses the Google AJAX Feed API for creating feed content
  *  @author:  M. Alsup (malsup at gmail dot com)
  *  @version: 1.0.2 (5/11/2007)
  *  Documentation and examples at: http://www.malsup.com/jquery/gfeed/
  *  Free beer and free speech. Enjoy!
  */
	$.fn.gFeed = function(options) {
    var opts = jQuery.extend({
      target: this,
      max: 5
    }, options || {});
    var g = new google.feeds.FeedControl();
    this.each(function() {
      var url = this.href || opts.url;
      var title = opts.title || this.title || $(this).text();
      g.addFeed(url, title);
      g.setNumEntries(opts.max);
			g.setLinkTarget(google.feeds.LINK_TARGET_SELF);
    });
    $(opts.target).each(function() {
      g.draw(this, opts.tabs ? { drawMode: google.feeds.FeedControl.DRAW_MODE_TABBED } : null );
    });
    return this;
	};
	/**
	*  Plugin which uses the gFeed Plugin by Mike Alsup which uses the Google AJAX Feed API for creating feed content
	*  @author:  DN (utveckling at dn dot se)
	*  @version: 1.0 (1/7/2009)
	*/ 
	$.fn.dnRSS = function(callback) {
		var $instance = 1;
    this.each(function() {
			var $feedOptions, $maxValue, $holder, $feeds, $style, $logoLink, $feedArray, $feedTitle, $options;
			var $this = $(this);
			var $count = 1;
			if(!(typeof $(this).find(".dnrssoptions").val() === 'undefined')) {
	      $options = eval("({" + $(this).find(".dnrssoptions").val() + '})');
			} else {
				$options = {};
			}
      if(!(typeof $options.showSnippets === 'undefined') && !$options.showSnippets == false) {
        $options.showSnippets = true;  
      }
			$feedArray = new Array();
			$feeds = $('<div class="feeds feeds-" style="display:none;"></div>');
			$(this).find(".feed").each(function() {
				$feedArray.push($(this));
			});
			$feedArray.sort(function() {return 0.5 - Math.random()});
			$.each($feedArray,function() {
				$feedTitle = $(this).attr("title");
				$maxValue = 4;
				var $holder = $('<div class="feed feed-'+ $feedTitle +'"></div>');
        if(!(typeof $options[$feedTitle + "Feed"] === 'undefined') && $options[$feedTitle + "Feed"].max) {
          $maxValue = $options[$feedTitle + "Feed"].max;  
        }
				$feedOptions = {
          url: $(this).val(),
          title: $feedTitle,
          target: $holder,
          max: $maxValue
				}
				$this.gFeed($feedOptions);
				$logoLink = "#";
				if(!(typeof $options[$feedTitle + "Feed"] === 'undefined') && $options[$feedTitle + "Feed"].supplierURL) {
				  $logoLink = $options[$feedTitle + "Feed"].supplierURL;
				}
        if(!(typeof $options[$feedTitle + "Feed"] === 'undefined') && $options[$feedTitle + "Feed"].logoImage) {
          //$holder.append('<div class="feedlogo"><a href="'+ $logoLink +'"><img src="'+ $options[$feedTitle + "Feed"].logoImage +'" alt="" /></a></div>');  
        } else if(!(typeof $options[$feedTitle + "Feed"] === 'undefined') && $options[$feedTitle + "Feed"].title) {
					//$holder.append('<div class="feedlogo"><a href="'+ $logoLink +'">' + $options[$feedTitle + "Feed"].title +'</a></div>');
				} else {
					//$holder.append('<div class="feedlogo"><a href="'+ $(this).val() +'">' + $(this).val() +'</a></div>');
				}
				$feeds.append($holder);
				$count++; 
			});
			$style = '<style type="text/css">';
			$style += '.dnrss .feed {padding:0 0 4px 0;} .dnrss .feedlogo {padding:4px 0 0 0;text-align:left;}';
			if($options.boxTitle) {
	      $feeds.prepend('<h3 class="rsstitle">'+ $options.boxTitle +'</h3>');
				$style += '.dnrss .rsstitle {font-size:11px;color:#666;font-weight:bold;text-transform:uppercase;}';
			}
      if(!$options.showSnippets) {
        $style += '.dnrss .feeds-'+ $instance +' .gfc-result .gf-snippet {display: none;}';
      }
      
      if($options.linkColor) {
        $style += '.dnrss .feeds-'+ $instance +' .gfc-result .gf-title {color:'+ $options.linkColor +';} .dnrss .feeds-'+ $instance +' .feedlogo a {font-size:12px;color:'+ $options.linkColor +';}';  
      }
			$style += '.dnrss .gf-snippet { font-size:11px;color:#666;}.dnrss .gfc-results {padding:0;} .dnrss .gfc-result {padding:0px 0;margin:0;border-bottom:0px solid #CCC;} .dnrss .gfc-result .gf-title {height:auto;font-size:12px;} .dnrss .gfc-resultsHeader,.dnrss .gf-result .gf-author,.dnrss .gf-result .gf-spacer,.dnrss .gf-result .gf-relativePublishedDate {display : none;}';
			$style += '</style>';
			$("head:eq(0)").append($style);
			$this.append($feeds);
			$feeds.show();
			/*$feeds.find(".feedlogo a").click(function() {
				$(this).attr("target","_blank");
			})*/
			if(callback) { callback(); }
			$instance++;
    });
		return this;
	};
  $(function() {
    $(".dnrss").dnRSS();
  });
})(jQuery);