// リゾートin白浜の処理を格納するオブジェクト。
if (typeof resortin == "undefined" || !resortin) var resortin = {};

// IE6のキャッシュを有効にする。
try {
	document.execCommand("BackgroundImageCache", false, true);
} catch(e) {}

// サイト名。
resortin.siteName = 'リゾートin白浜';

/**
 * bodyタグ(ページ全体を意味する)の文字サイズを設定する。
 * Cookieに文字サイズを保存する。
 *
 * @param size	String:	CSSのfont-sizeに指定する文字列。
 */
resortin.setFontSize = function(size)
{
	size = size || '1.2em';
	$('body').css('font-size', size);
	$.cookie('font-size', size, {expires:365,path:'/'});
	return false;
};

/**
 * 文字サイズを変更するメニューを表示する。
 */
resortin.createFontSizeMenu = function()
{
	var ul = $('<ul class="header_font_size"></ul>');
	ul.append($('<li id="font_size"><span class="reader">フォントサイズ</span></li>'));
	var a = $('<a href="javascript:void();"><span class="reader"></span></a>').css('cursor','pointer');
	ul.append($('<li class="font_size_l btn"></li>').append(a.clone().find('span').text('[大]').end().clickpress(function(){ return resortin.setFontSize('1.4em'); })));
	ul.append($('<li class="font_size_m btn"></li>').append(a.clone().find('span').text('[中]').end().clickpress(function(){ return resortin.setFontSize('1.2em'); })));
	ul.append($('<li class="font_size_s btn"></li>').append(a.clone().find('span').text('[小]').end().clickpress(function(){ return resortin.setFontSize('1.0em'); })));
	$('#header').append(ul);
};

/**
 * 指定の要素にGoogle Analyticsのページトラッカーを設定する。
 *
 * @param target	String:	jQueryで1個を特定可能な
 * @param url		String:	ページトラッカーに設定するURL。
 */
resortin.setPageTracker = function(target, url)
{
	$(target).clickpress(function(){ pageTracker._trackPageview(url); });
};

/**
 * 現在のページのドキュメントルートからの相対パスを取得する。
 */
resortin.getRelativePath = function()
{
	var relPath = '';
	// URLがローカル(file://)の場合に機能しない。
	// for (var i = 0; i < location.pathname.split('/').length - 3; i++) relPath += '../';
	// ローカルルールでショートカットアイコンのパスから取得する。
	relPath = $('link[rel="shortcut icon"]').attr('href').replace('favicon.ico','');
	return relPath;
};

/**
 * 外部リンクにGoogle Analyticsのページトラッカーを設定する。
 */
resortin.setPageTrackerExternalLink = function()
{
	$('a[target="_blank"]').each(function(){
		var href = $(this).get(0).href;
		var reg = /jpg$|jpe$|gif$|png$|pdf$/i;
		if (href.match(reg)) return;
		$(this).clickpress(function(){
			href = '/_external/' + href.replace(/http(|s):\/\//i,'');
			pageTracker._trackPageview(href);
		});
	});
};

/**
 * サムネイル画像のリンクにlightBoxを設定する。
 */
resortin.setLightBox = function()
{
	if (!$('div,span').is('.lightbox')) return;
	var relPath = resortin.getRelativePath();

	var css= $('<link rel="stylesheet" type="text/css" media="screen" href="'+relPath+'common/css/jquery.lightbox-0.5.css" />');
	var js = $('<script type="text/javascript" src="'+relPath+'common/js/lib/jquery.lightbox-0.5.fix.js"></script>');
	$('head').append(css);
	$('head').append(js);

	$('div.lightbox').each(function(){
		$(this).children('a.lightbox').each(function(){
			var img = $(this).children('img');
			$(this).css({'width': img.attr('width') + 'px', 'height': img.attr('height') + 'px'});
			var arr = $('<span class="arr">&nbsp;</span>');
			$(this).append(arr);
		});
		$(this).children('a.lightbox:not(:last)').each(function(){
			$(this).css('margin-right','4px');
		});
	});

	$('div.lightbox,span.lightbox').each(function(){
		var title = $(this).attr('title') || '';
		$(this).children('a.lightbox').lightBox({
			overlayBgColor: '#333',
			overlayOpacity: 0.6,
			imageLoading: relPath + 'common/img/lightbox-ico-loading.gif',
			imageBtnPrev: relPath + 'common/img/lightbox-btn-prev.gif',
			imageBtnNext: relPath + 'common/img/lightbox-btn-next.gif',
			imageBtnClose: relPath + 'common/img/lightbox-btn-close.gif',
			txtOf: '/',
			txtImage: ((title == '') ? '' : title + '｜') + resortin.siteName
		});
	});
};

// メイン処理。
$(function(){

	// 文字サイズを変更して、メニューも表示する。
	resortin.setFontSize($.cookie('font-size'));
	resortin.createFontSizeMenu();

	// lightBoxを設定する。
	resortin.setLightBox();

	// 別ドメインのトラッキングを追従する。
	$('a.link_tracker').each(function(){
		var href = $(this).get(0).href;
		$(this).clickpress(function(){
			pageTracker._link(href);
			//return false;
		});
	});

	// 外部リンクにGoogle Analyticsのページトラッカーを設定する。
	resortin.setPageTrackerExternalLink();

	// SafariとOperaで1pxの背景ズレを修正する。尚、下記CSSの指定を前提条件とする。
	// html { height:100%; margin-bottom:1px; }
	if ($.browser.safari || $.browser.opera) {
		var resize = function(){
			var bg_width = 856; // body_bg.gif、container_bg.gifの幅。
			var diff = bg_width - $('body').width();
			var pos = Math.floor(diff / 2) + (diff % 2);
			$('body').css('background-position', '-' + pos + 'px top');
			$('div#container_outer').css('background-position', '-' + pos + 'px top');
		};
		resize();
		$(window).resize(resize);
	}

	// Safariのラジオボタンのズレを修正(CSSハックの代替)。
	if ($.browser.safari) $('input.radio').css('vertical-align','baseline');

	// 潮汐表のカレンダー年月を設定する。
	var date = new Date();
	var url = 'http://www.saltwater.jp/tide/tide.exe?MODE=1&TYPE=3&YEAR='+date.getFullYear()+'&MONTH='+(date.getMonth()+1)+'&PREFECTURE=12&HARBOR=07';
	var title = '白浜 － 潮汐表／海釣り総合サイト釣りの窓口 [外部Link]';
	$('a[href="http://www.saltwater.jp/tide/"]').attr({'href':url,'title':title});

});

