﻿/*
###########################
# Feed Widget for Blogger #
###########################

Welcome & have fun reading this javascript file. Perhaps you are interested in this widget.
Feel free to modify & use any part of this script in your own projects, please leave this notice
intact and appreciate if you can provide a link back to http://favorizer.blogspot.com/

You need a Google API key to use this feed API in
your websites/blogs. My API key is not workable in your sites.

# Licensed under GNU GPL at http://www.opensource.org/licenses/gpl-license.php #
# Copyright(c) 2009 Philip Ze #
*/


document.igb=new Array;
for(i=0;i<1;i++){document.igb[i]=new Image;}
document.igb[0].src=CssDir+"/images/ic-loading.gif";
var month=new Array(12); 
month[0]="Jan";
month[1]="Feb";
month[2]="Mar";
month[3]="Apr";
month[4]="May";
month[5]="Jun";
month[6]="Jul";
month[7]="Aug";
month[8]="Sep";
month[9]="Oct";
month[10]="Nov";
month[11]="Dec";

google.load("feeds","1");
var apict=0;
var feedins=new Array;

function fetchfeed(fad,fid,num,hideNote,randPick){
	num=(!num)?5:num;
	document.getElementById(fid).innerHTML='<br/><img src="'+CssDir+'"/images/ic-loading.gif" alt="" /> Fetching Feed ...<br/>';
	feedins[apict]=new google.feeds.Feed(fad);
	feedins[apict].setNumEntries((randPick)?1000:num);
	feedins[apict].load(
		function(result){
			populate(result,fad,fid,num,hideNote,randPick)
		});
	apict+=1;
}

function populate(result,fad,fid,num,hideNote,randPick){
	if(result.error){
		cont.innerHTML='<b>Unable to fetch feed ... <a href="javascript:fetchfeed(\''+fad,+'\',\''+fid+'\',\''+num+'\',\''+hideNote+'\',\''+randPick+'\')">Retry</a></b><br/>';
		return
	}
	var idxcont=new Array;
	cont=document.getElementById(fid);
	enlen=result.feed.entries.length;	
	if(randPick){
		leng=(num>enlen)?enlen:num;
		idxtxt='';i=0;
		while(true){
			idi=Math.floor(Math.random()*enlen);
			if(idxtxt.indexOf('#'+idi+'#')==-1){
				idxcont[i]=idi;
				idxtxt+='#'+idi+'#';
				i+=1;
			}
			if(i>=leng){break};
		}	
	}else{
		leng=enlen;	
		for(i=0;i<leng;i++){idxcont[i]=i}
	}
	cont.innerHTML=(!hideNote)?'<span>Latest Posts From This Blog :</span><br/>':'';
	ul=document.createElement('ul');
	for(i=0;i<leng;i++){
		entry=result.feed.entries[idxcont[i]];
		pdate=new Date(entry.publishedDate);
		title=(entry.title=='')?'(untitled)':entry.title;
		title=title+((!hideNote)?(' <span style="font-size:8pt">('+month[pdate.getMonth()]+' '+pdate.getDate()+', '+pdate.getFullYear()+')</span>'):'');
		aa=document.createElement('a');
		aa.setAttribute('href',entry.link);
		if(!hideNote){aa.setAttribute('target','_blank')};
		aa.setAttribute('rel','nofollow');
		aa.innerHTML=title;
		li=document.createElement('li');
		li.appendChild(aa);
		ul.appendChild(li);
	}
	cont.appendChild(ul);
}
