﻿/*
 * top クラス
 *
 * このクラスを使用する場合は、先に jQuery.js（ver 1.2.X 以上） を読み込む必要があります。
 *
 * jQuery：     http://jquery.com/
 *
 * @author      Hiroaki Wakamatsu
 * @copyright  ZYYX Inc. <http://www.zyyx.jp/>
 * @version     1.0
 *
 */

/**
 * 表示ブラウザがIE6か検証する
 */
var isIE = false;
var isIE6 = false;
if (navigator.userAgent.match(/MSIE (\d\.\d+)/)) {
	isIE = true;
	if (RegExp.$1 == "6.0") isIE6 = true;
}


/**
 * KeywordSearch class のコンストラクタ
 */
var KeywordSearch = {};

(function() {

	KeywordSearch.textField = null;

	/*
	 * KeywordSearch class ： setEvent メソッド
	 * 
	 * 検索窓にイベントを付加する
	 */
	KeywordSearch.setEvent = function() {
		KeywordSearch.textField = $("input[type=text]", "#topKeywordSearch");
		KeywordSearch.checkValue();

		KeywordSearch.textField.focus(function() {
			KeywordSearch.textField.addClass("focus");
		});

		KeywordSearch.textField.blur(function() {
			KeywordSearch.checkValue();
		});

	};

	/*
	 * KeywordSearch class ： checkValue メソッド
	 * 
	 * 検索窓に値が入力されているかをチェックする
	 */
	KeywordSearch.checkValue = function() {
		if (KeywordSearch.textField.val() == "") {
			KeywordSearch.textField.removeClass("focus");
		} else {
			KeywordSearch.textField.addClass("focus");
		}
	};

})();


/**
 * TabChange class のコンストラクタ
 */
var TabChange = {};

(function() {
	TabChange.displayTabId = "topNewsListAll";

	/*
	 * TabChange class ： focusTab メソッド
	 * 
	 * タブが切り替わった時の処理
	 */
	TabChange.focusTab = function(targetId) {
		if (TabChange.displayTabId) {
			$("#" + TabChange.displayTabId).css("display", "none");
			if (isIE6) {
				$(".btnMore", "#topNewsRelease").css("position", "relative");
				$("#footer").css("position", "relative");
			}
		}
		$("#" + targetId).css("display", "block");
			if (isIE6) {
				$(".btnMore", "#topNewsRelease").css("position", "absolute");
				$("#footer").css("position", "absolute");
			}
		TabChange.displayTabId = targetId;
	};

})();


/**
 * MainVisual class のコンストラクタ
 * 
 * MainVisual のFlash表記には、swfobject.js が必要です
 * 
 */
var MainVisual = {};

(function() {
	MainVisual.swfUrl = Setting.rootPath + "/top.swf";
	MainVisual.searchWinUrl = Setting.rootPath + "/common/media/topSearchKeyword.swf";

	/*
	 * MainVisual class ： load メソッド
	 * 
	 * メインビジュアルを書き出す
	 */
	MainVisual.load = function() {
		
		
		if($.os.name == 'iphone' || $.os.name == 'ipad' || $.os.name == 'ipod') {
			/*
			 *JavaScript版トップメニュー
			 *Flashを読み込まなかった場合、以下の処理を実行する
			 *
			*/
			
			$(".JSError").css({display:"none"});
			$(".flashError").css({display:"none"});
			$("#topMainVisualScreen").css({display:"none"});
			$("#topMainVisualJS").css({display:"block"});
			
			var $pre=null;
			var $con=$("div#topMainVisualJS div.contentMenu");
			$con.not(":first").css({display:"none"});
			var $items=$con.children();
			
			//読込直後の動作
			//eq()で最初のノードを検知
			$("div#topMainVisualJS div#topNavi ul li").eq(0).find("img.normalMenu").css({display:"none"});
			$("div#topMainVisualJS div#topNavi ul li").eq(0).find("img.activeMenu").css({display:"block"});
			
			$items.find("li").css({opacity: 0});
			$items.find("span.productsImage").css({top: -30});
			$items.find("span.shadowImage").css({bottom: 0});
			$pre=$con.eq(0);
			$con.eq(0).children().find("li").each(function(i){
				$(this).stop().delay(i*100).animate({opacity: 1},5);
				$(this).find("span.productsImage").stop().delay(i*100).animate({top: 0},5);
				$(this).find("span.shadowImage").stop().delay(i*100).animate({bottom: 30},5);
				
				$(this).bind("touchstart",function(){
					$(this).find("span.productsImage").animate({top: -15},5);
					$(this).find("span.shadowImage").animate({bottom: 15},5);
				}).bind("touchend",function(){
					$(this).find("span.productsImage").animate({top: 0},5);
					$(this).find("span.shadowImage").animate({bottom: 30},5);
				}).bind("mouseover",function(){
					$(this).find("span.productsImage").animate({top: -15},5);
					$(this).find("span.shadowImage").animate({bottom: 15},5);
				}).bind("mouseout",function(){
					$(this).find("span.productsImage").animate({top: 0},5);
					$(this).find("span.shadowImage").animate({bottom: 30},5);
				})
			});
			
			//上部タブをクリックした際の動作
			//クリックしたカテゴリの序列を取得し、eq()で表示するコンテンツを切り替える
			$("div#topMainVisualJS div#topNavi ul li img.normalMenu").click(function(){
				//カテゴリをクリックするとタイマーを停止する
				$(document).stopTime('timer01');
				
				//メニューを全て通常に
				$("div#topMainVisualJS div#topNavi ul li img.activeMenu").css({display:"none"});
				$("div#topMainVisualJS div#topNavi ul li img.normalMenu").css({display:"block"});
				//クリックしたカテゴリをアクティブ表示にする
				$(this).parent().parent().find("img.activeMenu").css({display:"block"});
				$(this).parent().parent().find("img.normalMenu").css({display:"none"});
				
				var t=$(this).parent().parent().index();
				//
				$("div#topMainVisualJS div.contentMenu").find("li").css({opacity:0});
				$("div#topMainVisualJS div.contentMenu").find("span.productsImage").css({top: -30});
				$("div#topMainVisualJS div.contentMenu").find("span.shadowImage").css({bottom: 0});
				$pre.css({display:"none"});
				//
				$con.eq(t).css({display:"block"});
				$con.eq(t).children().find("li").each(function(i){
					$(this).stop().delay(i*100).animate({opacity:1},5);
					$(this).find("span.productsImage").stop().delay(i*100).animate({top: 0},5);
					$(this).find("span.shadowImage").stop().delay(i*100).animate({bottom: 30},5);
					
					$(this).bind("touchstart",function(){
						$(this).find("span.productsImage").animate({top: -15},5);
						$(this).find("span.shadowImage").animate({bottom: 15},5);
					}).bind("touchend",function(){
						$(this).find("span.productsImage").animate({top: 0},5);
						$(this).find("span.shadowImage").animate({bottom: 30},5);
					}).bind("mouseover",function(){
						$(this).find("span.productsImage").animate({top: -15},5);
						$(this).find("span.shadowImage").animate({bottom: 15},5);
					}).bind("mouseout",function(){
						$(this).find("span.productsImage").animate({top: 0},5);
						$(this).find("span.shadowImage").animate({bottom: 30},5);
					})
				});
				//
				$pre=$con.eq(t);
			});
			
			
			//タイマー設定。現在は10秒ごとにカテゴリが入れ替わるよう設定。
			var menuNum = 0;
			
			$(document).everyTime(10000,'timer01',function(){
				if (menuNum == 7) {
					menuNum = 0;
				} else {
					menuNum++;
				}
				
				//メニューを全て通常に戻す
				$("div#topMainVisualJS div#topNavi ul li").find("img.normalMenu").css({display:"block"});
				$("div#topMainVisualJS div#topNavi ul li").find("img.activeMenu").css({display:"none"});
				//クリックしたカテゴリをアクティブ表示にする
				$("div#topMainVisualJS div#topNavi ul li").eq(menuNum).find("img.normalMenu").css({display:"none"});
				$("div#topMainVisualJS div#topNavi ul li").eq(menuNum).find("img.activeMenu").css({display:"block"});
				
				
				
				//
				$("div#topMainVisualJS div.contentMenu").find("li").css({opacity:0});
				$("div#topMainVisualJS div.contentMenu").find("span.productsImage").css({top: -30});
				$("div#topMainVisualJS div.contentMenu").find("span.shadowImage").css({bottom: 0});
				$pre.css({display:"none"});
				//
				$con.eq(menuNum).css({display:"block"});
				$con.eq(menuNum).children().find("li").each(function(i){
					$(this).stop().delay(i*100).animate({opacity:1},5);
					$(this).find("span.productsImage").stop().delay(i*100).animate({top: 0},5);
					$(this).find("span.shadowImage").stop().delay(i*100).animate({bottom: 30},5);
					
					$(this).bind("touchstart",function(){
						$(this).find("span.productsImage").animate({top: -15},5);
						$(this).find("span.shadowImage").animate({bottom: 15},5);
					}).bind("touchend",function(){
						$(this).find("span.productsImage").animate({top: 0},5);
						$(this).find("span.shadowImage").animate({bottom: 30},5);
					}).bind("mouseover",function(){
						$(this).find("span.productsImage").animate({top: -15},5);
						$(this).find("span.shadowImage").animate({bottom: 15},5);
					}).bind("mouseout",function(){
						$(this).find("span.productsImage").animate({top: 0},5);
						$(this).find("span.shadowImage").animate({bottom: 30},5);
					})
				});
				$pre=$con.eq(menuNum);
			});
			/*
			 *
			 *JavaScript版トップメニュー　終了
			 *
			*/
			
			
			
		} else {
			/*
			 *
			 *PC向けの動作
			 *
			*/
			if (parseInt(Flash.getVersion(), 9) < Setting.flashVersion) {
				//FlashPlayerが最新でなかった場合の処理
				$(".JSError").css({display:"none"});
				$(".flashError").css({display:"block"});
				$("#topMainVisualJS").css({display:"none"});
				$("#topMainVisualScreen").css({display:"none"});
			} else {
				$(".JSError").css({display:"none"});
				$(".flashError").css({display:"none"});
				$("#topMainVisualJS").css({display:"none"});
				$("#topMainVisualScreen").css({display:"block"});
				
				var flashvars = {
					adnumber: '0'
					};
				var params = {
					allowScriptAccess: 'sameDomain',
					allowFullScreen: 'false',
					wmode: 'transparent',
					menu: 'false'
				};
				var attributes = {};
				swfobject.embedSWF(MainVisual.swfUrl, "topMainVisualScreen", "800", "325", Setting.flashVersion + ".0.0", null, flashvars, params, attributes);
	
				if (isIE && (6 <= parseInt(jQuery.browser.version, 10) && parseInt(jQuery.browser.version, 10) < 8)) {
					$("#topMainVisualScreen").css("width", $(window).width() + "px");
					$(window).resize(function() {
						$("#topMainVisualScreen").css("width", $(window).width() + "px");
					});
				}
			/*
			 *
			 *PC向けの動作　終了
			 *
			*/
			}
		}
	};

	/*
	 * MainVisual class ： loadSearchWin メソッド
	 * 
	 * 検索窓を書き出す
	 */
	MainVisual.loadSearchWin = function() {
		//$("img", "#topKeywordSearchTitle").css("display", "none");
		$("#topKeywordSearchTitle").append("<span id='topKeywordFlash'></span>");

		var flashvars = {};
		var params = {
			allowScriptAccess: 'sameDomain',
			allowFullScreen: 'false',
			wmode: 'transparent',
			menu: 'false'
		};
		var attributes = {};

		swfobject.embedSWF(MainVisual.searchWinUrl, "topKeywordFlash", "740", "21", Setting.flashVersion + ".0.0", null, flashvars, params, attributes);
	};

})();



var topNews = {};

(function() {
	//////////////////////////////////////////////////
	//XMLパースの開始
	//////////////////////////////////////////////////
	var maxNewsNumber = 0;
	var nowNewsNumber = 0;
	
	topNews.setNews = function() {
		//iPhone・iPad・iPod toutchでの処理
		$.ajax({
			url: 'topnews.xml',
			type: 'GET',
			cache: false,
			dataType: 'xml',
			contentType : "text/xml;charset=UTF-8",
			
			success:function(data){
				//////////////////////////////////////////////////
				//読み込み時の処理
				//////////////////////////////////////////////////
				
				//Flash表示・非表示の設定
				var enableflash = $("enableflash",data).text();
				//表示・非表示の設定
				var enablenews = $("enablenews",data).text();
				//新着情報タイトル
				var newstitle = $("newstitle",data).text();
				//バナー差替時間
				var slidetime = $("slidetime",data).text() * 1000;
				//バナー自動切替の再起動時間
				var restarttime = $("restarttime",data).text() * 1000;
				
				$('div#topNews h2.topNewsHead').text(newstitle);
				
				
				if ($.os.name == 'iphone' || $.os.name == 'ipad' || $.os.name == 'ipod') {
					if (enablenews == 'yes') {
						$("div#topFlashBunner").css({display:"none"});
						$("div#topNews").css({display:"block"});
						
						$("item",data).each(function(){
							maxNewsNumber++;
							var imgurl = $("imgurl",this).text();
							var linkurl = $("linkurl",this).text();
							var target = $("target",this).text();
							
							if (target == "_blank") {
								$('div#topNews ul.bannerList').append('<li><a href="'+ linkurl +'" target="_blank">' + '<img src="'+ imgurl +'" width="196" height="75" /></a></li>');
							} else {
								$('div#topNews ul.bannerList').append('<li><a href="'+ linkurl +'">' + '<img src="'+ imgurl +'" width="196" height="75" /></a></li>');
							}
						});
						$("div#topNews ul.bannerList li").css({display:"none"});
						$("div#topNews ul.bannerList li").eq(0).css({display:"block"});
						$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
						
						
						//////////////////////////////////////////////////
						//ナビゲーション部分の設定
						//////////////////////////////////////////////////
						//左ボタン
						$('div#topNews ul.newsNavi li.leftBtn').click(function(){
							$("div#topNews").stopTime('timer02');
							$("div#topNews").stopTime('timer03');
							$("div#topNews").oneTime(restarttime ,'timer03',function(){
								//スライドを一つ進める										   
								nowNewsNumber++;
								if (nowNewsNumber == maxNewsNumber) {
									nowNewsNumber = 0;
								}
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								//タイマーを再度セット
								$("div#topNews").everyTime(slidetime,'timer02',function(){
									nowNewsNumber++;
									if (nowNewsNumber == maxNewsNumber) {
										nowNewsNumber = 0;
									}
									$("div#topNews ul.bannerList li").css({display:"none"});
									$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
									$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								});
							});
							
							if (nowNewsNumber == 0) {
								nowNewsNumber = maxNewsNumber - 1;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								//$('div#topNews ul.bannerList').animate({display:"block"},5);
							} else {
								nowNewsNumber--;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							}
						});
						
						//右ボタン
						$('div#topNews ul.newsNavi li.rightBtn').click(function(){
							$("div#topNews").stopTime('timer02');
							$("div#topNews").stopTime('timer03');
							$("div#topNews").oneTime(restarttime ,'timer03',function(){
								//スライドを一つ進める										   
								nowNewsNumber++;
								if (nowNewsNumber == maxNewsNumber) {
									nowNewsNumber = 0;
								}
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								//タイマーを再度セット
								$("div#topNews").everyTime(slidetime,'timer02',function(){
									nowNewsNumber++;
									if (nowNewsNumber == maxNewsNumber) {
										nowNewsNumber = 0;
									}
									$("div#topNews ul.bannerList li").css({display:"none"});
									$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
									$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								});
							});
							
							if (nowNewsNumber == (maxNewsNumber - 1)) {
								nowNewsNumber = 0;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							} else {
								nowNewsNumber++;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							}
						});
						
						
						//////////////////////////////////////////////////
						//タイマー設定
						//////////////////////////////////////////////////
						$("div#topNews").everyTime(slidetime,'timer02',function(){
							nowNewsNumber++;
							if (nowNewsNumber == maxNewsNumber) {
								nowNewsNumber = 0;
							}
							$("div#topNews ul.bannerList li").css({display:"none"});
							$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
						});
					} else {
						$("div#topFlashBunner").css({display:"none"});
						$("div#topNews").css({display:"none"});
					}
				} 
				else {
					if(enableflash == 'yes') {
						$("div#topFlashBunner").css({display:"block"});
						$("div#topNews").css({display:"none"});
					} else {
						$("div#topFlashBunner").css({display:"none"});
						$("div#topNews").css({display:"block"});
						
						$("item",data).each(function(){
							maxNewsNumber++;
							var imgurl = $("imgurl",this).text();
							var linkurl = $("linkurl",this).text();
							var target = $("target",this).text();
							
							if (target == "_blank") {
								$('div#topNews ul.bannerList').append('<li><a href="'+ linkurl +'" target="_blank">' + '<img src="'+ imgurl +'" width="196" height="75" /></a></li>');
							} else {
								$('div#topNews ul.bannerList').append('<li><a href="'+ linkurl +'">' + '<img src="'+ imgurl +'" width="196" height="75" /></a></li>');
							}
						});
						$("div#topNews ul.bannerList li").css({display:"none"});
						$("div#topNews ul.bannerList li").eq(0).css({display:"block"});
						$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
						
						
						//////////////////////////////////////////////////
						//ナビゲーション部分の設定
						//////////////////////////////////////////////////
						//左ボタン
						$('div#topNews ul.newsNavi li.leftBtn').click(function(){
							$("div#topNews").stopTime('timer02');
							$("div#topNews").stopTime('timer03');
							$("div#topNews").oneTime(restarttime ,'timer03',function(){
								//スライドを一つ進める										   
								nowNewsNumber++;
								if (nowNewsNumber == maxNewsNumber) {
									nowNewsNumber = 0;
								}
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								//タイマーを再度セット
								$("div#topNews").everyTime(slidetime,'timer02',function(){
									nowNewsNumber++;
									if (nowNewsNumber == maxNewsNumber) {
										nowNewsNumber = 0;
									}
									$("div#topNews ul.bannerList li").css({display:"none"});
									$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
									$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								});
							});
							
							if (nowNewsNumber == 0) {
								nowNewsNumber = maxNewsNumber - 1;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								//$('div#topNews ul.bannerList').animate({display:"block"},5);
							} else {
								nowNewsNumber--;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							}
						});
						
						//右ボタン
						$('div#topNews ul.newsNavi li.rightBtn').click(function(){
							$("div#topNews").stopTime('timer02');
							$("div#topNews").stopTime('timer03');
							$("div#topNews").oneTime(restarttime ,'timer03',function(){
								//スライドを一つ進める										   
								nowNewsNumber++;
								if (nowNewsNumber == maxNewsNumber) {
									nowNewsNumber = 0;
								}
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								//タイマーを再度セット
								$("div#topNews").everyTime(slidetime,'timer02',function(){
									nowNewsNumber++;
									if (nowNewsNumber == maxNewsNumber) {
										nowNewsNumber = 0;
									}
									$("div#topNews ul.bannerList li").css({display:"none"});
									$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
									$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								});
							});
							
							if (nowNewsNumber == (maxNewsNumber - 1)) {
								nowNewsNumber = 0;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							} else {
								nowNewsNumber++;
								$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
								$("div#topNews ul.bannerList li").css({display:"none"});
								$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							}
						});
						
						
						//////////////////////////////////////////////////
						//タイマー設定
						//////////////////////////////////////////////////
						$("div#topNews").everyTime(slidetime,'timer02',function(){
							nowNewsNumber++;
							if (nowNewsNumber == maxNewsNumber) {
								nowNewsNumber = 0;
							}
							$("div#topNews ul.bannerList li").css({display:"none"});
							$("div#topNews ul.bannerList li").eq(nowNewsNumber).css({display:"block"});
							$('div#topNews ul.newsNavi li.newsNumber').text((nowNewsNumber + 1) + '/' + maxNewsNumber);
						});
					}
				}
			}
		});
	}
	
	
	
})();



/**
 * ページ読み込み時の処理
 */
$(function() {
	KeywordSearch.setEvent();
	MainVisual.load();
	topNews.setNews();
	MainVisual.loadSearchWin();
});

