jQuery.noConflict();
jQuery(document).ready(function($) {
	// 設定変更
	$( '.setUp a', '#fortuneDf' ).click(function(){
		$( '#fortuneSetup' ).fadeIn( 'fast' );
		return false;
	});
	$( '.setUp a', '#fortuneSetup' ).click(function(){
		$( '#fortuneSetup' ).fadeOut( 'fast' );
		return false;
	});
	// 本日の運勢
	$( 'a.fortuneSeiza, .constellation a, .adviseBottom02 a', '#fortuneDf' ).click(function(){
		$( '#fortuneToday' ).fadeIn( 'fast' );
		return false;
	});
	$( '.setUp a', '#fortuneToday' ).click(function(){
		$( '#fortuneToday' ).fadeOut( 'fast' );
		return false;
	});

	var jsonFile = 'entame/fortune/horoscope/data.json';
	var searchURI = 'http://gsearch.gnavi.co.jp/freeword/search.php?type=032&company=' + encodeURI('株式会社ぐるなび') + '&key=';
	var uitem = new Array('advise','color','item','ranking','total','love','work','money','food');
	var sname = {'ars':'牡羊座','trs':'牡牛座','gmn':'双子座','ccr':'蟹座','leo':'獅子座','vrg':'乙女座','lbr':'天秤座','scp':'蠍座','sgt':'射手座','cpc':'山羊座','aqr':'水瓶座','pcs':'魚座'};
	var sdate = {'ars':'3/21～4/19','trs':'4/20～5/20','gmn':'5/21～6/21','ccr':'6/22～7/22','leo':'7/23～8/22','vrg':'8/23～9/22','lbr':'9/23～10/23','scp':'10/24～11/21','sgt':'11/22～12/21','cpc':'12/22～1/19','aqr':'1/20～2/18','pcs':'2/19～3/20'};
	var udata = new Array();
	var error = 0;
	var nowDate = new Date();
	var nowSec = nowDate.getSeconds();// Cache対策

	$.getJSON( jsonFile + '?' + nowSec, function( jsonData ) {
		$.each( jsonData, function( key, val ) {
			if ( key.match( /^[0-9]{8}$/ ) ) {
				d = new Array( key.substr(0,4), key.substr(4,2), key.substr(6,2) );
				d.push( getWday( d[0], d[1], d[2] ) );
				$.each( val, function( keys, vals ) {
					var seiza = vals.seiza;
					if ( seiza ) {
						udata[ seiza ] = new Array();
						for ( var i in uitem ) {
							var value = ( vals[ uitem[i] ] == undefined ) ? '-' : vals[ uitem[i] ];
							udata[ seiza ][ uitem[i] ] = value;
						}
					}
				});
			} else {
				error = 1;
				return false;
			}
		});
		if ( error ) {
			return false;
		}

		$( '#fortuneTodayDate' ).text( Number(d[1]) + '月' + Number(d[2]) + '日' + '(' + d[3] + ')' );
		$.each( sname, function( key, val ){
			var objRanking = digAdjust( udata[ key ][ 'ranking' ] );
			$( 'li.ranking' + objRanking, '.rankingUp, .rankingDown' ).children( 'a' ).attr( 'class', key ).text( val );
		});

		$( 'a', 'ul.rankingUp, ul.rankingDown' ).click( function() {
			setData( $( this ).attr( 'class' ) );
			return false;
		});

		var mySeiza = $.cookie( 'mySeiza' );
		if ( !mySeiza ) {
			mySeiza = 'ars';
		}
		if ( setData( mySeiza ) ){
			$( '#fortune' ).show();
		}
		$( 'a', 'ul.fortuneList' ).click( function() {
			var mySeiza = $( this ).attr( 'href' );
			if ( confirm( '星座を保存しますか？' ) ) {
				$.cookie( 'mySeiza', mySeiza, { expires: 365 } );
				setData( mySeiza );
				$( '#fortuneSetup' ).fadeOut( 'fast' );
			}
			return false;
		});

	});

	function setData( seiza ) {
		if ( udata[ seiza ] == undefined ) {
			return false;
		}
		$( '>div', '.DetailArea, .DetailArea2' ).attr( 'class', seiza );
		$( '>div>dl', '.DetailArea, .DetailArea2' ).attr( 'class', 'ranking' + digAdjust( udata[ seiza ][ 'ranking' ] ) );
		$( '.fortuneSeiza' ).text( sname[ seiza ] );
		var shortMsg = udata[ seiza ][ 'advise' ].substr( 0, 16 ) + '...';
		$( '.advise p a', '#fortuneDf' ).text( shortMsg );
		$( '.fortuneDate' ).text( '（' + sdate[ seiza ] + '）' );
		$( 'li a', '#fortuneRanking' ).each(function(){
			$( this ).parents( 'li:first' ).removeClass( 'sel' );
		}).filter( '.' + seiza ).each(function(){
			$( this ).parents( 'li:first' ).addClass( 'sel' );
		});
		$( '.totalFate span var', '#fortuneDf, #fortuneToday' ).attr( 'class', 'star0' + udata[ seiza ][ 'total' ] );
		$( '.loveFate span var', '#fortuneToday' ).attr( 'class', 'star0' + udata[ seiza ][ 'love' ] );
		$( '.workFate span var', '#fortuneToday' ).attr( 'class', 'star0' + udata[ seiza ][ 'work' ] );
		$( '.moneyFate span var', '#fortuneToday' ).attr( 'class', 'star0' + udata[ seiza ][ 'money' ] );
		$( '.advise p', '#fortuneToday' ).text( udata[ seiza ][ 'advise' ] );
		$( '.foodFate a', '#fortuneDf, #fortuneToday' ).text( udata[ seiza ][ 'food' ] ).attr( 'href', searchURI + encodeURI(udata[ seiza ][ 'food' ]) );
		$( 'a', 'ul.rankingUp, ul.rankingDown' ).removeClass( 'sel' );
		$( 'a.' + seiza , 'ul.rankingUp, ul.rankingDown' ).addClass( 'sel' );
		return true;
	}

	function getWday( year, month, day ) {
		var wday = new Array('日','月','火','水','木','金','土');
		var myDate = new Date();
		myDate.setFullYear( year, ( month - 1 ), day );
		return wday[ myDate.getDay() ];
	}

	function digAdjust( num ) {
		if ( num < 10 ) {
			num = '0' + String( num );
		}
		return( num );
	}

});

