
jQuery(document).ready(function(){
	google.load("feeds", "1",{"callback" : initializeBR});
	//initializeBR();
});
			/**
			 * printf() for Javascript
			 */
			function sprintf() {
                if( sprintf.arguments.length < 2 ) {
                    return;
                }
                var data = sprintf.arguments[ 0 ];
                for( var k=1; k<sprintf.arguments.length; ++k ) {
                    switch( typeof( sprintf.arguments[ k ] ) ){
                        case 'string':
                            data = data.replace( /%s/, sprintf.arguments[ k ] );
                            break;
                        case 'number':
                            data = data.replace( /%d/, sprintf.arguments[ k ] );
                            break;
                        case 'boolean':
                            data = data.replace( /%b/, sprintf.arguments[ k ] ? 'true' : 'false' );
                            break;
                            default:
                           /// function | object | undefined
                        break;
                    }
                }
                return(data);
            }
            if( !String.sprintf ) {
            	String.sprintf = sprintf;
            }


            /**
             * generate text showing the age of the bookmark's latest post
             */
            function getAge(days, hours){
            	var ageMsg = "";
                if (days > 1) {
                    ageMsg = String.sprintf("%d days ago", days);
                } else if (days==1){
                    ageMsg = "yesterday ";
                } else if (days< 1 && hours > 1) {
                    ageMsg = String.sprintf("%d hrs ago", hours);
                } else if (days< 1 && hours == 1) {
                    ageMsg = "in the last hour";
                } else if (days < 1 && hours < 1) {
                    ageMsg="just recently";
                }
                return ageMsg;
            }
            /* add age and other info to bookmark*/
            function addAge(feed, bookmark, anchor, divID, previewtoggle, last_posttitle){
                var $li = jQuery(bookmark),
                 $a = jQuery(anchor),
                 $toggle = jQuery(previewtoggle),
                 $title = jQuery(last_posttitle),
                 now = (new Date()).getTime(),
                 then = (new Date()).getTime(),
                 ageInDays,
                 ageInHours,
                 randomAge,
                 ageMsg,
                 $snippet,
                 entry;
                entry = feed.entries[0];
                try {
                    then = new Date(entry.publishedDate).getTime();
                } catch (dateException) {
                    // do noting
                }
                
                ageInDays =  Math.floor((now-then)/(1000*60*60*24)),
                ageInHours = Math.floor((now-then)%(1000*60*60*24)/3600000);

                try {
                    $entryTitle = jQuery("<p></p>").html(entry.title);
                    $a.attr({title: $entryTitle.html()});
                } catch (titleException) {
                    $a.attr({title: ""});
                }
				if (!isNaN(then)){
					// insert age into list-item to allow sorting by age of post
                    $li.attr({age:then});
				} else {
		            /* add "very old" age to bookmarks with no feed-url */
					randomAge = Math.floor(Math.random()*1000001);
					$li.attr({age:randomAge});
				}

                                if (isNaN(ageInDays) || isNaN(ageInHours)){
                    // do nothing
                } else {
                    ageMsg=getAge(ageInDays, ageInHours);
                    
                    $toggle.html(ageMsg);
			$toggle.attr({feedurl:feed.link});
                }
                                			$title.html(entry.title);
			$snippet = jQuery("<p></p>").html(entry.contentSnippet);
			$title.attr( {
				href  : entry.link,
				title : $snippet.html(),
				rel   : "external",
				rev   : "bookmark"
			});
                                return;
            }
            /* add "very old" age to bookmarks with no feed-url */
            function addZeroAge(zeroAgeBookmark){
                var $zali = jQuery(zeroAgeBookmark),
                randomAge = Math.floor(Math.random()*1000001);
                if ($zali !== null ) {
                    $zali.attr({age:randomAge});
                }
                return;
            }

            /* add jQuery-oberserver to enable mouse-clicks*/
            function addFeedControl(preview, feed, name){
                    var feedControl = new google.feeds.FeedControl();
                    feedControl.addFeed(feed, name);
                    feedControl.draw(jQuery(preview).get(0));
            }

			/*
			 *
			 */
            function feedreading_limit_display(){ 				jQuery.each(jQuery("#feedreading_blogroll_ > li"), function(i, $element){
    				if(i > -1){
        				jQuery($element).css("display","none");
    				}
				});
        		        }
            /*
             * Sort the blogroll with tsort()
             */
            function feedreading_automatic_sort() {     				jQuery("#feedreading_blogroll_ > li").tsort({order:"desc",attr:"age"});
            		            }

            /*
             * Sort the blogroll with tsort()
             */
	function feedreading_category_observer() { 
	    		jQuery("#widget_feedreading_blogroll").bind("change click keypress", function(event){
			var $eventTarget = jQuery(event.target);
			if ($eventTarget.is('abbr')){
				$eventTarget.parent().parent().children(".preview_wrap").toggle("slow");

			}
			if ($eventTarget.is('small')){
				$eventTarget.parent().parent().parent().children(".preview_wrap").toggle("slow");

			}
		});
			}

			
      function initializeBR() {                     		var
	                    		                    		feed13 = new google.feeds.Feed("http://strugglingtofindmyform.blogspot.com/feeds/posts/default")
                    		,                    		feed20 = new google.feeds.Feed("http://bethbikes.blogspot.com/feeds/posts/default")
                    		,                    		feed21 = new google.feeds.Feed("http://www.brookecycling.com/Brooke_Millers_Official_Cycling_Site/Blog/rss.xml")
                    		,                    		feed8 = new google.feeds.Feed("http://girodichatterbox.blogspot.com/feeds/posts/default")
                    		,                    		feed16 = new google.feeds.Feed("http://elfdontblog.blogspot.com/feeds/posts/default")
                    		,                    		feed17 = new google.feeds.Feed("http://vive-le-tour.blogspot.com/feeds/posts/default")
                    		,                    		feed19 = new google.feeds.Feed("http://competitivecycling.blogspot.com/feeds/posts/default")
                    		,                    		feed12 = new google.feeds.Feed("http://norcalcyclingnews.com/words/?feed=rss2")
                    		,                    		feed24 = new google.feeds.Feed("http://arcticglass.blogspot.com/feeds/posts/default")
                    		,                    		feed22 = new google.feeds.Feed("http://lhaughey.blogspot.com/feeds/posts/default")
                    		,                    		feed15 = new google.feeds.Feed("http://cheflandria.com/feed/")
                    		,                    		feed18 = new google.feeds.Feed("http://merkeleybike.blogspot.com/feeds/posts/default")
                    		,                    		feed9 = new google.feeds.Feed("http://velogirlscoaching.blogspot.com/feeds/posts/default")
                    		,                    		feed11 = new google.feeds.Feed("http://profkimberlyturner.blogspot.com/feeds/posts/default")
                    		,                    		feed14 = new google.feeds.Feed("http://sabinedukes.com/blog/feed/")
                    		,                    		feed23 = new google.feeds.Feed("http://themanleyreport.blogspot.com/feeds/posts/default")
                    		;                                      feed13.load(function(result_13){
                                      if (!result_13.error) {
                                      addAge(result_13.feed, "#feedreading_bookmark_13", "#feedreading_anchor_13", "#feedreading_info_13", "#feedreading_previewtoggle_13", "#frbl_last_posttitle_13");
                                      addFeedControl("#feedreading_preview_13", "http://strugglingtofindmyform.blogspot.com/feeds/posts/default", "Austin Chris");
    												} else {
                  			addZeroAge("#feedreading_bookmark_13");
              			}
                                      });
                                                                                feed20.load(function(result_20){
                                      if (!result_20.error) {
                                      addAge(result_20.feed, "#feedreading_bookmark_20", "#feedreading_anchor_20", "#feedreading_info_20", "#feedreading_previewtoggle_20", "#frbl_last_posttitle_20");
                                      addFeedControl("#feedreading_preview_20", "http://bethbikes.blogspot.com/feeds/posts/default", "Beth");
    												} else {
                  			addZeroAge("#feedreading_bookmark_20");
              			}
                                      });
                                                                                feed21.load(function(result_21){
                                      if (!result_21.error) {
                                      addAge(result_21.feed, "#feedreading_bookmark_21", "#feedreading_anchor_21", "#feedreading_info_21", "#feedreading_previewtoggle_21", "#frbl_last_posttitle_21");
                                      addFeedControl("#feedreading_preview_21", "http://www.brookecycling.com/Brooke_Millers_Official_Cycling_Site/Blog/rss.xml", "Brooke, Natz champ");
    												} else {
                  			addZeroAge("#feedreading_bookmark_21");
              			}
                                      });
                                                                                feed8.load(function(result_8){
                                      if (!result_8.error) {
                                      addAge(result_8.feed, "#feedreading_bookmark_8", "#feedreading_anchor_8", "#feedreading_info_8", "#feedreading_previewtoggle_8", "#frbl_last_posttitle_8");
                                      addFeedControl("#feedreading_preview_8", "http://girodichatterbox.blogspot.com/feeds/posts/default", "ChatterBox");
    												} else {
                  			addZeroAge("#feedreading_bookmark_8");
              			}
                                      });
                                                                                feed16.load(function(result_16){
                                      if (!result_16.error) {
                                      addAge(result_16.feed, "#feedreading_bookmark_16", "#feedreading_anchor_16", "#feedreading_info_16", "#feedreading_previewtoggle_16", "#frbl_last_posttitle_16");
                                      addFeedControl("#feedreading_preview_16", "http://elfdontblog.blogspot.com/feeds/posts/default", "Elis, a 4-letter word");
    												} else {
                  			addZeroAge("#feedreading_bookmark_16");
              			}
                                      });
                                                                                feed17.load(function(result_17){
                                      if (!result_17.error) {
                                      addAge(result_17.feed, "#feedreading_bookmark_17", "#feedreading_anchor_17", "#feedreading_info_17", "#feedreading_previewtoggle_17", "#frbl_last_posttitle_17");
                                      addFeedControl("#feedreading_preview_17", "http://vive-le-tour.blogspot.com/feeds/posts/default", "Gibbler Kim");
    												} else {
                  			addZeroAge("#feedreading_bookmark_17");
              			}
                                      });
                                                                                feed19.load(function(result_19){
                                      if (!result_19.error) {
                                      addAge(result_19.feed, "#feedreading_bookmark_19", "#feedreading_anchor_19", "#feedreading_info_19", "#feedreading_previewtoggle_19", "#frbl_last_posttitle_19");
                                      addFeedControl("#feedreading_preview_19", "http://competitivecycling.blogspot.com/feeds/posts/default", "Groover in Brisbane (AU)");
    												} else {
                  			addZeroAge("#feedreading_bookmark_19");
              			}
                                      });
                                                                                feed12.load(function(result_12){
                                      if (!result_12.error) {
                                      addAge(result_12.feed, "#feedreading_bookmark_12", "#feedreading_anchor_12", "#feedreading_info_12", "#feedreading_previewtoggle_12", "#frbl_last_posttitle_12");
                                      addFeedControl("#feedreading_preview_12", "http://norcalcyclingnews.com/words/?feed=rss2", "Hernando");
    												} else {
                  			addZeroAge("#feedreading_bookmark_12");
              			}
                                      });
                                                                                feed24.load(function(result_24){
                                      if (!result_24.error) {
                                      addAge(result_24.feed, "#feedreading_bookmark_24", "#feedreading_anchor_24", "#feedreading_info_24", "#feedreading_previewtoggle_24", "#frbl_last_posttitle_24");
                                      addFeedControl("#feedreading_preview_24", "http://arcticglass.blogspot.com/feeds/posts/default", "Jill in Alaska");
    												} else {
                  			addZeroAge("#feedreading_bookmark_24");
              			}
                                      });
                                                                                feed22.load(function(result_22){
                                      if (!result_22.error) {
                                      addAge(result_22.feed, "#feedreading_bookmark_22", "#feedreading_anchor_22", "#feedreading_info_22", "#feedreading_previewtoggle_22", "#frbl_last_posttitle_22");
                                      addFeedControl("#feedreading_preview_22", "http://lhaughey.blogspot.com/feeds/posts/default", "Lauren, CX racer");
    												} else {
                  			addZeroAge("#feedreading_bookmark_22");
              			}
                                      });
                                                                                feed15.load(function(result_15){
                                      if (!result_15.error) {
                                      addAge(result_15.feed, "#feedreading_bookmark_15", "#feedreading_anchor_15", "#feedreading_info_15", "#feedreading_previewtoggle_15", "#frbl_last_posttitle_15");
                                      addFeedControl("#feedreading_preview_15", "http://cheflandria.com/feed/", "Lioness of Flanders");
    												} else {
                  			addZeroAge("#feedreading_bookmark_15");
              			}
                                      });
                                                                                feed18.load(function(result_18){
                                      if (!result_18.error) {
                                      addAge(result_18.feed, "#feedreading_bookmark_18", "#feedreading_anchor_18", "#feedreading_info_18", "#feedreading_previewtoggle_18", "#frbl_last_posttitle_18");
                                      addFeedControl("#feedreading_preview_18", "http://merkeleybike.blogspot.com/feeds/posts/default", "Merkeley and Ali");
    												} else {
                  			addZeroAge("#feedreading_bookmark_18");
              			}
                                      });
                                                                                feed9.load(function(result_9){
                                      if (!result_9.error) {
                                      addAge(result_9.feed, "#feedreading_bookmark_9", "#feedreading_anchor_9", "#feedreading_info_9", "#feedreading_previewtoggle_9", "#frbl_last_posttitle_9");
                                      addFeedControl("#feedreading_preview_9", "http://velogirlscoaching.blogspot.com/feeds/posts/default", "Mistress VeloGirl");
    												} else {
                  			addZeroAge("#feedreading_bookmark_9");
              			}
                                      });
                                                                                feed11.load(function(result_11){
                                      if (!result_11.error) {
                                      addAge(result_11.feed, "#feedreading_bookmark_11", "#feedreading_anchor_11", "#feedreading_info_11", "#feedreading_previewtoggle_11", "#frbl_last_posttitle_11");
                                      addFeedControl("#feedreading_preview_11", "http://profkimberlyturner.blogspot.com/feeds/posts/default", "Prof. Kim");
    												} else {
                  			addZeroAge("#feedreading_bookmark_11");
              			}
                                      });
                                                                                feed14.load(function(result_14){
                                      if (!result_14.error) {
                                      addAge(result_14.feed, "#feedreading_bookmark_14", "#feedreading_anchor_14", "#feedreading_info_14", "#feedreading_previewtoggle_14", "#frbl_last_posttitle_14");
                                      addFeedControl("#feedreading_preview_14", "http://sabinedukes.com/blog/feed/", "Sabine");
    												} else {
                  			addZeroAge("#feedreading_bookmark_14");
              			}
                                      });
                                                                                feed23.load(function(result_23){
                                      if (!result_23.error) {
                                      addAge(result_23.feed, "#feedreading_bookmark_23", "#feedreading_anchor_23", "#feedreading_info_23", "#feedreading_previewtoggle_23", "#frbl_last_posttitle_23");
                                      addFeedControl("#feedreading_preview_23", "http://themanleyreport.blogspot.com/feeds/posts/default", "Tall Todd");
    												} else {
                  			addZeroAge("#feedreading_bookmark_23");
              			}
                                      });
                                          								feedreading_category_observer();
                }


            
                    