﻿/*
* 画面起動時自動的に指定されるお知らせページを表示する
* Copyright(c) 2010-2012, Popular-soft
* 
* http://www.popular-soft.com
* 
* 対応仕様:
*   ①既にOnloadイベントをバンドしたページに関して、こちらのOnloadイベントが動けない　(未対応)
*   ②毎度画面Load時ポップアップ画面も出しますので、Cacheを利用して一時以内で出さないこと　(未対応)
*   ③画面ロード時、表示するか或いは表示しないかのスイッチを設定する    (20100308対応完了)
*   ④閉じるボタンを上に置いて    (20100308対応完了)
*/

/* お知らせページ */
_NOTICEPAGE = "WarnPage.htm";

/* お知らせページ表示するかのスイッチ ( true：表示 ; false：表示しない ) */
_SHOWNOTICESWITCH = false;

var varPopup;   /* ポップアップオブジェクト */
var varMask;    /* マスクオブジェクト */

/* マスクを表示する */
function showShadowMask()
{
    if (varMask == null)
    {
        varMask = document.createElement("div");
        varMask.className = "cssMask";
        window.document.body.appendChild(varMask);

        varMask.style.width = "100%";
        varMask.style.height = "100%";

        /* マスク幅と高さ調整(Internet Explorer 6対策) */
        var wsize = GetWindowSize();
        var shadow_width = parseInt(varMask.offsetWidth);    /* 表示幅(スクロールバー幅も含め) */
        var shadow_height = parseInt(varMask.offsetHeight);  /* 表示高さ(スクロールバー高さも含め) */

        if (shadow_width < wsize.width || shadow_height<wsize.height) {
            varMask.style.width = wsize.width + 'px';
            varMask.style.height = wsize.height + 'px';

            var shadowResize = function(){
                var new_size = GetWindowSize();
                varMask.style.width = new_size.width + 'px';
                varMask.style.height = new_size.height + 'px';
            }
            AddEvent( varMask ,'resize', shadowResize);
        }
    }
}

/* ポップアップ画面を表示 */
function showPopup(url) {
    /* マスクを表示する */
    showShadowMask();

    if(varPopup == null)
    {
        varPopup = document.createElement("div");
        varPopup.className = "cssPopup";
        //varPopup.innerHTML = "<div id=\"statusbar\"><input type=\"button\" class=\"cssPopupClose\" value=\"×\" alt=\"閉じる\" onClick=\"hidePopup();\"></div> ";
        varPopup.innerHTML = "<div id=\"statusbar\"><A href=\"\" title=\"閉じる\" class=\"cssPopupClose\" onClick=\"hidePopup();return false;\">×</A></div> ";
        //varPopup.innerHTML = "<div id=\"statusbar\"><img alt=\"閉じる\" src=\"../images/PopupClose.jpg\" onclick=\"hidePopup();return false;\" class=\"cssPopupClose\"></div> ";
        varPopup.innerHTML = varPopup.innerHTML + "<iframe id=\"popupElem\"width=\"100%\" height=\"90%\" src=" + url + "></iframe>";
        varPopup.style.visibility = 'hidden';
        document.body.appendChild(varPopup);
    }

    SetPositionCenter(varPopup);
    varPopup.style.visibility = 'visible';
}

/* ポップアップ画面を隠す */
function hidePopup() {
    if (varPopup || varMask) {
        varMask.style.visibility = "hidden";
        varPopup.style.visibility = "hidden";

        varMask = null;
        varPopup = null;
    }
}

/* スクロールバーの幅も含めてブラウザのサイズを取得する */
GetWindowSize = function() {

    /* サイズを格納するオブジェクトを生成 */
    var obj = new Object();

    /* Internet Explorerの場合 */
    if (document.uniqueID) {

        obj.width = document.body.scrollWidth;      // 表示幅
        obj.height = document.body.scrollHeight;    // 表示高さ

    } /* それ以外の場合 */
    else {
        obj.width = window.innerWidth;
        obj.height = window.innerHeight;
    }

    /* サイズオブジェクトを返す */
    return obj;

};

/* ブラウザの表示領域のサイズを取得する */
GetCurrentWindowSize = function() {

    /* サイズを格納するオブジェクトを生成 */
    var obj = new Object();

    /* Internet Explorerの場合 */
    if (document.uniqueID) {

        obj.width = document.body.clientWidth;      // 表示幅
        obj.height = document.body.clientHeight;    // 表示高さ

    } /* それ以外の場合 */
    else {
        obj.width = window.innerWidth;
        obj.height = window.innerHeight;
    }

    /* サイズオブジェクトを返す */
    return obj;

};

/* オブジェクトを中央位置におく */
SetPositionCenter = function (elm) {
    /* ブラウザ表示領域のサイズを取得 */
    var wsize = GetCurrentWindowSize();

    /* 中心へ移動 */
   var left = (wsize.width - elm.offsetWidth) / 2;
   var top =  (wsize.height - elm.offsetHeight) / 2;

   elm.style.left = parseInt(left) + 'px';
   elm.style.top = parseInt(top) + 'px';
};

/* イベントをバンドするための共通メソッド */
AddEvent = function(obj, type, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(type, fn, false);
    }
    else if (obj.attachEvent) {
        obj.attachEvent("on" + type, fn);
    }
}

/* 初期化処理 */
onload1 = function() { if (_SHOWNOTICESWITCH){ showPopup(_NOTICEPAGE);}}

/* 初期化イベントをバンド */
AddEvent(window, 'load', onload1);

