//---------------------------------------------------------------------------------------------------------
//  メニュー／レコメンドリンク/用ページデータスクリプト
//---------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------
// 
// レコメンドリンクのリンク先・リンク元となる全ページについてのデータを記述する。
// 'b2c'をルートフォルダとする。
//
// 1.グローバルナビID   : オージー・ビーフ＆ラムについて：'bl'　レシピ＆コラム：'rc'　もっと知りたい：'kw'　おトク情報：'vl'　レストラン＆お店検索：'rs'
// 2.グループID         : 笑顔：'sm'　安全：'sf'　健康：'hl'　楽しい：'hp'　ラム:'lm'　ランダム：'rd'（カンマ区切りで複数指定）
// 3.ページID           : カテゴリID（アルファベット３文字）+ 識別番号
// 4.リンク名称         : レコメンドリンク表示時の文字列
// 5.ページURL          : ルートディレクトリ以下の部分
// 6.ルートパス         : htmlのディレクトリからルートディレクトリへの相対パス
// 7.レコメンドリンクデータ   : このページでレコメンドリンクのページIDを記述（カンマ区切りで複数指定）
//                      : なしの場合は '' と記述
// 8.バナーURL          : このページへのリンクバナーのURL
// 9._blank設定         : 別ウィンドウで開く場合は'_blank'。同一ウィンドウは''
//
//-----------------------------------------------------------------------------------------------------------------------------------------
// 1.グローバルナビID、2.グループID、3.ページID、4.リンク名称、5.ページURL、6.ルートパス、7.レコメンドリンクデータ、8.バナーURL、9._blank設定
//-----------------------------------------------------------------------------------------------------------------------------------------
var page_data = new Array(
'bl',	'sf',	'ast00',    'オージー・ビーフ&ラムの故郷、オーストラリアってどんなところ？',				'australia/grace/',							'../../',		'',						'grace.jpg',			'',
'bl',	'sf',	'ast01',    'オージー・ビーフ&ラムは、どういう手順で日本にやってくるの？',					'australia/safety/',						'../../',		'',						'japan.jpg',			'',
'bl',	'sf',	'bef00',    'オージー・ビーフの安全性をささえる、3つのシステム',							'beef/safety/',								'../../',		'ast00',				'safety_beef.jpg',		'',
'bl',	'hl',	'bef01',    '栄養豊富なオージー・ビーフで、家族みんなの健康管理',							'beef/smile/',								'../../',		'rcp00, mtb00, edc00',	'health.jpg',			'',
'bl',	'sf',	'lmb00',    'オージー・ラムの安全性をささえる、3つのシステム',								'lamb/safety/',								'../../',		'ast00',				'safety_lamb.jpg',		'',
'bl',	'hl',	'lmb01',    'カルニチンやオレイン酸など、オージー・ラムは話題の栄養素がいっぱい！',			'lamb/standard/',							'../../',		'rcp00, src00',			'standard.jpg',			'',

'rc',	'sm',	'rcp00',    '毎日のおかずからパーティーレシピまで。作りたい料理が必ず見つかる総合レシピ集',	'recipe/search/',							'../../',		'hme00, otd00',			'',						'',
'rc',	'hl',	'mtm00',    '料理研究家・松見早枝子さんの「食べてキレイになるレシピ」',						'recipe/beauty/',							'../../',		'bef01, lmb01',			'beauty.jpg',			'_blank',
'rc',	'hl',	'ken00',    '快適生活研究家・田中ケンさんのアウトドアクッキング！',							'recipe/ken/',								'../../',		'bef01, lmb01',			'ken.jpg',				'_blank',
'rc',	'sm',	'khc00',    'レストラン「KIHACHI」のキハチシェフのごちそうレシピ',							'recipe/kihachi/',							'../../',		'hme00, rcp00, lmb01',	'kihachi.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/index.html',					'../../', 		'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/10/',							'../../../',    'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/09/',							'../../../',    'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/08/',							'../../../',    'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/07/',							'../../../',    'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sm',	'tji00',    '辻クッキングとホームメイド協会のお料理教室で好評のカンタンレシピ',				'recipe/tsuji/06/',							'../../../',    'hme00, scl00, edc00',	'house.jpg',			'',
'rc',	'sf',	'scl00',    '全国の学校の栄養職員さんが考えた、子供がよろこぶアイディアレシピ',				'recipe/school/',							'../../',		'edc00, tji00',			'idea.jpg',				'',
'rc',	'sf',	'scl00',    '全国の学校の栄養職員さんが考えた、子供がよろこぶアイディアレシピ',				'recipe/school7/',							'../../',		'edc00, tji00',			'idea.jpg',				'',
'rc',	'sf',	'scl00',    '全国の学校の栄養職員さんが考えた、子供がよろこぶアイディアレシピ',				'recipe/school6/',							'../../',		'edc00, tji00',			'idea.jpg',				'',
'rc',	'sf',	'scl00',    '全国の学校の栄養職員さんが考えた、子供がよろこぶアイディアレシピ',				'recipe/school5/',							'../../',		'edc00, tji00',			'idea.jpg',				'',
'rc',	'',		'hlt00',    'おいしく食べて、健康に。管理栄養士・金丸絵里加先生のヘルシーレシピ',			'recipe/healthyup/',						'../../',		'',						'',						'',
'rc',	'',		'mko00',    '家庭料理研究家・マコさんのバラエティ豊富なラムレシピ',							'recipe/mako/',								'../../',		'',						'',						'',
'rc',	'',		'mrn00',    '人気フードコーディネーター・マロンさん厳選の極上レシピ',						'recipe/marron/',							'../../',		'',						'',						'',

'kw',	'rd',	'edc00',    '話題の「食育」もやさしくイラストで解説。お子様と一緒に読んでください',			'education/',								'../',			'ast00, scl00, tji00',	'education.jpg',		'',
'kw',	'rd',	'edc01',    '食育出張授業ブログ',															'school/',									'../',			'ast00, scl00, tji00',	'education-blog.jpg',	'_blank',
'kw',	'sm',	'hme00',    'ご家庭で本格的なステーキを！ あなたも今日からステーキマスター！？',			'gourmet/steak/',							'../../',		'rcp00',				'steak.jpg',			'',
'kw',	'hl',	'hme01',    '知っておきたい「おいしいお肉の選び方」と「お肉の正しい保存方法」',				'gourmet/choose/',							'../../',		'rcp00, otd00',			'choose.jpg',			'',
'kw',	'hp',	'hme02',    'ヒレ、サーロイン、肩ロースなど、部位ごとの適した調理法をご紹介',				'gourmet/parts/',							'../../',		'rcp00, otd00',			'parts.jpg',			'',
'kw',	'hp',	'otd00',    'オージー・ビーフを持ってキャンプに行こう！',									'outdoor/fathers/',							'../../',		'src00, hme01',			'outdoor.jpg',			'',
'kw',	'hl',	'mtb00',    'あなたに必要なのは一日何カロリーなのか知ってますか？ ',						'metabo/',									'../../',		'',						'metabo.jpg',			'_blank',
'kw',	'hp',	'wlk00',    'オージー・スタッフの注目店・話題店はココ！',									'eatingBinge/',								'../',			'src00, cmp00',			'walking.jpg',			'_blank',
		
'vl',	'hp',	'cmp00',    'キャンペーンやイベントなど、おトクな情報を今すぐチェック！',					'campaign/',								'../',			'src00, wlk00',			'campaign.jpg',			'',
'vl',	'hp',	'cmp01',    'ヘルシーキャンペーン！！',														'campaign/10summer/',						'../../',		'',						'summer.jpg',			'_blank',

'vl',	'hp',	'otk00',    '松見早枝子の男の料理教室',														'../otoko/',								'../',			'',						'otoko.jpg',			'_blank',

'vl',	'hp',	'frm00',    '楽しいゲームやオリジナルスクリーンセーバーがもらえます',						'download/',								'../',			'',						'farm.jpg',				'_blank',
'vl',	'hp',	'epa00',    '',																				'http://fta.australia.or.jp/',				'',				'',						'epa.jpg',				'_blank',

'rs',	'sm',	'src00',    'オージ−・ビーフ&ラムの食べられる・買えるお店を探してみよう！',				'restaurant/restrant_shopping.aspx',		'../',			'lmb01, wlk00',			'restauran.jpg',		'',
'rs',	'sm',	'src01',    'オージー・ビーフ&ラムが買えるお店',											'restaurant/restrant_shopping.aspx',		'../',			'lmb01, wlk00',			'buy.jpg',				'',
'rs',	'sm',	'src02',    'オージー・ビーフ&ラムが買えるお店　検索結果',									'restaurant/restrant_shopping_results.aspx','../',			'lmb01, wlk00',			'buy.jpg',				'',
'rs',	'sm',	'src03',    'オージー・ビーフ&ラムが買えるお店　ネットショッピング',						'restaurant/restrant_shopping_net.html',	'../',			'lmb01, wlk00',			'buy.jpg',				'',
'',		'rd',	'abt00',    'このサイトについて',															'general/about.html',						'../',			'',						'',						'',
'',  	'rd',	'pvc00',    'プライバシーポリシー',															'general/privacy.html',						'../',			'',						'',						'',
'',  	'rd',	'mgz00',    'メルマガ登録・解除',															'general/mailmagazine.html',				'../',			'',						'',						'',
'',  	'rd',	'smp00',    'サイトマップ',																	'general/sitemap.html',						'../',			'',						'',						''
);

//-----------------------------------------------------------------------------------------
// メインイメージとバナーのデータ
// ----------------------------------------------
// 笑顔：'sm'　安全：'sf'　健康：'hl'　楽しい：'hp'　ラム：'lm'
// ５つのキーワード以外のファイル（キャンペーンなど）を読み込む場合は、適当なIDを決めてmainDataとbannerDataに加える。
//-----------------------------------------------------------------------------------------
var mainData = { 
"cp":"swf/cp.swf",
"sm":"swf/sm.swf",
"sf":"swf/sf.swf",
"hl":"swf/hl.swf",
"hp":"swf/hp.swf",
"lm":"swf/lm.swf"
};

//○○と○○_importantは必ずセットで必要。
var bannerData = {
"cp_important":[ "cmp01", "otk00", "edc01" ],
"sm_important":[ "cmp01", "otk00", "edc01" ],
"sf_important":[ "cmp01", "otk00" ],
"hl_important":[ "cmp01", "otk00" ],
"hp_important":[ "cmp01", "otk00", "otd00", "ken00" ],
"lm_important":[ "cmp01", "otk00", "lmb01" ],
"cp":[ "hme00", "bef01", "src01", "ken00", "wlk00", "src00" ],
"sm":[ "hme00", "tji00", "src01", "edc00", "wlk00", "src00" ],
"sf":[ "ast01", "bef00", "ast00", "scl00", "edc00" ],
"hl":[ "bef01", "mtm00", "otd00", "mtb00", "hme01", "edc00" ],
"hp":[ "wlk00", "cmp00", "frm00", "edc00", "epa00", "hme02" ],
"lm":[ "lmb00", "ast01", "khc00", "ken00", "wlk00", "mtm00", "src00" ]
}
//-------------------------------------------------------------------
// ページデータ初期化処理
//-------------------------------------------------------------------
var dataValues=9;
var hr=location.href;
var p_gn;
var p_grp;
var p_cnt = '';
var p_id = '';
var p_dir = '';
var p_bnrUrl = '';
var relinks = new Array('');
var themeList = new Array();
var pageType = false;


if(hr.charAt(hr.length -1)=='/') {
	hr=hr+'index.html';
}

//mainDataをもとにthemeListにテーマを挿入
for(prop in mainData){
    themeList.push(prop);
}

for(var i=0; i<page_data.length/dataValues; i++)
{
	var lurl=page_data[i*dataValues+4];
	if(page_data[i*dataValues+4]!='') lurl='/'+lurl;
	if(hr.indexOf(lurl)>=0){
		p_gn=page_data[i*dataValues];
		var tmp = page_data[i*dataValues+1].split(",");
		p_grp = extractOne(tmp);
		p_cnt=page_data[i*dataValues+2].substr(0,3);
        p_id=page_data[i*dataValues+2];
		p_dir=page_data[i*dataValues+5];
		relinks=page_data[i*dataValues+6].split(",");
		p_bnrUrl=page_data[i*dataValues+7];
		break;
	}
    
    
}

//もし一致するグループがなかったらランダムに設定
if(!p_grp || p_grp == "rd"){
    p_grp = extractOne(themeList);
}

//ページのタイプを判別
//通常レイアウトのページか縦幅固定レイアウトか
if( hr.match(/\/australia\/|\/beef\/|\/lamb\/|\/gourmet\/|\/restaurant\/restrant_shopping.aspx|\/general\/mailmagazine.html/i) )
{
	var pageType = true;
}


//-------------------------------------------------------------------
// バナー設置
//-------------------------------------------------------------------
function setBanners()
{
	var timer = setTimeout('loadBanners()', 10);
}

function loadBanners()
{
	var __reg0 = jQuery("#banner ul li").attr("id");
	
	if(__reg0 != undefined)
	{
        var bnrList = removeMine(bannerData[p_grp]); //同一ページのバナーを削除
		bnrList = shuffleBanners(bnrList); //それをシャッフル
		bnrList = addOther(bnrList); //違うテーマのバナーを追加
		bnrList = shuffleBanners(bnrList); //再度シャッフル
		var bnrListImportant = removeMine(bannerData[p_grp+"_important"]); //同一ページのバナーを削除した重要バナー
		bnrList = appendTo(bnrListImportant, bnrList);
		bnrList = bannerNumControl(bnrList); //数を制御
        
		//debug
		//console.log(bnrList);
		
		jQuery.each(bnrList, function(i, _id){
				var pageData = searchData(_id);
				//console.log(pageData, _id);
                var url;
				(pageData[4].indexOf("http://") == -1) ? url = p_dir + pageData[4] : url = pageData[4];
				var imgSrc = p_dir + 'shared/images/banner/' + pageData[7];
                var alt = pageData[3];
                var window = pageData[8]
				jQuery("#banner ul").append('<li><a href="' + url + '" target="' + window + '"><img src="' + imgSrc + '" alt="' + alt + '" /></a></li>')
			});
	}
	else
	{
		setBanners();
	}
}
//-------------------------------------------------------------------
// 渡した配列からランダムで一つ抜き出して返す。
//-------------------------------------------------------------------
function extractOne(_itemList)
{
    var k = Math.floor(Math.random()*_itemList.length);
    return _itemList[k];
}
//-------------------------------------------------------------------
// レコメンドリンク設置
//-------------------------------------------------------------------
function setRecommend()
{
	if(relinks[0] != '')
	{
		jQuery("#recommend").append(jQuery("<ul/>"));
		
		jQuery.each(relinks, function(i, _id){
			var pageData = searchData(_id);
			var url = p_dir+pageData[4];
			var tx = pageData[3];
			jQuery("#recommend ul").append('<li><a href="' + url + '">' + tx + '</a></li>');
		});
	}
	else
	{
		jQuery("#recommend").remove();
	}
}
//-------------------------------------------------------------------
// データパース関数
//   _idで検索をかけて最初にマッチしたページのデータ一列を配列として返す。
//-------------------------------------------------------------------
function searchData(_id)
{
	var results = new Array();
	
	if(_id.length <= 3)
	{
		_id += "00";
	}
	
	for(var i=0; i<page_data.length/dataValues; i++)
	{
		var tmp_id = page_data[i*dataValues+2];
		if(_id.indexOf(tmp_id)>=0)
		{
			for(var n=0; n<dataValues; n++)
			{
				results.push(page_data[i*dataValues + n]);
			}
			return results;
			break;
		}
	}
}
//-------------------------------------------------------------------
// シャッフル関数
//   配列を渡すとシャッフルした配列を返す
//-------------------------------------------------------------------
function shuffleBanners(_itemList)
{
	var i = _itemList.length;
	
	while (i--)
	{
		var j = Math.floor(Math.random()*(i+1));  //ランダムなインデックスを計算
		var t = _itemList[i];
		_itemList[i] = _itemList[j];
		_itemList[j] = t;
	}
	
	return _itemList;
}
//-------------------------------------------------------------------
// バナー数制御関数
//   配列を渡すとページタイプによって適した数のバナー配列を返す
//-------------------------------------------------------------------
function bannerNumControl(_itemList)
{
	if(pageType)
	{
		var tmp = new Array();
		for(var i=0; i<4; i++)
		{
			tmp.push(_itemList[i]);
		}
		
		return tmp;
	}
	else
	{	
		return _itemList;
	}
}
//-------------------------------------------------------------------
// 渡した配列から自分のページのバナーデータを取り除く
//-------------------------------------------------------------------
function removeMine(_itemList)
{
	var n = _itemList.length;
	var itemList = new Array();
	for(var i=0; i<n; i++)
	{
		//debug
		//console.log(_itemList[i]+" "+p_id);
		if(_itemList[i] != p_id) itemList.push(_itemList[i]);
	}
	return itemList;
}
//-------------------------------------------------------------------
// 渡した配列に違うテーマのバナーを追加
//-------------------------------------------------------------------
function addOther(_itemList)
{
	var tmp = new Array();
	
	for(prop in bannerData)
	{
		if(prop != p_grp && prop != p_grp+"_important")
		{
			var __reg0 = bannerData[prop].length;
			var __reg1 = bannerData[prop];
			
			for(var i=0; i<__reg0; i++)
			{
				tmp.push(__reg1[i]);
			}
		}
	}
	
	if(pageType)
	{
		//_itemList.pop();
	}
	else
	{	
		_itemList = addRandom(_itemList, tmp);
	}
	_itemList = addRandom(_itemList, tmp);
	
	return _itemList;
}
//-------------------------------------------------------------------
// _itemList に _randomList の要素をランダムで追加
//-------------------------------------------------------------------
function addRandom(_itemList, _randomList)
{
	do{
		var k = Math.floor(Math.random()*_randomList.length);
		
		var _f = false;
		
		var __reg0 = _itemList.length;
		for(var i=0; i<__reg0; i++)
		{
			if(_itemList[i].indexOf(_randomList[k]) !== -1) _f = true;
            //console.log(_itemList[i]+"  "+_randomList[k]+"  "+_f+" "+p_grp+" "+k);
		}
		
		__reg0 = bannerData[p_grp+"_important"].length;
		for(i=0; i<__reg0; i++)
		{
			if(bannerData[p_grp+"_important"][i].indexOf(_randomList[k]) !== -1) _f = true;
            //console.log(bannerData[p_grp+"_important"][i]+"  "+_randomList[k]+"  "+_f);
		}
	}
	while(_f)
	
	_itemList.unshift(_randomList[k]);
	
	return _itemList;
}
//-------------------------------------------------------------------
// 配列を足しあわせる
//-------------------------------------------------------------------
function appendTo(_arr1, _arr2)
{
	var tmp = new Array();
	
	var __reg0 = _arr1.length;
	for(var i=0; i<__reg0; i++)
	{
		tmp.push(_arr1[i]);
	}
	
	__reg0 = _arr2.length;
	for(i=0; i<__reg0; i++)
	{
		tmp.push(_arr2[i]);
	}
	return tmp;
}
//###### ここからFlashとのやりとり ###############################################################################################################
//-------------------------------------------------------------------
// Flashにグループのバナーリスト[画像URL,リンク,ウィンドウ]を渡す
//-------------------------------------------------------------------
function getBannerData()
{
    var tmp = new Object(); //{"sm":[ {"src":○○, "url":○○, window:○○, important:true}, {"src":○○, "url":○○, window:○○, "important":false} ] }

    for(prop in bannerData)
	{	
		var bnrList = bannerData[prop];
		var __reg0 = bnrList.length;
	
		if(prop.indexOf("_important") !== -1)
		{
			var _important = true;
			prop = prop.replace("_important", "");
		}
		else
		{
			var _important = false;
		}
		
		if(tmp[prop] == undefined) tmp[prop] = new Array();
		
		for(var i=0; i<__reg0; i++)
		{
			var pageData = searchData(bnrList[i]);
			var url = p_dir + pageData[4];
			var imgSrc = p_dir + 'shared/images/banner/' + pageData[7];
			var window = pageData[8];
			tmp[prop].push( { "src":imgSrc, "url":url, "window":window, "important":_important } );
			//console.log("data.js"+" "+_important);
		}
	}
	//console.log(tmp);
	return(tmp);
}

function getMainData()
{
	return(mainData);
}