/**
* ================================================================================
*
* fortune.js ver 2.00.00
*
* Author : KENTA SAKATA
* Since  : 2010/10/06
* Update : 2011/12/27
*
* Licensed under the MIT License
* Copyright (c) 2009-2010 Kenta Sakata
* http://saken.jp/
*
* ================================================================================
*
**/

var FORTUNE_DATA = [

	[{ txt:"あなたの才能に注目が集まる時。積極的に出ると大成功!!また人間関係は来るもの拒まず去るもの追わずの心境で・・・。", points:[2,3,1,4] },{ txt:"ちょっとした油断が大きなミスを。とくにもう大丈夫だと感じた時が一番アブナイ。自宅に居てもコードなどに足を引っかけて骨折。", points:[1,2,1,3] }],
	[{ txt:"好奇心が高まる今月。アート、スポーツ、ファッション、手づくり、ハンドクラフト・・・と、ワクワクしたら即トライ!!", points:[3,2,1,2] },{ txt:"うまい話が起きてきてもすぐに飛びつかない事、その裏には必ず何かある。また吹き出物やイボなど皮膚病関連に注意。", points:[1,1,1,4] }],
	[{ txt:"ずっと目の前にあったものあるいは遠くから眺めてきたものに思い切ってノック・オン・ザ・ドア!!今年の暮れには笑顔のあなた。", points:[3,2,3,4] },{ txt:"積極的に趣味や資格取得に勤しんで。意外なところから認められるかもヨ。体調は小康状態。気晴らしをかねて旅行をどうぞ。", points:[4,2,3,2] }],
	[{ txt:"グルーブ運向上。みんなで取り組む事に意義を感じるようになり、自身も協調性が高まって持ち味を遺憾なく発揮。", points:[4,1,1,3] },{ txt:"うっかりミス連発!!仕事場でもこの傾向は同じ。あわてず丁寧をモットーに。冷えからくるヒビ割れは早めのケアが効果的。", points:[2,3,2,1] }],
	[{ txt:"あなたの人気はうなぎ昇り。苦手な人にこそ積極的にアプローチしてみたら?恋愛運もかなりいい!!押しの一手のみデス。", points:[3,1,4,2] },{ txt:"対人運下降気味。なぜか歯車が噛み合わない今月。約束は必ず守ること。胃腸のトラブルで会社を休んだり休業したり・・・。", points:[1,2,2,1] }],
	[{ txt:"テーマや目的を明確にして掘り下げよう。日頃は大人しいイメージのあなたですが、ガラリとイメチェン、明るくおしゃべりに。", points:[2,3,1,4] },{ txt:"勘違いや思い違いが多くなる今月。何事も落ち着いて考え、時には周りの人の意見も。ヒステリーを起こしたりウツになったり、近頃のあなたは安定しません。", points:[1,1,3,2] }],
	[{ txt:"新しさやファッション性、あるいは好きなものだけ・・・というようにこだわりが強くなる一方。自分とは違うものや異質なものも受け入れる心の広さが必要。", points:[2,3,3,1] },{ txt:"趣味を通じたおつきあいがとくにゲートボール、若い人ならテニスにラクロスなどの球技系がラッキー。脇の腫れ物や靴ズレ、魚の目など自分では手当てしにくい箇所のトラブル。", points:[1,1,3,3] }],
	[{ txt:"傍目には陽気に明るく見せてるあなたですが、人に言えない悩みや苦しみが・・・。何事も長い目で見て解決していくといいでしょう。", points:[1,4,1,2] },{ txt:"物事がうまく運びません。どんな状況になっても対応できる心構えを。突然の不労所得が、宝くじ売り場にレッツゴー!!", points:[1,4,2,2] }],
	[{ txt:"向上心が強くなる年運、緻密な計画性、冷静な判断力や洞察力がモノをいう・・・。今年の暮れには良い結果がまってます。", points:[3,2,1,4] },{ txt:"あきらめかけていた事柄も周りの協力や支援を受けて現実になるか!!肩痛、間接の腫れ、ギックリ腰に要注意。", points:[3,2,1,4] }],
	[{ txt:"待ちに待った最高の年開幕何事も思い通りに運ぶし、人間としての魅力も高まりさわやかな印象が・・・。", points:[4,2,1,4] },{ txt:"目上の人を敬おう!コネやアドバイスが受けられるヨ。肩こりからくる偏頭痛、気になるようなら信頼できる病院へ。", points:[1,1,3,3] }],
	[{ txt:"方向転換の時、心機一転してモチベーションの立て直しを。また恋人募集中の人には朗報が!!素敵な出会いや紹介がありそう。", points:[2,2,4,2] },{ txt:"外見にとらわれ過ぎ、とくに飾りの多いものや派手なものにはご用心。また子宮筋腫など婦人科系の病気。定期検診で早期発見を。", points:[1,2,2,3] }],
	[{ txt:"思わぬ場所や人から悪口をいわれたり、派閥に巻き込まれたり・・・。これを打開するには常に相手の立場に立って物事を考える習慣を。", points:[1,3,1,4] },{ txt:"何にでも好奇心が湧く時、周りの情報にレーダーをしっかり張って。口のうまい人に会うと健康食品などを売りつけられるヨ!!でも自分が満足していればOK!", points:[2,4,1,3] }]
	
];

(function(window) {
	
	var _data = window.FORTUNE_DATA;
	
	/* =======================================================================
	Constructer
	========================================================================== */
	(function() {

		$(document).ready(init);
		return false;
		
	})();
	
	/* =======================================================================
	Init
	========================================================================== */
	function init() {
		
		var lightbox = new Lightbox(getHTML());
		var start    = $("#fortune-start");
		var result   = $("#fortune-result");
		var buttons  = start.find("li");
		
		buttons.mouseover(function() {
			
			$(this).stop().css("opacity",.5).animate({ opacity:1 }, 300);
			return false;
			
		}).click(function() {
			
			start.fadeOut();
			setResult(buttons.index($(this)),result).fadeIn();
			
			return false;
			
		});
		
		$("#fortune-button").click(lightbox.open);
		
		return false;
		
	}
	
	/* =======================================================================
	Get HTML
	========================================================================== */
	function getHTML() {
		
		var html = '';

		html += '<div id="fortune">';
		html += '<div id="fortune-start">';
		html += '<h3>マナちゃん星占い</h3>';
		html += '<ul>';
		
		for (var i = 0; i < 12; i++) {
			html += '<li><img src="files/img/index/fortune/start/navi/' + consecutive(i) + '.png" width="110" height="155" alt="" / ></li>';
		}
		
		html += '</ul>';
		html += '</div>';
		html += '<div id="fortune-result">';
		html += '<div class="img"></div>';
		html += '<div class="info">';
		html += '<ul>';
		html += getFortuneBoxHTML(1);
		html += getFortuneBoxHTML(2);
		html += '</ul>';
		html += '</div>';
		html += '</div>';
		html += '</div>';
		
		function getFortuneBoxHTML(num) {
			
			var html   = '';
			var points = ["全体運","金　運","恋愛運","仕事運"];
			var length = points.length;
			
			html += '<li>';
			html += '<h4>' + num + '月のあなた</h4>';
			html += '<p class="txt"></p>';
			
			for (var i = 0; i < length; i++) {
				
				html += '<dl class="point-' + i + '">';
				html += '<dt>' + points[i] + '</dt>';
				html += '<dd>※</dd>';
				html += '</dl>';
				
			}
			
			html += '</li>';
			
			return html;
			
		}
		
		return html;
		
	}
	
	/* =======================================================================
	Set Result
	========================================================================== */
	function setResult(num,parent) {
		
		var data   = _data[num];
		var img    = parent.children(".img");
		var info   = parent.children(".info");
		var list   = info.find("li");
		var length = list.length;
		var marks  = ["♠","■","♥","♣"];
		
		info.hide().delay(1000).fadeIn(600);
		
		img.html('<img src="files/img/index/fortune/result/' + consecutive(num) + '.gif" width="300" height="400" alt="" />');
		
		img.children("img").hide().load(function() {
			
			$(this).delay(500).fadeIn(1000);
			return false;
		
		});
		
		for (var i = 0; i < length; i++) {
			
			var target = list[i];
			var info   = data[i];
			
			$(target).children(".txt").html(info.txt);
			
			var points = $(target).children("dl");
			
			points.each(function() {
				
				var num    = points.index($(this));
				var mark   = marks[num];
				var length = info.points[num];
				var html   = '';
				
				for (var j = 0; j < length; j++) {
					html += mark;
				}
				
				$(points[num]).children("dd").html(html);
				
			});
			
		}
		
		return parent;
		
	}
	
	/* =======================================================================
	Get Consecutive Number
	========================================================================== */
	function consecutive(i) {

		var zero = "00";
		var num  = "";

		i++;

		if (i > 99)     zero = "";
		else if (i > 9) zero = "0";

		num = zero + String(i);

		return num;

	}
	
})(window);

function Lightbox(includeHTML) {
	
	var _this;
	var _window;
	var _isOpen;
	var _parent;
	var _content;
	
	/* =======================================================================
	Constructer
	========================================================================== */
	(function() {
		
		_this   = {};
		_window = $(window);
		_isOpen = false;
		
		var elements = {

			parent  : "lightbox",
			content : "lightbox-content",
			bg      : "lightbox-bg",
			close   : "lightbox-close"

		}

		$("body").append((function() {
			
			var html = '';

			html += '<div id="' + elements.parent + '">';
			html += '<div id="' + elements.bg + '"></div>';
			html += '<div id="' + elements.content + '">';
			html += includeHTML;
			html += '<p id="' + elements.close + '">CLOSE</p>';
			html += '</div></div>';
			
			return html;
			
		})());

		_parent  = $("#" + elements.parent);
		_content = $("#" + elements.content);

		$("#" + elements.bg).css("opacity",.7).click(close);
		$("#" + elements.close).click(close);
		
		_window.resize(onResize).scroll(onScroll);

		if (navigator.userAgent.indexOf("MSIE 6.") != -1) {

			DD_belatedPNG.fix("#" + elements.close);
			DD_belatedPNG.fix("#" + elements.content + " img");

		}
		
	})();

		/* =======================================================================
		Public - Open
		========================================================================== */
		_this.open = open;
	
	/* =======================================================================
	Open
	========================================================================== */
	function open() {
		
		_isOpen = true;
		
		_parent.stop().fadeIn(300);
		onResize();
		
		return false;
		
	}
	
	/* =======================================================================
	On Resize
	========================================================================== */
	function onResize() {

		if (!_isOpen) return false;
		
		_content.css("left",(_window.width()  - _content.width())  / 2);
		_content.css("top", (_window.height() - _content.height()) / 2);
		
		onScroll();

		return false;

	}

	/* =======================================================================
	On Scroll
	========================================================================== */
	function onScroll() {

		if (!_isOpen) return false;
		_parent.css("top",_window.scrollTop());

		return false;

	}
	
	/* =======================================================================
	Close
	========================================================================== */
	function close() {
		
		_parent.stop().fadeOut(300);
		_isOpen = false;

		return false;
		
	}
	
	return _this;
	
}
