/*
	varsion: 2008-01-15
	requires: prototyp.js (ver1.6), odekakeCoupon***Data.js
*/
/*
	// 入力データ例
	ODEKAKE_COUPON_TOPDATA = {
		"info": 
			[
				{
				"img": "/odekake/images/common_ic005.jpg",
				"alt": "まるごと日光・鬼怒川 東武フリーパス",
				"url": "http://www.dev.tobu.co.jp/riding/docs_tobu/a01.html",
				"target": "1",
				"title": "まるごと日光・鬼怒川 東武フリーパス",
				"text": "日光・鬼怒川地区の鉄道、バスが乗り降り自由。中禅寺湖や世界遺産を見学後、鬼怒川温泉・川治温泉・湯西川温泉へお泊りのお客さまにもおすすめです。"
				},
					：
			]
	};

	// HTML出力例
	<div class="type-long"> 
		<p class="photo">
			<a target="_blank" href="/riding/docs_tobu/a01.html"><img alt="" src="/odekake/images/common_ic005.jpg"></a>
		</p> 
		<dl> 
			<dt class="link-container">
				<a target="_blank" class="icon-link" href="/riding/docs_tobu/a01.html">まるごと日光・鬼怒川 東武フリーパス</a><img height="12" width="14" class="link-type" alt="" src="/common/images/com_ic006.gif">
			</dt> 
			<dd class="topic-body"> 
				<p>日光・鬼怒川地区の鉄道、バスが乗り降り自由。中禅寺湖や世界遺産を見学後、鬼怒川温泉・川治温泉・湯西川温泉へお泊りのお客さまにもおすすめです。（特にバスを多くご利用いただくお客さまには大変お得です）</p> 
			</dd> 
		</dl> 
	</div>
		：
*/


/*
  設定
----------------------------------------------------*/

// バナーデータの書き出し先のブロックIDと、対応するデータのオブジェクト名を登録
var ODEKAKE_COUPON_PARAM = [
	{
		"targetId" : "odekake-coupon",
		"objName"  : "ODEKAKE_COUPON_DATA",
		"max"      : 10
	},
];


/*
  テンプレート設定＆書き出し
----------------------------------------------------*/

document.observe("dom:loaded", function() {

	if( !ODEKAKE_COUPON_PARAM.length ) return;


	ODEKAKE_COUPON_PARAM.each(function(p){

		if( p && p.max && typeof window[p.objName] != "undefined" ){
			var id = p.targetId;
			var data = window[p.objName];
			var max = p.max;
			if( $(p.targetId) && data.length ){
				// HTMLテンプレート
				var ODEKAKE_COUPON_TMPL_BODY = new Template(
					'<div class="type-long">'
					+'<p class="photo">'
					+'<a href="#{url}" target="_blank"><img src="#{img}" alt="#{alt}"/></a>'
					+'</p>'
					+'<dl>'
					+'<dt class="link-container">'
					+'<a href="#{url}" class="icon-link" target="_blank">#{title}</a>'
					+'<img src="/common/images/com_ic006.gif" width="14" height="12" alt="" class="link-type"/>'
					+'</dt>'
					+'<dd class="topic-body">'
					+'<p>#{text}</p>'
					+'</dd>'
					+'</dl>'
					+'</div>'
				);
				// JSONデータ中の値で、別の値に変換して出力するものをここで処理。case "***"の***部分がJSON中のパラメータ名に対応。
				function setTemplateProperty(data){
					for( var p in data ){
						switch(p){
							case "target":	// 1: 別ウィンドウ || 0: 同ウィンドウ
											data[p] = (data[p] == "1")?
													' target="_blank"' :
													'';
											break;
							default:
											break;
						}
					}
					return data;
				}
				// テンプレートの切り替え＆データのセット
				var htmlStr = "";
				data.each(function(item,i){
					if( i >= max ) throw $break;
						htmlStr += ODEKAKE_COUPON_TMPL_BODY.evaluate(setTemplateProperty(item));
				});

				// 書き出し
				$(id).innerHTML = htmlStr;
				$(id).style.display = "block";

			}
		}
	});


});



/*
  対象の要素を非表示に設定
  指定した複数のセレクタにまとめてスタイルを適用。
  一つ目のCSSファイル中にルールを追記
----------------------------------------------------*/

(function( selectors ){

	if( selectors && selectors.constructor == Array ){
		var str = '';
		var rule = '{display: none;}';
		var sheet = document.styleSheets[0];
		if( !selectors.length || !sheet || !rule ) return;

		if( Prototype.Browser.WebKit ){
			selectors.each(function(selector){
				str += selector + rule;
			});
			document.write( '<style type="text/css">' + str + '</style>' );
		}
		else if( sheet.insertRule ){
			selectors.each(function(selector){
				sheet.insertRule( selector+rule, sheet.cssRules.length );
			});
		}
		else if( sheet.addRule ){
			selectors.each(function(selector){
				sheet.addRule(selector, rule);
			});
		}
	}

})( [
	"#"+ODEKAKE_COUPON_PARAM[0].targetId
] );


