﻿// 文字サイズセット用変数
var fsize;
var fsize_ary = {
	"1" : "12px",
	"2" : "13px",
	"3" : "14px",
	"4" : "15px"
};
var FSIZE_MAX = 4;  // 文字サイズ（最大）
var FSIZE_MIN = 1;  // 文字サイズ（最小）
var FSIZE_DEF = 2;  // 文字サイズ（初期値）

/*
 * ページロード時処理
 */
$(function(){
	setHTMLView();
	setBankingInfoBanner();
	//setOTPPopup();
	
	// ページごとにロード時処理が定義されている場合は
	// ロード時処理を実行
	if(typeof onload_evt == "function") {
		onload_evt();
	}
});

/*
 * 表示モード（印刷or表示）でHTMLの内容を変える
 * 印刷時：印刷用CSSの使用
 * 表示時：通常CSSの使用
 *         プレビューボタンの表示
 *         文字サイズの初期設定等、JavaScriptの設定
 */
function setHTMLView(){
	// GETパラメータの取得
	var url_var = getUrlVars();
	
	// viewが「print」の場合（印刷プレビュー時）
	if (url_var["view"] == "print"){
		// 印刷プレビュー用CSSを通常使うCSSとして設定
		$("#css_style").attr("href", "/css/preview.css");
	}
	// viewが「print」以外の場合
	else{
		// 印刷プレビューの要素がある場合は、リンクを設定
		if ($("#preview_btn").length){
			var location_href = location.href;
			if (location_href.indexOf("?") >= 0){
				var btn_href = location.href + "&view=print";
			}else{
				var btn_href = location.href + "?view=print";
			}
			$("#preview_btn").html(
				'<a class="popupwindow" href="#" onclick="disp(\'' + btn_href + '\'); return false;">印刷プレビューを見る</a>'

			);
		}
		// 文字サイズの初期設定
		initFontSize();
	}
}

/*
 * 文字サイズの初期設定
 */
function initFontSize(){
	// ページ右上に「文字サイズ変更」をセット
	$("#font_size").html(
		'<a href="#" onclick="setFontDown(); return false;"><img src="/image/font_size_small.gif" alt="文字サイズを1つ小さく"></a>' + 
		'<span id="font_level"></span>' + 
		'<a href="#" onclick="setFontUp(); return false;"><img src="/image/font_size_large.gif" alt="文字サイズを1つ大きく"></a>'
	);
	// Cookieから文字サイズを取得してセット
	// ない場合は初期値をセット
	fsize = $.cookie("fsize");
	if (!fsize) fsize = FSIZE_DEF;
	setFontSize(fsize);
}

/*
 * 文字サイズを取得してセット
 */
function setFontSize(fsize){
	// メイン部分のフォントサイズをセット
	$("#container").css("font-size", fsize_ary[fsize]);
	// 文字サイズ変更部分の「アンテナ」をセット
	$("#font_level").attr("class", "level_" + fsize);
	// 文字サイズをCookieにセット
	$.cookie("fsize", fsize, {expires:30, path:'/'});
}

/*
 * 文字サイズを1段階大きくする
 */
function setFontUp(){
	// 現在のサイズが最大より下の場合は処理実行
	if (fsize < FSIZE_MAX){
		// 文字サイズを1段階大きい状態にする
		fsize++;
		// 文字サイズをセット
		setFontSize(fsize);
	}
}

/*
 * 文字サイズを1段階小さくする
 */
function setFontDown(){
	// 現在のサイズが最小より上の場合は処理実行
	if (fsize > FSIZE_MIN){
		// 文字サイズを1段階小さい状態にする
		fsize--;
		// 文字サイズをセット
		setFontSize(fsize);
	}
}

/*
 * URLからGETパラメータの値を取得
 */
function getUrlVars(){
	var vars = [], hash;
	// 「?」以降のパラメータを区切る
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	// 要素分ループ
	for(var i = 0; i < hashes.length; i++){
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
	return vars;
}

/*
 * GoogleMapを表示
 */
function setGoogleMap(lat, lng, zoom, kind) {
	var latlng = new google.maps.LatLng(lat, lng);
	var myOptions = {
		disableDefaultUI : true,
		zoom: zoom,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl : false,
		navigationControl: true,
		navigationControlOptions: {
			style:google.maps.NavigationControlStyle.SMALL,
			position: google.maps.ControlPosition.TOP_LEFT
		}
	};
	var googlemap = new google.maps.Map(document.getElementById("tenpo_map"), myOptions);
    var image = new google.maps.MarkerImage('../image/map_marker_' + kind + '.png');
	var marker = new google.maps.Marker({
		position: latlng,
        icon : image,
		map: googlemap
	});
	
	return googlemap;
}

/*
 * バンキングの重要なお知らせへのリンク表示
 * （一度見たページはCookieで保存し、次からは表示させない）
 */
function setBankingInfoBanner() {
	var set_flg = true;
	
	if ("ibanking_latest" in window) {
		// cookieが使えるか確認
		if (navigator.cookieEnabled) {
			
			// cookieデータ取得
			cookie_date = $.cookie("ibanking_latest");
			
			//データがある場合
			if (cookie_date) {
				// 数値型に変換
				cookie_date = eval(cookie_date);
				// 最新の情報の日付がCookie数値が新しい場合はバナーを表示
				if (ibanking_latest > cookie_date) {
					set_flg = false;
				}
			}
			else set_flg = false;
		}
		if (!set_flg)
		{
			if (document.getElementById("attention_msg_parent") != null)
			{
				var attention_msg = document.createElement('div'); 
				attention_msg.id = "attention_msg"; 
				attention_msg.innerHTML = '<a href="/banking_news/">大切なお知らせがあります！</a>'; 
				
				var obj_parent = document.getElementById("attention_msg_parent");
				obj_parent.appendChild(attention_msg);
			}
		}
	}
}

/*
 * ページをポップアップで表示
 */
function disp(url){
	window.open(url, "window_name", "width=700,height=600,scrollbars=yes,resizable=no");
}

/*
 * ニュースティッカー用のデータセット
 */
function setTickerData() {
	var ticker_frame = $("#ticker");
	
	setInterval(function(){
		ticker_list = ticker_frame.children();
		ticker_list.not(':first').hide();
		
		var ticker_first = ticker_list.eq(0)
		var ticker_second = ticker_list.eq(1)
		
		ticker_first.fadeOut("fast", function(){
			ticker_second.fadeIn("fast");
			ticker_first.remove().appendTo(ticker_frame);
		});
	}, 7000);
}

/*
 * OTPお知らせ用ポップアップ表示
 */
function setOTPPopup(){
	if ($("#kojin_login_btn").length){
		$("#kojin_login_btn").click(function(){
			var url = "http://" + location.hostname + "/service/ibanking/otp_info.html";
			window.open(url, "window_name", "width=700,height=400,scrollbars=yes,resizable=no");
			return false;
		});
	}
}

