

jQuery(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){
                if (days > 1) {
                    return String.sprintf("vor %d Tagen", days);
                } else if (days==1){
                	return "Gestern ";
                } else if (days< 1 && hours > 1) {
                	return String.sprintf("vor %d Stunden", hours);
                } else if (days< 1 && hours == 1) {
                	return "vor einer Stunde";
                } else if (days < 1 && hours < 1) {
                	return "gerade eben";
                }
            }
            /* add age and other info to bookmark*/
            function addAge(feed, bookmark, anchor, divID, previewtoggle, last_posttitle){
                var $li =$(bookmark),
                 $a =$(anchor),
                 $toggle =$(previewtoggle),
                 $title =$(last_posttitle),
                 now = (new Date()).getTime(),
                 then = (new Date()).getTime(),
                 ageInDays,
                 ageInHours,
                 randomAge,
                 ageMsg=[],
                 $snippet,
                 entry;
                entry = feed.entries[0]
                /*,entry1= feed.entries[1] */;
                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 =$("<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))){
                    ageMsg.push(getAge(ageInDays, ageInHours));
                                        $toggle.html(ageMsg.join('')).attr({feedurl:feed.link});
                }
                                			$title.html(entry.title);
			$title.attr( {
				href  : entry.link,
				title : $("<p></p>").html(entry.contentSnippet).html(),
				rel   : "external",
				rev   : "bookmark"
			});

			/*$title.parent().append($("<a></a>").attr({
					href : entry1.link,
					title: $("<p></p>").html(entry1.contentSnippet).html(),
					rel   : "external",
					rev   : "bookmark"
			}).html(entry1.title));*/
                                return;
            }
            /* add "very old" age to bookmarks with no feed-url */
            function addZeroAge(zeroAgeBookmark){
                var $zali =$(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($(preview).get(0));
            }

			/*
			 *
			 */
            function feedreading_limit_display(){ 				$.each($("#feedreading_blogroll_ > li"), function(i, $element){
					if(i > -1){
						$($element).css("display","none");
					}
				});
        		        }
            /*
             * Sort the blogroll with tsort()
             */
            function feedreading_automatic_sort() { 					var $allCompleted=false, $hasCompleteAge=true, isComplete=false 
										;
					$.each($("#feedreading_blogroll_ >li"), function(idx, $elem) {
						var $age_ = $($elem).attr("age");
						if ($age_ === null || $age_ == "" || isNaN($age_)) {
							$hasCompleteAge = false;
						}
					}); 						if ($hasCompleteAge && !isComplete){
							$("#feedreading_blogroll_ > li").tsort({order:"desc",attr:"age"});
							isComplete=true;
						}

						
					$allCompleted = $hasCompleteAge 
					;							
					if ($allCompleted) {
						clearInterval(myInterval);
												
					}
					            }

            /*
             * add observer to blogroll()
             */
	function feedreading_category_observer() {
	    	}
					            /* call sort-function every half second */
		            var myInterval = window.setInterval(function (){feedreading_automatic_sort(); },1000);
			/* stop calling sort-function after n seconds */
			window.setTimeout(function (a,b){
				clearInterval(myInterval);
			}, 40000);
			
      function initializeBR() { 						var 					feed9 = new google.feeds.Feed("http://areliagh.wordpress.com/feed/")
					,					feed33 = new google.feeds.Feed("http://labackel.blogspot.com/feeds/posts/default")
					,					feed12 = new google.feeds.Feed("http://blogging-dexter.blogspot.com/feeds/posts/default")
					,					feed58 = new google.feeds.Feed("http://goldenworkerdiscoverydelphin.wordpress.com/feed/")
					,					feed36 = new google.feeds.Feed("http://www.henrys-blog.de/?feed=rss2")
					,					feed57 = new google.feeds.Feed("http://lifeoffrieda.wordpress.com/feed/")
					,					feed38 = new google.feeds.Feed("http://www.meallan.de/category/news/feed/")
					,					feed21 = new google.feeds.Feed("http://habca.blogspot.com/feeds/posts/default")
					,					feed20 = new google.feeds.Feed("http://bhyibo.blogspot.com/feeds/posts/default")
					,					feed54 = new google.feeds.Feed("http://workingmudpaws.wordpress.com/feed/")
					;                                      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");
						} else {
                  			addZeroAge("#feedreading_bookmark_9");
              			}
                                      });
                                                                                feed33.load(function(result_33){
                                      if (!result_33.error) {
                                      addAge(result_33.feed, "#feedreading_bookmark_33", "#feedreading_anchor_33", "#feedreading_info_33", "#feedreading_previewtoggle_33", "#frbl_last_posttitle_33");
						} else {
                  			addZeroAge("#feedreading_bookmark_33");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_12");
              			}
                                      });
                                                                                feed58.load(function(result_58){
                                      if (!result_58.error) {
                                      addAge(result_58.feed, "#feedreading_bookmark_58", "#feedreading_anchor_58", "#feedreading_info_58", "#feedreading_previewtoggle_58", "#frbl_last_posttitle_58");
						} else {
                  			addZeroAge("#feedreading_bookmark_58");
              			}
                                      });
                                                                                feed36.load(function(result_36){
                                      if (!result_36.error) {
                                      addAge(result_36.feed, "#feedreading_bookmark_36", "#feedreading_anchor_36", "#feedreading_info_36", "#feedreading_previewtoggle_36", "#frbl_last_posttitle_36");
						} else {
                  			addZeroAge("#feedreading_bookmark_36");
              			}
                                      });
                                                                                feed57.load(function(result_57){
                                      if (!result_57.error) {
                                      addAge(result_57.feed, "#feedreading_bookmark_57", "#feedreading_anchor_57", "#feedreading_info_57", "#feedreading_previewtoggle_57", "#frbl_last_posttitle_57");
						} else {
                  			addZeroAge("#feedreading_bookmark_57");
              			}
                                      });
                                                                                feed38.load(function(result_38){
                                      if (!result_38.error) {
                                      addAge(result_38.feed, "#feedreading_bookmark_38", "#feedreading_anchor_38", "#feedreading_info_38", "#feedreading_previewtoggle_38", "#frbl_last_posttitle_38");
						} else {
                  			addZeroAge("#feedreading_bookmark_38");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_21");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_20");
              			}
                                      });
                                                                                feed54.load(function(result_54){
                                      if (!result_54.error) {
                                      addAge(result_54.feed, "#feedreading_bookmark_54", "#feedreading_anchor_54", "#feedreading_info_54", "#feedreading_previewtoggle_54", "#frbl_last_posttitle_54");
						} else {
                  			addZeroAge("#feedreading_bookmark_54");
              			}
                                      });
                                          
																												feedreading_category_observer();
                }

});
            
                    