// JavaScript Document
allData = new Array();
feeds = new Array();
feeds[0] = "http://kuler-api.adobe.com//feeds/rss/get.cfm?timeSpan=30&listType=random";
feeds[1] = "http://kuler-api.adobe.com//feeds/rss/get.cfm?timeSpan=30&listType=newest";
feeds[2] = "http://kuler-api.adobe.com//feeds/rss/get.cfm?timeSpan=30&listType=popular";
feeds[3] = "http://kuler-api.adobe.com//feeds/rss/get.cfm?timeSpan=30&listType=rating";
var now = 0;
var old = 0;
var num;
foto = new Array();
blog = new Array();
magicFlag = false;
//jQuery
$(document).ready(function(){
	$('theme0').css({display:"none"});
	$('theme1').css({display:"none"});
	$('theme2').css({display:"none"});
	$('theme3').css({display:"none"});
});	
//Google Feed Ajax API
google.load("feeds", "1");
function initialize() {
	var feed = new google.feeds.Feed(feeds[0]);
	feed.setNumEntries(20);
    feed.load(function(result) {
    	if (!result.error) {
			parseXml(result.feed.entries, 0);
			//ランダムにentry(item)の中のcontent(description)を取り出す
			var ran = Math.floor(Math.random()*18)+1;
			setColor(allData[0], ran);
			setData(allData[0], ran);
			setIndex(allData[0]);
			for(var i=1; i<4; i++) {
				reloadFeed(i);
			}
    	} else {
			$('#themeIndex').hide();
			$('.column2').css('background-color', '#1A212C');
			$('.column3').css('background-color', '#1D7872');
			$('.column4').css('background-color', '#71B095');
			$('.column5').css('background-color', '#DEDBA7');
			$('.column6').css('background-color', '#D13F32');
			//alert("error");
		}
    });
	
	//フォトログの読み込み開始
	fotologue();
	//ブログフィードの読み込み開始
	iffalse();
}
google.setOnLoadCallback(initialize);

// feedのリロード
function reloadFeed(n) {
	var feed = new google.feeds.Feed(feeds[n]);
	feed.setNumEntries(20);
    feed.load(function(result) {
    if (!result.error) {
		parseXml(result.feed.entries, n);
        } else {
			alert("error");
		}
    });
}


function parseXml(xml, n) {
	data = new Array();
	num = xml.length;
	var classNow = ".theme" + n;
	for(var i=0; i<num; i++) {
		// URLの取り出し
		var url = xml[i].link;
		// Titleの取り出し
		var t = xml[i].title;
		var p0 = t.length;
		var title = t.substr(13, p0-13);
		// Artistの取り出し
		var dsc = xml[i].content;
		var p1 = dsc.indexOf("Artist");
		var p2 = dsc.indexOf("ThemeID");
		var artist = dsc.substr(p1+8, p2-p1-18);
		// HEX値の取り出し
		var p3 = dsc.indexOf("Hex");
		var color1 = "#"+ dsc.substr(p3+10, 6);
		var color2 = "#"+ dsc.substr(p3+18, 6);
		var color3 = "#"+ dsc.substr(p3+26, 6);
		var color4 = "#"+ dsc.substr(p3+34, 6);
		var color5 = "#"+ dsc.substr(p3+42, 6);
		//  Thumnailの取り出し
		var img = dsc.substr(10, p1-28);
		//配列に格納
		var obj = new Object();
		obj = {title:title, url:url, artist:artist, img:img, c1:color1, c2:color2, c3:color3, c4:color4, c5:color5 };
		data[i] = obj;
		//set color index
		$(classNow).append('<a onclick="resetColor('+ i + ')"><img src="' + data[i].img + '" width="76" height="16" /></a>').hide();		
	}
	//$(classNow).css({display:none});
	allData[n] = data;
}
//  フィードのリセット
function resetFeed(n) {
	if (n != now) {
		old = now;
		now = n;
		setIndex(allData[n]);
	}
	var ran = Math.floor(Math.random()*18)+1;
	setColor(allData[now], ran);
	setData(allData[now], ran);
}
//　カラーのリセット
function resetColor(n) {
	setColor(allData[now], n);
	setData(allData[now], n);
}
//  背景色をセット
function setColor(data, n) {
	$('.column2').css('background-color', data[n].c1);
	$('.column3').css('background-color', data[n].c2);
	$('.column4').css('background-color', data[n].c3);
	$('.column5').css('background-color', data[n].c4);
	$('.column6').css('background-color', data[n].c5);
}
//　カラーデータをセット
function setData(data, n) {
	$('#themeData p').empty()
		.append('<span class="style1">Color Theme:</span> <a href="'+ data[n].url + '" target="_blank">' + data[n].title + '</a><br />')
		.append('<span class="style1">Artist:</span> '+ data[n].artist)
		.append('<span class="style1">&nbsp;&nbsp;&nbsp;&nbsp;HEX:</span> ' + data[n].c1 + ', ' + data[n].c2 + ', ' + data[n].c3 + ', ' + data[n].c4 + ', ' + data[n].c5)
		.hide()
		.fadeIn('slow');
}

function setIndex(data) {
	// close old set
	if( old != now ) {
		var classOld = ".theme" + old;
		$(classOld).slideUp('nomal', function(){});
	}
	var classNow = ".theme" + now;
	$(classNow).slideDown('nomal');
}
// Magic 
function magic() {
	if( !magicFlag) {
		$(".contents #aboutContent").clone().appendTo(".index .column2");
		$(".contents #worksContent").clone().appendTo(".index .column3");
		$(".contents #photoContent").clone().appendTo(".index .column4");
		$(".contents #profileContent").clone().appendTo(".index .column5");
		$(".contents #blogContent").clone().appendTo(".index .column6");
    	$('html,body').hide().show().animate({ scrollTop: 0 }, 'slow');
		$('#magicBtn').empty().append('<img src="images/magic_on.jpg" alt="Back to basic" />');
		magicFlag = true;
	} else {
		$(".index #aboutContent").remove();
		$(".index #worksContent").remove();
		$(".index #photoContent").remove();
		$(".index #profileContent").remove();
		$(".index #blogContent").remove();
		$('html,body').hide().show().animate({ scrollTop: 0 }, 'slow');
		$('#magicBtn').empty().append('<img src="images/magic_off.jpg" alt="Do not click" />');
		magicFlag = false;
	}
}
// fotologue
function fotologue() {
	var ran = Math.floor(Math.random()*10);
	var feed = new google.feeds.Feed("http://fotologue.jp/fantasista/rss.xml?");
	feed.setNumEntries(12);
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.load(function(result) {
		if (!result.error) {
    		var items = result.xmlDocument.getElementsByTagName("item");
			for (var i = 0; i < items.length; i++) {
				var entry = items[i];
				var imgAnchorPath = entry.getElementsByTagName("link")[0].firstChild.nodeValue;
				var imgAnchorText = entry.getElementsByTagName("title")[0].firstChild.nodeValue;
				if(entry.getElementsByTagName("media:thumbnail")[0] == null) {
					var imgPath = entry.getElementsByTagName("thumbnail")[0].getAttribute("url");
				} else {
					var imgPath = entry.getElementsByTagName("media:thumbnail")[0].getAttribute("url");
				}
				var obj = new Object();
				obj = {url:imgAnchorPath, title:imgAnchorText, img:imgPath}
				foto[i] = obj;
			}
		} else {
			alert("fotologue error");
			$('#fotologueH4').hide();
		}
		setPhoto();
	});
}
function setPhoto() {
	for(var i=0; i<12; i++) {
		$('#fotologue').append('<li><a href="' + foto[i].url + '" target="_blank" ><img src="' + foto[i].img + '" /></a></li>');
	}
}

// iffalse
function iffalse() {
	var feed = new google.feeds.Feed("http://iffalse.com/log/atom.xml");
	feed.setNumEntries(10);
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.load(function(result) {
		if (!result.error) {
    		var items = result.xmlDocument.getElementsByTagName("entry");
			for (var i = 0; i < items.length; i++) {
				var entry = items[i];
				var url = entry.getElementsByTagName("link")[0].getAttribute("href");
				var title = entry.getElementsByTagName("title")[0].firstChild.nodeValue;
				var date = entry.getElementsByTagName("published")[0].firstChild.nodeValue;
				date = date.substr(0, 10);
				var obj = new Object();
				obj = {url:url, title:title, date:date};
				blog[i] = obj;
			}
		} else {
			alert("error iffalse");
			$('#iffalseH4').hide();
		}
		setBlog();
	});
}
function setBlog() {
	for(var i=0; i<10; i++) {
		$('#iffalse').append('<dt><a href="' + blog[i].url + '" target="_blank">' + blog[i].title + '</a></dt><dd>' + blog[i].date + '</dd>');
	}
}

