/**
 * sputil.js - 各ページ スマホ切り替え表示制御用スクリプト(UTF-8用ページ)
 *
 * 2011.08.24 k.kamiyama : 新規作成
 * 2011.09.15 k.kamiyama : 構造大幅変更
 */

var SpUtil = function() {

	/** 表示モード：PCブラウザでPCView */
	this.VIEW_MODE_PC_PC = 0;

	/** 表示モード：スマホブラウザでPCView */
	this.VIEW_MODE_SP_PC = 1;

	/** 表示モード：スマホブラウザでスマホView */
	this.VIEW_MODE_SP_SP = 2;


	/** 現在の表示モード */
	this.mode = 0;


	/**
	 * 初期化
	 * スクリプトロード時に必ず呼び出される処理
	 */
	this.init = function() {
		// 表示モードの初期化（PCでPC表示）
		this.mode = this.VIEW_MODE_PC_PC;

		// UserAgentがスマートフォンの場合
		if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
			// Cookieの取得
			var cookie = document.cookie;

			// 文字列検索
			var check = cookie.indexOf("ntv=101", 0);

			// Cookieに値がある場合
			if (check != -1) {
				// スマホでPC表示
				this.mode = this.VIEW_MODE_SP_PC;

			// Cookieに値がない場合
			} else {
				// スマホでスマホ表示
				this.mode = this.VIEW_MODE_SP_SP;
			}
		}
	}


	/**
	 * 初期表示
	 */
	this.disp = function() {

		// 表示モードが「this.VIEW_MODE_SP_SP」の場合
		if (this.isSpBrowserSpView()) {
			// metaタグの追加
			document.write('<meta name="viewport" content="width=device-width,minimum-scale=1, maximum-scale=1" />');
			// スマートフォン用のCSSの読み込み
			document.write('<link rel="stylesheet" type="text/css" href="../genre/css/sp.css">');
			document.write('<script type="text/javascript" src="../genre/js/common_sp.js"></script>');
			document.write('<script type="text/javascript" src="../genre/js/menu-slide.js"></script>');

		// 表示モードが「this.VIEW_MODE_SP_PC」の場合
		} else if (this.isSpBrowserPcView()) {
			/*
			 * 明示的にオーバービューモードにする方法がわからなかったので
			 * オーバービューモードと同じビューポートの幅に設定する(2011.09 現在は800ピクセル)
			 * バナーの表示の都合上1000ピクセルに変更(2011.09.14)
			 */
			document.write('<meta name="viewport" content="width=980; minimum-scale=0.25; maximum-scale=1.6; user-scalable=yes" />');
			// PC用のCSSの読み込み
			document.write('<link rel="stylesheet" type="text/css" href="../genre/css/pc.css">');
			// PCの場合のファイル読み込み
			document.write('<link href="http://www.ntv.co.jp/ad-navi/css/import.css" rel="stylesheet" type="text/css" media="screen, print, tty" />');
			document.write('<script type="text/javascript" src="http://www.ntv.co.jp/ad-navi/js_utf8/common.js"></script>');

		// 表示モードが「this.VIEW_MODE_PC_PC」の場合
		} else {
			// PC用のCSSの読み込み
			document.write('<link rel="stylesheet" type="text/css" href="../genre/css/pc.css">');
			// PCの場合のファイル読み込み
			document.write('<link href="http://www.ntv.co.jp/ad-navi/css/import.css" rel="stylesheet" type="text/css" media="screen, print, tty" />');
			document.write('<script type="text/javascript" src="http://www.ntv.co.jp/ad-navi/js_utf8/common.js"></script>');
		}
	}


	/**
	 * スマートフォン表示へ切り替えるパネルの表示を行う
	 * 現在の表示がスマートフォンのPC表示の場合のみ表示を行う
	 *
	 * param url 遷移先URL
	 * param text パネルに表示する文言
	 */
	this.dispPanel = function(url, text) {
		var _url = (url == null || url == undefined || url == '') ? location.href : url;
		var _text = (text == null || text == undefined || text == '') ? 'スマートフォン版で表示' : text;

		// 現在の表示がスマートフォンのPCViewである場合
		if (this.mode === this.VIEW_MODE_SP_PC) {
			document.write('<div id="panel">');
			document.write('<a href="javascript:void();" onClick = "modeSP(\'' + _url + '\');">' + _text + '</a>');
			document.write('</div>');
		}
	}


	/**
	 * 現在の表示モードがPCブラウザでPC表示であるかどうか返す
	 *
	 * @return PCブラウザPC表示の場合は true
	 */
	this.isPcBrowserPcView = function() {
		return (this.mode === this.VIEW_MODE_PC_PC);
	}


	/**
	 * 現在の表示モードがスマートフォンブラウザでPC表示であるかどうか返す
	 *
	 * @return スマートフォンブラウザPC表示の場合は true
	 */
	this.isSpBrowserPcView = function() {
		return (this.mode === this.VIEW_MODE_SP_PC);
	}


	/**
	 * 現在の表示モードがスマートフォンブラウザでスマホ表示であるかどうか返す
	 *
	 * @return スマートフォンブラウザスマホ表示の場合は true
	 */
	this.isSpBrowserSpView = function() {
		return (this.mode === this.VIEW_MODE_SP_SP);
	}
}



var sputil = new SpUtil();
// 初期化呼び出し
sputil.init();

