
/**
 * 職種・業種オブジェクトの親クラス
 */
var WPType = function(){};

WPType.prototype = {
    // 選択された id を格納
    types: {},

    // 選択項目のハッシュ
    typeCollection: {},

    // 種別名
    typeName: '',

    // 選択された id をハッシュにして追加
    add: function(id) {
        this.types[id] = this.typeCollection[id];
    },

    // 選択された項目のハッシュを返す
    getCollection: function() {
        return this.types;
    }
};

/**
 * JobType オブジェクトを生成
 */
var JobType = function(){
    // コンストラクタ

    // id のハッシュを空にする
    this.types = {};
};

// JobType オブジェクトの内容を構築
JobType.prototype = new WPType();

jQuery.extend(JobType.prototype, {
    // 職種
    typeName: 'jt',

    // 職種のハッシュ
    typeCollection: {
            0: '選択してください',
        // 210
          210: '',
        21010: 'アプリケーション開発（モバイル系）',
        21011: 'アプリケーション開発（WEB系/自社製品開発）',
        21019: 'アプリケーション開発（WEB系/SI・受注開発）',
        21012: 'アプリケーション開発（オープン系/自社製品開発）',
        21020: 'アプリケーション開発（オープン系/SI・受注開発）',
        21013: 'アプリケーション開発（汎用系）',
        21014: 'アプリケーション開発（組込・制御系）',
        21015: 'プロジェクトマネージャー・リーダー',
        21016: 'データベースエンジニア',
        21022: 'CAD系エンジニア',
        // 211
          211: '',
        21110: 'WEBサイト制作・デザイナー',
        21111: 'WEBプランナー・ディレクター・プロデューサー',
        21112: 'その他WEB・モバイル（サービス運用・ライターなど）',
        21113: 'モバイルサイト制作・デザイナー',
        21114: 'モバイルプランナーディレクター・プロデューサー',
        21115: 'グラフィック・イラストデザイナー',
        // 212
          212: '',
        21210: 'ネットワークエンジニア（インフラ系）',
        21211: 'セキュリティエンジニア',
        21212: 'その他ネットワーク',
        21213: 'ネットワークエンジニア（サーバー系）',
        21214: 'サーバー構築・運用',
        // 213
          213: '',
        21310: '社内情報システム・社内SE・ヘルプデスク',
        21311: 'カスタマーサポート・SV',
        21312: 'システム運用・保守',
        21313: 'その他サポート',
        21314: 'テクニカルサポート',
        21315: 'インストラクター・トレーナー',
        // 214
          214: '',
        21410: 'ローカライズ・テスト・評価 ',
        21411: 'QA・品質管理',
        21412: 'その他品質・評価',
        21413: '製品開発・研究開発・アーキテクト',
        21414: 'その他ソフト開発・システムエンジニア',
        // 216
          216: '',
        21610: 'プリセールス（セールスエンジニア）',
        21611: 'その他プリセールス',
        21612: 'ITコンサルタント',
        21613: 'ERP（開発・導入・コンサルタント）',
        21614: 'その他コンサルタント（ビジネスコンサル等）',
        // 217
          217: '',
        21710: 'ゲームプログラマー',
        21711: 'ゲームプランナー・ディレクター・プロデューサー',
        21712: 'ゲームデザイナー（2D・3D、モーション、エフェクト）',
        21713: 'その他ゲーム関連',
        // 218
          218: '',
        21810: '回路/システム設計',
        21811: '生産/製造管理・技術',
        21812: '開発（実装/筐体/機構/その他機械設計）',
        21813: '生産管理/外注管理/原価管理',
        21814: 'セールスエンジニア/サービスエンジニア/FAE',
        21815: 'プラント/設備・工事計画/立ち上げ',
        21816: '開発（CAE解析/構造計算/シミュレーション）',
        21817: '光学設計',
        21818: '品質管理/品質保証/IE・VE/TQC',
        21819: '基礎研究/製品企画',
        21820: '研究開発管理/技術情報管理',
        21821: 'サービス・サポートエンジニア',
        21822: 'その他（電気・電子・半導体・機械・自動車技術関連職）',
        21823: 'その他（技術系）',
        // 250
          250: '',
        25010: '営業（IT系）',
        25011: '営業（代理店）',
        25013: '営業（インターネット系）',
        25014: '営業（モバイル系）',
        
        // 252
          252: '',
        25210: '総務',
        25211: '経理・財務',
        25213: '広報・IR',
        25215: 'アシスタント・営業事務・秘書',
        25217: 'その他事務専門職',
        25219: '人事',
        25220: '法務・コンプライアンス',
        25221: '特許・知的財産関連',
        // 253
          253: '',
        25310: 'その他営業（営業企画等）',
        25311: '経営企画、事業企画',
        // 254
          254: '',
        25410: '商品企画・マーケティング・プロモーション',
        25411: 'バイヤー・MD・ロジスティックス',
        25412: 'リサーチャー'
    }
});


/**
 * IndustryType オブジェクトを生成
 */
var IndustryType = function(){
    // コンストラクタ

    // id のハッシュを空にする
    this.types = {};
};

// IndustryType オブジェクトの内容を構築
IndustryType.prototype = new WPType();

jQuery.extend(IndustryType.prototype, {
    // 業種
    typeName: 'it',

    // 業種のハッシュ
    typeCollection: {
          0: '選択してください',
        110: 'eコマース',
        120: 'ネット広告代理店・レップ',
        130: 'ネット金融',
        140: 'モバイルサービス',
        150: 'ネットリサーチ/マーケティング',
        160: 'エンターテイメントコンテンツ',
        170: 'ポータル/媒体・広告サイト運営',
        180: 'ASP関連',
        190: 'WEB制作・デザイン・クリエイティブ',
        199: 'その他 インターネット・モバイル関連',
        210: 'ブロードバンド/ISP/通信',
        220: 'ネットワークインテグレーター',
        299: 'その他 ネットワーク・ブロードバンド関連',
        310: 'SI(システムインテグレーター)/運用・保守',
        320: 'パッケージソフト',
        330: 'ソフトウェアベンダー',
        340: 'セキュリティソフトウェア',
        399: 'その他 SI・ソフトウェア関連',
        410: 'パッケージゲーム',
        420: 'ネットワークゲーム',
        499: 'その他 ゲーム',
        510: '機械/メカトロ',
        520: '電気/電子',
        599: 'その他 機械・メカトロ・電気・電子',
        610: 'ITコンサルティング',
        620: 'シンクタンク',
        699: 'その他コンサル・シンクタンク',
        710: 'ハードウェアベンダー/メーカー',
        799: 'その他 ハードウェア・メーカー',
        910: 'その他(メーカー)',
        911: 'その他(商社)',
        912: 'その他(金融・証券・保険)',
        913: 'その他(建設・不動産関連)',
        999: 'その他'
    }
});


/**
 * 検索条件を構築する
 *
 * onLoad 時と、addition.html からの戻りの際に呼び出される
 */
function setType(obj, types) {
    if (types == '') {
        // 引数が空の場合は 0 を格納して、「選択してください」を表示する
        types = new Array();
        types.push(0);
    }
    // オブジェクトの作成
    for (var i = 0; i < types.length; i ++) {
        obj.add(types[i]);
    }
    // 職種 ID の取得
    var selectTypes = obj.getCollection();
    var typeTexts = new Array();
    var typeIdTexts = new Array();
    for (var i in selectTypes) {
        if (selectTypes[i] != '') {
            // 文字列が空の場合（「希望職種」のカテゴリ名）は追加しない
            typeTexts.push(selectTypes[i]);
        }
        typeIdTexts.push(i);
    }
    // 表示テキストを構築
    var typeText = typeTexts.join(" / ");
    // パラメータを構築
    var joinedTypeIdText = typeIdTexts.join(".");
    var typeIds = '<input type="hidden" id="' + obj.typeName + 'Hidden" name="' + obj.typeName + '" value="' + joinedTypeIdText + '" />';
    $("#ask_" + obj.typeName).html(typeText + typeIds);
    // Thickbox を呼び出すリンクの URL を構築
    var href = $("#" + obj.typeName + "Thickbox").attr('href');
    if (href != undefined) {
        href = href.substring(0, href.indexOf(obj.typeName + "=") + obj.typeName.length + 1);
        $("#" + obj.typeName + "Thickbox").attr('href', href + joinedTypeIdText);
    }

    return true;
}

/**
 * 前のページから渡されたパラメータの抽出処理
 */
function extractQueryParameter(keyName) {
    var ar = new Array();
    var url = location.href;
    // Query String を抜く
    var urls = url.split("?", 2);
    if (urls[1] == undefined) {
        // パラメータが渡されていない場合は空の配列を返す
        return ar;
    }

    // アンカーがついてたらはずす
    var urlString = urls[1];
    if (urls[1].match(/#/)) {
        var tmpString = urls[1].split("#");
        urlString = tmpString[0];
    }

    // パラメータに分割
    var parameters = urlString.split("&");
    for (var i = 0; i < parameters.length; i ++) {
        // キーと値に分割
        var parameterPair = parameters[i].split("=");
        if (parameterPair[0] == keyName && parameterPair[1] != '') {
            // 職種のパラメータは .(ドット)区切りで複数
            var types = parameterPair[1].split(".");
            for (var j = 0; j < types.length; j ++) {
                ar.push(types[j]);
            }
        }
    }
    return ar;
}

/**
 * onLoad 時の初期化処理
 */
//jif (jQuery.browser['safari'] == true || jQuery.browser['msie'] == true) {
    // Safari と IE の時
    $(document).ready(function() {
        // 前のページからのパラメータの処理
        setType(new JobType(), extractQueryParameter('jt'));
        setType(new IndustryType(), extractQueryParameter('it'));
    });
//} else {
//    // 前のページからのパラメータの処理
//    $(document).ready(function() {
//        setJobType(extractQueryParameter());
//    });
//}

/**
 * 検索条件を保存する
 */
function saveConditions(nowLogin, usid) {
    if (!nowLogin || usid == undefined) {
        // ログインしていない場合は、ログイン・会員登録ページに
        location.href = location.protocol + "//" + location.hostname + "/form/member.html";
        return false;
    }


//var jt = $F("'wantsyokusyu1");
    // 職種
    var jta = $("#wantsyokusyu1").attr("value");
    var jtb = $("#wantsyokusyu1_children").attr("value");
    var jtc = $("#wantsyokusyu2").attr("value");
    var jtd = $("#wantsyokusyu2_children").attr("value");
    var jte = $("#wantsyokusyu3").attr("value");
    var jtf = $("#wantsyokusyu3_children").attr("value");

	var jt = jta + "." + jtb + "." + jtc + "." + jtd + "." + jte + "." + jtf;
	jt = jt.replace(".undefined","");
	jt = jt.replace("..","");
	jt = jt.replace("...","");


    // 業種
    var gta = $("#wantgyosyu1_child").attr("value");
    var gtb = $("#wantgyosyu2_child").attr("value");
    var gtc = $("#wantgyosyu3_child").attr("value");

	var it = gta + "." + gtb + "." + gtc;
	it = it.replace(".undefined","");
	it = it.replace("..","");
	it = it.replace("...","");

    // 業種
    //var it = $("#wantgyosyu3").attr("value");
    // 勤務地１
    var usenkinmuchi1 = $("#usenkinmuchi1").attr("value");
    // 勤務地２
    var usenkinmuchi2 = $("#usenkinmuchi2").attr("value");
    // 勤務地３
    var usenkinmuchi3 = $("#usenkinmuchi3").attr("value");
    // 年収
    var usenwantpaymentmin = $("#usenwantpaymentmin").attr("value");
    // 雇用形態
    var BR_WORKTYPECD = '';
    if ($("#BR_WORKTYPECD").attr("value") == undefined || $("#BR_WORKTYPECD").attr("value") == '') {
    } else {
        BR_WORKTYPECD = $("#BR_WORKTYPECD").attr("value");
    }
    // 年齢
    if ($("#riagemax").attr("value") == undefined || $("#riagemax").attr("value") == '') {
        riagemax = '';
    } else {
        riagemax = $("#riagemax").attr("value");
    }
    // 外資
    var gsf = '';
    if ($("#gsf").attr("checked") == true) gsf = 1;
    // 未経験歓迎
    var mkf = '';
    if ($("#mkf").attr("checked") == true) mkf = 1;
    // 上場
    var jjf = '';
    if ($("#jjf").attr("checked") == true) jjf = 1;
    // 転勤なし
    var ntf = '';
    if ($("#ntf").attr("checked") == true) ntf = 1;
    // 残業殆どなし
    var nzf = '';
    if ($("#nzf").attr("checked") == true) nzf = 1;
    // 従業員数500名以上
    var o5f = '';
    if ($("#o5f").attr("checked") == true) o5f = 1;
    // 服装自由
    var dff = '';
    if ($("#dff").attr("checked") == true) dff = 1;
    // 福利厚生が充実
    var fkf = '';
    if ($("#fkf").attr("checked") == true) fkf = 1;
    // 人事インタビューあり
    var ivf = '';
    if ($("#ivf").attr("checked") == true) ivf = 1;

    // 検討中フォルダに追加
    jQuery.post("./js/search_log.php", {'usid': usid, 'jt': jt, 'it': it, 'riprefcd': usenkinmuchi1, 'k2': usenkinmuchi2, 'k3': usenkinmuchi3, 'BR_WORKTYPECD': BR_WORKTYPECD, 'ripaymax': usenwantpaymentmin, 'riagemax': riagemax, 'gsf': gsf, 'mkf': mkf, 'jjf': jjf, 'ntf': ntf, 'nzf': nzf, 'o5f': o5f, 'dff': dff, 'fkf': fkf, 'ivf': ivf}, function(text){
        alert('保存しました');
    });
}
