/*
 * リンク先のHTMLを設定する。
 */
function getTlinkString() {
	//typeの取得
	var tmp = urlAnalysis();
	
	var tlink = tmp[0];
	if( tlink.length == 0 || tlink == 'index' ){
		tlink = '';
	}else{
		tlink += ".html";
	}
	return tlink;
}

function getNoImageString() {
	var noimg = "/common/img/noimage.png";
	return noimg;
}
// 画像用
//--------------------------------------
function loadImageRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/image/'+retSurl );
	}
}
function url_ranking_image_recent(json){
	setDataImage(json);
}
function url_ranking_image_daily(json){
	setDataImage(json);
}
function setDataImage(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 4 ) row = 4;
	var sTxt;
	var gazou = $('#gazouBox .gazou');
	var text  = $('#gazouBox .twTxt');
	var tweet = $('#gazouBox .twNum span');
	var dbgtest = $('#akb48');
	var tlink = getTlinkString();
	var noimg = getNoImageString();
	for( var i=0; i<row; i++ ){
		//画像セット
		if( item[i].thumbnailUrl.length <= 0 ){
			gazou[i].innerHTML = '<a href="/gazou/'+tlink+'"><img src="'+noimg+'" width="80" height="80"></a>';
			gazou[i].className = 'noImg';
		}else{
			gazou[i].innerHTML = '<a href="/gazou/'+tlink+'"><img src="'+item[i].thumbnailUrl+'" alt="'+item[i].title+'" width="130" height="130"></a>';
		}
		
		//テキストセット
		sTxt = item[i].title;
		if( sTxt.length >= 20 ){
			sTxt = sTxt.substr( 0, 19 );
			sTxt += "…";
		}
		text[i].innerHTML = '<a href="/gazou/'+tlink+'">' + sTxt + '</a>';
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].freq) );
	}
}

// HOTワード
//--------------------------------------
function loadHotwordRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/ranking/'+retSurl);
	}
}
function ranking_recent(json){
	setDataHotword(json);
}
function ranking_daily(json){
	setDataHotword(json);
}
function setDataHotword(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	var tlink = getTlinkString();
	
	var genHtml,glen;
	var word  = $("#hwBox .raBoxTxt div[class*='ra']");
	var genre = $("#hwBox .raBoxTxt .genreBox span[class!='gttl']");
	var tweet = $("#hwBox .raBoxTxt .twNum span");
	for( var i=0; i<row; i++ ){
		//ワードセット
		word[i].innerHTML = '<a href="/hotword/'+tlink+'">' + item[i].word + '</a>';
		
		//ジャンルセット
		item_g = item[i].genre;
		genHtml = "";
		for( var j=0; j<item_g.length; j++ ){
			glen = item_g[j].length;
			if( item_g[j].length >= 1 )	genHtml += '<span class="genre'+glen+'em">'+item_g[j]+'</span>';
		}
		if( genHtml.length == 0 ){
			genre[i].parentNode.style.display = "none";
		}else{
			genre[i].innerHTML = genHtml;
		}
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].sumOfFreq) );
	}
}

// 有名人
//--------------------------------------
function loadTalentRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/famous_ranking/'+retSurl);
	}
}
function famous_ranking_recent(json){
	setDataFamous(json);
}
function famous_ranking_daily(json){
	setDataFamous(json);
}
function setDataFamous(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	var tlink = getTlinkString();
	
	var genHtml,glen;
	var name  = $("#talentBox .raBoxTxt div[class*='ra']");
	var genre = $("#talentBox .raBoxTxt .genreBox span[class!='gttl']");
	var tweet = $("#talentBox .raBoxTxt .twNum span");
	for( var i=0; i<row; i++ ){
		//ワードセット
		name[i].innerHTML = '<a href="/talent/'+tlink+'">' + item[i].name + '</a>';
		
		//ジャンルセット
		item_g = item[i].genre;
		genHtml = "";
		for( var j=0; j<item_g.length; j++ ){
			glen = item_g[j].length;
			if( item_g[j].length >= 1 )	genHtml += '<span class="genre'+glen+'em">'+item_g[j]+'</span>';
		}
		if( genHtml.length == 0 ){
			genre[i].parentNode.style.display = "none";
		}else{
			genre[i].innerHTML = genHtml;
		}
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].sumOfFreq) );
	}
}

// HOTワード（ワードのみ）
//--------------------------------------
function loadHotwordWordRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/word_ranking/'+retSurl);
	}
}
function word_ranking_recent(json){
	setDataHotwordWord(json);
}
function word_ranking_daily(json){
	setDataHotwordWord(json);
}
function setDataHotwordWord(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	var tlink = getTlinkString();
	
	var genHtml,glen;
	var word  = $("#wordBox .raBoxTxt div[class*='ra']");
	var genre = $("#wordBox .raBoxTxt .genreBox span[class!='gttl']");
	var tweet = $("#wordBox .raBoxTxt .twNum span");
	for( var i=0; i<row; i++ ){
		//ワードセット
		word[i].innerHTML = '<a href="/word/'+tlink+'">' + item[i].word + '</a>';
		
		//ジャンルセット
		item_g = item[i].genre;
		genHtml = "";
		for( var j=0; j<item_g.length; j++ ){
			glen = item_g[j].length;
			if( item_g[j].length >= 1 )	genHtml += '<span class="genre'+glen+'em">'+item_g[j]+'</span>';
		}
		if( genHtml.length == 0 ){
			genre[i].parentNode.style.display = "none";
		}else{
			genre[i].innerHTML = genHtml;
		}
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].sumOfFreq) );
	}
}

// 有名人
//--------------------------------------
function loadHotwordHashtagRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/hashtag_ranking/'+retSurl);
	}
}
function hashtag_ranking_recent(json){
	setDataHotwordHashtag(json);
}
function hashtag_ranking_daily(json){
	setDataHotwordHashtag(json);
}
function setDataHotwordHashtag(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	
	var tlink = getTlinkString();
	var genHtml,glen;
	var name  = $("#hashBox .raBoxTxt div[class*='ra']");
	var genre = $("#hashBox .raBoxTxt .genreBox span[class!='gttl']");
	var tweet = $("#hashBox .raBoxTxt .twNum span");
	for( var i=0; i<row; i++ ){
		//ワードセット
		name[i].innerHTML = '<a href="/hashtag/'+tlink+'">' + item[i].word + '</a>';
		
		//ジャンルセット
		item_g = item[i].genre;
		genHtml = "";
		for( var j=0; j<item_g.length; j++ ){
			glen = item_g[j].length;
			if( item_g[j].length >= 1 )	genHtml += '<span class="genre'+glen+'em">'+item_g[j]+'</span>';
		}
		if( genHtml.length == 0 ){
			genre[i].parentNode.style.display = "none";
		}else{
			genre[i].innerHTML = genHtml;
		}
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].sumOfFreq) );
	}
}

// 動画用
//--------------------------------------
function loadMovieRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/movie/'+retSurl);
	}
}
function url_ranking_movie_recent(json){
	setDataMovie(json);
}
function url_ranking_movie_daily(json){
	setDataMovie(json);
}
function setDataMovie(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 4 ) row = 4;
	//最終更新日
	var sTxt;
	var gazou = $('#movieBox .gazou');
	var text  = $('#movieBox .twTxt');
	var tweet = $('#movieBox .twNum span');
	var tlink = getTlinkString();
	var noimg = getNoImageString();
	for( var i=0; i<row; i++ ){
		//画像セット
		if( item[i].thumbnailUrl.length <= 0 ){
			gazou[i].innerHTML = '<a href="/movie/'+tlink+'"><img src="'+noimg+'" width="80" height="80"></a>';
			gazou[i].className = 'noImg';
		}else{
			gazou[i].innerHTML = '<a href="/movie/'+tlink+'"><img src="'+item[i].thumbnailUrl+'" alt="'+item[i].title+'" width="130" height="130"></a>';
		}
		
		//テキストセット
		sTxt = item[i].title;
		if( sTxt.length >= 20 ){
			sTxt = sTxt.substr( 0, 19 );
			sTxt += "…";
		}
		text[i].innerHTML = '<a href="/movie/'+tlink+'">' + sTxt + '</a>';
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].freq) );
	}
}

// ツイート（RT)
//--------------------------------------
function loadTweetRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/rt_ranking/'+retSurl);
	}
}
function rt_ranking_recent(json){
	setDataTweet(json);
}
function rt_ranking_daily(json){
	setDataTweet(json);
}
function setDataTweet(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var gazou = $('#tweetBox .trBoxthum');
	var tweet = $('#tweetBox .trBoxTxt');
	var tlink = getTlinkString();
	for( var i=0; i<row; i++ ){
		gazou[i].innerHTML = '<a href="/tweet/'+tlink+'"><img src="'+item[i].imageUrl+'" width="48" height="48"></a>';
		var tweetText = item[i].text;
		tweetText = changeURLTag(tweetText);
		tweet[i].innerHTML = '<a href="/tweet/'+tlink+'">' + item[i].screenName + '</a>&nbsp;' + tweetText + '<br /><span class="twNum"><span>ツイート数：</span>'+addFigure(item[i].freq)+'</span>';
	}
}
/*
 * パラメータの文字列からURL検出し、検出したURLにaタグをつけて返す。
 */
function changeURLTag(paramTweetText) {
	var tweetText = paramTweetText;
	tweetText = tweetText.replace( /<(?!\/).*?>/g, '');			// タグ削除
	tweetText = tweetText.replace( /<\/(?!\/).*?>/g, '' );		// 終了タグ削除
	var tweetUrlList = new Array();
	// URLにaタグをつける
	if (tweetText.match(/s?(https?:\/\/[-_.!~()a-zA-Z0-9*;\/?:\@&=+\$,%\#]+)(.*)/g)) {
		var tweetUrlListArray = tweetText.match(/s?(https?:\/\/[-_.!~()a-zA-Z0-9*;\/?:\@&=+\$,%\#]+)(.*)/g);
		for (var j = 0; j < tweetUrlListArray.length; j++) {
			var str = tweetUrlListArray[j];
			// URLの最後が[...]の場合にはaタグはつけない。
			if (str.match(/\.\.\.$/)) {
				continue;
			}
			// URL内の文字列に空白が入っていたらさらに切り分ける
			var tweetStrArray = str.split(/[\s　]/);
			for (var k = 0; k < tweetStrArray.length; k++) {
				var subStr = tweetStrArray[k];
				// URLの最後が[...]の場合にはaタグはつけない。
				if (subStr.match(/\.\.\.$/)) {
					continue;
				}
				// URLの場合リストを作成する。
				if (subStr.match(/s?(https?:\/\/[-_.!~()a-zA-Z0-9*;\/?:\@&=+\$,%\#]+)(.*)/)) {
					tweetUrlList[subStr] = subStr;
				}
			}
		}
		// URLリストからURLをaタグに変換する
		for (var str in tweetUrlList) {
			var changeString = '<a href="' + str + '" target="_blank" onfocus="this.blur()\;">' + str + '</a>';
			tweetText = replaceAll(tweetText, str, changeString);
		}
	}
	return tweetText;
}

// ニュース
//--------------------------------------
function loadNewsRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/news_all/'+retSurl);
	}
}
function url_ranking_news_all_recent(json){
	setData(json,'news');
}
function url_ranking_news_all_daily(json){
	setData(json,'news');
}
// IT
//--------------------------------------
function loadItRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/news_it/'+retSurl);
	}
}
function url_ranking_news_it_recent(json){
	setData(json,'it');
}
function url_ranking_news_it_daily(json){
	setData(json,'it');
}
// ブログ
//--------------------------------------
function loadBlogRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/blog/'+retSurl);
	}
}
function url_ranking_blog_recent(json){
	setData(json,'blog');
}
function url_ranking_blog_daily(json){
	setData(json,'blog');
}


// ニュース、IT、ブログ用
function setData(json,t){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	var genHtml,glen,sTxt;
	
	var word  = $("#"+t+"Box .raBoxTxt div[class*='ra']");
	var genre = $("#"+t+"Box .raBoxTxt .genreBox span[class!='gttl']");
	var tweet = $("#"+t+"Box .raBoxTxt .twNum span");
	var tlink = getTlinkString();
	for( var i=0; i<row; i++ ){
		
		//テキストセット
		sTxt = item[i].title;
		if( sTxt.length >= 30 ){
			sTxt = sTxt.substr( 0, 29 );
			sTxt += "…";
		}
		if( sTxt.length <= 0 ){
			sTxt = item[i].site;
		}
		word[i].innerHTML = '<a href="/'+t+'/'+tlink+'">' + sTxt + '</a>';
		
		//ジャンルセット
		item_g = item[i].genre;
		genHtml = "";
		for( var j=0; j<item_g.length; j++ ){
			glen = item_g[j].length;
			if( item_g[j].length >= 1 )	genHtml += '<span class="genre'+glen+'em">'+item_g[j]+'</span>';
		}
		if( genHtml.length == 0 ){
			genre[i].parentNode.style.display = "none";
		}else{
			genre[i].innerHTML = genHtml;
		}
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].freq) );
	}
}


//診断メーカー
//--------------------------------------
function loadShindanRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( '/data/url_ranking/shindanmaker/'+retSurl);
	}
}
function url_ranking_shindanmaker_recent(json){
	setDataShindan(json);
}
function url_ranking_shindanmaker_daily(json){
	setDataShindan(json);
}

function setDataShindan(json){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var item_g;
	var genHtml,glen,sTxt;
	
	var word  = $("#shindanBox .raBoxTxt div[class*='ra']");
	var tweet = $("#shindanBox .raBoxTxt .twNum span");
	var tlink = getTlinkString();
	for( var i=0; i<row; i++ ){
		
		//テキストセット
		sTxt = item[i].title;
		if( sTxt.length >= 30 ){
			sTxt = sTxt.substr( 0, 29 );
			sTxt += "…";
		}
		word[i].innerHTML = '<a href="/shindan/'+tlink+'">' + sTxt + '</a>';
		
		//ツイート数
		$( tweet[i] ).after( addFigure(item[i].freq) );
	}
}

//--------------------------------------
// カスタムランキング
function setDataCustom(json, kind){
	var item = json["rankingList"];
	var row  = item.length;
	if( row >= 3 ) row = 3;
	var assign = $("#" + kind + " dd");
	var type = getURLType();
	for( var i=0; i<row; i++ ){
		var itemName = item[i].name;
		if( type == 'now' ) assign[i].innerHTML = '<a href="/'+kind+'/">'+itemName+'</a>';
		if( type == 'today' ) assign[i].innerHTML = '<a href="/'+kind+'/today.html">'+itemName+'</a>';
		if( type == 'yesterday' ) assign[i].innerHTML = '<a href="/'+kind+'/yesterday.html">'+itemName+'</a>';
	}
}
// アプリ、まとめ用
function setDataCustomUrl(json,kind){
	var item = json["rankingList"];
	var row  = item.length;
	var sTxt;
	if( row >= 3 ) row = 3;
	var assign = $("#"+kind+" dd");

	var type = getURLType();
	for( var i=0; i<row; i++ ){
		//テキストセット
		sTxt = item[i].title;
		if( sTxt.length >= 70 ){
			sTxt = sTxt.substr( 0, 69 );
			sTxt += "…";
		}
		if( sTxt.length <= 0 ){
			sTxt = item[i].site;
		}
		if (kind == "app") {
			sTxt = sTxt.replace("iTunes App Store で見つかる iPhone、iPod touch、iPad 対応 ", "");
			sTxt = sTxt.replace("は Mac App Store でご利用いただけます。", "");
			sTxt = sTxt.replace("iTunes App Store で見つかる iPhone 3GS、iPhone 4、iPod touch（第3世代）、iPod touch (第4世代)、iPad 対応 ", "");
		}
		if( type == 'now' ) assign[i].innerHTML = '<a href="/'+kind+'/">'+sTxt+'</a>';
		if( type == 'today' ) assign[i].innerHTML = '<a href="/'+kind+'/today.html">'+sTxt+'</a>';
		if( type == 'yesterday' ) assign[i].innerHTML = '<a href="/'+kind+'/yesterday.html">'+sTxt+'</a>';
	}
}
function setDataCustomAmazonRakuten(json, kind) {
	var titleMaxLength = 100;
	var item = json["rankingList"];
	var row  = item.length;
	var sTxt;
	if( row >= 1 ) row = 1;
	var assign = $("#"+kind+" div");
	
	var type = getURLType();
	var noimg = getNoImageString();
	for( var i=0; i<row; i++ ){
		sTxt = '<div class="affilieit">';
		if( type == 'now' ) sTxt += '<a href="/' + kind + '/">';
		if( type == 'today' ) sTxt += '<a href="/' + kind + '/today.html">';
		if( type == 'yesterday' ) sTxt += '<a href="/' + kind + '/yesterday.html">';
		var srcString = item[i].thumbnailUrl;
		if( srcString.length <= 0 ){
			srcString = noimg;
		}
		var titleString = item[i].title;
		if( titleString.length <= 0 ){
			if (kind == 'rakuten') {
				titleString = '楽天';
			} else {
				titleString = 'アマゾン';
			}
		}
		if (titleString.length > titleMaxLength) {
			titleString = titleString.substring(0, titleMaxLength);
			titleString += "　　・・・";
		}
		
		if (kind == 'rakuten') {
			sTxt += '<div class="affilieit_leftrakuten">';
		} else {
			sTxt += '<div class="affilieit_leftamazon">';
		}
		if( kind == 'rakuten' ){
			sTxt += '<img class="affilieit_leftrakuten" src="' + srcString + '" alt="' + titleString + '" border="0" style="margin:0px;padding:0px"></a>';
		} else {
			sTxt += '<img class="affilieit_leftamazon" src="' + srcString + '" alt="' + titleString + '" border="0" style="margin:0px;padding:0px"></a>';
		}
		sTxt += '</div>';
		sTxt += '<div class="affilieit_right">';
		sTxt += '<p class="affiliet">';
		if( type == 'now' ) sTxt += '<a href="/' + kind + '/">' + titleString + '</a>';
		if( type == 'today' ) sTxt += '<a href="/' + kind + '/today.html">' + titleString + '</a>';
		if( type == 'yesterday' ) sTxt += '<a href="/' + kind + '/yesterday.html">' + titleString + '</a>';
		sTxt += '</p>';
		sTxt += '</div>';
		sTxt += '</div>';
		assign[i].innerHTML = sTxt;
	}
}

/*
 * 特集ランキング
 */
function loadCustomRanking(){
	var retSurl = getSurl();
	if( retSurl.length > 0 ){
		script_load( 'data/custom_ranking/akb/'+retSurl);
		script_load( 'data/custom_ranking/anime/'+retSurl);
		script_load( 'data/custom_ranking/alcohol/'+retSurl);
		script_load( 'data/custom_ranking/anime/'+retSurl);
		script_load( 'data/custom_ranking/gourmet/'+retSurl);
		script_load( 'data/custom_ranking/spot/'+retSurl);
		script_load( 'data/custom_ranking/season/'+retSurl);
		script_load( 'data/custom_ranking/power_spot/'+retSurl);
		script_load( '/data/custom_ranking/app/'+retSurl);
		script_load( '/data/custom_ranking/matome/'+retSurl);
		script_load( '/data/custom_ranking/rakuten/'+retSurl);
		script_load( '/data/custom_ranking/amazon/'+retSurl);
		script_load( '/data/custom_ranking/feel/'+retSurl);
	}
}

//akb
function custom_ranking_akb_recent(json){
	setDataCustom(json,'akb');
}
function custom_ranking_akb_daily(json){
	setDataCustom(json,'akb');
}
//anime
function custom_ranking_anime_recent(json){
	setDataCustom(json,'anime');
}
function custom_ranking_anime_daily(json){
	setDataCustom(json,'anime');
}
//alcohol
function custom_ranking_alcohol_recent(json){
	setDataCustom(json,'alcohol');
}
function custom_ranking_alcohol_daily(json){
	setDataCustom(json,'alcohol');
}
//gourmet
function custom_ranking_gourmet_recent(json){
	setDataCustom(json,'gourmet');
}
function custom_ranking_gourmet_daily(json){
	setDataCustom(json,'gourmet');
}
//spot
function custom_ranking_spot_recent(json){
	setDataCustom(json,'spot');
}
function custom_ranking_spot_daily(json){
	setDataCustom(json,'spot');
}
//season
function custom_ranking_season_recent(json){
	setDataCustom(json,'season');
}
function custom_ranking_season_daily(json){
	setDataCustom(json,'season');
}
//power_spot
function custom_ranking_power_spot_recent(json){
	setDataCustom(json,'power_spot');
}
function custom_ranking_power_spot_daily(json){
	setDataCustom(json,'power_spot');
}
//app
//--------------------------------------
function custom_ranking_app_recent(json){
	setDataCustomUrl(json,'app');
}
function custom_ranking_app_daily(json){
	setDataCustomUrl(json,'app');
}
//matome
//--------------------------------------
function custom_ranking_matome_recent(json){
	// setDataCustomUrl(json,'matome');
	setData(json,'matome');
}
function custom_ranking_matome_daily(json){
	// setDataCustomUrl(json,'matome');
	setData(json,'matome');
}

//amazon
function custom_ranking_amazon_recent(json){
	setDataCustomAmazonRakuten(json,'amazon');
}
function custom_ranking_amazon_daily(json){
	setDataCustomAmazonRakuten(json,'amazon');
}
//rakuten
function custom_ranking_rakuten_recent(json){
	setDataCustomAmazonRakuten(json,'rakuten');
}
function custom_ranking_rakuten_daily(json){
	setDataCustomAmazonRakuten(json,'rakuten');
}

//きもち
function custom_ranking_feel_recent(json){
	setDataCustom(json,'feel');
}
function custom_ranking_feel_daily(json){
	setDataCustom(json,'feel');
}

