// JavaScript Document

/* ==========================================================================


概要

 1. メールアドレスへのリンク生成

(C) 920
 Lastupdate： 2008.11.16    by 920

========================================================================== */


window.onload = function () {
//	newMark();
//	addCaption();
}


$(document).ready(function(){

	$("a[rel='lightbox[gallery]']").colorbox();
	$("a[rel='lightbox']").colorbox();

	if($('.entryID-682') != null){

		// メッセージをColorBoxで表示
//		$('.detail_list a').colorbox({inline: true, width: '80%', height: '80%'});
		$('.takaaki').colorbox({rel: 'takaaki', inline: true, width: '80%', height: '80%', transition:' fade'});
		$('.hideko').colorbox({rel: 'hideko', inline: true, width: '80%', height: '80%', transition:' fade'});
		$('.masaki').colorbox({rel: 'masaki', inline: true, width: '80%', height: '80%', transition:' fade'});
		$('.pic a').colorbox();

		// Twitterボタンを挿入
		if($('#twitter_btn') != null){
			$('#twitter_btn').html('<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-lang="ja">Tweet</a>');
		}

		// いいねボタンを挿入
		if($('#like_btn') != null){
			$('#like_btn').html('<fb:like href="" layout="standard" show_faces="false" width="450" font=""></fb:like>');
		}
	}


});


/* ----------------------------------------------------------------------
 1. 
---------------------------------------------------------------------- */

// 初期設定
// ----------------------------------------------------------------------


/* ----------------------------------------------------------------------
 . イベントリスナユーティリティ
---------------------------------------------------------------------- */

// イベントリスナの登録と削除
function addListener(element, type, listener) {
  if(element.addEventListener) {
	// W3C DOMのイベントモデルを利用可能な場合
	element.addEventListener(type, listener, false);
  } else if(element.attachEvent) {
	// Internet Explorerの場合
	element.attachEvent('on' + type, listener);
  }
}

function removeListener(element, type, listener){
  if(element.removeEventListener) {
	// W3C DOMのイベントモデルを利用可能な場合
	element.removeEventListener(type, listener, false);
  } else if(element.attachEvent) {
	// Internet Explorerの場合
	element.detachEvent('on' + type, listener);
  }
}

/* ----------------------------------------------------------------------
 . ブラウザのバージョン（メジャー）判定
---------------------------------------------------------------------- */

// Internet Explorer の判定
var isMSIE = /*@cc_on!@*/false;

// バージョンの判定（全てのブラウザのメジャーバージョン）
function getBrowserVersion() { // @return Number:
	return window.opera ? (opera.version().replace(/\d$/, "") - 0) // Opera10 shock
		: parseFloat((/(?:IE |fox\/|ome\/|ion\/)(\d+\.\d)/.
			exec(navigator.userAgent) || [,0])[1]);
}


/* ----------------------------------------------------------------------
 1. メールアドレスへのリンク生成
---------------------------------------------------------------------- */

// メールアドレスのリンク（テキストタイプ）

// メールアドレスを設定
mAddress = new Array();	//メールアドレスをエンコード（数値参照）したもの
mAddress[0] = '&#x79;&#x6f;&#121;a&#x6b;u&#x40;yos&#x69;k&#x61;&#x77;aya&#x2E;&#x6E;&#101;t';	//yoyaku


//メールアドレスにリンク（テキストメールアドレス）
function mail(adNo) {
	targetText = mAddress[adNo];
	document.write(targetText.link('&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + mAddress[adNo]));
}


/* ----------------------------------------------------------------------
 2. 新着マークの表示（classを追加）
-------------------------------------------------------------------------

指定のclassが与えられた要素を判定し、新しければ指定のclassを同要素に追加する。

	class="newItem update__2008-01-01"


ブラウザの動作状況

	Windows
		× Internet Explorer 5.0
		× Internet Explorer 5.5
		○ Internet Explorer 6
		○ Internet Explorer 7
		○ Safari 3
		× Opera 9.27 
	Mac
		○ Safari 3
		× Internet Explorer 5.23
		× Opera 9.25 

---------------------------------------------------------------------- */


// 初期設定
// ----------------------------------------------------------------------


// 新着表示する日数
var recent = 7;

// 新着の情報を判断するエレメントに設定されたクラスネーム
var targetDate = "ifNew";

// 日付データに付加する文字列（日付形式: 2008-01-01 例: update__2008-01-01）
var attachedStr = "update__"; 

// 新着の情報に追加するクラスネーム
var addClass = "newItem";

// ----------------------------------------------------------------------

var currentDate = new Date().getTime();

function newMark(scopeId,targetTag) {

	if(document.getElementsByTagName) {
		
		var items = document.getElementById(scopeId).getElementsByTagName(targetTag);
		
		for(var i=0; i < items.length; i++) {

			if(items[i].getAttribute("class")) {
				var itemClasss = items[i].getAttribute("class");
			}
			else {
				var itemClasss = items[i].getAttribute("className");
			}

			if(itemClasss.match(targetDate)) {
				var itemClass = itemClasss.split(" ");
				var updateTime;
				for (j=0; j<itemClass.length; j++) {
					if(itemClass[j].match(attachedStr)) {
						updateStrs = itemClass[j].split("__");
						updateTime = updateStrs[1];
					}
				}
				var times = updateTime.split("-");
				var entryDate = new Date(times[0], times[1]-1, times[2], 0, 0, 0).getTime();
				var passDay = Math.floor((currentDate - entryDate) / (24 * 60 * 60 * 1000));
				if(recent >= passDay) {

					if(items[i].setAttribute("class",itemClasss + " " + addClass)) {
						items[i].setAttribute("class",itemClasss + " " + addClass);
					}
					else {
						items[i].setAttribute("className",itemClasss + " " + addClass);
					}

				}
			}
		}

	}

}

/*
function newMark() {
	var newElements = document.getElementsByClassName(targetDate);

	if(newElements.length != 0) {
		newElements.each(
			function (item) {
				var updateTime;
				if(document.all) {
					var clsasss = item.getAttribute("className");
				}
				else {
					var clsasss = item.getAttribute("class");
				}
				var cls = clsasss.split(" ");
				for (i=0; i<cls.length; i++) {
					if(cls[i].match(attachedStr)) {
						updateStr = cls[i];
						updateStrs = updateStr.split("__");
						updateTime = updateStrs[1];
					}
				}
				var times = updateTime.split("-");
				var entryDate = new Date(times[0], times[1]-1, times[2], 0, 0, 0).getTime();
				var passDay = Math.floor((currentDate - entryDate) / (24 * 60 * 60 * 1000));
				if(recent >= passDay) {
					Element.addClassName(item, addClass);
				}
			}
		);
	}
}
*/

/* ----------------------------------------------------------------------
 3. フォトギャラリー
------------------------------------------------------------------------- */

// 設置方法
// ----------------------------------------------------------------------

/*

全体のボックスの設定
	id： 任意

大きい画像の設定
	id： 任意

キャプション表示ボックスの設定
	id： 任意

サムネール画像の設定
	alt： キャプションを設定
	longdesc： 大きい画像のurlを設定
	class： 任意

関数の呼び出し
	全体のボックスの後ろに記述
	photoGallery(全体のボックスのid','サムネール画像のclass','大きい画像のid','キャプションを表示するボックスのid)


(X)HTML の例

<div id="gallerys">

<div><img src="" alt="" id="viewerImg" /></div>
<p id="galleryCaption">キャプション</p>

<ul id="thumbnails">
<li><img src="サムネール画像のurl" alt="キャプション" longdesc="大きい画像のurl" class="galleryImg" /></li>
<li><img src="サムネール画像のurl" alt="キャプション" longdesc="大きい画像のurl" class="galleryImg" /></li>
</ul>

</div>

<script type="text/javascript">
<!--
photoGallery('gallerys','galleryImg','viewerImg','galleryCaption');
// -->
</script>

*/

// ----------------------------------------------------------------------


function photoGallery(thumbnails,galleryImg,viewerImg,galleryCaption) {

if(document.getElementsByTagName) {
		
		var images = document.getElementById(thumbnails).getElementsByTagName("img");
		
		for(var i=0; i < images.length; i++) {

			if(images[i].getAttribute("class")) {
				var thumbnailClass = images[i].getAttribute("class");
			}
			else {
				var thumbnailClass = images[i].getAttribute("className");
			}


			if(thumbnailClass == "galleryImg") {
				
				(new Image()).src = images[i].getAttribute("longdesc");
				
				images[i].onmouseover = function() {
					document.getElementById(viewerImg).src = this.getAttribute("longdesc");
					document.getElementById(galleryCaption).innerHTML = this.getAttribute("alt");
				}

			}
		}
	}

}


/* ----------------------------------------------------------------------
 4. ロールオーバー
------------------------------------------------------------------------- */

function rollover(idName) {
	if(document.getElementsByTagName) {
		var images = document.getElementById(idName).getElementsByTagName("img");

		for(var i=0; i < images.length; i++) {

			if(images[i].getAttribute("class")) {
				var targetClass = images[i].getAttribute("class");
			}
			else {
				var targetClass = images[i].getAttribute("className");
			}

			if(targetClass == "rollover") {
				if(images[i].getAttribute("src").match(/\.gif/)) {
					var preImgSrc = images[i].getAttribute("src").replace(/\.gif/, "__rollover.gif");
				}
				if(images[i].getAttribute("src").match(/\.jpg/)) {
					var preImgSrc = images[i].getAttribute("src").replace(/\.jpg/, "__rollover.jpg");
				}
				if(images[i].getAttribute("src").match(/\.png/)) {
					var preImgSrc = images[i].getAttribute("src").replace(/\.png/, "__rollover.png");
				}
				
				(new Image()).src = preImgSrc;
				
				images[i].onmouseover = function() {
					if(this.getAttribute("src").match(/\.gif/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/\.gif/, "__rollover.gif"));
					}
					if(this.getAttribute("src").match(/\.jpg/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/\.jpg/, "__rollover.jpg"));
					}
					if(this.getAttribute("src").match(/\.png/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/\.png/, "__rollover.png"));
					}
				}
				images[i].onmouseout = function() {
					if(this.getAttribute("src").match(/\.gif/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/__rollover\.gif/, ".gif"));
					}
					if(this.getAttribute("src").match(/\.jpg/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/__rollover\.jpg/, ".jpg"));
					}
					if(this.getAttribute("src").match(/\.png/)) {
						this.setAttribute("src", this.getAttribute("src").replace(/__rollover\.png/, ".png"));
					}
				}
			}

		}
	}
}


