

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("hace %d  d&iacute;as", days);
                } else if (days==1){
                	return "ayer ";
                } else if (days< 1 && hours > 1) {
                	return String.sprintf("Hace %d horas", hours);
                } else if (days< 1 && hours == 1) {
                	return "en la &uacute;ltima hora";
                } else if (days < 1 && hours < 1) {
                	return "hace un rato";
                }
            }
            /* 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, author="";
                entry = feed.entries[0]
                /*,entry1= feed.entries[1] */;
                try {
                    then = new Date(entry.publishedDate).getTime();
                } catch (dateException) {
                    // do noting
                }
                                if(!(entry.author===null || entry.author == "")){
                    author = entry.author;
                } else {
                    if(!(feed.author===null || feed.author == "")){
                    	author = feed.author;
                    }
                }
                
                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));
					           
                                        if (author!= "" ) {
	                    ageMsg.push(" por ");
	                    ageMsg.push(author);
                    }
                                        $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 false;
            }
            /* 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 false;
            }

            /* 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));
                    return false;
            }

			/*
			 *
			 */
            function feedreading_limit_display(){ 
            	var
                 liArray14 = $("#feedreading_blogroll_14 > li") ;	        				for (var i=0; i < liArray14.length; i++) { 
	        					if(i > -1){
	                				$(liArray14[i]).css("display","none");
	        					}
	        				}
	        								return false;
        	}
        	
            /*
             * Sort the blogroll with tsort()
             */
            function feedreading_automatic_sort() { 			var $allCompleted ,
			            				$hasCompleteAge14=true, isComplete14=false, $liSortArray14 = $("#feedreading_blogroll_14>li") 
          				;            		for (var i=0; i < $liSortArray14.length; i++) {
						var $age14 = $($liSortArray14[i]).attr("age");
						if ($age14 === null || $age14 == "" || isNaN($age14)) {
							$hasCompleteAge14 = false;
						}
            		}
					if ($hasCompleteAge14 && !isComplete14) {
						$("#feedreading_blogroll_14>li").tsort({order:"desc",attr:"age"});
						isComplete14=true;
					}
          								$allCompleted =
									            				$hasCompleteAge14          				;				
				if ($allCompleted){
				clearInterval(myInterval);
												}
								return false;
            }

	function feedreading_rolling(){
						var
				         							
						$blogroll_14 = $('#feedreading_blogroll_14'), $blogroll_14_size=$blogroll_14.find('li').size() , $blogroll_14_limit = ($blogroll_14_size>5)? (5): ($blogroll_14_size-1) 
									;
			
						
				         							
				if ($blogroll_14_size > 1) {
					$("#feedreading_blogroll_14 > li").css("display","none");
					$blogroll_14.feedReadingBlogrollSpy($blogroll_14_limit,4000);
				}
						return false;
	}

            /*
             * add observer to blogroll()
             */
	function feedreading_category_observer() {
	    		$("#widget_feedreading_blogroll, .widget_feedreading_blogroll").bind("change click keypress", function(event){
			var $eventTarget = $(event.target), $previewtarget = "#"+$eventTarget.parent().children(".previewtarget").text();
						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");

			}
						
					});
				$("ul.feedreading_blogroll_bookmarklist").bind("mouseenter",function(event){
			var $eventTarget =$(event.target);
			$eventTarget.parents(".feedreading_blogroll_bookmarklist").addClass("mouseover");
		});
		$("ul.feedreading_blogroll_bookmarklist").bind("mouseleave",function(event){
			var $eventTarget =$(event.target);
			$eventTarget.parents(".feedreading_blogroll_bookmarklist").removeClass("mouseover");
		});
		return false;
	}
					            /* 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 					feed8 = new google.feeds.Feed("http://echevarria-acuarelas.blogspot.com/feeds/posts/default?alt=rss")
					,					feed13 = new google.feeds.Feed("http://www.mariapilarmartinez.com/galeria/main.php?g2_view=rss.SimpleRender&#38;g2_itemId=7")
					;						google.feeds.lookupFeed("http://www.serrateacuarelas.es", function() {
							var url33= this.url, feed33 = new google.feeds.Feed(this.url);
                            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");
                                addFeedControl("#feedreading_preview_33", url33, "Agustin Serrate Acuarelas");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_33");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://annaquarelles.blogspot.com/", function() {
							var url10= this.url, feed10 = new google.feeds.Feed(this.url);
                            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");
                                addFeedControl("#feedreading_preview_10", url10, "Anna Morales");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_10");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://acuarelasantonio.blogspot.com/", function() {
							var url31= this.url, feed31 = new google.feeds.Feed(this.url);
                            feed31.load(function(result_31){
                                if (!result_31.error) {
                                addAge(result_31.feed, "#feedreading_bookmark_31", "#feedreading_anchor_31", "#feedreading_info_31", "#feedreading_previewtoggle_31", "#frbl_last_posttitle_31");
                                addFeedControl("#feedreading_preview_31", url31, "Antonio Leiva &quot;Crusper&quot;");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_31");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://carmen-jimenez.blogspot.com/", function() {
							var url9= this.url, feed9 = new google.feeds.Feed(this.url);
                            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", url9, "Carmen Jiménez");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_9");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://epc-artcourses.es/Home/index.php", function() {
							var url32= this.url, feed32 = new google.feeds.Feed(this.url);
                            feed32.load(function(result_32){
                                if (!result_32.error) {
                                addAge(result_32.feed, "#feedreading_bookmark_32", "#feedreading_anchor_32", "#feedreading_info_32", "#feedreading_previewtoggle_32", "#frbl_last_posttitle_32");
                                addFeedControl("#feedreading_preview_32", url32, "Enjoy Painting Catalonia - Angela Barbí");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_32");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://acuarelas-fernandopena.blogspot.com/", function() {
							var url27= this.url, feed27 = new google.feeds.Feed(this.url);
                            feed27.load(function(result_27){
                                if (!result_27.error) {
                                addAge(result_27.feed, "#feedreading_bookmark_27", "#feedreading_anchor_27", "#feedreading_info_27", "#feedreading_previewtoggle_27", "#frbl_last_posttitle_27");
                                addFeedControl("#feedreading_preview_27", url27, "Fernando Pena");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_27");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://javminguez.spaces.live.com", function() {
							var url24= this.url, feed24 = new google.feeds.Feed(this.url);
                            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", url24, "Francisco Javier Minguez");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_24");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://acuarelasjasanchez.spaces.live.com", function() {
							var url26= this.url, feed26 = new google.feeds.Feed(this.url);
                            feed26.load(function(result_26){
                                if (!result_26.error) {
                                addAge(result_26.feed, "#feedreading_bookmark_26", "#feedreading_anchor_26", "#feedreading_info_26", "#feedreading_previewtoggle_26", "#frbl_last_posttitle_26");
                                addFeedControl("#feedreading_preview_26", url26, "José Antonio Sánchez");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_26");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://www.josemgonzalez.es", function() {
							var url25= this.url, feed25 = new google.feeds.Feed(this.url);
                            feed25.load(function(result_25){
                                if (!result_25.error) {
                                addAge(result_25.feed, "#feedreading_bookmark_25", "#feedreading_anchor_25", "#feedreading_info_25", "#feedreading_previewtoggle_25", "#frbl_last_posttitle_25");
                                addFeedControl("#feedreading_preview_25", url25, "José Miguel González");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_25");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://webfacil.tinet.org/cebsabat/14282", function() {
							var url28= this.url, feed28 = new google.feeds.Feed(this.url);
                            feed28.load(function(result_28){
                                if (!result_28.error) {
                                addAge(result_28.feed, "#feedreading_bookmark_28", "#feedreading_anchor_28", "#feedreading_info_28", "#feedreading_previewtoggle_28", "#frbl_last_posttitle_28");
                                addFeedControl("#feedreading_preview_28", url28, "Josep Cebrián");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_28");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://blocs.lescorts.cc/unaimagenyunaspalabras/", function() {
							var url30= this.url, feed30 = new google.feeds.Feed(this.url);
                            feed30.load(function(result_30){
                                if (!result_30.error) {
                                addAge(result_30.feed, "#feedreading_bookmark_30", "#feedreading_anchor_30", "#feedreading_info_30", "#feedreading_previewtoggle_30", "#frbl_last_posttitle_30");
                                addFeedControl("#feedreading_preview_30", url30, "Magda Revetllat");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_30");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://mjbarrera.blogspot.com", function() {
							var url15= this.url, feed15 = new google.feeds.Feed(this.url);
                            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", url15, "Maria José Barrera");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_15");
                  			}
                                });

						});

                                                                                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://echevarria-acuarelas.blogspot.com/feeds/posts/default?alt=rss", "Nacho Echevarría");
    												} else {
                  			addZeroAge("#feedreading_bookmark_8");
              			}
                                      });
                                          						google.feeds.lookupFeed("http://patreesedesign.blogspot.com/", function() {
							var url34= this.url, feed34 = new google.feeds.Feed(this.url);
                            feed34.load(function(result_34){
                                if (!result_34.error) {
                                addAge(result_34.feed, "#feedreading_bookmark_34", "#feedreading_anchor_34", "#feedreading_info_34", "#feedreading_previewtoggle_34", "#frbl_last_posttitle_34");
                                addFeedControl("#feedreading_preview_34", url34, "Pat Reese");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_34");
                  			}
                                });

						});

                                                                                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://www.mariapilarmartinez.com/galeria/main.php?g2_view=rss.SimpleRender&#38;g2_itemId=7", "Pilar Martinez");
    												} else {
                  			addZeroAge("#feedreading_bookmark_13");
              			}
                                      });
                                          						google.feeds.lookupFeed("http://oncoy.blogspot.com/", function() {
							var url16= this.url, feed16 = new google.feeds.Feed(this.url);
                            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", url16, "Roger Oncoy");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_16");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://theadventuresofameanderingmoleskin.blogspot.com/", function() {
							var url35= this.url, feed35 = new google.feeds.Feed(this.url);
                            feed35.load(function(result_35){
                                if (!result_35.error) {
                                addAge(result_35.feed, "#feedreading_bookmark_35", "#feedreading_anchor_35", "#feedreading_info_35", "#feedreading_previewtoggle_35", "#frbl_last_posttitle_35");
                                addFeedControl("#feedreading_preview_35", url35, "The Adventures of a Meandering Moleskine");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_35");
                  			}
                                });

						});

                                          						google.feeds.lookupFeed("http://acuarelasretuerto.blogspot.com/", function() {
							var url17= this.url, feed17 = new google.feeds.Feed(this.url);
                            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", url17, "Victor Retuerto");
						                  			} else {
                      			addZeroAge("#feedreading_bookmark_17");
                  			}
                                });

						});

                                          
																																feedreading_category_observer();
				return false;
                }


      $.fn.feedReadingBlogrollSpy = function (limit, interval) {
    	    limit = limit || 4;
    	    interval = interval || 4000;

    	    return this.each(function () {
    	        // 1. setup
    	            // capture a cache of all the list items
    	            // chomp the list down to limit li elements
    	        var $list = $(this),
    	            items = [], // uninitialised
    	            currentItem = limit,
    	            total = 0, // initialise later on
    	            height = $list.find('li:first').height();

    	        // capture the cache
    	        $list.find('li').each(function () {
    	            //items.push('<li>' + $(this).html() + '</li>');
    	            items.push($(this));
    	        });
    	        /*for (var i=0; i < li_items.length; i++){
    	            //items.push('<li>' + $(this).html() + '</li>');
    	            items.push($(this));
    	        } */

    	        total = items.length;

    	        $list.wrap('<div class="spyWrapper" />').parent().css({ height : height * (limit + 2) });

    	        $list.find('li').filter(':gt(' + (limit - 1) + ')').remove();

    	        // 2. effect
    	        function spy() {
			if(!$list.hasClass("mouseover")){
			    // insert a new item with opacity and height of zero
			    var $insert = $(items[currentItem]).css({
				height : 0,
				opacity : 0,
				display : 'none'
			    }).prependTo($list);

			    // fade the LAST item out
			    $list.find('li:last').animate({ opacity : 0}, 1000, function () {
				// increase the height of the NEW first item
				$insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);

				// AND at the same time - decrease the height of the LAST item
				// $(this).animate({ height : 0 }, 1000, function () {
				    // finally fade the first item in (and we can remove the last)
				    $(this).remove();
				// });
			    });

			    currentItem++;
			    if (currentItem >= total) {
				currentItem = 0;
			    }
			}
			setTimeout(spy, interval);
    	        }

    	        spy();
    	    });
    	};
});
            
                    