////////////////////////////////////////////////////////
//
//	ファイル名：auto.js
//
//	概要：三大姓名判断自動化関連
//
//	作成者：s_watanabe
//
//	作成日：2009/04/15
//
//	備考：三大姓名は毎月第2水曜日更新
//
////////////////////////////////////////////////////////
//
//	概要　：うさ用にさらに修正
//	作成者：さかい
//	作成日：2009/07/03
//	備考　：新釈インド星読ミ占は毎月第 2・第 4金曜日発売。
//	　　　　ついでに括弧関係も調整。
//
////////////////////////////////////////////////////////

//********** ここからうさ仕様に修正 **********//
var flashVars;
var menuPrice;

// メニュー番号テーブル
var menunoArr = new Array(12); 

menunoArr[ 0]	= "sp67/jt14";	//  8月
menunoArr[ 1]	= "sp68/ds07";	//  9月
menunoArr[ 2]	= "sp69/pr55";	// 10月
menunoArr[ 3]	= "sp70/pk15";	// 11月
menunoArr[ 4]	= "pk16/sp73";	// 12月
menunoArr[ 5]	= "sp74/pr56";	//  1月
menunoArr[ 6]	= "sp75/sp76";	//  2月
menunoArr[ 7]	= "sp77/sp78";	//  3月
menunoArr[ 8]	= "sp79/sp80";	//  4月
menunoArr[ 9]	= "sp81/sp82";	//  5月
menunoArr[10]	= "sp83/sp84";	//  6月
menunoArr[11]	= "sp85/sp86";	//  7月

// メニュー名テーブル
var menuTitleArr = new Array(12); 

menuTitleArr[ 0]	= "実はすぐそばにいる、結婚も視野に入れるほど真剣にあなたのことを想っている異性〜特徴からふたりの今後まで/あなたとあの人の宿縁で読み解く、この先ふたりがたどる運命全鑑定〜恋の未来から結末まで〜";
menuTitleArr[ 1]	= "黒門インド占星術特別占断・あなたの宿命に刻まれた「結婚」の真実〜時期、相手、恋のシナリオから結婚生活まで〜/この先あなたが必ず迎える「すべての運命が完全に入れ替わる宿命の瞬間」〜そして始まる新しい人生";
menuTitleArr[ 2]	= "「他のいつでもなく、今」〜30代のあなたとめぐり逢うために生まれてきた宿縁の恋人、ふたりの織りなす運命の恋/言えない本音、望み、秘めた欲望……ホロスコープだけが知っている、今あの人が抱く五つの「本当の気持ち」";
menuTitleArr[ 3]	= "恋愛、結婚、仕事、財……一年ごとの運勢まで！　インド占星術特別鑑定・この先10年あなたを待つ運命、その全貌/特別鑑定　あなたに約束された二つの「特別な宿縁」〜生まれる前から定められた恋人、もうすでに出逢っている運命の人";
menuTitleArr[ 4]	= "期間限定スペシャルパック！　--YEAR--年、あなたがたどる運命のすべて/--YEAR--年、あなたを待つ運命の転機〜赤い糸の約束・成功への扉〜";
menuTitleArr[ 5]	= "インド占星術全12ハウス完全鑑定！　あなたに定められた宿命と運命、その全貌/【片想い限定・完全占断】口には出さないあの人の本心、この先ふたりを待つ運命、恋の最終的な結末";
menuTitleArr[ 6]	= "実はそばにいる、あなたがもうすでに出逢っている運命の人〜その特徴と今後ふたりを待つ未来/出会い、転機、成功、運命を変える恋……完全占断・この先あなたが迎える「抗えぬ運命」そのすべて";
menuTitleArr[ 7]	= "もうすぐあなたに訪れる「絶対に結婚につながる大恋愛」〜相手の特徴から恋のゆくえ、結婚後まで/ホロスコープに記された約束　あなたとあの人ふたりがついに「運命の伴侶」になる日";
menuTitleArr[ 8]	= "必ず出逢うと定められているあなたの「運命の結婚相手」〜外見から将来性まで四つの特徴、結ばれる時期、未来〜/インド占星術全惑星完全鑑定！　実はあなたに定められている「人生を変える9つの運命」";
menuTitleArr[ 9]	= "実はすぐ近くにいて、しかもすでにあなたに想いを寄せている「運命を変える大恋愛」の相手となる異性/完全鑑定・あなたとあの人ふたりの相性から導く「本当の相性」「たどる運命」「最終的な関係」";
menuTitleArr[10]	= "【5,000字超鑑定】恋愛、結婚、才能、運命の転機、そして財……年代別詳細占断　「この先あなたが歩む人生」そのすべて/--YEAR--年下半期あなたの恋のすべて";
menuTitleArr[11]	= "もうすぐ出逢う、あなただけを本当に愛し、人生をともに歩んでいく「運命の伴侶」〜出逢いの時期から特徴まで〜/時期までわかる、あなたとあの人ふたりの「結婚」完全鑑定〜運命相性で読み解く宿縁のすべて〜";


// メニューリードテーブル
var menuReadArr = new Array(12); 

menuReadArr[ 0]		= "";
menuReadArr[ 1]		= "";
menuReadArr[ 2]		= "";
menuReadArr[ 3]		= "";
menuReadArr[ 4]		= "";
menuReadArr[ 5]		= "";
menuReadArr[ 6]		= "";
menuReadArr[ 7]		= "";
menuReadArr[ 8]		= "";
menuReadArr[ 9]		= "";
menuReadArr[10]		= "";
menuReadArr[11]		= "";

// 価格データ
var menuPriceArr = new Array( 12 );

menuPriceArr[  0 ] = "500/500";
menuPriceArr[  1 ] = "800/500";
menuPriceArr[  2 ] = "500/500";
menuPriceArr[  3 ] = "800/700";
menuPriceArr[  4 ] = "1000/500";
menuPriceArr[  5 ] = "1000/500";
menuPriceArr[  6 ] = "500/1000";
menuPriceArr[  7 ] = "500/500";
menuPriceArr[  8 ] = "800/1000";
menuPriceArr[  9 ] = "500/800";
menuPriceArr[ 10 ] = "1000/500";
menuPriceArr[ 11 ] = "500/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/7はリリース日の2009/8/14に強制変更
		if( TY == 2009 && TM < 8 ){
			TM = 8;
			TD = 14;
		}
		//////////////////////

		// 指定月の公開日を取得
//********** ここからうさ仕様に修正 **********//
		// うさは第２・第４金曜日
		var tDate1 = getTargetWeek( TY, TM, 2, 5 );
		var tDate2 = getTargetWeek( TY, TM, 4, 5 );
	} else 	{ // 指定日を取得
		// うさは第２・第４金曜日
		var tDate1 = getTargetWeek( TY, TM, 2, 5 );
		var tDate2 = getTargetWeek( TY, TM, 4, 5 );
	}

//alert(TY+"/"+TM+"/"+TD+"/"+tDate);

	var section; // 前半期更新( 0 )か後半期更新( 1 )かをチェック。
	if( TD < tDate1 ){ // 指定日が今月の公開日より前の場合
		TM--;
		if( TM < 1 ){
			TM = 12;
			TY--;
		}
		section = 1;
	} else if( TD < tDate2 ){
		section = 0;
	} else {
		section = 1;
	}
//alert(TY+"/"+TM+"/"+TD+"/"+tDate);

	// 該当日のメニュー番号を生成
	var item = TM - 8;
	if( item < 0 ){
		item += 12;
	}

	// アイテム情報を取得する
	var menuNoInfo = menunoArr[ item ];
	var menuTitleInfo = menuTitleArr[ item ];
	var menuPriceInfo = menuPriceArr[ item ];
	
	// 前後半で区別する
	var menuNoArray = menuNoInfo.split( "/" );
	var menuTitleInfo = menuTitleInfo.split( "/" );
	var menuPriceInfo = menuPriceInfo.split( "/" );

	var menuNo = menuNoArray[ section ];
	var menuTitle = menuTitleInfo[ section ];
	var menuPrice = menuPriceInfo[ section ];

	// 年運用の西暦年数を算出する
	var seasonYear = Number( TY ) + ( ( Number( TM ) < 10 ) ? 0 : +1 );

//alert(item);

	// 年運用の処理
	var YEARSTR = "";
	var YEARPATH = "";
	if( menunoArr[ item ] == "pk16" || menunoArr[ item ] == "sp71"
			|| menunoArr[ item ] == "sp72" || menunoArr[ item ] == "sp73" || menunoArr[ item ] == "sp84" ){
		menuTitle = menuTitle.replace( /--YEAR--/g, String( seasonYear ) );
	}

	// 新着swfの設定
	var linkAddress = "https://contents.nifty.com/member/service/g-way/brahma/brahma/";
	flashVars = "imageURL=./images/" + menuNo + "/flnew.jpg&linkA=" + linkAddress + menuNo + "/index.html&jsFile=./js/price" + menuPrice + ".txt";
//********** ここまでうさ仕様に修正 **********//

}

// 指定月の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( targetDate );
//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;
}


