$(document).ready(function(){


	/***************************************
		 ヘッダーカテゴリ開閉ボタン
	/***************************************/
	$('#ampBtn').click(function(){
		if ($(this).hasClass('active')) {
			$('#categoryBtn').find('.active').removeClass('active');
			$('#search .tagsBox').slideUp();
		} else {
			$('#categoryBtn').find('.active').removeClass('active');
			$('#categoryBtn').find('.active').removeClass('active');
			$(this).addClass('active');
			$('#search .tagsBox').slideUp();
			$('#ampContainer').slideToggle();
		}
	});
	$('#tcBtn').click(function(){
		if ($(this).hasClass('active')) {
			$('#categoryBtn').find('.active').removeClass('active');
			$('#search .tagsBox').slideUp();
		} else {
			$('#categoryBtn').find('.active').removeClass('active');
			$(this).addClass('active');
			$('#search .tagsBox').slideUp();
			$('#tcContainer').slideToggle();
		}
	});
	$('#agpBtn').click(function(){
		if ($(this).hasClass('active')) {
			$('#categoryBtn').find('.active').removeClass('active');
			$('#search .tagsBox').slideUp();
		} else {
			$('#categoryBtn').find('.active').removeClass('active');
			$(this).addClass('active');
			$('#search .tagsBox').slideUp();
			$('#agpContainer').slideToggle();
		}
	});
	$('#pcBtn').click(function(){
		if ($(this).hasClass('active')) {
			$('#categoryBtn').find('.active').removeClass('active');
			$('#search .tagsBox').slideUp();
		} else {
			$('#categoryBtn').find('.active').removeClass('active');
			$(this).addClass('active');
			$('#search .tagsBox').slideUp();
			$('#pcContainer').slideToggle();
		}
	});


	/***************************************
		 フリーワード検索input
	/***************************************/
	$('#searchInput').bind('keydown keyup keypress change', function() {
		if ($(this).val().length > 0) {
			$('#searchSubmit').css('opacity', '1.0');
		} else {
			$('#searchSubmit').css('opacity', '0.4');
		}
	});


	/***************************************
		 レコメンド風カルーセルおすすめスライダー
	/***************************************/
	//初期設定
	$("#carouselInner").css("width",620*$("#carouselInner ul.column").size()+"px");
	$("#carouselInner ul.column:last").prependTo("#carouselInner");
	$("#carouselInner").css("margin-left","-620px");
	var click_flg = true;
	//戻るボタン
	$("#carouselPrev").click(function(){
		if(click_flg){
			click_flg = false;
			$("#carouselInner").animate({
				marginLeft : parseInt($("#carouselInner").css("margin-left"))+620+"px"
			},"slow","swing" ,
			function(){
				$("#carouselInner").css("margin-left","-620px");
				$("#carouselInner ul.column:last").prependTo("#carouselInner");
				$("#carouselNext,#carouselPrev").show();
				click_flg = true;
			});
		} else {
			return false;
		}
	});
	//進むボタン
	$("#carouselNext").click(function(){
		if(click_flg){
			click_flg = false;
			$("#carouselInner").animate({
				marginLeft : parseInt($("#carouselInner").css("margin-left"))-620+"px"
			},"slow","swing" ,
			function(){
				$("#carouselInner").css("margin-left","-620px")
				$("#carouselInner ul.column:first").appendTo("#carouselInner");
				$("#carouselNext,#carouselPrev").show();
				click_flg = true;
			});
		} else {
			return false;
		}
	});

	/***************************************
		 ループ用ダウンロードアンケート
	/***************************************/
	$(".dl_enq").validationEngine();
	$(".js_loopDlLink .enq_flg").click( function(){
		$( this ).blur();
		var mContent = $(this).parent().parent().parent().next("#modal-wrp").find( "#modal-content" );
		if( $( "#modal-overlay" )[0] ) return false;
		$( "body" ).append( '<div id="modal-overlay"></div>' );
		$( "#modal-overlay" ).fadeIn( "slow" );
		var file_num = $(this).attr("id");
		$( ".dl_enq form" ).append( '<input type="hidden" name="file" value="' + file_num + '" />' );
		centeringModalSyncer();
		$( mContent ).fadeIn( "slow" );
		let agency_item_id = mContent.find('input[name="agency_item_id"]').val();
		google_conversion(agency_item_id);
		$( "#modal-overlay,#modal-close" ).unbind().click( function(){
			$( mContent ).fadeOut();
			deleteGtmLead();
			$( "#modal-overlay" ).fadeOut( "slow" , function(){
				$('#modal-overlay').remove();
			});
		});
	});

});
// DLアンケート送信でモーダルクローズ
$(document).on('submit', '#dl_enq', function(event) {
	$( "#modal-content,#modal-overlay" ).fadeOut( "slow" , function(){
		$('#modal-overlay').remove();
	});
});
// 検索画面遷移時にGTMに感知されないようダミーデータ挿入
$(document).on('click', '#searchSubmit', function() {
	deleteGtmLead();
});
// ヘッダー検索をスクロール追随させる
$(window).scroll(function () {
	var search  = $('#search');
	var searchH = $('#search').innerHeight();
	var mhH = $('#main_header').innerHeight();
	var topH = mhH - searchH;
	if($(window).scrollTop() > topH-1) {
		search.addClass('fixedSearch');
		$('#main_header').css('min-height',topH+searchH+'px');
	} else {
		search.removeClass('fixedSearch');
	}
});
// モーダル発動
function openModal() {
	$( this ).blur();
	if( $( "#modal-overlay" )[0] ) return false;
	$( "body" ).append( '<div id="modal-overlay"></div>' );
	$( "#modal-overlay" ).fadeIn( "slow" );
	var file_num = $(this).attr("id");
	$( ".dl_enq form" ).append( '<input type="hidden" name="file" value="' + file_num + '" />' );
	let agency_item_id = $(".dl_enq form").find('input[name="agency_item_id"]').val();
	google_conversion(agency_item_id);
	centeringModalSyncer();
	$( "#modal-content" ).fadeIn( "slow" );
	$( "#modal-overlay,#modal-close" ).unbind().click( function(){
		deleteGtmLead();
		$( "#modal-content,#modal-overlay" ).fadeOut( "slow" , function(){
			$('#modal-overlay').remove();
		});
	});
}
// セミナー申込送信GTM設定
$(document).on('submit', '.seminar_form', function(event) {
	let seminar_id = $(this).data('seminar_id');
	let c = $(this).data('c');
	let date_obj = new Date();
	yy = date_obj.getFullYear();
	mm = ("0"+(date_obj.getMonth() + 1)).slice(-2);
	dd = ("0"+date_obj.getDate()).slice(-2);
	hh = date_obj.getHours();
	ii = date_obj.getMinutes();
	ss = date_obj.getSeconds();
	ms = date_obj.getMilliseconds();
	let gtm_time = " "+yy+mm+dd+hh+ii+ss+ms;
	gtm_time = gtm_time.trim();
	gtm_time = gtm_time.slice(0, 15);
	dataLayer.push({
		'gtm_seminar_id': seminar_id,
		'gtm_c': c,
		'gtm_time': gtm_time
	});
	return true;
});

function google_conversion(agency_item_id){
	for (var i = 0; i < dataLayer.length; i++) {
		if ('gtm_agency_item_id' in dataLayer[i]) {
			dataLayer.splice(i, 1);
		}
	}
	var postData = {
		type: "POST",
		dataType : "json",
		data : { "agency_item_id" : agency_item_id, "mode" : "pre_lead" },
		async: false
	};
	$.ajax( "/dl_comp.php", postData ).done(function(res){
		// console.log(res);
		if (res["today_dl"] == 0) {
			makeGtmLead(res);
			makeEcommerceLead(res);
		}
	});
}

// GTM用リード発生前試算
function makeGtmLead(res) {
	var date_obj = new Date();
	//var gtm_time = date_obj.getTime();
	yy = date_obj.getFullYear();
	mm = ("0"+(date_obj.getMonth() + 1)).slice(-2);
	dd = ("0"+date_obj.getDate()).slice(-2);
	hh = date_obj.getHours();
	ii = date_obj.getMinutes();
	ss = date_obj.getSeconds();
	ms = date_obj.getMilliseconds();
	var gtm_time = " "+yy+mm+dd+hh+ii+ss+ms;
	var gtm_time = gtm_time.trim();
	var gtm_time = gtm_time.slice(0, 15);
	switch(res["agency_status"]){
		case 1:
		var agency_status = '通常プラン';
		break;
		case 0:
		var agency_status = '無料プラン';
		break;
		case -1:
		var agency_status = '管理者なし';
		break;
	}
	dataLayer.push({
		'gtm_agency_item_id': res["agency_item_id"],
		'gtm_agency_name': res["agency_name"],
		'gtm_c': res["c"],
		'gtm_time': gtm_time,
		'agency_status': agency_status,
		'transactionId': gtm_time,
		'transactionTotal': res["c"],
		'transactionProducts': [{
			'sku': res["agency_item_id"],
			'name': res["agency_name"],
			'price': res["c"],
			'category': res["category"],
			'quantity': 1
		}]
	});
}

/**
 * Eコマース用リード発生前試算
 * @param res google_conversion内 ajax戻り値
 * @return void
 */ 
 function makeEcommerceLead(res) {
	// Clear the previous ecommerce object.
	dataLayer.push({ ecommerce: null });
	var date_obj = new Date();
	yy = date_obj.getFullYear();
	mm = ("0"+(date_obj.getMonth() + 1)).slice(-2);
	dd = ("0"+date_obj.getDate()).slice(-2);
	hh = date_obj.getHours();
	ii = date_obj.getMinutes();
	ss = date_obj.getSeconds();
	ms = date_obj.getMilliseconds();
	var gtm_time = " "+yy+mm+dd+hh+ii+ss+ms;
	var gtm_time = gtm_time.trim();
	var gtm_time = gtm_time.slice(0, 15);
	switch(res["agency_status"]){
		case 1:
		var agency_status = '通常プラン';
		break;
		case 0:
		var agency_status = '無料プラン';
		break;
		case -1:
		var agency_status = '管理者なし';
		break;
	}
	dataLayer.push({
		'event': 'purchase',
		'ecommerce': {
			'transaction_id': gtm_time,
			'value': res["c"],
			'currency': 'JPY',
			'items': [{
				'item_name': res["agency_name"],
				'item_id': res["agency_item_id"],
				'price': res["c"],
				'item_category': res["category"],
				'quantity': 1,
				'item_variant:':agency_status
			}]
		}
	});
}


// GTM用のデータを破棄
function deleteGtmLead() {
	for (var i = 0; i < dataLayer.length; i++) {
		if ('gtm_agency_item_id' in dataLayer[i]) {
			//console.log(dataLayer[i]);
			dataLayer.splice(i, 1);
			// 削除だけではGTMに認識されないのでダミー値挿入
			dataLayer.push({'gtm_agency_item_id': 0});
		}
		if ('gtm_seminar_id' in dataLayer[i]) {
			//console.log(dataLayer[i]);
			dataLayer.splice(i, 1);
			// 削除だけではGTMに認識されないのでダミー値挿入
			dataLayer.push({'gtm_seminar_id': 0});
		}
	}
	// Clear the previous ecommerce object.
	dataLayer.push({ ecommerce: null });
	//console.log(dataLayer);
}

//リサイズされたらセンタリングする
function centeringModalSyncer() {
	var w = $( window ).width() ;
	var h = $( window ).height() ;
	var cw = $( "#modal-content" ).outerWidth( {margin:true} );
	var ch = $( "#modal-content" ).outerHeight( {margin:true} );
	$( "#modal-content" ).css( {"left": ((w - cw)/2) + "px","top": ((h - ch)/2) + "px"} ) ;
}
