//*******************************************************
// モジュール名：jigmy_futo1.js
// 概要：封筒１用のJavaScript
// 作成者：Nobuyasu Tsumoto
// 作成日：2008/10/21
// バージョン：1.0
// 修正履歴：
//
//*******************************************************

//*******************************************************
// 特殊文字入力関連処理
//*******************************************************
//*******************************************************
// グローバル変数
//*******************************************************

var gaijiScreen;    // 特殊文字入力画面
var focusedField;   // 特殊文字入力箇所の名称

//*******************************************************
// 処理概要：
//      特殊文字入力画面を表示します。
// 引数：
//      actionPath 特殊文字入力画面を開くアクションパス
// 返却値：
//      n/a
//*******************************************************
function openGaijiScreen(actionPath) {
    if (null == focusedField) {
        alert("特殊文字を入力する入力欄をクリックしてから\nこのボタンを押してください");
    } else {
        var wx = 660;
        var wy = 700;
        var x = (screen.width - wx) / 2;
        var y = (screen.height - wy) / 2;
        gaijiScreen = window.open(actionPath,'gaiji',"resizable=yes,scrollbars=yes,left="+x+",top="+y+",width="+wx+",height="+wy);
        gaijiScreen.focus();
    }
}

//*******************************************************
// 処理概要：
//      特殊文字入力項目名を保存します。
// 引数：
//      item 特殊文字入力項目
// 返却値：
//      n/a
//*******************************************************
function catchFocus(item) {
    if (null == item) {
        focusedField = null;
    } else {
        focusedField = item.name;
    }
}

//*******************************************************
// 処理概要：
//      特殊文字入力項目にコード値を設定して、特殊文字入力画面を閉じます。
// 引数：
//      code 特殊文字コード値
// 返却値：
//      n/a
//*******************************************************
function setCode(code) {
    var target = window.opener.focusedField;
    if (null == target) {
        alert("特殊文字を入力する入力欄をクリックしてから\n特殊文字を選択してください");
    } else {
        if (null != window.opener && !window.opener.closed) {
            var code = "{" + code + "}";
            window.opener.document.Ev130Form[target].value += code;
        }
        window.close();
    }
}

//*******************************************************
// 処理概要：
//      特殊文字入力画面を閉じます。
// 引数：
//      n/a
// 返却値：
//      n/a
//*******************************************************
function closeGaijiScreen() {
    if (null != gaijiScreen && !gaijiScreen.closed) {
        gaijiScreen.close();
    }
}

//*******************************************************
// Flashアプリケーション関連処理
//*******************************************************
//*******************************************************
// グローバル変数
//*******************************************************

var flashAppScreen; // レイアウト自由編集画面
var flashAppOpnnerForm; // Flashアプリケーション起動元フォーム

//*******************************************************
// 処理概要：
//      レイアウト自由編集画面を開きます。
// 引数：
//      system システム識別子
//      service サービス識別子
//      version Flashアプリケーションバージョン
//      uss ユーザセッション文字列
//      form Flashアプリケーション起動元フォーム
//
// 返却値：
//      n/a
//*******************************************************
function openFlashAppScreen(system, service, version, form) {
    if (null == flashAppScreen || flashAppScreen.closed) {
        var wx = 1100;
        var wy = 800;
        var x = (screen.width - wx) / 2;
        var y = (screen.height - wy) / 2;
        flashAppScreen = window.open("ev160view?system="+system+"&service="+service+"&version="+version+"&svg="+form.autoCompId2.value,"fix","resizable=yes,scrollbars=yes,left="+x+",top="+y+",width="+wx+",height="+wy);
        flashAppOpnnerForm = form;
    }
    flashAppScreen.focus();
}

//*******************************************************
// 処理概要：
//      レイアウト自由編集結果反映処理を行います。
// 引数：
//      autoCompId 編集後の組版管理ID
//
// 返却値：
//      n/a
//*******************************************************
function updateImage(autoCompId){
    flashAppOpnnerForm.autoCompId2.value = autoCompId;
    flashAppOpnnerForm.action = "/futo1/sv/ev140view";
    flashAppOpnnerForm.submit();
}

//*******************************************************
// 処理概要：
//      レイアウト自由編集画面を閉じます。
// 引数：
//      n/a
// 返却値：
//      n/a
//*******************************************************
function closeFlashAppScreen() {
    if (null != flashAppScreen && !flashAppScreen.closed) {
        flashAppScreen.close();
        flashAppScreen = null;
        flashAppOpnnerForm = null;
    }
}

//*******************************************************
// 処理概要：
//      レイアウト自由編集画面を閉じる際の確認処理を行います。
// 引数：
//      n/a
// 返却値：
//      true:画面を閉じた場合（既に閉じている場合）／false:確認でキャンセルされた場合
//*******************************************************
function confirmFlashAppScreenClosed() {
    if (null != flashAppScreen && !flashAppScreen.closed) {
        var ret = confirm("レイアウトの自由編集を取り消して、他の画面に切り換えてもよろしいですか。\n（レイアウト編集ウィンドウでの編集結果は失われます）");
        if (ret) {
            flashAppScreen.close();
            return true;
        }else{
            return false;
        }
    } else {
        return true;
    }
}


//*******************************************************
// 画面UI部品関連処理
//*******************************************************
//*******************************************************
// グローバル変数
//*******************************************************

//*******************************************************
// 処理概要：
//      郵便番号の入力妥当性検査を行います。
// 引数：
//      zipCode 検査対象の郵便番号
// 返却値：
//      true:妥当な場合／false:妥当でない場合
//*******************************************************
function validateZipCode(zipCode) {
    return zipCode.match(/^\d{3}[-‐ー－―]\d{4}$/);
}

//*******************************************************
// 処理概要：
//      レイアウト拡大表示画面（商品詳細）を開きます。
// 引数：
//      categoryCd カテゴリーコード
//      catalogCd カタログコード
//      step 注文ステップ番号
// 返却値：
//      n/a
//*******************************************************
function openEnlargedDesign(categoryCd, catalogCd, step) {
    var wx = 850;
    var wy = screen.availHeight * 0.9;
    var x = (screen.width - wx) / 2;
    var y = (screen.height - wy) / 2;
    var url = "ev150view" + "?category="+ categoryCd +"&cat=" + catalogCd + "&step=" + step;
    var ev150 = window.open(url,'EV150',"resizable=yes,scrollbars=yes,left="+x+",top="+y+",width="+wx+",height="+wy);
    ev150.focus();
}

//*******************************************************
// 処理概要：
//      レイアウト拡大表示画面（プレビュー）を開きます。
// 引数：
//      os 注文セッションID
// 返却値：
//      n/a
//*******************************************************
function openEnlargedPreview(os) {
    wx = 700;
    wy = 750;
    x = (screen.width - wx) / 2;
    y = (screen.height - wy) / 2;
    var url = "ev151view" + "?os=" + os;
    var ev151 = window.open(url,'EV151',"resizable=yes,scrollbars=yes,left="+x+",top="+y+",width="+wx+",height="+wy);
    ev151.focus();
}