/**
 * BODY要素のID属性からページのディレクトリ階層を取得する
 * 
 * @param	String	id			ID属性
 * @return	Array	tree		サイトルートから該当ページまでのディレクトリ名およびファイル名
 * @return	String	category	該当ページの所属する大カテゴリ
 * @return	Number	depth		サイトルートから該当ページまでのディレクトリ階層
 * @return	String	backPath	該当ページからサイトルートへのバックパス
 */
function analyzePath(id) {
	var startPos = 0, tree = new Array();
	
	if (/^page[A-Z]/.test(id))
		id = id.substr(4);
	 else
		return false;
	
	// ID属性の値からページのパスを取得
	if (/^Topics\d{10}$/.test(id)) {
		tree[0] = 'topics';
		tree[1] = id.substr(6, 4);
		tree[2] = id.substr(10);
	} else {
		for (var i = 1; i < id.length; i++) {
			if (i < id.length - 1) {
				if (/^[A-Z]$/.test(id.charAt(i))) {
					tree.push(id.substr(startPos, i - startPos).toLowerCase());
					startPos = i;
				}
			} else
				tree.push(id.substr(startPos).toLowerCase() + '.html');
		}
	}
	
	// 大カテゴリを取得
	var category = (tree.length >= 2)? tree[0]: null;
	
	// 階層（ルートからのサブディレクトリ数）を取得
	var depth = tree.length - 1;
	var backPath = '';
	
	for (var i = 0; i < depth; i++)
		backPath += '../';
	
	return {
		'tree': tree,
		'category': category,
		'depth': depth,
		'backPath': backPath
	};
}

/**
 * カテゴリ内のナビゲーションメニューを記述する
 * 
 * @param	Void
 * @return	Boolean	正常に記述が行われたか否か
 */
function loadCategoryNav() {
	var id = $('body').get(0).id;
	var categoryTitles = {
		'clytia': '6つの特徴',
		'products': 'クリティアのご紹介',
		'quality': '安全と品質',
		'voice': 'お客さまの声',
		'price': '料金',
		'delivery': '宅配方法',
		'request': 'お申し込み方法',
		'faq': 'よくあるご質問',
		'contact': 'お問い合わせ',
		'topics': 'トピックス',
		'company': '会社概要',
		'special': '特集',
		'campaign': 'キャンペーン',
		'partner': '販売代理店募集'
	};
	var categoryNavItems = {
		'clytia': [
			{	'path': 'clytia/',				'title': '6つの特徴'						},
			{	'path': 'clytia/intro/',		'title': '毎日のおいしい水、クリティア'					},
			{	'path': 'clytia/lifestyle/',	'title': 'スリムなデザインサーバー新登場！'			},
			{	'path': 'clytia/safety1/',		'title': '安全その1<br />産婦人科でも、クリティア'		},
			{	'path': 'clytia/safety2/',		'title': '安全その2<br />飲み終わるまで、おなじおいしさ'	},
			{	'path': 'clytia/delivery/',		'title': '日時指定、再配達OK！'						},
			{	'path': 'clytia/mtfuji/',		'title': 'バナジウムたっぷりの、うれしい水'				}
		],
		'products':	[
			{	'path': 'products/clytia/',		'title': 'クリティアをお使いいただくために'},
			{	'path': 'products/bib/',		'title': 'クリティアデイリー'		},
			{	'path': 'products/movie/',		'title': '動画で紹介「クリティア」'	},
			{	'path': 'quality/',				'title': '安全と品質証明について'	},
			{	'path': 'voice/index.html',		'title': 'お客さまの声'			}
		],
		'quality': [
			{	'path': 'quality/',				'title': '安全と品質証明について'	},
			{	'path':	'quality/proof.html',	'title': '試験成績証明書'			},
			{	'path': 'quality/daily.html',	'title': '放射線量検査状況について'	}
		],
		'voice': [
			{	'path': 'voice/',				'title': 'お客さまの声'			},
			{	'path': 'voice/voice1.html',	'title': '遠藤久美子様'			},
			{	'path': 'voice/voice2.html',	'title': '株式会社イーエムエー様'	},
			{	'path': 'voice/voice3.html',	'title': '王道居酒屋のりを様'		}
		],
		'price': [
			{	'path': 'price/',	'title': 'ご利用料金'	}
		],
		'delivery': [
			{	'path': 'delivery/',	'title': '宅配方法'	}
		],
		'request': [
			{	'path': 'request/',	'title': 'お申し込み方法'	}
		],
		'faq': [
			{	'path': 'faq/',					'title': 'よくあるご質問'						},
			{	'path': 'faq/#water',			'title': 'クリティアの水について'				},
			{	'path': 'faq/#server',			'title': 'ウォーターサーバーについて'			},
			{	'path':	'faq/#powerfailure',	'title': '停電によるウォーターサーバーの取り扱いについて'	},
			{	'path': 'faq/#rental',			'title': 'お申し込み・ご契約について'			},
			{	'path': 'faq/#delivery',		'title': '宅配について'						},
			{	'path': 'faq/#order',			'title': 'ご注文・お支払いについて'				}
		],
		'topics': [
			{	'path': 'topics/',	'title': 'トピックス一覧'	}
		],
		'company': [
			{	'path': 'company/',				'title': '企業情報'			},
			{	'path': 'company/winning.html',	'title': 'クリティアの受賞歴'	},
			{	'path': 'company/#saiyo',				'title': '採用情報'	}
		],
		'special': [
			{	'path': 'special/',			'title': '特集'							},
			{	'path': 'special/message/',	'title': '「クリティア」開発者インタビュー'	},
			{	'path': 'special/factory/',	'title': '工場に密着取材！'				}
		],
		'campaign': [
			{	'path': 'campaign/',	'title': 'キャンペーン'	}
		],
		'partner': [
			{	'path': 'partner/',	'title': '販売パートナー募集'	},
			{	'path': 'partner/partner_01.html',	'title': 'ウォーターサーバー事業とは？'	},
			{	'path': 'partner/partner_02.html',	'title': 'ウォーターダイレクトの魅力'	},
			{	'path': 'partner/partner_03.html',	'title': '「天然水」へのこだわり'	},
			{	'path': 'partner/partner_04.html',	'title': '契約形態のご紹介'	},
			{	'path': 'partner/partner_05.html',	'title': '販売パートナーになるには'	},
			{	'path': 'partner/partner_07.html',	'title': '受賞歴'	}
		]
	};
	
	// BODY要素にID属性が指定されているかチェック
	if (id === "") {
		window.alert('loadCategoryNav()\nエラー: BODY要素にID属性がありません。');
		return false;
	}
	
	// BODY要素のID属性が page縲鰀 で始まっているかチェック
	if (!/^page[A-Z]/.test(id)) {
		window.alert('loadCategoryNav()\nエラー: BODY要素のID属性の書式が正しくありません。: "' + id + '"');
		return false;
	}
	
	// ID属性からパス情報を取得
	var path = new Object();
	path = analyzePath(id);
	
	// ヘッダを生成
	// ヘッダ画像は各カテゴリのディレクトリ内に共通ファイル名 img/categorynav_title.png で格納する
	var categoryNavHeader = '<p><img src="' + path.backPath + path.category + '/img/categorynav_title.png" alt="' + categoryTitles[path.category] + '" /></p>';
	
	// リストを生成
	var categoryNavList = '<ul class="s_png">';
	
	for (var i = 0; i < categoryNavItems[path.category].length; i++) {
		categoryNavList += (i == 0)? '<li class="first">': '<li>';
		categoryNavList += '<a class="s_png" href="' + path.backPath + categoryNavItems[path.category][i].path + '">' + categoryNavItems[path.category][i].title + '</a></li>';
	}
	
	categoryNavList += '</ul>';
	
	// 出力
	$('#categoryNav').html(categoryNavHeader + categoryNavList);
	return true;
}

/**
 * サイトマップを記述する
 * 
 * @param	Void
 * @return	Boolean	正常に記述が行われたか否か
 */
function loadSiteMap() {
	var id = $('body').get(0).id, siteMapStr = '<ul>';
	var siteMapItem = [
		[
			{	'level': 1,	'title': '6つの特徴',									'path': 'clytia/'			},
			{	'level': 2,	'title': '毎日のおいしい水、クリティア',				'path': 'clytia/intro/'		},
			{	'level': 2,	'title': 'スリムなデザインサーバー新登場！',			'path': 'clytia/lifestyle/'	},
			{	'level': 2,	'title': '安全その1<br />産婦人科でも、クリティア',		'path': 'clytia/safety1/'	},
			{	'level': 2,	'title': '安全その2<br />飲み終わるまで、おなじおいしさ',	'path': 'clytia/safety2/'	},
			{	'level': 2,	'title': '日時指定・再配達OK！',						'path': 'clytia/delivery/'	},
			{	'level': 2,	'title': 'バナジウムたっぷり',							'path': 'clytia/mtfuji/'	}
		],
		[
			{	'level': 1,	'title': 'クリティアのご紹介',			'path': null				},
			{	'level': 2,	'title': 'クリティアをお使いいただくために','path': 'products/clytia/'		},
			{	'level': 2,	'title': 'クリティアデイリー',			'path': 'products/bib/'			},
			{	'level': 2,	'title': '動画で紹介「クリティア」',	'path': 'products/movie/'		},
			{	'level': 2,	'title': '安全と品質証明について',		'path': 'quality/'				},
			{	'level': 2,	'title': '試験成績証明書',			'path': 'quality/proof.html'	},
			{	'level': 2,	'title': '放射線量検査状況について',	'path': 'quality/daily.html'	},
			{	'level': 2,	'title': 'お客さまの声',				'path': 'voice/'				}
		],
		[
			{	'level': 1,	'title': 'ご購入ガイド',	'path': null				},
			{	'level': 2,	'title': '料金',			'path': 'price/'			},
			{	'level': 2,	'title': '宅配方法',		'path': 'delivery/'			},
			{	'level': 2,	'title': 'お申し込み方法',	'path': 'request/'			},
			{	'level': 2,	'title': 'キャンペーン',	'path': 'campaign/'			},
			{	'level': 2,	'title': '会員ログイン',	'path': 'https://my.clytia.jp/foru/p/Auth/Login'	}
		],
		[
			{	'level': 1,	'title': 'よくあるご質問',					'path': 'faq/'									},
			{	'level': 2,	'title': 'クリティアの水について',				'path': 'faq/#water'							},
			{	'level': 2,	'title': 'ウォーターサーバーについて',			'path': 'faq/#server'							},
			{	'level': 2,	'title': '停電によるウォーターサーバーの取り扱いについて',	'path': 'faq/#powerfailure'						},
			{	'level': 2,	'title': 'お申し込み・ご契約について',			'path': 'faq/#rental'							},
			{	'level': 2,	'title': '宅配について',						'path': 'faq/#delivery'							},
			{	'level': 2,	'title': 'ご注文・お支払い方法について',		'path': 'faq/#order'							},
			{	'level': 1,	'title': 'お問い合わせ',						'path': 'http://www.clytia.jp/gotoinquiry.html'	}
		],
		[
			{	'level': 1,	'title': '会社概要',					'path': 'company/'											},
			{	'level': 2,	'title': 'クリティアの受賞歴',			'path': 'company/winning.html'								},
			{	'level': 2,	'title': 'トピックス一覧',			'path': 'topics/'											},
			{	'level': 2,	'title': '販売パートナー募集',			'path': 'partner/'											},
			{	'level': 2,	'title': '個人情報保護方針',			'path': 'http://www.waterdirect.co.jp/privacypolicy.html'	},
			{	'level': 2,	'title': '特定商取引法に基づく表記',	'path': 'http://www.waterdirect.co.jp/info_ecommerce.html'	},
			{	'level': 2,	'title': '利用規約',					'path': 'http://www.waterdirect.co.jp/kiyaku.html'			},
			{	'level': 2,	'title': '採用情報',					'path': 'company/#saiyo'									}
		]
	];
	
	// ID属性からパス情報を取得
	var path = new Object();
	path = analyzePath(id);
	
	for (var i = 0; i < siteMapItem.length; i++) {
		siteMapStr += '<li><ul>';
		
		for (var j = 0; j < siteMapItem[i].length; j++) {
			var thisLevel = siteMapItem[i][j].level;
			siteMapStr += '<li>';
			siteMapStr += (siteMapItem[i][j].path)? '<a href="' + ((siteMapItem[i][j].path.substring(0, 4) == 'http')? siteMapItem[i][j].path + '" target="_blank': path.backPath + siteMapItem[i][j].path) + '">' + siteMapItem[i][j].title + '</a>': siteMapItem[i][j].title;
			
			if (j < siteMapItem[i].length - 1) {
				var nextLevel = siteMapItem[i][j + 1].level;
				
				if ((thisLevel == 1 && nextLevel == 1) || (thisLevel == 2 && nextLevel == 2))
					siteMapStr += '</li>';
				 else if (thisLevel == 1 && nextLevel == 2)
					siteMapStr += '<ul>';
				 else if (thisLevel == 2 && nextLevel == 1)
					siteMapStr += '</li></ul></li>';
			} else {
				if (thisLevel == 1)
					siteMapStr += '</li>';
				 else if (thisLevel == 2)
					siteMapStr += '</li></ul></li>';
			}
		}
		
		siteMapStr += '</ul></li>';
	}
	
	siteMapStr += '</ul>';
	$('#sitemap').html(siteMapStr);
}

         function slideSwitch() {
             var $active = $('#slideshow li.active');
             if ( $active.length == 0 ) $active = $('#slideshow li:last');
             var $next =  $active.next().length ? $active.next() : $('#slideshow li:first');
             $active.addClass('last-active');
             $next.css({opacity: 0.0})
                 .addClass('active')
                 .animate({opacity: 1.0}, 1000, function() {
                     $active.removeClass('active last-active');
               });
         }
         $(function() {
             setInterval( "slideSwitch()", 4500 );
         });

$(document).ready(function(){
	
	$('[ref=toggleBtn]').click(function(){
		$('[ref=windowArea]').toggle(500);
	});
});
