/*
 * URLタイプを返す
 */
function urlAnalysis(){
	//URLを解析
	var url = document.URL;
	//var u = url.split('.jp/');
	var u = url.split('.jp');
	u[1] = u[1].replace(/(:\d+)?\//,"");
	var rObj1 = new RegExp('[?]');
	var rObj2 = new RegExp('.html');
	var t1 = u[1].split('/'),t2;
	var tmp = t1[0].split(".");
	var dn = new Array();
	
	for( var i=0; i<t1.length; i++ ){
		if( t1[i].match(rObj2) ){
			t2 = t1[i].split(".");
			dn[i] = t2[0];
		}else{
			if( !(t1[i].match(rObj1)) ){
				dn[i] = t1[i];
			}else{
				dn[i] = '';
			}
		}
	}
	
	return dn;
}

/*
 * javascriptを新規で読み込む
 */
function JSONP(uri1){
	this.root = uri1;
	this.CallJson = function(){
		if(window.opera){
			// Opera 用のコード
			var img = document.createElement('img');
			img.onerror = function(e){
				var script  = document.createElement('script');
				script.type  = 'text/javascript';
				script.charset = 'utf-8';
				script.src  = this.root;
				document.getElementsByTagName('head')[0].appendChild(script);
			};
			img.width = 0;
			img.height = 0;
			img.src = this.root;
			document.lastChild.appendChild(img);
		}else{
			// その他のブラウザ用コード
			var script  = document.createElement('script');
			script.type  = 'text/javascript';
			script.charset = 'utf-8';
			script.src  = this.root;
			document.getElementsByTagName('head')[0].appendChild(script);
		}
	}
	return this;
}
function script_load( j ){
	var s = document.createElement("script");
	s.setAttribute("type", "text/javascript");
	s.setAttribute("language", "JavaScript");
	s.setAttribute("src", j );
	document.getElementsByTagName("head")[0].appendChild(s);
}

function getURLType() {
	var type = 'now';
	//typeの取得
	var tmp = urlAnalysis();
	if (typeof( tmp[1] ) == "undefined") {
		type = tmp[0];
	}
	else if( tmp.length <= 0 ){
		type = tmp[0];
	}
	else {
		type = tmp[1];
	}
	if( type == '' || type == 'index' || typeof( type ) == "undefined" ){
		type = 'now';
	}else{
		if( !isNaN(tmp[1]) ){
			if( tmp.length == 2 ){
				type = 'year';
			}else if( tmp.length == 3 ){
				type = 'month';
			}else if( tmp.length == 4 ){
				type = 'today';
			}else{
				type = 'now';
			}
		}
	}
	return type;
}

function getSurl() {
	var retSurl = '';
	var type = getURLType();
	var tmp = urlAnalysis();
	
	//ファイル名取得
	var filename = "";
	if( type == 'now' ) filename = 'recent';
	if( type == 'today' ) filename = 'daily';
	if( type == 'yesterday' ) filename = 'yesterday';
	if( type == 'week' ) filename = 'weekly';
	if( type == 'month' ) filename = 'monthly';
	if( type == 'year' ) filename = 'yearly';
	
	if( !isNaN(tmp[1]) ){
		if( tmp[1].length == 0 ) retSurl += filename;
		if( typeof( tmp[1] ) != "undefined" ){
			retSurl += tmp[1];
		}
		if( typeof( tmp[2] ) != "undefined" ){
			retSurl += "/" + tmp[2];
		}
		if( typeof( tmp[3] ) != "undefined" ){
			retSurl += "/" + tmp[3];
		}
		if( typeof( tmp[4] ) != "undefined" ){
			retSurl += "/" + tmp[4];
		}
		if( typeof( tmp[5] ) != "undefined" ){
			retSurl += "/" + tmp[5];
		}
	}else{
		retSurl += filename;
	}
	retSurl += '.js';
	return retSurl;
}

/*
 * URLよってグラフに設定するカラム数を返す。
 */
function setRows(y,m, type){
	var url = urlAnalysis();
	if( url[0] == 'hotword' || url[0] == 'talent' || url[0] == 'rakuten' || url[0] == 'amazon' || url[0] == 'feel' ||
		url[0] == 'word' || url[0] == 'hashtag'){
		if( type == 'now' || type == 'today' || type == 'yesterday' )		return 24;
		if( type == 'week' )	return 7;
		if( type == 'month' )	return daysInMonth(m,y);
		if( type == 'year' || type == '2011ranking' )	return 12;
	}else{
		if (type == '2011ranking') {
			return 12;
		}
		else {
			if( type == 'now' || type == 'today' || type == 'yesterday' )		return 24;
			if( type == 'week' )	return 7;
			if( type == 'month' )	return daysInMonth(m,y);
			if( type == 'year' || type == '2011ranking' )	return 12;
		}
	}
}
/*
 * 月最後の日付を取得する。
 */
function daysInMonth(month, year){
	return new Date( (new Date(year, month, 1) )-1 ).getDate();
}
/*
 *　グラフの横軸を返す 
 */
function setDispDate(t,day){
	var tmp = new Date( day );
	var ret;
	if( t=="now" || t=="today" || t=="yesterday" ){
		ret = day.substr( 11,5 );
	}
	if( t=="week" ){
		var w = tmp.getDay();
		// var wA = new Array( "日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜" );
		var wA = new Array( "Sun", "Mon", "Thu", "Wed", "Thu", "Fri", "Sat" );
		ret = wA[w];
	}
	if( t=="month" ){
		var m = tmp.getMonth() + 1;
		if (m < 10) {
			m = "0" + m;
		}
		var d = tmp.getDate();
		if (d < 10) {
			d = "0" + d;
		}
		// ret = m + "月" + d + "日";
		ret = m + "/" + d;
	}
	if( t=="herf-year" || t=="year" || t == '2011ranking' ){
		// var m = tmp.getMonth() + 1;
		// ret = m + "月";
		var m = tmp.getMonth();
		var tmp = new Array( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
		ret = tmp[m];
	}
	return ret;
}

/*
 * グラフのためにデータの無い横軸を補間する。
 */
function supplementationX(t,mem,sday){
	if( t=="now" ){
		var tmp1 = new Number(sday.substr(11,2));
		var tmp2 = new Number(sday.substr(14,2));
		tmp2 = tmp2 + (mem*5);
		if( tmp2 >= 60 ){
			tmp2 = tmp2 - 60;
			tmp1 = tmp1 + 1;
			if( tmp1 >= 24 ) tmp1 = tmp1 - 24;
		}
		if( tmp1 < 10 ) tmp1 = "0" + tmp1;
		if( tmp2 < 10 ) tmp2 = "0" + tmp2;
		return tmp1 + ":" + tmp2;
	}
	if( t=="today" || t == "yesterday" ){
		var tmp = 4 + mem;
		if( tmp >= 24 )	tmp = tmp - 24;
		if( tmp < 10 ) tmp = "0" + tmp;
		return tmp + ":00";
	}
	if( t=="week" ){
		// var tmp = new Array("月曜","火曜","水曜","木曜","金曜","土曜","日曜");
		var tmp = new Array( "Mon", "Thu", "Wed", "Thu", "Fri", "Sat", "Sun" );
		return tmp[mem];
	}
	if( t=="month" ){
		// var tmp1 = formatDate(sday,false,true,false,false,false);
		var tmp = new Date(sday);
		var tmp1 = (tmp.getMonth() + 1);
		if (tmp1 < 10) {
			tmp1 = "0" + tmp1;
		}
		var tmp2 = 1 + mem;
		if (tmp2 < 10) {
			tmp2 = "0" + tmp2;
		}
		// return tmp1 + tmp2 + "日";
		return tmp1 + "/" + tmp2;
	}
	if( t=="herf-year" ){
		return false;
	}
	if( t=="year" || t == '2011ranking' ){
		// var tmp = 1 + mem;
		// return tmp + "月";
		var tmp = new Array( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov","Dec");
		return tmp[mem];
	}
}


/*
 * 数値の形式をnnn,nnnにする。
 */
function addFigure(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
	return num;
}
/*
 * 数値の形式をnnにする。
 */
function parseZero(value) {
	var pValue = "" + value;
	if (pValue.match(/\d/) && pValue < 10) {
		return "0" + pValue;
	}
	return pValue;
}

/*
 * 日付の形式を設定する。
 */
function formatDate(day,y,m,d,w,t){
	var tmp = new Date(day);
	var ret="";
	var week = new Array( "日", "月", "火", "水", "木", "金", "土" );
	if( y == true ){
		ret = tmp.getFullYear() + "年";
	}
	if( m == true ){
		ret += (tmp.getMonth() + 1) + "月";
	}
	if( d == true ){
		ret += tmp.getDate() + "日";
	}
	if( w == true ){
		ret += "(" + week[tmp.getDay()] + ")";
	}
	if( t == true ){
		var t1=tmp.getHours(),t2=tmp.getMinutes();
		ret += " ";
		if( t1 < 10 )	t1 = "0"+t1;
		if( t2 < 10 )	t2 = "0"+t2;
		ret += t1 + ":" + t2;
	}
	return ret;
}
/*
 * 日付の形式を設定する。
 */
function formatLastUpd(day){
	var tmp = new Date(day);
	var ret = "";
	ret = (tmp.getMonth() + 1) + "/" + tmp.getDate();
	var t1=tmp.getHours(),t2=tmp.getMinutes();
	ret += " ";
	if( t1 < 10 )	t1 = "0"+t1;
	if( t2 < 10 )	t2 = "0"+t2;
	ret += t1 + ":" + t2;
	return ret;
}
/*
 * Twitter社用、日付の形式を設定する
 */
function twitterdate(td){
	//変換前「Tue Dec 16 23:48:56 +0000 2008」
	//変換後「2008年12月17日 8:48:56」
	var re=/^(.+) (.+) (..) (..):(..):(..) (.+) (.+)$/;
	var pat="$2 $3, $8 $4:$5:$6 UTC+0000";
	var rep=new Date(td.replace(re,pat));
	var month = rep.getMonth() + 1;
	var monthString = parseZero(month);
	var date = rep.getDate();
	var dateString = parseZero(date);
	var hour = rep.getHours();
	var hourString = parseZero(hour);
	var min = rep.getMinutes();
	var minString = parseZero(min);
	var sec = rep.getSeconds();
	var secString = parseZero(sec);
	var value = rep.getFullYear() + '/' + monthString + '/' + dateString + ' ' + hourString + ':' + minString + ':' + secString;
	return value;
}

/*
 * URLよりツイートするＵＲＬ名を生成する。
 */
function getUrl(url){
	var ret = "";
	var lDate = getlDate();							// 各個別内で呼び出す。
	var dobj = new Date(lDate);
	if( !isNaN(url[1]) && url[1].length != 0 ){
		ret = document.URL;
	}else{
		ret = "http://" + document.domain + "/";
		ret += url[0] + "/";
		if( url[1].length == 0 || url[1] == 'index' ){
			ret += dobj.getFullYear()
			+ "/" + plusZero(dobj.getMonth()+1)
			+ "/" + plusZero(dobj.getDate())
			+ "/" + plusZero(dobj.getHours())
			+ "/" + plusZero(dobj.getMinutes());
		}else if( url[1] == 'today' ){
			ret += dobj.getFullYear()
			+ "/" + plusZero(dobj.getMonth()+1)
			+ "/" + plusZero(dobj.getDate());
		}else if( url[1] == 'yesterday' ){
			ret += dobj.getFullYear()
			+ "/" + plusZero(dobj.getMonth()+1)
			+ "/" + plusZero(dobj.getDate() - 1);
		}else if( url[1] == 'week' ){
			ret += dobj.getFullYear()
			+ "/" + plusZero(dobj.getMonth()+1)
			+ "/weekly/" + plusZero(dobj.getDate() - 1);
		}else if( url[1] == 'month' ){
			ret += dobj.getFullYear()
			+ "/" + plusZero(dobj.getMonth()+1);
		}else if( url[1] == 'year' ){
			ret += dobj.getFullYear();
		}else if( url[1] == '2011ranking' ){
			ret += "2011ranking";
		}
		ret += ".html";
	}
	return ret;
}

/*
 * ツイートするボタンをクリックしたときのツイート文字列設定
 */
function getDefword1(obj){
	var ret = "";
	var tmp = obj.rel;
	var u = urlAnalysis();
	if( tmp.length <= 0 ){
		ret = " #twitr";
	}else{
		if( u[0] == 'hotword' || u[0] == 'talent' || u[0] == 'gazou' ){
			ret = tmp + " #twitr";
		}else if( u[0] == 'movie' || u[0] == 'news' || u[0] == 'it' || u[0] == 'blog' || u[0] == 'shindan' || u[0] == 'app' || u[0] == 'matome'){
			ret = tmp;
		}else if( u[0] == 'tweet' ){
			ret = tmp.replace("#twitr", getUrl(u) + "　#twitr");
		}else{
			ret = tmp + " #twitr";
		}
	}
	return ret;
}
/*
 * ツイートするボタンをクリックしたときのツイート文字列設定
 */
function getDefword2(obj){
	var ret = "";
	var tmp = obj.rel;
	var u = urlAnalysis();
	if( tmp.length <= 0 ){
		if( u[0] == 'hotword' || u[0] == 'talent' || u[0] == 'gazou' || u[0] == 'tweet' ){
			ret = getUrl(u);
		}else{
			ret = document.URL;
		}
	}else{
		if( u[0] == 'hotword' || u[0] == 'talent' || u[0] == 'gazou' ){
			ret = getUrl(u);
			var relUrl = '';
			if ('relUrl' in obj) {
				relUrl = obj.relUrl;
			}
			if (relUrl.length > 0) {
				ret = relUrl;
			}
		}else if (u[0] == 'word' || u[0] == 'hashtag') {
			ret = document.URL;
			var relUrl = '';
			if ('relUrl' in obj) {
				relUrl = obj.relUrl;
			}
			if (relUrl.length > 0) {
				ret = relUrl;
			}
		}else if( u[0] == 'movie' || u[0] == 'news' || u[0] == 'it' || u[0] == 'blog' || u[0] == 'shindan' || u[0] == 'app' || u[0] == 'matome'){
			ret = document.URL;
		}else if( u[0] == 'tweet' ){
			ret = tmp.replace("#twitr", getUrl(u) + "　#twitr");
		}else{
			ret = document.URL;
		}
	}
	return ret;
}
/*
 * ツイートするボタンをクリックしたときのツイート文字列設定
 */
function getDefword_tweet(obj){
	var ret = "";
	var tmp = obj.rel;
	var u = urlAnalysis();
	if( tmp.length <= 0 ){
		ret = " #twitr " + getUrl(u);
	}else{
		ret = tmp.replace("#twitr", getUrl(u) + "　#twitr");
	}
	return ret;
}
/*
 * ツイートするボタンをクリックしたときのツイート文字列設定
 */
function getSearchWord(obj){
	var ret = "";
	var tmp = obj.rel;
	if( tmp.length <= 0 ){
		ret = "#twitr";
	}else{
		ret = tmp;
	}
	return ret;
}

/*
 * ツイッターでツイートするボタンをクリックしたときの処理
 */
function tweet(o){
	var u = urlAnalysis();
	
	if (u[0] == 'detail_gazou') {
		var gazou_title = $(".gazou_title h1");
		var value = gazou_title[0].innerHTML;
		s = htmlspecialchangechars(value);
		s = s.replace(/<!-- ▼画像タイトル（埋め込み用開始位置）　-->/, '');
		s = s.replace(/<!-- ▲画像タイトル（埋め込み用終了位置）　-->/, '');
		s = s + "#twitr ";
	}
	else {
		s = getDefword1(o);
	}
	t = getDefword2(o);
	var f='https://twitter.com/intent/tweet?text='+encodeURIComponent(s)+'&url='+encodeURIComponent(t);
	if(!window.open(f,'tweet'))	location.href=f;
}
/*
 * ツイッターでツイートするボタン(#twitrなし)をクリックしたときの処理
 */
function tweetNotTag(o){
	s = o.rel;
	// t = getDefword2(o);
	// var f='https://twitter.com/intent/tweet?text='+encodeURIComponent(s)+'&url='+encodeURIComponent(t);
	var f='https://twitter.com/intent/tweet?text='+encodeURIComponent(s);
	if(!window.open(f,'tweet'))	location.href=f;
}
/*
 * ついっぷるでツイートするボタンをクリックしたときの処理
 */
function tweettwipple(o){
	var u = urlAnalysis();
	if (u[0] == 'detail_gazou') {
		var gazou_title = $(".gazou_title h1");
		var value = gazou_title[0].innerHTML;
		s = htmlspecialchangechars(value);
		s = s.replace(/<!-- ▼画像タイトル（埋め込み用開始位置）　-->/, '');
		s = s.replace(/<!-- ▲画像タイトル（埋め込み用終了位置）　-->/, '');
		s = s + "#twitr ";
	}
	else {
		s = getDefword1(o);
	}
	t = getDefword2(o);
	var u = urlAnalysis();
	if( u[0] == 'tweet'){
		v = getDefword_tweet(o);
		var f='http://twipple.jp/login?text='+encodeURIComponent(v);
	}else{
		var f='http://twipple.jp/login?text='+encodeURIComponent(s)+'%20'+encodeURIComponent(t);
	}
	if(!window.open(f,'twipple'))	location.href=f;
}

/*
 * 検索する場合
 */
function searchTweet(o){
	if ('relUrl' in o) {
		var f = o.relUrl;
		location.href=f;
	}
	else {
		s = getSearchWord(o);
		var f='http://search.biglobe.ne.jp/twitter/index.html?q='+encodeURIComponent(s);
		if(!window.open(f,'searTw'))	location.href=f;
	}
}

// 全ての文字列 s1 を s2 に置き換える   
function replaceAll(expression, org, dest){   
    return expression.split(org).join(dest);   
}  

/*
 * もっと見るボタンをクリックする
 */
function dispmore(o){
	var obj = $('#rankmore');
	var n = obj.css( 'display' );
	if( n == 'none' ){
		obj.css( 'display', 'block' );
	}else{
		obj.css( 'display', 'none' );
	}
	var id = o.parentNode.id;
	if( id.indexOf( 'show' ) != -1 ){
		o.parentNode.id = id.replace( 'show', 'hide' );
	}else{
		o.parentNode.id = id.replace( 'hide', 'show' );
	}
}

/*
 * 日付指定のプルダウン画面を設定する。
 */
function putPulldown(){
	var html = "";
	var tmp,sel;
	var url = document.URL;
	
	//日付
	var d = new Date();
	var dy = d.getFullYear();
	var dm = d.getMonth() + 1;
	var dd = d.getDate();
	var dn = new Array(6);
	
	dn = urlAnalysis();
	if( dn[1].length <= 0 )	dn[1] = "index";
	if( isNaN(dn[1]) ){
		dn[1] = d.getFullYear();
		dn[2] = d.getMonth() + 1;
		dn[3] = d.getDate();
		dn[4] = d.getHours();
		dn[5] = d.getMinutes();
		tmp = Math.floor(dn[5]/5);
		dn[5] = tmp * 5 - 5;
	}
	html += '<form>';
	//年
	html += '<table border="0" cellspacing="0" cellpadding="0" summary="pulldown" id="pdtime">'+ "\n";
	html += "<tr>\n<td>\n";
	html += '<select id="year" class="" name="pullyear">'+"\n";
	for( var i=2010; i<=d.getFullYear(); i++ ){
		sel = "";
		if( i == dn[1] ) sel = " selected";
		html += '<option value='+i+sel+'>'+i+"</option>\n";
	}
	html += '</select>'+"年</td>\n";
	html += '<td class="pullspace">&nbsp;</td>'+"\n";
	//月
	html += '<td>'+"\n";
	html += '<select id="month" class="" name="pullmonth" onChange="convSelect(\'month\');">'+"\n";
	html += '<option value="">--</option>'+"\n";
	for( var i=1; i<=12; i++ ){
		sel = "";
		if( i == dn[2] ) sel = " selected";
		html += '<option value='+plusZero(i)+sel+'>'+i+"</option>\n";
	}
	html += '</select>'+"月</td>\n";
	html += '<td class="pullspace">&nbsp;</td>'+"\n";
	//日
	html += '<td>'+"\n";
	html += '<select id="day" class="" name="pullday" onChange="convSelect(\'day\');">'+"\n";
	html += '<option value="">--</option>'+"\n";
	for( var i=1; i<=31; i++ ){
		sel = "";
		if( i == eval(dn[3]) ) sel = " selected";
		html += '<option value='+plusZero(i)+sel+'>'+i+"\n";
	}
	html += '</select>'+"日</td>\n";
	html += '<td class="pullspace">&nbsp;</td>'+"\n";
	//時
	html += '<td>'+"\n";
	html += '<select id="hour" class="" name="pullhour" onChange="convSelect(\'hour\');">'+"\n";
	html += '<option value="">--</option>'+"\n";
	for( var i=0; i<=23; i++ ){
		sel = "";
		if( i === eval(dn[4]) ) sel = " selected";
		html += '<option value='+plusZero(i)+sel+'>'+i+"\n";
	}
	html += '</select>'+"時</td>\n";
	html += '<td class="pullspace">&nbsp;</td>'+"\n";
	//分
	html += '<td>'+"\n";
	html += '<select id="minute" class="" name="pullminute">'+"\n";
	html += '<option value="">--</option>'+"\n";
	for( var i=0; i<60; i+=5 ){
		sel = "";
		if( i === eval(dn[5]) ) sel = " selected";
		html += '<option value='+plusZero(i)+sel+'>'+plusZero(i)+"\n";
	}
	html += '</select>'+"分</td>\n";
	
	html += '</td>'+"\n";
	html += '<td class="pullspace">&nbsp;</td>'+"\n";
	html += '<td colspan="9" class="hyojiBtn">'+"\n";
	html += '<div class="hBtn"><a href="javascript:void(0);" onclick="locTrend();return false;">表示する</a></div>'+"\n";
	html += '</td>'+"\n";
	html += '</tr>'+"\n";
	html += '</table>'+"\n";
	html += '</form>'+"\n";
	$('#pulldown').html( html );
}

/*
 * プルダウンのボタンを指定したときの処理
 */
function locTrend(){
	var now = new Date();
	var ny = now.getFullYear(),nm = now.getMonth()+1, nd = now.getDate();
	nm = plusZero(nm);
	nd = plusZero(nd);
	nc = "" + ny + nm + nd;
	var y = $('#year').attr( 'value' );
	var m = $('#month').attr( 'value' );
	var d = $('#day').attr( 'value' );
	var h = $('#hour').attr( 'value' );
	var f = $('#minute').attr( 'value' );
	var url;
	var al = "" + y + m + d;
	var al2 = "" + y + m + d + h + f;
	var tmp = urlAnalysis();
	var err = false; errtxt = "";
	
	//年のみ指定
	if( m.length <= 0 ){
		if( tmp[0] == 'gazou' || tmp[0] == 'tweet' ){
			errtxt = "日付まで指定してください。";
			err = true;
		}else{
			if( y < 2010 ){
				if( tmp[0] == 'hotword' ){
					errtxt = "ERROR\n\n申し訳ございません。\n2010年3月29日以前はデータが存在しません・・・";
				}else{
					errtxt = "ERROR\n\n申し訳ございません。\n2010年9月8日以前はデータが存在しません・・・";
				}
				err = true;
			}else if( y > ny ){
				errtxt = "ERROR\n\n未来は未知数です・・・";
				err = true;
			}
		}
	//月まで指定
	}else if( d.length <= 0 ){
		al = ""+y+m;
		nc = ""+ny+nm;
		if( tmp[0] == 'gazou' || tmp[0] == 'tweet' ){
			errtxt = "日付まで指定してください。";
			err = true;
		}else{
			if( tmp[0] == 'hotword' ){
				if( al < 201003 ) {
					errtxt = "ERROR\n\n申し訳ございません。\n2010年3月29日以前はデータが存在しません。";
					err = true;
				}
			}else{
				if( al < 201009 ){
					errtxt = "ERROR\n\n申し訳ございません。\n2010年9月8日以前はデータが存在しません・・・";
					err = true;
				}else if( al > nc ){
					errtxt = "ERROR\n\n未来は未知数です・・・";
					err = true;
				}
			}
		}
	}else{
		//ありえない日付
		if( !checkDay(y,m,d) ){
			errtxt = "ERROR\n\n指定月にその日はありません・・・";
			err = true;
		}
		//過去
		if( tmp[0] == 'hotword' ){
			if( al < 20100330 ){
				errtxt = "ERROR\n\n申し訳ございません。\n2010年3月29日以前はデータが存在しません。";
				err = true;
			}
		}else{
			if( al < 20100908 ){
				errtxt = "ERROR\n\n申し訳ございません。\n2010年9月8日以前はデータが存在しません・・・";
				err = true;
			}
			if( h.length > 0 && f.length > 0 ){
				if( al2 < 201009081135 ){
					errtxt = "ERROR\n\n申し訳ございません。\n2010年9月8日11時35分以前はデータが存在しません・・・";
					err = true;
				}
			}
		}
		
		//未来
		if( al > nc ){
			errtxt = "ERROR\n\n未来は未知数です・・・";
			err = true;
		}
	}
	if( err ){
		alert( errtxt );
		return false;
	}
	url = y;
	var lf = false;
	if( m.length > 0 ){
		url += '/'+m;
		if( d.length > 0 ){
			url += '/' + d;
			if( h.length > 0 ){
				url += '/'+h;
				if( f.length > 0 ){
					url += '/'+f;
				}else{
					alert( "分を指定してください。");
					return false;
				}
			}
		}
	}

	location.href = "/" + tmp[0] + "/" + url + ".html";
}

/*
 * セレクトボックスを変更した場合の処理。
 */
function convSelect(type){
	var obj;
	if( type == "month" ){
		obj = $("#"+type).attr( 'value' );
		if( obj == "" ){
			$('#day').attr( 'value', "");
			$('#hour').attr( 'value', "");
			$('#minute').attr( 'value', "");
		}
	}
	if( type == "day" ){
		obj = $("#"+type).attr( 'value' );
		if( obj == "" ){
			$('#hour').attr( 'value', "");
			$('#minute').attr( 'value', "");
		}
	}
	if( type == "hour" ){
		obj = $("#"+type).attr( 'value' );
		if( obj == "" ){
			$('#minute').attr( 'value', "");
		}
	}
}

/*
 * ゼロ埋め込み
 */
function plusZero(val){
	if( val < 10 ){
		return "0" + val;
	}
	return val;
}

/*
 * 日付チェック（指定日付が存在する日付かどうかのチェック）
 */
function checkDay(y,m,d){
	y = eval(y);
	m = eval(m) - 1;
	d = eval(d);
	
	var check = new Date();
	check.setYear(y);
	check.setMonth(m);
	check.setDate(d);
	
	var yy = check.getFullYear();
	var mm = check.getMonth();
	var dd = check.getDate();
	
	if( yy == y && mm == m && dd == d ){
		return true;
	}else{
		return false;
	}
}

/*
 *個人ページ出力処理
 * rankTtl : ホットワード出力領域
 * moriBox : 盛り上がり度出力領域
 * tweetBox : 年間ツイート数出力領域
 * tweetBoxMax : 最大盛り上がり日出力領域
 * tweetBoxMaxT : 最大盛り上がりツイート数出力領域
 */
function print_contents(setValue, rankTtl, moriBox, tweetBox, tweetBoxMax, tweetBoxMaxT) {
	var rankTtlString = rankTtl.innerHTML;
	var rankTtlStringEncode = encodeURIComponent(rankTtlString);
	rankTtl.innerHTML = "<a href=\"#\" onclick=\"window.open(\'http://search.biglobe.ne.jp/twitter/index.html?q=" + rankTtlStringEncode + "\');\">" + rankTtlString + "</a>";
	moriBox.innerHTML = moriBox.innerHTML + setValue["feature"];
	print_contentsSub(setValue, tweetBox, tweetBoxMax, tweetBoxMaxT);
}

/*
 *個人ページ出力処理
 * rankTtl : ホットワード出力領域
 * tweetBox : 年間ツイート数出力領域
 * tweetBoxMax : 最大盛り上がり日出力領域
 * tweetBoxMaxT : 最大盛り上がりツイート数出力領域
 */
function print_contentskey(setValue, rankTtl, tweetBox, tweetBoxMax, tweetBoxMaxT) {
	var rankTtlString = rankTtl.innerHTML;
	var keywordList = setValue["keywords"];
	var keywordString = '';
	for (var i = 0; i < keywordList.length; i++) {
		var str = keywordList[i];
		str = htmlspecialchars(str);
		if (i != 0) {
			keywordString = keywordString + " OR ";
		}
		keywordString = keywordString + str;
	}
	if (keywordString == '') {
		keywordString = rankTtlString;
	}
	var rankTtlStringEncode = encodeURIComponent(keywordString);
	rankTtl.innerHTML = "<a href=\"#\" onclick=\"window.open(\'http://search.biglobe.ne.jp/twitter/index.html?q=" + rankTtlStringEncode + "\');\">" + rankTtlString + "</a>";
	print_contentsSub(setValue, tweetBox, tweetBoxMax, tweetBoxMaxT);
}
function htmlspecialchars(ch) {
	var pch = ch;
	pch = pch.replace(/&/gi,"&amp;") ;
	pch = pch.replace(/"/gi,"&quot;") ;
	pch = pch.replace(/'/gi,"&#39;") ;
	pch = pch.replace(/</gi,"&lt;") ;
	pch = pch.replace(/>/gi,"&gt;") ;
	return pch ;
}
function htmlspecialchangechars(ch) {
	var pch = ch;
	pch = pch.replace(/&amp;/gi,"&") ;
	pch = pch.replace(/&quot;/gi,"\"") ;
	pch = pch.replace(/&lt;/gi,"<") ;
	pch = pch.replace(/&gt;/gi,">") ;
	return pch ;
}

/*
 *個人ページ出力処理
 * tweetBox : 年間ツイート数出力領域
 * tweetBoxMax : 最大盛り上がり日出力領域
 * tweetBoxMaxT : 最大盛り上がりツイート数出力領域
 */
function print_contentsSub(setValue, tweetBox, tweetBoxMax, tweetBoxMaxT) {
	tweetBox.innerHTML = tweetBox.innerHTML + addFigure(setValue["sumOfFreq"]);
	tweetBoxMax.innerHTML = tweetBoxMax.innerHTML + setValue["maxMomentDay"];
	tweetBoxMaxT.innerHTML = tweetBoxMaxT.innerHTML + addFigure(setValue["maxMomentCount"]);
}

/*
 * 個別グラフ表示(デフォルト415x90)
 */
function custom_ranking_daytime_program_dailySub(setValueDay, dateList, setValue, setValueIndex) {
	custom_ranking_daytime_program_dailySub_WidthHeight(setValueDay, dateList, setValue, setValueIndex, 415, 90);
}
/*
 * 個別グラフ表示(横縦指定)
 */
function custom_ranking_daytime_program_dailySub_WidthHeight(setValueDay, dateList, setValue, setValueIndex, width, height) {
	var urlBase = 'http://chart.apis.google.com/chart?chs=' + width + 'x' + height + '&cht=lc&chco=FF9AB3&chxt=x,y&chls=2&chxs=0,505050,9,0,lt|1N\*s\*,505050,9,1';
	// 表示データと軸データを設定する。
	var chdString = '';
	var totalValue = '';
	var totalMaxValue = 3;
	// Y軸表示のためにデータMAX値を取得する。
	var t_now = new Date( dateList[0] );
	var t_year = t_now.getYear();
	var t_mon  = t_now.getMonth() + 1;
	var rows2 = setRows(t_year,t_mon, setValueDay);
	// var rows2 = 12;
	var rows = dateList.length;
	for( var j = 0; j < rows; j++ ){
		if (totalMaxValue < setValue["freqList"][j]) {
			totalMaxValue = setValue["freqList"][j];
		}
	}
	var valueLength = 10 * totalMaxValue.toString();
	var chxlValue = '';
	for( var j=0; j < rows; j++ ){
		// グラフ線を描くためのデータを設定する。
		if (j != 0) {
			totalValue = totalValue + ',';
		}
		var value = (setValue["freqList"][j] / totalMaxValue) * 100;
		totalValue = totalValue + value.toFixed(2);

		// X軸表示のための値を設定する。
		if (chxlValue != '') {
			chxlValue = chxlValue + '|';
		}
		// chxlValue = chxlValue + setDispDate(setValueDay, dateList[j]);
		
		if (setValueDay == 'week' || setValueDay == 'year') {
			chxlValue = chxlValue + setDispDate(setValueDay, dateList[j]);
		}
		else if (setValueDay == 'month') {
			if( j%3 == 0 ) {
				chxlValue = chxlValue + setDispDate(setValueDay, dateList[j]);
			}
		}
		else {
			if( j%2 == 0 ) {
				chxlValue = chxlValue + setDispDate(setValueDay, dateList[j]);
			}
		} 

	}
	if (rows < rows2) {
		for( var k = j; k < rows2; k++ ){
			totalValue = totalValue + ',-1';

			// X軸表示のための値を設定する。
			if (chxlValue != '') {
				chxlValue = chxlValue + '|';
			}

			if (setValueDay == 'week' || setValueDay == 'year') {
				chxlValue = chxlValue + supplementationX(setValueDay, k, dateList[0]);
			}
			else if (setValueDay == 'month') {
				if( k%3 == 0 ) {
					chxlValue = chxlValue + supplementationX(setValueDay, k, dateList[0]);
				}
			}
			else {
				if( k%2 == 0 ) {
					chxlValue = chxlValue + supplementationX(setValueDay, k, dateList[0]);
				}
			} 
		}
	}
	var url = urlBase + '&chd=t:' + totalValue;
	
	url = url + '&chxl=0:|' + chxlValue + '&chxr=1,0,' + totalMaxValue + '&chm=B,FFCCE5,0,0,0';
	var graphId = 'graph' + (setValueIndex + 1);
	document.getElementById(graphId).innerHTML = '<img src=\"' + url + '\">';
}


