var GoogleAjaxFeedApi_maregAndSort = function(name)
{ this.name = name; this.timerId; this.idView = null; this.sortKey = null; this.sortMode = "desc"; this.tag = ""; this.arrayRssUrl = new Array(); this.arrayMergeRss = new Array(); this.arrayRss = new Array(); this.flgLast = false; this.set_idView = function(idView)
{ this.idView = idView;}
this.set_sortKey = function(sortKey)
{ this.sortKey = sortKey;}
this.set_sortMode = function(sortMode)
{ this.sortMode = sortMode;}
this.add_feed = function(url, acq, siteName)
{ this.arrayRssUrl.push( {"url" : url, "acq" : acq, siteName : siteName} );}
this.batch = function()
{ for(var y = 0, cnt = this.arrayRssUrl.length; y < cnt; y++)
{ this.open_feed(y);}
this.timerId = setInterval( this.name + ".merge();", 100);}
this.open_feed = function(y)
{ this.arrayRss[y] = new Array(); var len = this.arrayRssUrl.length; var name = this.name; var year; var month; var day; var time; var week; var feed; var tmp; feed = new google.feeds.Feed(this.arrayRssUrl[y].url); feed.setNumEntries(this.arrayRssUrl[y].acq); feed.load
( function(result)
{ if(!result.error)
{ for(var x = 0, cnt = result.feed.entries.length; x < cnt; x++)
{ eval( name + ".arrayRssUrl[y].title			= result.feed.title;" ); eval( name + ".arrayRssUrl[y].link			= result.feed.link;" ); eval( name + ".arrayRssUrl[y].description	= result.feed.description;" ); eval( name + ".arrayRssUrl[y].author		= result.feed.author;" ); var entry = result.feed.entries[x]; tmp = entry.publishedDate.split(' '); year = tmp[3]; month = tmp[2]; day = tmp[1]; time = tmp[4]; week = tmp[0].replace(/,/g, ""); tmp[99] = tmp[4].replace(/:/g, ""); switch(month)
{ case 'Jan': month = '01'; break; case 'Feb': month = '02'; break; case 'Mar': month = '03'; break; case 'Apr': month = '04'; break; case 'May': month = '05'; break; case 'Jun': month = '06'; break; case 'Jul': month = '07'; break; case 'Aug': month = '08'; break; case 'Sep': month = '09'; break; case 'Oct': month = '10'; break; case 'Nov': month = '11'; break; case 'Dec': month = '12'; break;}
eval( name + ".arrayRss[y][x]				= {};" ); eval( name + ".arrayRss[y][x].rssNo			= y;" ); eval( name + ".arrayRss[y][x].date			= year + month + day;" ); eval( name + ".arrayRss[y][x].datetime		= year + month + day + tmp[99];"); eval( name + ".arrayRss[y][x].year			= year;" ); eval( name + ".arrayRss[y][x].month			= month;" ); eval( name + ".arrayRss[y][x].day			= day;" ); eval( name + ".arrayRss[y][x].time			= time;" ); eval( name + ".arrayRss[y][x].week			= week;" ); eval( name + ".arrayRss[y][x].title			= entry.title;" ); eval( name + ".arrayRss[y][x].link			= entry.link;" ); eval( name + ".arrayRss[y][x].content		= entry.content;" ); eval( name + ".arrayRss[y][x].contentSnippet= entry.contentSnippet;" );}
if(y == len - 1)
{ eval( name + ".flgLast = true;" );}
}
} );}
this.merge = function()
{ if(true != this.flgLast)
{ return;}
clearInterval(this.timerId); var sortKey = this.sortKey; var sortMode= this.sortMode; for(var y = 0, cntY = this.arrayRss.length; y < cntY; y++)
{ for(var x = 0, cntX = this.arrayRss[y].length; x < cntX; x++)
{ this.arrayMergeRss.push(this.arrayRss[y][x]);}
}
this.arrayMergeRss.sort
( function(a, b)
{ if("asc" === sortMode)
{ return a[sortKey] < b[sortKey] ? -1 : 1;}
else
{ return a[sortKey] > b[sortKey] ? -1 : 1;}
} ); this.make_tag();}
this.make_tag = function()
{ this.tag = ""; for(var y = 0, cnt = this.arrayMergeRss.length; y < cnt; y++)
{ this.tag+= this.arrayMergeRss[y].date + "->[" + this.arrayRssUrl[ this.arrayMergeRss[y].rssNo ].siteName + "]" + this.arrayMergeRss[y].title + "\n";}
alert(this.tag);}
}
