

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){
            	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 =$(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];
                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});
				}

                                			$title.html(entry.title);
			$title.attr( {
				href  : entry.link,
				title : $("<p></p>").html(entry.contentSnippet).html(),
				rel   : "external",
				rev   : "bookmark"
			});
                                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_2>li").tsort( {
        					order : "desc",
        					attr : "age",
        					returns: true,
        			        place:"org"
        				}), function(i2, $element2){
            				if(i2 > -1){
                			/* if($("#feedreading_blogroll_2>li").indexOf($element2) > -1){*/
                				$($element2).css("display","none");
            				}
        				});
      				        				$.each($("#feedreading_blogroll_259>li").tsort( {
        					order : "desc",
        					attr : "age",
        					returns: true,
        			        place:"org"
        				}), function(i259, $element259){
            				if(i259 > -1){
                			/* if($("#feedreading_blogroll_259>li").indexOf($element259) > -1){*/
                				$($element259).css("display","none");
            				}
        				});
      				        }
            /*
             * Sort the blogroll with tsort()
             */
            function feedreading_automatic_sort() { 			var $allCompleted ,
			            				$hasCompleteAge2=true, isComplete2=false
          				 ,             				$hasCompleteAge259=true, isComplete259=false
          				;
					$.each($("#feedreading_blogroll_2>li"), function(idx2, $elem2) {
						var $age2 = $($elem2).attr("age");
						if ($age2 === null || $age2 == "" || isNaN($age2)) {
							$hasCompleteAge2 = false;
						}
					});


					if ($hasCompleteAge2 && !isComplete2) {
						$("#feedreading_blogroll_2>li").tsort({order:"desc",attr:"age"});
						isComplete2=true;
					}
          				
					$.each($("#feedreading_blogroll_259>li"), function(idx259, $elem259) {
						var $age259 = $($elem259).attr("age");
						if ($age259 === null || $age259 == "" || isNaN($age259)) {
							$hasCompleteAge259 = false;
						}
					});


					if ($hasCompleteAge259 && !isComplete259) {
						$("#feedreading_blogroll_259>li").tsort({order:"desc",attr:"age"});
						isComplete259=true;
					}
          								$allCompleted =
									            				$hasCompleteAge2          									 &&             				$hasCompleteAge259          				;
				if ($allCompleted){
				clearInterval(myInterval);
				}
				            }

            /*
             * Sort the blogroll with tsort()
             */
	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);
												}, 20000);
			
      function initializeBR() {                     		var
	                    		                    		feed1 = new google.feeds.Feed("http://feeds2.feedburner.com/GamingWithBaby?format=xml")
                    		,                    		feed2 = new google.feeds.Feed("http://feeds2.feedburner.com/SpriteStitch?format=xml")
                    		,                    		feed3 = new google.feeds.Feed("http://feeds2.feedburner.com/Magic-The-Gathering-Podcast-ManaNation?format=xml")
                    		,                    		feed4 = new google.feeds.Feed("http://www.thebestofdiy.com/index.php/feed")
                    		,                    		feed5 = new google.feeds.Feed("http://feeds.feedburner.com/TheMorningToast?format=xml")
                    		,                    		feed6 = new google.feeds.Feed("http://blog.craftzine.com/index.xml")
                    		,                    		feed8 = new google.feeds.Feed("http://www.joystiq.com/all-rss.xml")
                    		,                    		feed9 = new google.feeds.Feed("http://www.joeybigtimes.com/feeds/posts/default")
                    		,                    		feed10 = new google.feeds.Feed("http://icanandiwill.wordpress.com/feed/")
                    		,                    		feed11 = new google.feeds.Feed("http://onecrazystitch.blogspot.com/feeds/posts/default")
                    		,                    		feed12 = new google.feeds.Feed("http://pikabooscraftystuff.blogspot.com/feeds/posts/default")
                    		,                    		feed13 = new google.feeds.Feed("http://feeds2.feedburner.com/ThePrincessInDisguise?format=xml")
                    		,                    		feed14 = new google.feeds.Feed("http://ridiculology.blogspot.com/feeds/posts/default")
                    		,                    		feed15 = new google.feeds.Feed("http://blog.scriptedfailures.com/feed/atom")
                    		,                    		feed16 = new google.feeds.Feed("http://utterinsanity.wordpress.com/feed/")
                    		;                                      feed1.load(function(result_1){
                                      if (!result_1.error) {
                                      addAge(result_1.feed, "#feedreading_bookmark_1", "#feedreading_anchor_1", "#feedreading_info_1", "#feedreading_previewtoggle_1", "#frbl_last_posttitle_1");
						} else {
                  			addZeroAge("#feedreading_bookmark_1");
              			}
                                      });
                                                                                feed2.load(function(result_2){
                                      if (!result_2.error) {
                                      addAge(result_2.feed, "#feedreading_bookmark_2", "#feedreading_anchor_2", "#feedreading_info_2", "#feedreading_previewtoggle_2", "#frbl_last_posttitle_2");
						} else {
                  			addZeroAge("#feedreading_bookmark_2");
              			}
                                      });
                                                                                feed3.load(function(result_3){
                                      if (!result_3.error) {
                                      addAge(result_3.feed, "#feedreading_bookmark_3", "#feedreading_anchor_3", "#feedreading_info_3", "#feedreading_previewtoggle_3", "#frbl_last_posttitle_3");
						} else {
                  			addZeroAge("#feedreading_bookmark_3");
              			}
                                      });
                                                                                feed4.load(function(result_4){
                                      if (!result_4.error) {
                                      addAge(result_4.feed, "#feedreading_bookmark_4", "#feedreading_anchor_4", "#feedreading_info_4", "#feedreading_previewtoggle_4", "#frbl_last_posttitle_4");
						} else {
                  			addZeroAge("#feedreading_bookmark_4");
              			}
                                      });
                                                                                feed5.load(function(result_5){
                                      if (!result_5.error) {
                                      addAge(result_5.feed, "#feedreading_bookmark_5", "#feedreading_anchor_5", "#feedreading_info_5", "#feedreading_previewtoggle_5", "#frbl_last_posttitle_5");
						} else {
                  			addZeroAge("#feedreading_bookmark_5");
              			}
                                      });
                                                                                feed6.load(function(result_6){
                                      if (!result_6.error) {
                                      addAge(result_6.feed, "#feedreading_bookmark_6", "#feedreading_anchor_6", "#feedreading_info_6", "#feedreading_previewtoggle_6", "#frbl_last_posttitle_6");
						} else {
                  			addZeroAge("#feedreading_bookmark_6");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_8");
              			}
                                      });
                                                                                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");
              			}
                                      });
                                                                                feed10.load(function(result_10){
                                      if (!result_10.error) {
                                      addAge(result_10.feed, "#feedreading_bookmark_10", "#feedreading_anchor_10", "#feedreading_info_10", "#feedreading_previewtoggle_10", "#frbl_last_posttitle_10");
						} else {
                  			addZeroAge("#feedreading_bookmark_10");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_11");
              			}
                                      });
                                                                                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");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_13");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_14");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_15");
              			}
                                      });
                                                                                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");
						} else {
                  			addZeroAge("#feedreading_bookmark_16");
              			}
                                      });
                                          								feedreading_category_observer();
                }

});
            
                    