////////////////////////////////////////////////////////
//
//	ファイル名：auto.js
//
//	概要：三大姓名判断自動化関連
//
//	作成者：s_watanabe
//
//	作成日：2009/04/15
//
//	備考：三大姓名は毎月第3月曜日更新
//
////////////////////////////////////////////////////////


// メニュー番号テーブル
var menunoArr = new Array(12); 

menunoArr[0]	= "day25";	// 7月
menunoArr[1]	= "day26";	// 8月
menunoArr[2]	= "day27";	// 9月
menunoArr[3]	= "day28";	// 10月
menunoArr[4]	= "day29";	// 11月
menunoArr[5]	= "day30";	// 12月
menunoArr[6]	= "day31";	// 1月
menunoArr[7]	= "day32";	// 2月
menunoArr[8]	= "day33";	// 3月
menunoArr[9]	= "fk05";	// 4月
menunoArr[10]	= "day34";	// 5月
menunoArr[11]	= "fk06";	// 6月

// メニュー名テーブル
var menuTitleArr = new Array(12); 

menuTitleArr[0]		= "マヤ暦に定められ、もうすでに出逢いを果たしているあなたの「運命の結婚相手」〜その10の特徴〜";
menuTitleArr[1]		= "この先必ずやってくる、あの人の気持ちがあなたへと急激に傾く「運命の一日」それはいつ？";
menuTitleArr[2]		= "もうすぐあなたに訪れる　告白されて始まり、ついには結婚へと至る、正真正銘の「運命の恋」";
menuTitleArr[3]		= "J.H.マイヤーだからここまでわかる！　あなたとあの人を結ぶ魂の絆、そして二人を待つ「結婚」";
menuTitleArr[4]		= "あともう少しだけ待てば必ず結ばれるあなたの「宿縁の恋人」〜恋の始まりから最終的な結末まで";
menuTitleArr[5]		= "【一部無料】神聖暦ツォルキンが告げる　--TARGET_YEAR--年あなたの運命";
menuTitleArr[6]		= "マヤ暦だけが知るあなたの「宿命そして運命」〜本質、人生、才能、転機、結婚〜";
menuTitleArr[7]		= "実はすぐそばにいる、あなたを好きで、心から結婚したいと望んでいる異性";
menuTitleArr[8]		= "J,H,マイヤーだから見通せる！　あの人が絶対に口に出さない本音、二人がたどりつく最終的な関係";
menuTitleArr[9]		= "実は身近にいる、あなたのすべてを理解し、受けとめ、強く心惹かれている異性";	
menuTitleArr[10]	= "あなたとあの人二人が出会った本当の意味、そしてそこから導かれるこの恋の結末";
menuTitleArr[11]	= "もうすでに出逢いを果たしている、あなたと他の誰よりも強い宿縁で結ばれている「運命の伴侶」";


// メニューリードテーブル
var menuReadArr = new Array(12); 

menuReadArr[0]		= "容姿、性格、将来性、あなたとの相性だけでなく、この先ふたりに訪れる運命の出来事まで！　J.H.マイヤーが、マヤ暦を駆使し、合計10もの面から読み解く、あなたの「結婚相手」のすべて。";
menuReadArr[1]		= "マヤの暦には記されています――あの人があなたとの恋に落ちる日、そして、そうなるきっかけが起こる日までもが。どうかしっかり胸に刻んで、恋を優位に進めてみてください。";
menuReadArr[2]		= "何もせずとも相手の告白から始まり、頑張らなくても結婚に到達できる、「運命の大恋愛」を導き出します。 ";
menuReadArr[3]		= "古代マヤ文明の叡智「神聖暦ツォルキン」には、あなたとあの人の魂が歩んだ恋の軌跡まで記されています。過去世が今に及ぼす影響、ふたりが現世で再びめぐり合った意味……魂たちの結びつきを、一度に導き出します。";
menuReadArr[4]		= "マヤの暦には、現在あなたを取りまく人々だけでなく、この先訪れる「運命の恋」も記されています。さあ、あなたが次に紡ぐ恋とは、どのようなものなのでしょうか？";
menuReadArr[5]		= "古代マヤ文明の叡智「神聖暦ツォルキン」で読み解く、あなたの出会い、恋愛、仕事――---TARGET_YEAR--年、あなたを待つ運命のすべてがここに！";
menuReadArr[6]		= "あなたが生まれ持った天性の才能、訪れる出会いと転機、そして……約束された結婚。人生という大きな流れからあなたの宿命を読み解き、「運命」と「未来」のすべてを明らかにします。 ";
menuReadArr[7]		= "定められた結婚相手同士は、不思議と引き合うものです。すでに結ばれている二つの魂は、今も互いを求めて懸命に近づいています。それに気付いていないのは、魂の器――そう、あなただけ。 ";
menuReadArr[8]		= "今あの人があなたに対して抱いている思い。この先この恋はどうなっていくのか。最終的にたどりつく結末とは――。あなたが気になるすべてを、魂の暗号が明らかにします！ ";
menuReadArr[9]		= "あなたの魂に宿る真実の魅力に、異性だけは本能的に気付いています。より魅力的になるために、それを磨いてみてください。今、熱い視線を注いでいる異性は誰でしょうか。もしかして……あの人かもしれません。";
menuReadArr[10]		= "あなたとあの人の出会いは、必然だったのです。ふたりの魂が触れあった瞬間、宿命の暗号（コード）は書き換えられました。今、ふたりはすでに、新たな運命を歩みはじめているのです。 ";
menuReadArr[11]		= "宿縁で結ばれている「魂の恋人」と、あなたはすでに出会っています。運命の相手の人となり、そしてふたりを待つ未来を、マヤの暦が解き明かします。";

var menuPriceArr = new Array(12);
menuPriceArr[0]		= 600;
menuPriceArr[1]		= 500;
menuPriceArr[2]		= 500;
menuPriceArr[3]		= 800;
menuPriceArr[4]		= 500;
menuPriceArr[5]		= 600;
menuPriceArr[6]		= 1000;
menuPriceArr[7]		= 500;
menuPriceArr[8]		= 500;
menuPriceArr[9]		= 500;
menuPriceArr[10]	= 600;
menuPriceArr[11]	= 500;

function getAutoMenu( TY, TM, TD )
{
	if( TY == "0" )
	{
		// 現在の日付を取得する
		var TODAY = new Date();
		var TY  = TODAY.getFullYear();
		var TM  = TODAY.getMonth()+1;
		var TD  = TODAY.getDate();

		// 開発用設定////////
		// 開発期間中の2009/6はリリース日の2009/7に強制変更
		if( TY == 2009 && TM == 6 )
		{
			TM = 7;
		}
		//////////////////////

		// 指定月の公開日を取得
		// リズミックの場合は第2月曜日
		var tDate = getTargetWeek( TY, TM, 2, 1 );
	}
	else
	{
//		// 指定日を取得
		var tDate = getTargetWeek( TY, TM, 2, 1 );
//alert("バックドア"+TY+"/"+TM+"/"+TD+"/"+tDate );
//		if( tDate == TD )
//		{// 指定日があっている
//		}
//		else
//		{
//			alert("設定日がずれているので終了します。");
//			return false;
//		}
	}

//alert(TY+"/"+TM+"/"+TD+"/"+tDate);

	if( TD < tDate )
	{// 指定日が今月の公開日より前の場合
		TM--;
		if( TM < 1 )
		{
			TM = 12;
			TY--;
		}
	}
//alert(TY+"/"+TM+"/"+TD+"/"+tDate);

	// 該当日のメニュー番号を生成
	var item = TM - 7;
	if( item < 0 )
	{
		item += 12;
	}

	//例外処理
	// 年運メニュー(day30)のメニュータイトルに年号が必要なので、調整する
	var YEARSTR = "";
	var YEARPATH = "";
	if( menunoArr[item] == "day30" )
	{// day30の場合は年を+1する
		YEARSTR = Number( TY ) + 1;
		YEARPATH = Number( TY ) + 1;
		YEARPATH = '_' + YEARPATH;
	}
	
//	if( menunoArr[item] == "sb28" )
//	{// su24の場合は年を+1する
//		YEARSTR = Number( TY );
//		YEARPATH = Number( TY );
//		YEARPATH = '_' + YEARPATH;
//	}



//alert(item);
	// 新着メニュー画像の変更
	var imgId = document.getElementById("newItemImg");


	menuTitleArr[item] = menuTitleArr[item].replace(/--TARGET_YEAR--/,YEARSTR);
	imgId.alt=menuTitleArr[item];

	if( menunoArr[item] == "day30" ){
		imgId.src="./images/"+menunoArr[item]+"/button_new"+ YEARSTR + ".gif";
	}else{
		imgId.src="./images/"+menunoArr[item]+"/button_new.gif";
	}
	
	// 新着メニューリンクの変更
	var aId = document.getElementById("newItemA");
	aId.setAttribute("href","https://contents.nifty.com/member/service/g-way/maya/maya/"+menunoArr[item]+"/index.html");

}

// 指定月のn回目の指定曜日の日付を取得する
// input 西暦年、月、第n週(1-5)、曜日( 0:日,1:月,2:火,3:水,4:木,5:金,6:土)
// output 日(1-31)　エラーの場合は0を返す
function getTargetWeek( TY, TM, targetN, targetDay )
{
	var myWeekTbl = new Array( "日","月","火","水","木","金","土" );
	var myWeekCnt = new Array( 0,0,0,0,0,0,0 );

	var FASTDATE = new Date( TY, (TM-1), 1 );
	var myWeek = FASTDATE.getDay();
	var rtnCode = 0;

//	alert(TM+"月"+FASTDATE+"日は"+myWeekTbl[myWeek]+"myWeek["+myWeek+"]"+"曜日");

	if( ( targetN >= 1 && targetN <= 5 ) && ( targetDay >= 0 && targetDay <= 6 ) )
	{
		var i = 0;
		var nFlg = 0;
		for( i = 0; i < 31; i++ )
		{
			var tDay = ( myWeek + i ) % 7;

			myWeekCnt[tDay]++;
			if( myWeekCnt[targetDay] == targetN )
			{
				if( isValidDate( TY, TM, ( i + 1 ) ) )
				{// 日付の妥当性チェック
					nFlg = 1;
					break;
				}
			}
		}
		
		if( nFlg )
		{
			rtnCode = ( 1+i );
		}
	}

	return rtnCode;
}


// 指定月の最終指定曜日の日付を取得する
// input 西暦年、月、曜日( 0:日,1:月,2:火,3:水,4:木,5:金,6:土)
// output 日(1-31)　エラーの場合は0を返す
function getLastDay( TY, TM, targetDay )
{
	myWeekTbl = new Array( "日","月","火","水","木","金","土" );
	var rtnCode = 0;

	if( ( isValidDate( TY, TM, 1 ) ) && ( targetDay >= 0 && targetDay <= 6 ) )
	{

		var LASTDAY = 31;

		if( TM == 4 || TM == 6 || TM == 9 || TM == 11 )
		{
			LASTDAY = 30;
		}
		else if( TM == 2 )
		{
			LASTDAY = 28;
			if( isValidDate( TY, TM, 29 ) )
			{
				LASTDAY = 29;
			}
		}


		var LASTDATE = new Date( TY, (TM-1), LASTDAY );
		var lastDay = LASTDATE.getDay();	// 最終日の曜日を取得

//		alert(TY+"年"+TM+"月"+LASTDAY+"日は"+myWeekTbl[lastDay]+"曜日");

		for( i = 0; i < 7; i++ )
		{
			var tmplastDay = lastDay - i;
			if( tmplastDay < 0 )
			{
				tmplastDay += 7;
			}
			tmplastDay %= 7;

			if( tmplastDay == targetDay )
			{
				break;
			}
		}

		var rtnCode = LASTDAY - i;

//		alert(TY+"年"+TM+"月の最終"+myWeekTbl[tmplastDay]+"曜日は"+rtnCode+"日");

	}

	return rtnCode;
}






function getQuery()
{
	var query = new String( window.location.search );

	var len = query.length;
	if( len >= 10 )
	{
		query = query.substr( 1, len );
//alert( query );
//alert( len );
//alert( query );

		var myData = query.split("&");
//alert( myData );
//alert( myData[1] );

		var nArr = myData.length;
//alert( nArr );

		// クエリーをばらす
		var targetDate;
		var targetMenuno;
		for( var i = 0; i < nArr; i++ )
		{
			var myData2 = myData[i].split("=");

			if( myData2[0] == "date" )
			{
				targetDate = myData2[1];
			}
			if( myData2[0] == "menuno" )
			{
				targetMenuno = myData2[1];
			}

		}
//alert( targetMenuno );

		var ty = targetDate.substr( 0, 4 );
		var tm = targetDate.substr( 4, 2 );
		var td = targetDate.substr( 6, 2 );

		getAutoMenu( ty, tm, td );
	}
}


function isValidDate(y,m,d)
{
	var di = new Date(y,m-1,d);
	if(di.getFullYear() == y && di.getMonth() == m-1 && di.getDate() == d){
		return true;
	}
	return false;
}

//パラメータ取得
function getPramData(query) {
	
	query = query.replace(/\?/,"");
	
	var paramArr = query.split("=");
	
	var ymd;
	for (var i = 0; i < paramArr.length; i++) {
		if (paramArr[i] == "date"){
			ymd = paramArr[i + 1];
		}
	}
	
	var paramData = new Array(3);
	paramData[0] = ymd.substr( 0, 4 );
	paramData[1] = ymd.substr( 4, 2 );
	paramData[2] = ymd.substr( 6, 2 );
	
	return paramData;
}


//各配列の項番を取得する
function getItem() {
	var TY;
	var TM;
	var TD;
	
	var query = new String( window.location.search );
	if(query.length > 0){
		var paramData = new Array(3);
		paramData = getPramData(query);
		TY = paramData[0];
		TM = paramData[1];
		TD = paramData[2];
	}

	if( TY == "0" || TY == null) {
		// 現在の日付を取得する
		var TODAY = new Date();
		TY  = TODAY.getFullYear();
		TM  = TODAY.getMonth()+1;
		TD  = TODAY.getDate();

		// 開発用設定////////
		// 開発期間中の2009/6はリリース日の2009/7に強制変更
		if( TY == 2009 && TM == 6 ) {
			TM = 7;
		}
	}
	// 指定月の公開日を取得
	var tDate = getTargetWeek( TY, TM, 2, 1 );

	if( TD < tDate ) {
	// 指定日が今月の公開日より前の場合
		TM--;
		if( TM < 1 )
		{
			TM = 12;
			TY--;
		}
	}
	
	var item = TM - 7;

	if( item < 0 ) {
		item += 12;
	}
	return item;
}


//新着リード
function getread() {
	
	var item = getItem();
	
	if( menunoArr[item] == "day30" ) { // es43の場合は年を+1する
		
		var TY = "";
		var query = new String( window.location.search );
		if(query.length > 0){
			var paramData = new Array(3);
			paramData = getPramData(query);
			TY = paramData[0];
		}

		if( TY == "0" || TY == "") {
			// 現在の日付を取得する
			var TODAY = new Date();
			TY  = TODAY.getFullYear();
		}
		
		YEARSTR = Number( TY ) + 1;
		YEARPATH = Number( TY ) + 1;
		YEARPATH = '_' + YEARPATH;
		
		menuReadArr[item] = menuReadArr[item].replace(/--TARGET_YEAR--/,YEARSTR);
	}
	
	return menuReadArr[item];
}

//金額
function getPrice() {

	var item = getItem();
	
	var intax = Math.floor(menuPriceArr[item] * 1.05);
	var price = menuPriceArr[item] + "円／件（税込" + intax + "円／件）";
	
	return price;

}

