
/* フォームの状態を記録・再現 */
var formStock = new Array();
function record_play_form_value(mode){
    var forms = $(":input[@type='text']");
    if(mode) {
        for(var i=0; forms[i]; i++){
            //formStock[i] = forms[i].cloneNode(true);
            formStock[i] = forms[i].value;
        }
    } else {
        if(formStock.length == 0)return;
        for(var i=0; forms[i]; i++){
            //forms[i].parentNode.replaceChild(formStock[i],forms[i]);
            forms[i].value = formStock[i];
        }
    }
}

/* 数値フォーマット */
function number_format(num) {
    return num.toString().replace( /([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,');
}

/* 自動テキストエリアサイズ調整 */
function resize_textarea(e){
    var textarea = e.target || e.srcElement;
    var value = textarea.value;
    var lines = 1;
    for (var i = 0, l = value.length; i < l; i++){
        if (value.charAt(i) == '\n') lines++;
    }
    if (lines < 12) lines = 12;
    textarea.setAttribute("rows", lines);
}
/**
 * ヘルプの検索の例をクリックしたらエンコードしてリダイレクトする処理
 * @params string keyword
**/
function help_search(keyword){
    location.href = '/help/search?keyword=' + encodeURIComponent(keyword);
}

/*
 * 入力可能文字数リマインダー
 * idはJquery形式で#をつける 例)#id_name
 * @params string ta_id テキストエリアのid
 * @params int limit 制限文字数
 * @params string re_id 制限文字数表示エリアのid
 * @return void 
 */
function reminder_num_check(ta_id, limit ,re_id) {
    var cnt = 0;
    var o_cnt = 0;
    var t_cnt = 0;
    var cret = 0;
    var n;
    var str;
    var ta = $(ta_id)[0];
    var re;
    limit = limit * 2;
    cnt = str_width(ta.value);
    if ((limit - cnt) < 0 ) {
        window.focus();
        ta.focus();
        str = ta.value;
        o_cnt = Math.ceil((cnt-limit)/2);
        str = str.substr(0, str.length - o_cnt);
        cnt = str_width(str);
        while(cnt > limit){
            o_cnt = Math.ceil((cnt-limit)/2);
            str = str.substr(0, str.length - o_cnt);
            cnt = str_width(str);
        }
        ta.value = str;
    }
    t_cnt = Math.floor((limit-cnt)/2);
    re = $(re_id)[0];
    re.removeChild(re.firstChild);
    re.appendChild(document.createTextNode(t_cnt));
}

/* 文字数カウンター */
function str_width(str){
    str = str.replace(/[\n\r]/g,'');
    str = escape(str);
    str = str.replace(/%u[A-Z\d]{4}/g,'  ');
    str = str.replace(/%[A-Z\d]{2}/g,' ');
    return str.length;
}

/* チェックボックス/ラジオボタンで1つのIDを開閉 */
function change_display(chk_el, change_el) {
    ($(chk_el).attr("checked")) ? $(change_el).css('display', 'block') : $(change_el).css('display', 'none');
}
/* チェックボックス/ラジオボタンで1つのIDテーブル要素を開閉 */
function change_display_td(chk_el, change_el) {
    if ($.browser.msie) {
        ($(chk_el).attr("checked")) ? $(change_el).css("display","inline") : $(change_el).css("display","none");
    } else {
        ($(chk_el).attr("checked")) ? $(change_el).css("display","table-row") : $(change_el).css("display","none");
    }
}
function change_display_tr(el1, el2, move_el, o_c) {
    if (o_c) {
        $(el1).css('display', 'none');
        $(el2).css('display', 'block');
        if ($.browser.msie) {
            $(move_el).css("display","inline");
        } else {
            $(move_el).css("display","table-row");
        }
    } else {
        $(el1).css('display', 'block');
        $(el2).css('display', 'none');
        $(move_el).css("display","none");
    }
}

/* チェックボックス/ラジオボタンで要素を開閉 */
function switch_display(){
    if($(switch_display.arguments[0]).attr("checked")){
        for (var i = 1; i <= switch_display.arguments.length - 1; i++) {
            if (i == 1) {
                $(switch_display.arguments[i]).css("display", "");
            } else {
                $(switch_display.arguments[i]).css("display", "none");
            }
        }
    }
}
/* セレクトボックスにより1つ以上の要素を開閉 */
function selected_display(){
    if($(selected_display.arguments[0]).val() == '' || $(selected_display.arguments[0]).val() == null){
        for (var i = 1; i <= selected_display.arguments.length - 1; i++) {
            $(selected_display.arguments[i]).css("display", "none");
        }
    } else {
        for (var i = 1; i <= selected_display.arguments.length - 1; i++) {
            $(selected_display.arguments[i]).css("display", "");
        }
    }
}
/* 1つ以上の要素を閉じる */
function display_none(){
    for (var i = 0; i <= display_none.arguments.length - 1; i++) {
        $(display_none.arguments[i]).css("display", "none");
    }
}
/* 要素を開く */
function display(el){
    $(el).css("display", "block");
}
/* disabledの表示切替 */
function change_disabled(move_el, change_el, val_data){
    if($(move_el).val() == val_data){
        $(change_el).removeAttr("disabled");
    }else{
        $(change_el).attr("disabled", "disabled");
    }
}
/* disabledの表示切替 */
function change_disabled_attr(move_el, change_el, attr, data){
    if($(move_el).attr(attr) == data){
        $(change_el).removeAttr("disabled");
    }else{
        $(change_el).attr("disabled", "disabled");
    }
}
/* 背景の表示切替 */
function change_bgc(move_el, change_el){
    ($(move_el).attr("checked")) ? $(change_el).css('background-color', '#FFECEE') : $(change_el).css('background-color', '#FFFFFF');
}
/* 画像自動リサイズ */
function auto_resize_image(url, el, max_width){
    resize_image(el, max_width);
    var img = new Image();
    img.src = url;
    img.onload = function() { resize_image(el, max_width); }
}
/* 画像自動リサイズ(縦) */
function auto_resize_image_height(url, el, max_height){
    resize_image(el, max_height);
    var img = new Image();
    img.src = url;
    img.onload = function() { resize_image_height(el, max_height); }
}
/* 画面遷移時に確認ポップアップを出す(submit時以外) */

function on_before_unload(el) {
    var unload = true;
    $(el).click(function(){
        unload = false;
    });
    $('form').submit(function(){
        unload = false;
    });
    $('form').keyup(function(){
        unload = true;
    });
    $('body').mouseover(function(){
        unload = true;
    });
    window.onbeforeunload = function(){
        if (unload) {
            return '移動すると、入力した内容が消えてしまう可能性があります。';
        }
    }
}
/* リサイズ */
function resize_image(el, max_width){
    if ($(el).width() > (max_width) ){
        $(el).width(max_width);
    }
}
/* リサイズ(縦) */
function resize_image_height(el, max_height){
    if ($(el).height() > (max_height) ){
        $(el).height(max_height);
    }
}
/* ファイル増減 */
function file_add(model, name, form_el, link_el, count){
    if (count == undefined) count = 10;
    for(i=0;i<count;i++){
        // 要素がなければ追加して処理から抜ける
        if ($('#' + model + name + i).val() == undefined) {
            $(form_el).append('<input type="file" id="' + model + name + i + '" name="data[' + model + '][' + name + '][]" class="more" size="25" />');
            if (i == (count - 1)) $(link_el).css('display', 'none');
            break;
        }
    }
}

function add(el, none, none2){
    $(el).css('display', 'block');
    $(none).css('display', 'none');
    $(none2).css('display', 'none');
}
function all_check(el, mv_el) {
    if ($(el).attr('checked') == true) {
        $(mv_el).attr('checked', true);
    } else {
        $(mv_el).attr('checked', false);
    }
}
function order(){
var link = '';
$('.checker:checked').each(function(){
link += $(this).attr('id');
});
if (link == '') {
alert('依頼するユーザーを選択してください');
} else {
link = link.substring(1);
location.href = '/work/create/' + link;
}
}
function del(type){
    var link = '';
    $('.checker:checked').each(function(){
        link += $(this).attr('name');
    });
    var name = (type == 'user') ? 'ユーザー' : '仕事';
    if (link == '') {
        alert('削除する' + name + 'を選択してください');
    } else {
        link = link.substring(1);
        if (confirm('チェックした' + name + 'をすべて削除しますがよろしいですか？'))
            location.href = '/mypage/watchlist_del/' + type + '/' + link;
    }
}
/* user */

/* ニックネーム使用チェック */
function nickname_check(){
    nickname = $('#UserNickname').val();
    if(nickname.length != 0){
        jQuery.ajax({
                url : "/user/nickname_check/" + nickname,
                type : "get",
                success : function(response_text){
                        if(response_text == 0){
                                $('#use_ok').css("display","block");
                                $('#use_ng').css("display","none");
                                $('#use_no').css("display","none");
                        }else if(response_text == 1){
                                $('#use_ok').css("display","none");
                                $('#use_ng').css("display","block");
                                $('#use_no').css("display","none");
                        }else{
                                $('#use_ok').css("display","none");
                                $('#use_ng').css("display","none");
                                $('#use_no').css("display","block");
                        }
                }
        });
    }
}
/* 人を探すのページングにジャバスクリプトを仕込む */
function pageInJs() {
    $('#paging span a').each(function(){
        if ($(this).html() == '＜ 前へ') {
            var text = $('#paging span.current').html();
            text = text -1;
            $(this).attr('href', 'javascript:search(' + text + ')');
        } else if ($(this).html() == '次へ ＞') {
            var text = $('#paging span.current').html();
            text = text -1+2;
            $(this).attr('href', 'javascript:search(' + text + ')');
        } else {
            $(this).attr('href', 'javascript:search(' + $(this).html() + ')');
        }
    });
}

/* ニックネーム数チェック */
function nickname_num_check(){
    nickname = $('#UserNickname').val();
    if(4 <= nickname.length){
        $("#userID_check").removeAttr("disabled");
    }else{
        $("#userID_check").attr("disabled", "disabled");
    }
}

/* 区分によって項目の表示・非表示の切り替え */
function division_display_change(){
    if($("#UserProfileType1:radio:checked").val() == 1){
        ($.browser.msie) ? $("#company").css("display","inline") : $("#company").css("display","table-row");
        ($.browser.msie) ? $("#company_error").css("display","inline") : $("#company_error").css("display","table-row");
        $("#sex,#sex_error,#birthday,#birthday_desc,#birthday_error1,#birthday_error2").css("display","none");
    }else{
        $("#company").css("display","none");
        $("#company_error").css("display","none");
        ($.browser.msie) ? $("#sex,#sex_error,#birthday,#birthday_desc,#birthday_error1,#birthday_error2").css("display","inline") : $("#sex,#sex_error,#birthday,#birthday_desc,#birthday_error1,#birthday_error2").css("display","table-row");
    }
}

/* mypage */

/* 経歴・資格チェックボックスの値によって期間の変更(追加) */
  function period_check_add(){
    for(i=0;i<5;i++){
      if($('#ExperiencePeriod'+i).attr('checked')){
        $('#end_date'+i).css("display","inline");
      }else{
        $('#end_date'+i).css("display","none");
      }
    }
  }

/* 経歴・資格チェックボックスの値によって期間の変更(編集) */
  function period_check_edit(){
    if($('#ExperiencePeriod').attr('checked')){
      $('#end_date').css("display","inline");
    }else{
      $('#end_date').css("display","none");
    }
  }
/* work */
/* 提案者制限の表示を切り替える */
function add_name_change(el, none){
    $(el).css('display', 'block');
    $(none).css('display', 'none');
    $(el).removeAttr('name');
    $(none).attr('name', true);
}
/* 提案者制限でのユーザーを追加する */
function add_user(loginUser) {
    $('#error_user').css('display', 'none');
    var nickname = $('#WorkInvitedUser').val();
    nickname = nickname.replace(/ /g, '');
    if (nickname.match('[^a-zA-Z0-9-_]')) {
        $('#error_user').html('不正な入力です');
        $('#error_user').css('display', 'block');
    } else {
        if (nickname == loginUser) {
            $('#error_user').html('自分自身は追加できません');
            $('#error_user').css('display', 'block');
        } else {
            var end = false;
            var cnt = 0;
            $('#privateUsers span.lancer a').each(function(){
                if ($(this).html() == nickname) end = true;
                cnt += 1;
            });
            if (cnt > 19){
                $('#error_user').html('20人以上は招待できません');
                $('#error_user').css('display', 'block');
            } else {
                $('a.registration').each(function(){
                    if ($(this).html() == nickname) end = true;
                });
                if (!end) {
                    if (nickname.length != 0){
                        jQuery.ajax({
                                url : "/user/nickname_exist/" + nickname,
                                type : "get",
                                success : function(response_text){
                                        if(response_text == 1){
                                            $('#privateUserTitle').css('display', 'block');
                                            var text = '<div id="user' + nickname + '" class="mar_b5">';
                                            text += '<span class="float_right del mar_l20"><a href="javascript:user_del(\'' + nickname + '\')">削除する</a></span>';
                                            text += '<span class="lancer" id="' + nickname + '"><a target="_brank" href="/profile/' + nickname + '">' + nickname + '</a></span></div>';
                                            text += $('#privateUsers').html();
                                            text = text;
                                            $('#privateUsers').html(text);
                                            user_val(nickname);
                                        }else if(response_text == 2) {
                                            $('#error_user').html(nickname + 'は退会したユーザーです');
                                            $('#error_user').css('display', 'block');
                                        }else{
                                            $('#error_user').html(nickname + 'は存在しないユーザーです');
                                            $('#error_user').css('display', 'block');
                                        }
                                }
                        });
                    }
                } else {
                    $('#error_user').html(nickname + 'さんは既に追加されています');
                    $('#error_user').css('display', 'block');
                }
            }
        }
    }
    $('#WorkInvitedUser').focus();
}

/* 提案者制限での追加ユーザーを削除する */
function user_del(nickname) {
    if (confirm(nickname + 'さんを提案・閲覧可能ユーザーから除外しますか？')) {
        $('#user' + nickname).remove();
    }
    if (!$("#privateUsers span.lancer a").text())$('#privateUserTitle').css('display', 'none');
    user_val();
}
/* 提案者制限の追加ユーザーをフォームに入力する */
function user_val(nickname) {
    var users = '';
    $('#privateUsers span.lancer a').each(function(){
        users += ',';
        users += $(this).html();
    });
        users = users.substring(1);
        $('#WorkInvitedUsers').val(users);
       $('#WorkInvitedUser').focus();
       $('#WorkInvitedUser').val('');
       $('#user' + nickname).css('background-color', '#FAF391');
       $('#user' + nickname).fadeOut(100,
       function() {
        $('#user' + nickname).removeAttr('style');
       }
   );
}
/* 提案者制限のユーザーのリストを表示する */
function private_user_list() {
    var users = $('#WorkInvitedUsers').val();
    if (users != '') {
        users = users.split(',');
        var text = '';
        for (var i in users) {
            text += '<div id="user' + users[i] + '" class="mar_b5">';
            text += '<span class="float_right del mar_l20"><a href="javascript:user_del(\'' + users[i] + '\')">削除する</a></span>';
            text += '<span class="lancer" id="' + users[i] + '"><a target="_brank" href="/profile/' + users[i] + '">' + users[i] + '</a></span></div>';
        };
        $('#privateUsers').html(text);
    }
}
/* 子カテゴリ一覧をグローバル変数に代入する */
    function set_category_option(option) {
        categoryOptions = $(option).html();
    }
/* 親カテゴリの値によって子カテゴリの一覧を取得して変更 */
    function change_category_list(p_c, s_c){
        $(s_c).html(categoryOptions);
        if ($(p_c).val() != $(s_c + ' option:selected').attr('name')) $(s_c).val('');
        if ($(p_c).val() != '') {
            $(s_c).removeAttr('disabled');
            $(s_c + ' option').each(function(){
                if (!($(this).attr('name') == $(p_c).val() || !$(this).attr('name'))) {
                    $(this).remove();
                }
            });
        } else {
            $(s_c).attr('disabled', 'disabled');
        }
    }
/* ピックアップ画像の拡大(提案詳細) */
function zoom_image(url, i){
    document.imgBig.src = url;
    $('#imgBig').css('width', '');
    auto_resize_image(url, '#imgBig', 460);
    $('.imgList').removeAttr('style');
    $('#imgList'+i).css('background-color', '#0066CC');
}
/* マイルストーンの料金合計 */
function change_display_class (text, box) {
    if ($(text).attr('class') == 'more') {
        $(text).removeClass('more');
        $(text).addClass('un_more');
        $(text).html('<a href="javascript:">閉じる</a>');
        ($.browser.msie) ? $(box).css("display","inline") : $(box).css("display","table-row");
    } else {
        $(text).removeClass('un_more');
        $(text).addClass('more');
        $(text).html('<a href="javascript:">詳細入力</a>');
        $(box).css("display","none");
    }
}
/* 延長の料金合計 */
function amount_add(before, target, change) {
    str = $(target).val();
    add = 0;
    if (str != undefined && str.length != 0 && !str.match(/\D/gi)) {
        add = eval(str) - before;
        if (add < 0) add = 0;
    }
    add = String(add);
    $(change).html(add);
}
/* マイルストーンの料金合計 */
function milestone_amount_total() {
    amount = 0;
    for (i = 1;i < 11;i++) {
        str = $("#Milestone"+i+"Amount").val();
        if (str == undefined) continue;
        if (str.length == 0) continue;
        if (str.match(/\D/gi)) continue;
        amount = amount + eval(str);
    }
    amount = String(amount);
    $("#total").html(amount);
}
/* マイルストーンを追加 */
function add_milestone(){
    for (i = 1;i< 11;i++) {
        id = ".Milestone" + String(i);
        if ($(id).css('display') != 'none') continue;
        ($.browser.msie) ? $(id).css("display","inline") : $(id).css("display","table-row");
        if (i == 9) { $('#MilestoneMore').css('display','none'); break; }
        break;
    }
}
