function getTwitterData()
{
	if(document.getElementById('searchTweet')) {
		document.getElementById('searchTweet').innerHTML = "<img src=\"../img/ajax-loader.gif\"> Loading...";
	}
	var curedate = new Date();
	var curtime = curedate.getTime();
	var script = document.createElement('script');
	script.src = 'http://search.twitter.com/search.json?q=amazon+com+dp+-jp+-hounavi+-book+-Recommended+-images+-RT+-%e5%a3%b2%e3%82%8c%e7%ad%8b&lang=ja&callback=searchTWData&curtime='+curtime;
	script.type = "text/javascript";
	document.getElementsByTagName('head')[0].appendChild(script);
}

function getTwitterData2()
{
	if(document.getElementById('searchTweet')) {
		document.getElementById('searchTweet').innerHTML = "<img src=\"../img/ajax-loader.gif\"> Loading...";
	}
	var curedate = new Date();
	var curtime = curedate.getTime();
	var script = document.createElement('script');
	script.src = 'http://search.twitter.com/search.json?q=amazon+com+dp+-jp+-hounavi+-book+-Recommended+-images+-RT+-%e5%a3%b2%e3%82%8c%e7%ad%8b&lang=ja&callback=searchTWData2&rpp=30&curtime='+curtime;
	script.type = "text/javascript";
	document.getElementsByTagName('head')[0].appendChild(script);
}

function gerURL(url)
{
	var urls = url.match(/s?ttps?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,%#]+/g);
	for(i=0;i<urls.length;i++)
	{
		return 'h' + urls[i];
	}
}

function getRealURL(url, num)
{
	var script = document.createElement('script');
	script.src = '../cgi/expandurl.cgi?url='+url+'&num='+num+'&callback=editTweet';
	script.type = "text/javascript";
	document.getElementsByTagName('head')[0].appendChild(script);
}


function getASIN(url)
{
	var asin;

	//get asin
	var asin;
	var asin_ePos;
	var asin_sPos;
	var sPos = url.indexOf("amazon.com");
	asin_sPos = url.indexOf("/gp/product/", sPos);
	if(asin_sPos != -1)
	{
		asin_ePos = asin_sPos+12+10;
		asin = url.substring(asin_sPos+12, asin_ePos);
		return asin;
	}
	asin_sPos = url.indexOf("/dp/", sPos);
	if(asin_sPos != -1)
	{
		asin_ePos = asin_sPos+4+10;
		asin = url.substring(asin_sPos+4, asin_ePos);
	}

	return asin;
}

function setImage(imageID)
{
	var imgObj = document.getElementById(imageID);

	var imageURL = imgObj.src;
	var curImgObj = new Image();
	curImgObj.src = imageURL;

	var width = curImgObj.width;
	if(width < 5)
	{
		imgObj.src = "../img/no_image_s.JPG";
	}
}

function createHTMLData(twObj, count)
{
	var htmlData = "<h2 class=\"desc\">最近のつぶやき</h2>";
	htmlData += "<p style=\"padding-left:20px;\">Twitterでつぶやかれたamazon.comの商品一覧</p>";
	htmlData += "<center>";
	htmlData += "<table style=\"background-color: GhostWhite; border: solid 1px silver;\"><tr>";
	htmlData += "<table style=\"font-size:0.8em; word-wrap:break-word;\">";
	for(var i=0; i<twObj.results.length; i++)
	{
		var comment = twObj.results[i].text;
		var decodestr = comment;
		var asin = getASIN(decodestr);
		var imageURL = "http://images.amazon.com/images/P/"+asin+".01._SCTHUMBZZZ_.jpg";

		var imageID = "twImage_" + i;
		htmlData += "<tr>"
		htmlData += "<td align=\"center\" style=\"border:1px solid silver;\"><a href=\"http://www.amazon.com/exec/obidos/asin/"+asin+"/yasuikamo-20/\" target = \"_blank\" onMouseOver=\"popupImg(\'"+asin+"\', \'us\')\" onMouseOut=\"clearImg()\"><img id=\""+imageID+"\" src=\""+imageURL+"\" onLoad=\"setImage('"+imageID+"')\"></a></td>";
		htmlData += "<td style=\"border:1px solid silver; width:550px; text-align:left;\">"+decodestr+"</td>";
		htmlData += "<td style=\"border:1px solid silver; width;100px;\"><a href=\"http://www.amazon.com/exec/obidos/asin/"+asin+"/yasuikamo-20/\" target=\"_blank\">amazonで商品を見る</a><div style=\"padding-top:5px;\"></div><a href=\"../cgi/itemDesc.cgi?country=us&asin="+asin+"&translate=on\" target=\"_blank\">yasuikamoで見る</a></td>";
		htmlData += "</tr>";
		if(i>=count)
		{
			break;
		}
	}
	if(i >= 1)
	{
		htmlData += "</table>";
		if(count == 2)
		{
			htmlData += "<p id='searchTweet'><a onClick=\"getTwitterData2(); return false;\" href=\"javascript:void(0);\">最新の30件を見る</a></p>";
		}
//		else
//		{
//			htmlData += "<p id='searchTweet'><a onClick=\"getTwitterData(); return false;\" href=\"javascript:void(0);\">最新の3件を見る</a></p>";
//		}
		htmlData += "</center>";
	}
	return htmlData;
}

var twData;
var displayCount;
function searchTWData(twObj)
{
	index = 0;
	twData = twObj;
	displayCount = 2;
	changeURL(twObj, 0);
}

function searchTWData2(twObj)
{
	index = 0;
	twData = twObj;
	displayCount = 30;
	changeURL(twObj, 0);
}

function changeURL(twObj, num)
{
	if(num > displayCount || num>twObj.results.length)
	{
		return;
	}

	var comment = twObj.results[num].text;
	url = gerURL(comment);
	getRealURL(url, num);
	num++;
	(function(cur_twObj, cur_num){setTimeout(changeURL(cur_twObj, cur_num), 100)})(twObj, num);
}

var index;
function editTweet(url)
{
	//twDataをurlで置換
	var ret_url = url.split('\t');
	if(ret_url[1].length > 0)
	{
		twData.results[ret_url[2]].text += "<br>"+ret_url[1];
	}

	if(index >= displayCount || twData.results.length-1 <= index)
	{
		var htmlData = createHTMLData(twData, displayCount);
		var insertObj = document.getElementById("twitter");
		insertObj.innerHTML = htmlData;
	}
	index++;
}

