/**
*
*	campaign_jack.js
*	charset: utf-8;
*	2009/08/11
*/

/**/

/******************************************************************************
*	設定画面（インスタンスを実行）
*/
$(function(){
	(function(){
		
		if( document.getElementById('campaign_jack') ){
			new function(){
				var campaign_jack = new Campaign_jack({
					/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
					*	設定ここから
					------------------------------------------------------------------------------------*/
					//表示するエレメントID
					element: 
						'campaign_jack',
					
					//キャンペーン非表示切り替え 'on' or 'off'
					status: 
						'off',
					
					//「開く」ときのキャンペーンバナー画像
					img_src_head_open: 
						'/cms/common/scripts/campaign/imgs/bnr_mobileclub_open.jpg',
					
					//「閉じる」ときのキャンペーンバナー画像
					img_src_head_close: 
						'/cms/common/scripts/campaign/imgs/bnr_mobileclub_close.jpg',
					
					//キャンペーンコンテンツ画像
					img_src_contents: 
						'/cms/common/scripts/campaign/imgs/bnr_mobileclub_contents.jpg',
					
					//キャンペーンバナー画像のALT
					img_alt_head: 
						'期間特別企画 映画が1200円！！',
					
					//キャンペーンコンテンツ画像のALT
					img_alt_contents: 
						'ワーナー・マイカルモバイルクラブで期間中いつでも映画1200円！！',
					
					//「詳しくはこちら」のリンク先URL
					target_link: 
						'https://cinema.warnermycal.com/wm/mobile_club/',
					
					//リンクのtarget属性 'on' or 'off'
					target_blank: 
						'on'
					
					/*------------------------------------------------------------------------------------
					*	設定ここまで
					||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
				});
			}
		}
		
	})();
});


/******************************************************************************
*	Class Campaign_jack を定義
*/
Campaign_jack = function(arg){
	
	/*=================================================================
	*	エレメントゲット
	*/
	var target_element = $('#'+ arg.element);


	/*=================================================================
	*	プロパティセット
	*/
	var img_src_head_open = arg.img_src_head_open;   //「開く」画像
	var img_src_head_close = arg.img_src_head_close; //「閉じる」画像
	var img_src_contents = arg.img_src_contents;     //コンテンツ画像
	
	var img_alt_head = arg.img_alt_head;             //バナーボタンALT
	var img_alt_contents = arg.img_alt_contents;     //コンテンツALT
	
	var target_link = arg.target_link;               //バナーリンク先
	var target_blank = arg.target_blank              //target設定

	
	/*=================================================================
	*	出力用HTMLセット
	*/

	/*---------------------------------------
	*	head
	*/
	var head = $( document.createElement('div') );
	head.attr({
		id: 'campaign_jack_head'
	});
	head.css({
		position: 'relative'
	});
	
	var head_map = '';
	head_map += '<img src="'+ img_src_head_close +'" alt="" usemap="#Map" />' + "\n";
	head_map += '<map name="Map" id="Map">' + "\n";
	head_map += '</map>' + "\n";

	head.append( head_map );
	
	/**
	var head_link = $( document.createElement('area') );
	head_link.attr({
		shape: 'poly',
		coords: '812,83,812,118,939,118,939,83',
		href: target_link,
		target: target_blank,
		id: 'detail_link'
	});
	/**/
	
	var head_link_2_parent = $( document.createElement('div') );
	head_link_2_parent.css({
		width: '128px',
		height: '36px',
		position: 'absolute',
		background: '#000',
		opacity: '0',
		bottom: '12px',
		right: '10px',
		cursor: 'pointer'
	});
	head_link_2_parent.click(function(){
		if( target_blank == 'on' ){
			window.open( target_link );
		}
		else if( target_blank == 'off' ){
			location.href = target_link;
		}
		return false;
	});
	
	var area_btn = $( document.createElement('area') );
	area_btn.attr({
		shape: 'poly',
		coords: '860,7,860,35,939,35,939,7',
		href: '#'
	});
	area_btn.click(function(){
		if( contents.css('display') == 'none' ){
			contents.slideDown();
			$( 'img', head ).attr({
				src: img_src_head_close
			});
			head_link_2_parent.hide();
		}
		else{
			contents.slideUp(500,function(){
				$( 'img', head ).attr({
					src: img_src_head_open
				});
				head.append( head_link_2_parent );
				head_link_2_parent.show();
			});
		}
		return false;
	});


	/*---------------------------------------
	*	contents
	*/
	var contents = $( document.createElement('div') );
	head.attr({
		id: 'campaign_jack_contents'
	});
	
	var contents_inner = '';
	contents_inner += '<img src="'+ img_src_contents +'" alt="" usemap="#Map2" />' + "\n";
	contents_inner += '<map name="Map2" id="Map2">' + "\n";
	contents_inner += '<area shape="rect" coords="334,198,596,237" href="'+ target_link +'" target="'+ target_blank +'" />' + "\n";
	contents_inner += '</map>' + "\n";
	
	contents.append( contents_inner );
	
	
	/*=================================================================
	*	initセット
	*/
	var init = function(e){
		
		if( e == 'open' ){
			target_element.append( head );
			target_element.append( contents );
		}
		if( e == 'close' ){
			target_element.append( head );
			target_element.append( contents );
			contents.hide();
			$( 'img', head ).attr({
				src: img_src_head_open
			});
			head.append( head_link_2_parent );
		}
		
		$('#Map').append( area_btn );
	}
	
	/*=================================================================
	*	コンストラクタ
	*/
	//出力用HTMLセット
	if( arg.status == 'on' ){
		
		/*-----------------------------------
		*	初回の人（クッキーがない場合）
		*	キャンペーンコンテンツ表示
		*/
		if( !readCookie('campaign') ){
			init('open');
			setCookie( 'campaign', 'jack', 365 );
		}
		
		/*-----------------------------------
		*	2回目以降（クッキーがない場合）
		*	キャンペーンコンテンツ非表示にし、
		*	キャンペーンバナーのみ表示
		*/
		else if( readCookie('campaign') == 'jack' ){
			init('close');
		}
	}
	if( arg.status == 'off' ){
		target_element.hide();
	}
}

/******************************************************************************
*	Cookie操作
*/
function setCookie(name,value,days){
	// デフォルトでは有効期限がないので一時的クッキーになる。
	var expires = '';
	
	// クッキーの有効期限を日数で指定。
	if(days){
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = '; expires = ' + date.toGMTString();
	}
	
	// クッキーに名前、値、有効期限を設定。
	document.cookie = name + '=' + value + expires + '; path=/';
}

function readCookie(name){
	// 指定されたクッキーを探し、値を返す。
	var searchName = name + '=';
	var cookies = document.cookie.split(';');
	for(i=0,L=cookies.length; i<L; i++){
		var c = cookies[i];
		while(c.charAt(0) == ' '){
			c = c.substring(1, c.length);
		}
		if(c.indexOf(searchName) == 0){
			return c.substring(searchName.length, c.length);
		}
	}
	return null;
}

function eraseCookie(name){
	// 指定されたクッキーを消去
	setCookie(name, '', -1);
}