var RandomTextSettings = {
"chrSet":"ABCDEFGHYJKLMNOPQRSTUVWXYZabcdefghijklymopqrstuvwxyz0123456789!#$%?*",
"g_speed":100
}
var chrSet=RandomTextSettings.chrSet;
var chrsetlength=chrSet.length;
var g_speed = RandomTextSettings.g_speed;
var bgScrollSettting = {
"scrollSpeed":70,
"directionArry":["v","h"],
"current":0,
"backgroundNum":4
}
var scrollSpeed = bgScrollSettting.scrollSpeed;
var directionArry = bgScrollSettting.directionArry;
var direction = directionArry[Math.floor(Math.random() * 2)];
var current = bgScrollSettting.current;
var bgNum = bgScrollSettting.backgroundNum;
var rndNum = Math.floor(Math.random()*bgNum);
var bgImg = "url(shared/img/bg" + rndNum + ".png)";
var feedControl = $("#feedControl");
var body = $('body');
var g_entryArry = new Array();
var g_entryNum = 0;
var g_totalNum = 0;
var g_idNum = 0;
var feedNum = 20;
var countBlogNum = 0;
var totalFeed = 0;
function ini() {
addFeeds("http://kazu69.net/blog/?feed=rss2", feedNum, 0);
addFeeds("http://b.hatena.ne.jp/kazu69web/atomfeed?of=0", feedNum, 1);
addFeeds("http://twitter.com/statuses/user_timeline.rss?id=kazu69&page=1", feedNum, 2);
addFeeds("http://69scrn.tumblr.com/rss",feedNum, 3);
addFeeds("http://69-photo.tumblr.com/rss",feedNum, 4);
totalFeed = 5;
}
function sort(array,key){
return array.sort(
function(a,b){
return b[key]-a[key];
}
);
}
function filter(){
$("#navigation li").click(function(){
var filt_name = "#"+this.id;
var className = ".";
var feedControlChildren = $("#feedControl").children();
switch(filt_name){
case "#filt_tw":
className += "feed2";
break;
case "#filt_blog":
className += "feed0";
break;
case "#filt_hatena":
className += "feed1";
break;
case "#filt_screen":
className += "feed3";
break;
case "#filt_mphoto":
className += "feed4";
break;
default :
className = "";
break;
}
if("" !== className){
feedControl.find('.invis').toggleClass('invis');
feedControlChildren.not(className).toggleClass('invis').animate({opacity: 0},{ duration: 500 });
feedControlChildren.not('.invis').animate({opacity: 1},{ duration: 500 });
}else{
feedControlChildren.show();
feedControl.find('.invis').toggleClass('invis').animate({opacity: 1},{ duration: 500 });
feedControlChildren.not('.invis').animate({opacity: 1},{ duration: 500 });
}
feedControl.masonry({
singleMode: true,
columnWidth: 200,
resizeable: true,
animate: true,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
});
return false;
});
}
function addFeeds(url,entriesNum,blogId){
var feed = new google.feeds.Feed(url);
feed.setNumEntries(entriesNum);
feed.load(
function(result){
if(!result.error){
g_totalNum += result.feed.entries.length;
for(var i=0;i<result.feed.entries.length;i++){
g_entryArry[g_entryNum] = result.feed.entries[i];
var date = new Date(result.feed.entries[i].publishedDate);
g_entryArry[g_entryNum].sortDate = ( date.getFullYear()*100000000 ) + ( (date.getMonth() + 1)*1000000 ) + date.getDate()*10000 + date.getHours()*100+date.getMinutes();
g_entryArry[g_entryNum].blogId = blogId;
g_entryArry[g_entryNum].blogNum = g_idNum;
g_entryArry[g_entryNum].blogName = result.feed.title;
g_entryNum += 1;
if(result.feed.entries.length-1 == i){
g_idNum += 1;
}
}
countBlogNum ++
}else{
}
if(countBlogNum == totalFeed){
output("feedControl", g_totalNum);
}
}
);
}
function output(feedId, totalNum,blogId){
var container = document.getElementById(feedId);
var target    = "";
var useFeed   = "<section id='navigation' class='box feed0 feed1 feed2 feed3 feed4'><ul><li id='filt_all'>All Article</li><li id='filt_tw'>Twitter</li><li id='filt_blog'>Blog</li><li id='filt_hatena'>Hatena</li><li id='filt_screen'>Screen</li><li id='filt_mphoto'>MobilePhoto</li></ul></section>";
g_entryArry   = sort(g_entryArry,'sortDate');
var entry     = '';
var date      = new Date();
var dateYear  = '';
var dateMonth = '';
var dateDay   = '';
var dateHour  = '';
var dateMin   = '';
var datetime  = '';
for (var i = 0; i < totalNum; i++) {
entry     = g_entryArry[i];
date      = new Date(entry.publishedDate);
dateYear = date.getYear();
(10 > (date.getMonth() + 1))?dateMonth = "0"+ (date.getMonth() + 1):dateMonth = (date.getMonth() + 1);
(10 > date.getDate())?dateDay = "0"+ date.getDate():dateDay = date.getDate();
(10 > date.getHours())?dateHour = "0"+ date.getHours():dateHour = date.getHours();
(10 > date.getMinutes())?dateMin = "0"+ date.getMinutes():dateMin = date.getMinutes();
datetime = "20" + dateYear + "-" + dateMonth + "-" + dateDay;
var outputTags ='<div class="box colum' + i + ' feed' + entry.blogId + ' article-box"><div class="infoBox"><span>' + entry.blogName + '</span><time pubdate class="linkListDate" datetime="' + datetime + '">' + dateMonth  + '/' + dateDay + ' ' + dateHour + ':' + dateMin + '</time></div>';
var photoTags = '<figure><a href="' + entry.link + '" id="feed' + i + '" class="photo" target="_blank" rel="nofollow" title="' + entry.blogName + ' - ' + entry.title + '">' + entry.content + '</a></figure></div>';
var articleTags = '<p><a href="' + entry.link + '" id="feed' + i + '" target="_blank" rel="nofollow" title="' + entry.blogName + ' - ' + entry.title + '">' + entry.title + '</a></p></div>';
switch(entry.blogName){
case '69-photo':
useFeed += outputTags + photoTags;
break;
case '69-bookmark':
var s = entry.content.indexOf('href="');
var e = entry.content.indexOf('">',s);
var url = entry.content.substring(s+6,e);
useFeed += outputTags;
useFeed += '<p><a href="' + url + '" id="feed' + i + '" target="_blank" rel="nofollow" title="' + entry.blogName + ' - ' + entry.title + '">' + entry.title + '</a></p></div>';
break;
case '69-screen':
useFeed += outputTags + photoTags;
break;
default:
useFeed += outputTags + articleTags;
break;
}
target = i;
}
container.innerHTML = useFeed;
layout();
}
function layout(){
$('#preloadingBox').click(function(){
feedControl.css({"display":"block"})
feedControl.masonry({
singleMode: true,
columnWidth: 200,
itemSelector: '.box:not(.invis)',
resizeable: true,
animate: true,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
},
function(){
filter();
for(var i=0; i < g_totalNum;i++){
var dom = document.getElementById('feed'+i);
if(i > feedNum){return};
if( null == dom.getAttribute('class') ){
RandomText(dom);
}
}
}
);
feedControl.fadeTo("slow",1.0);
$('footer').fadeTo("slow",1.0);
$('#loading').fadeOut(4000,function(){
mouseAction();
});
});
}
function mouseAction(){
var left = "";
feedControl.find(".box").not("#navigation").hover(
function(){
height = $(this).find("p").height();
$(this).css({ "position" : "absolute" }).find("p").css({"height":height});
if(!$(this).find("img")[0]){
var target = $(this).find("a").attr("id");
target = document.getElementById(target)
RandomText(target);
}
},
function(){
$(this).find("p").css({"height":""});;
}
);
}
function replaceText(target,lastTxt){
var step = 0;
var timerID = setInterval(function(){
if(lastTxt.length >= step){
var tempTxt = target.firstChild.data;
var point = tempTxt.charAt(step);
var trueTxt = lastTxt.charAt(step);
if(0 == step){
tempTxt = tempTxt.charAt(step).replace(point,trueTxt) + tempTxt.slice(1);
}else{
tempTxt =tempTxt.slice(0,step) + tempTxt.charAt(step).replace(point,trueTxt)+tempTxt.slice(step+1,tempTxt.length);
}
target.lastChild.nodeValue = tempTxt;
step++;
}else{
target.innerHTML=lastTxt;
clearInterval(timerID);
state = false;
}
}, g_speed);
}
function RandomText(target,speed){
if('' == target){
var i = Math.floor(Math.random()*g_totalNum);
target = document.getElementById('feed' + i);
}
if('' !== speed){
g_speed = speed
}
var tempTxtArray= new Array();
var targetTxt=target.firstChild.data;
var rndTxt='';
var point = '';
var tempTxt = '';
for (var i=0; i < targetTxt.length; i++) {
rndTxt=chrSet.substr(Math.floor(Math.random() * chrsetlength),1);
point = targetTxt.charAt(i);
tempTxt = targetTxt.charAt(i).replace(point,rndTxt);
tempTxtArray.push(tempTxt);
}
tempTxt = tempTxtArray.join("");
target.innerHTML=tempTxt;
replaceText(target,targetTxt);
}
body.css("background-image",bgImg);
function bgscroll(){
current -= 1;
body.css("backgroundPosition", (direction == 'v') ? current+"px 0" : "0 " + current+"px");
}
