$(function() { $(document).ready(function () { window.post = function(form,access,key){ var submit_input_elm = form.find("div.form_row.submit > div.input_submit > input.submit"); var submit_input_value = submit_input_elm.attr("value"); var result = 0; if( submit_input_value == "DELETE" ){ result = window.confirm('この項目を削除しますか?'); }else if( submit_input_value.indexOf('キャンセルする') != -1 ){ result = window.confirm('本当にご予約をキャンセルしますか?'); }else if( submit_input_value.indexOf('確認して更新') != -1 ){ if( submit_input_value.indexOf(':') != -1 ){ var submit_input_value_arr = submit_input_value.split(":"); var str = submit_input_value_arr[0]; result = window.confirm(str+'の変更を適用しますか?'); }else{ result = window.confirm('変更を適用しますか?'); } }else{ result = 1; } if( result ) { form.addClass("loading"); if( access == "return" ){ form.addClass("return"); } var params = text_strip_ctrlcode(form.serialize()); console.log(params + "&access=" + access); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_post.php", scriptCharset: 'UTF-8', data: params + "&access=" + access, dataType: "json" }).done(function(data_json) { // alert(data_json.debug); var form_elm = data_json.form_elm; var form_id = data_json.form_id; var form_mode = data_json.form_mode; var elm_body = data_json.elm_body; var status = data_json.status; console.log("done"); console.log(data_json); console.log(form_mode); console.log(status); // alert(form_elm); // alert(elm_body); if( form_elm != "" ){ var wrapper = form.closest("article.form_wrapper"); wrapper.removeClass("return"); if( status != "success" ){ wrapper.addClass("return"); } form.empty(); form.append(form_elm); if( key == "show" ){ wrapper.addClass("show"); } } if( elm_body != "" ){ $("body").append(elm_body); var target = $("body").children("."+form_id); target.delay(100).queue(function(){ $(this).addClass("show").dequeue(); }); target.delay(4000).queue(function(){ $(this).removeClass("show").dequeue(); }); target.delay(3000).queue(function(){ $(this).remove().dequeue(); }); } setTimeout( function(){ form.removeClass("loading return"); if( access == "return" && key != "" ){ move_form_to(form, key); }else if( status != "success" ){ move_err(form); }else if( form_mode == "normal" ){ move_form_top(form); }else if( form_mode == "confirm" ){ move_form_top(form); }else if( status == "success" ){ if( form_id == "account_login" ){ refresh("login"); } } } , 100); }).fail(function(data_json) { // alert(data_json.debug); console.log("fail"); console.log(data_json); // location.reload(true); setTimeout( function(){ form.removeClass("loading"); } , 100); }); } } window.elm_refresh = function(target_selector,key){ var href = location.href; console.log("ajax-start: "+href); console.log("target_selector: "+target_selector); if( target_selector == ".tab[data-tab='overview']" || target_selector == ".tab[data-tab='summary']" || target_selector == ".tab[data-tab='message']" || target_selector == ".tab[data-tab='lifebook']" || target_selector == ".tab[data-tab='comment']" || target_selector == ".tab[data-tab='estimate']" || target_selector == ".tab[data-tab='payment']" || target_selector == ".tab[data-tab='shipping']" || target_selector == ".tab[data-tab='entrysheet']" || target_selector == ".tab[data-tab='user']" || target_selector == ".tab[data-tab='comment']" || target_selector == ".tab[data-tab='orderlist']" ){ $(target_selector+" > div.inner > *").css({"opacity":0.5}); $(target_selector+" > div.inner > *").append('
'); tab_switch_ajax(href,target_selector,key); }else{ $(target_selector+" > *").css({"opacity":0.5}); $(target_selector+" > *").append('
'); // if( typeof ajax_request_refresh != "undefined" ){ // ajax_request_refresh.abort(); // } console.log("ajax_start : ajax_request_refresh"); ajax_request_refresh = $.ajax({ url: href, dataType: "html", type: "POST", data: {"ajax_sign" : target_selector }, }).done(function(ajax_data) { console.log("ajax-done: "+href); var get_elm = $(target_selector+' > *', $('
').prepend(ajax_data)); $(target_selector).empty(); $(target_selector).prepend(get_elm); $(target_selector).addClass("ajax"); if( key == "latest" ){ var scroll_target = $(target_selector+"> div.inner div.message.base > div.inner"); var latest_elm = $(target_selector+"> div.inner div.thread > div.archives").find("dl.message.active:last"); var scroll_val = latest_elm.position().top - 20; scroll_target.stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); } }).fail(function(data_json) { console.log("fail"); }); } } function tab_switch_ajax(href,target_selector,key){ // if( typeof ajax_tab_switch != "undefined" ){ // ajax_tab_switch.abort(); // } console.log("ajax_start : ajax_tab_switch"); ajax_tab_switch = $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_tab_switch.php", dataType: "html", type: "POST", data: {"href" : href }, }).done(function(ajax_data) { console.log("ajax-done: "+href); var get_elm = ajax_data; $(target_selector + " > div.inner").empty(); $(target_selector + " > div.inner").prepend(get_elm); $(target_selector).addClass("ajax"); if( key == "request" ){ if( $("section.order_lifebook div.details.lifebook > article.form_wrapper > form.nisor > div.form_base.normal")[0] ){ var scroll_val = $("section.order_lifebook div.details.lifebook > article.form_wrapper > form.nisor > div.form_base.normal").offset().top + $("body #entry > div.inner").scrollTop() - 80; $("article[class^='mypage\\/reservations\\/'] > div.body div.tab[data-tab='lifebook'] > div.inner").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); } } if( key == "lifebook_select_photo" ){ if( $("section.order_lifebook div.details.lifebook > article.form_wrapper > form.nisor > div.form_base.normal")[0] ){ $("section.order_lifebook > article > div.inner > section.intro").addClass("next"); setTimeout( function(){ var scroll_val = $("article[class^='mypage\/reservations\/'] > div.body div.tab > div.inner > section.order_lifebook div.details.lifebook > article.form_wrapper > form.nisor > div.form_base.normal > div.form_row.row_lifebook_cut_request").offset().top + $("body #entry > div.inner").scrollTop(); $("article[class^='mypage\\/reservations\\/'] > div.body div.tab[data-tab='lifebook'] > div.inner").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); } , 100); } } if( key == "select_print_2L" ){ if( $("section.tab_content > article.user > div.inner > section.detail.request_print_use")[0] ){ var scroll_val = $("section.tab_content > article.user > div.inner > section.detail.request_print_use").offset().top + $("body #entry > div.inner").scrollTop(); $("article[class^='mypage\\/reservations\\/'] > div.body div.tab[data-tab='summary'] > div.inner").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); } } }).fail(function(data_json) { console.log("fail"); }); } function form_switch(form,switch_to){ form.addClass("loading"); var params = form.serialize(); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_form_switch.php", data: params + "&switch_to=" + switch_to, dataType: "json" }).done(function(data_json) { console.log("done"); console.log(data_json); var form_elm = data_json.form_elm; var status = data_json.status; form.empty(); form.append(form_elm); setTimeout( function(){ form.removeClass("loading"); if( status == "err" ){ move_err(form); } if( status == "success" ){ move_form_top(form); } } , 100); }).fail(function(data_json) { console.log("fail"); setTimeout( function(){ form.removeClass("loading"); } , 100); }); } $(document).on("click", "nav.tab_switch > ul > li > div.switch", function(){ var target = $(this).attr("data-target"); var switch_wrapper = $(this).closest('nav.tab_switch'); var tab_wrapper = $(this).closest('nav.tab_switch').parent(); switch_wrapper.find("li").removeClass('active'); $(this).parent("li").addClass('active'); tab_wrapper.find(".tab").removeClass('active'); if( tab_wrapper.find(".tab[data-tab='"+target+"']")[0] ){ var target_selector = ".tab[data-tab='"+target+"']"; var tab_elm = tab_wrapper.find(target_selector); tab_elm.addClass('active'); elm_refresh(target_selector); }else{ console.log(target+" elm not found"); } }) function remind_day_before_shooting_switch(order_id,key){ var result = 0; if( key == "turn_reactive" ){ result = window.confirm('リマインドをONに戻しますか?'); }else{ result = 1; } if( result ) { // console.log(order_id); // console.log(key); if( typeof ajax_remind_day_before_shooting_switch != "undefined" ){ ajax_remind_day_before_shooting_switch.abort(); } console.log("ajax_start : ajax_remind_day_before_shooting_switch"); ajax_remind_day_before_shooting_switch = $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_remind_day_before_shooting_switch.php", dataType: "html", type: "POST", data: "order_id=" + order_id + "&key=" + key, }).done(function(ajax_data) { console.log("ajax-done: "+ajax_data); if( key == "turn_reactive" ){ elm_refresh("div.body.entry > div.detail.side"); } }).fail(function(data_json) { console.log("fail"); }); } } $(document).on("click", "dl.remind_day_before_shooting div.switch", function(){ var target = $(this); var order_id = target.closest("body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry").attr("id"); setTimeout( function(){ if( target.hasClass('on') ){ remind_day_before_shooting_switch(order_id,"turn_on"); }else{ remind_day_before_shooting_switch(order_id,"turn_off"); } } , 10); }) $(document).on("click", "dl.remind_day_before_shooting span.reactive", function(){ var target = $(this); var order_id = target.closest("body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry").attr("id"); setTimeout( function(){ remind_day_before_shooting_switch(order_id,"turn_reactive"); } , 10); }) function remind_lifebook_request_switch(order_id,key){ var result = 0; if( key == "turn_reactive" ){ result = window.confirm('リマインドをONに戻しますか?'); }else{ result = 1; } if( result ) { // console.log(order_id); // console.log(key); if( typeof ajax_remind_lifebook_request_switch != "undefined" ){ ajax_remind_lifebook_request_switch.abort(); } console.log("ajax_start : ajax_remind_lifebook_request_switch"); ajax_remind_lifebook_request_switch = $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_remind_lifebook_request_switch.php", dataType: "html", type: "POST", data: "order_id=" + order_id + "&key=" + key, }).done(function(ajax_data) { console.log("ajax-done: "+ajax_data); if( key == "turn_reactive" ){ setTimeout( function(){ elm_refresh(".tab[data-tab='lifebook']",""); } , 10); } }).fail(function(data_json) { console.log("fail"); }); } } $(document).on("click", "dl.remind_lifebook_request div.switch", function(){ var target = $(this); var order_id = target.closest("body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry").attr("id"); setTimeout( function(){ if( target.hasClass('on') ){ remind_lifebook_request_switch(order_id,"turn_on"); }else{ remind_lifebook_request_switch(order_id,"turn_off"); } } , 10); }) $(document).on("click", "dl.remind_lifebook_request span.reactive", function(){ var target = $(this); var order_id = target.closest("body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry").attr("id"); setTimeout( function(){ remind_lifebook_request_switch(order_id,"turn_reactive"); } , 10); }) $(document).on("change", "div.lifebook_request_reminder_settings div.input_date input[name='input_remind_lifebook_request_limit_date']", function(){ var target = $(this); var order_id = target.closest("body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry").attr("id"); var value = target.val(); setTimeout( function(){ console.log(order_id); console.log(value); if( typeof ajax_remind_lifebook_request_date_edit != "undefined" ){ ajax_remind_lifebook_request_date_edit.abort(); } console.log("ajax_start : ajax_remind_lifebook_request_date_edit"); ajax_remind_lifebook_request_date_edit = $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_remind_lifebook_request_date_edit.php", dataType: "html", type: "POST", data: "order_id=" + order_id + "&key=date_change&value=" + value, }).done(function(ajax_data) { console.log("ajax-done: "+ajax_data); }).fail(function(data_json) { console.log("fail"); }); } , 10); }) $(document).on("change", "div.index.db.users div.col.checkbox input[type='checkbox']", function(){ if( $(this).attr("data-target") != "" ){ var target_key = $(this).attr("data-target"); console.log(target_key); if( $(this).prop('checked') ) { if( target_key == "all" ){ console.log("check all on"); $("div.index.db.users div.col.checkbox input[type='checkbox']").prop("checked",true); } } else { if( target_key == "all" ){ console.log("check all off"); $("div.index.db.users div.col.checkbox input[type='checkbox']").prop("checked",false); } } } return false; }) $(document).on("change", "div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control > div.input_wrapper.select > label.input_select > select", function(e) { var target_val = $(this).val(); console.log(target_val); if( target_val != "" ){ $("div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control").addClass("selected"); $("div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control").attr("data-tag_user",target_val); }else{ $("div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control").removeClass("selected"); $("div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control").removeAttr("data-tag_user"); } return false; }); $(document).on("click", "div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control.selected > div.input_wrapper.select > div.btn", function(){ var checked_num = $("div.index.db.users div.col.checkbox > div.check_single > input[type='checkbox']:checked").length; if( checked_num != 0 ){ var tag_user_val = $("div.index.db.users > ul > li.header.user.controller > div.inner > div.col.checkbox_control").attr("data-tag_user"); var tag_user_val_arr = tag_user_val.split("/"); var tag_user_val_label = tag_user_val_arr[0]; var tag_user_val_actiontype = tag_user_val_arr[1]; var tag_user_val_str = tag_user_val_arr[2]; var result = 0; if( tag_user_val_actiontype == "add" ){ result = window.confirm('適用対象'+checked_num+'点にタグ「'+tag_user_val_str+'」を付与しますか?'); } if( tag_user_val_actiontype == "remove" ){ result = window.confirm('適用対象'+checked_num+'点からタグ「'+tag_user_val_str+'」を除去しますか?'); } if( result ) { var target_arr = []; $("div.index.db.users div.col.checkbox > div.check_single > input[type='checkbox']:checked").each(function(i){ target_arr[i] = $(this).attr("data-target"); }); console.log('tag_label: '+ tag_user_val_label); console.log('tag_actiontype: '+ tag_user_val_actiontype); console.log('tag_str: '+ tag_user_val_str); console.log('target_arr: '+ target_arr); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_tag_control.php", scriptCharset: 'UTF-8', data: { 'tag_label': tag_user_val_label, 'tag_actiontype': tag_user_val_actiontype, 'tag_str': tag_user_val_str, 'target_arr': target_arr }, dataType: "json" }).done(function(data_json) { var status = data_json.status; var elms = data_json.elm; console.log(status); console.log(elms); for (var val in elms) { console.log(val + ': ' + elms[val]) var target_id = val; var target_tagelms = elms[val]; $("div.tags[data-account_id='"+target_id+"']").empty().append(target_tagelms); } }).fail(function(data_json) { console.log("fail"); console.log(data_json); }); } }else{ alert("適用対象にチェックを入れてください"); } }) $(window).hashchange( function(){ var hash = location.hash; hashchange_action(hash); }) window.hashchange_action = function(hash){ if( hash.indexOf( "#/tab/" ) != -1 ){ var key = hash.replace( /^#\/tab\//, '' ); tab_switch(key); } if( $(".calendar_wrapper")[0] && hash.indexOf( "#/fc/" ) != -1 ){ var key = hash.replace( /^#\/fc\//, '' ); console.log(key); if( $(".calendar_wrapper")[0] ){ if( key.endsWith("-w") ){ key = key.replace("-w",""); if( ck_ymd(key) ){ $(".calendar_wrapper").fullCalendar("changeView", "agendaWeek", key); } }else{ if( ck_ymd(key) ){ $(".calendar_wrapper").fullCalendar("changeView", "agendaDay", key); }else if( ck_ym(key) ){ $(".calendar_wrapper").fullCalendar("changeView", "month", key); } } } } } function tab_switch(key){ console.log(key); var sub_key = ""; var elm_refresh_flg = 1; if( key.indexOf( "message/" ) != -1 ){ var key_arr = key.split('/'); var key = key_arr[0]; if( key_arr[1] == "todo_list" ){ elm_refresh_flg = 0; }else{ sub_key = key_arr[1]; } } if( key.indexOf( "summary/" ) != -1 ){ var key_arr = key.split('/'); var key = key_arr[0]; if( key_arr[1] == "select_print_2L" ){ sub_key = key_arr[1]; } } if( key.indexOf( "lifebook/" ) != -1 ){ var key_arr = key.split('/'); var key = key_arr[0]; if( key_arr[1] == "request" ){ sub_key = key_arr[1]; } if( key_arr[1] == "lifebook_select_photo" ){ sub_key = key_arr[1]; } } if( elm_refresh_flg == 1 ){ var target = key; var switch_wrapper = $('nav.tab_switch'); var tab_wrapper = switch_wrapper.parent(); switch_wrapper.find("li").removeClass('active'); $("[href='#/tab/"+target+"']").parent("li").addClass('active'); tab_wrapper.find(".tab").removeClass('active'); if( tab_wrapper.find(".tab[data-tab='"+target+"']")[0] ){ var target_selector = ".tab[data-tab='"+target+"']"; var tab_elm = tab_wrapper.find(target_selector); tab_elm.addClass('active'); console.log("elm_refresh: "+target_selector+" "+sub_key); elm_refresh(target_selector,sub_key); }else{ console.log(target+" elm not found"); } } } function refresh(key){ var href = location.href; // if( key == "logout" ){ // window.location = href; // } if( typeof ajax_request_refresh != "undefined" ){ ajax_request_refresh.abort(); } console.log("ajax_start : ajax_request_refresh"); ajax_request_refresh = $.ajax({ url: href, dataType: "html", }).done(function(ajax_data) { var get_wrapper_elm = $('#wrapper', $('
').prepend(ajax_data)); $("#wrapper").remove(); $("body").prepend(get_wrapper_elm); $("#container > div#base > article").addClass("ajax"); setTimeout( function(){ if( key == "login" ){ $("#wrapper").addClass("logged_in"); if( location.hash ){ var hash = location.hash; hashchange_action(hash); } } if( key == "logout" ){ $("#wrapper").removeClass("logged_in"); } } , 10); setTimeout( function(){ var scrollto_val = 0; scrollto(scrollto_val); img_load(); } , 100); }).fail(function(data_json) { console.log("fail"); }); } function logout(){ $("html").addClass("logging_out"); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_logout.php", dataType: "json" }).done(function(data_json) { console.log("done"); console.log(data_json); var elm_body = data_json.elm_body; var status = data_json.status; if( elm_body != "" ){ $("body").append(elm_body); var target = $(".mes.session.complete.popup.logout"); target.delay(100).queue(function(){ $(this).addClass("show").dequeue(); }); target.delay(4000).queue(function(){ $(this).removeClass("show").dequeue(); }); target.delay(3000).queue(function(){ $(this).remove().dequeue(); }); } refresh("logout"); }).fail(function(data_json) { console.log("fail"); }); } $(document).on("click", "form.nisor:not(.loading) input.submit", function(){ post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("keydown", "form.nisor:not(.loading) input", function(e) { if ( e.which == 13 ) { post( $(this).closest('form.nisor'), "submit" ); return false; } }); $(document).on("click", "form.nisor:not(.loading) div.return", function(){ post( $(this).closest('form.nisor'), "return" ); return false; }); $(document).on("click", "form.nisor:not(.loading) .form_switch", function(){ var switch_to = $(this).attr("data-form_switch"); form_switch( $(this).closest('form.nisor'), switch_to ); return false; }); $(document).on("click", "li.class_logout > *", function(){ logout(); return false; }); // $(document).on("keyup", "form.nisor:not(.loading) input[data-input_type='postcode']", function(e) { // var val = $(this).val().replace( "-", "" ); // var str_length = val.length; // var input_id_base = $(this).attr("id").replace("address_postcode",""); // if( str_length == 7 ){ // var important = $(this).attr("data-important"); // postcode_input(val,important,input_id_base); // } // }); $(document).on("change", "div.index.entries > ul > li.thm > div.inner > div.form > div.body > article.form_wrapper > form.nisor:not(.loading) input", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("keydown", "div.index.entries > ul > li.thm > div.inner > div.form > div.body > article.form_wrapper > form.nisor:not(.loading) input", function(e) { if ( e.which == 13 ) { post( $(this).closest('form.nisor'), "submit" ); return false; } }); $(document).on("change", "div.index.entries > ul > li.thm > div.inner > div.form > div.body > article.form_wrapper > form.nisor:not(.loading) textarea", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("change", "div.index.media > ul > li.thm > div.inner > div.form > div.body > article.form_wrapper > form.nisor:not(.loading) input", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("change", "div.index.media > ul > li.thm > div.inner > div.form > div.body > article.form_wrapper > form.nisor:not(.loading) textarea", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("change", "article.mypage\\/staff\\/orders\\/ > div.body.entry .flag_switch article.form_wrapper > form.nisor:not(.loading) input", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("change", "body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry > div.detail.side article.form_wrapper > form.nisor:not(.loading) input", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("change", "body > #wrapper.logged_in.staff #entry > div.inner > article.mypage\\/staff\\/orders\\/ > div.body.entry > div.detail.side article.form_wrapper > form.nisor:not(.loading) select", function(e) { post( $(this).closest('form.nisor'), "submit" ); return false; }); function scrollto(val){ $('#container > div#base').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ }); } function scrollto_entry(val){ $('#entry > div.inner').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ }); } function move_err(form){ if( form.find(".form_row.err:not(.save)")[0] ){ var target = form.find(".form_row.err:not(.save)").first(); if( form.closest(".inline_scroll")[0] ){ var scroll_val = target.position().top + form.closest(".inline_scroll").scrollTop()+form.offset().top; form.closest(".inline_scroll").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); }else if( form.closest("#base")[0] ){ var scroll_val = target.position().top + $("body #container > div#base").scrollTop()+form.offset().top; scrollto(scroll_val); }else{ var scroll_val = target.position().top + $("body #entry > div.inner").scrollTop()+form.offset().top; scrollto_entry(scroll_val); } } } function move_form_top(form){ if( form[0] ){ var target = form; if( form.closest(".inline_scroll")[0] ){ var scroll_val = form.closest(".inline_scroll").scrollTop()+form.offset().top-80; form.closest(".inline_scroll").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); }else if( form.closest("#base")[0] ){ var scroll_val = $("body #container > div#base").scrollTop()+form.offset().top-80; scrollto(scroll_val); }else{ var scroll_val = $("body #entry > div.inner").scrollTop()+form.offset().top-80; scrollto_entry(scroll_val); } } } function move_form_to(form, target){ if( form.find(".form_row.row_"+target)[0] ){ var target = form.find(".form_row.row_"+target).first(); if( target.closest("section")[0] ){ var target_section = target.closest("section"); var wrapper = target_section.parent(); wrapper.children("section").removeClass("active"); target_section.addClass("active"); $("div.content_frame.float").attr("data-step", target_section.attr("data-step") ); target_section.closest("article").attr("data-step", target_section.attr("data-step") ); } if( form.closest(".inline_scroll")[0] ){ var scroll_val = target.position().top + form.position().top - 100; form.closest(".inline_scroll").stop().animate({ scrollTop: scroll_val }, 1000, "easeOutQuint",function(){ }); }else if( form.closest("#base")[0] ){ var scroll_val = target.position().top + $("body #container > div#base").scrollTop()+form.offset().top - 100; base_scrollto(scroll_val); }else if( form.closest("#entry")[0] ){ var scroll_val = target.position().top + $("body #entry > div.inner").scrollTop()+form.offset().top - 100; entry_scrollto(scroll_val); }else{ var scroll_val = target.first().position().top - 100; scrollto(scroll_val); } form.removeClass("step_return"); } } function stringZentohan(data){ data.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 0xFEE0); }); return data; } function postcard_format(zip){ return zip.substr(0, 3)+'-'+zip.substr(3); } window.postcode_input = function(val,important,input_id_base,btn_elm){ btn_elm.addClass("loading"); var zip = stringZentohan(val); var important_arr = important.split('/'); var key_postcode = important_arr[0]; var key_state = important_arr[1]; var key_city = important_arr[2]; // var url = 'https://api.zipaddress.net?callback=?'; // var query = {'zipcode': zip}; // $.getJSON(url, query, function(json){ // $('#'+input_id_base+key_postcode).val(postcard_format(zip)); // $('#'+input_id_base+key_state).val(json.pref); // $('#'+input_id_base+key_city).val(json.address); // }); var url = 'https://lifesnap.jp/process/api/zipcode?code='; var query = {'zipcode': zip}; console.log(url+zip); $.getJSON(url+zip, function(json){ console.log(json); if( json.results != null ){ $('#'+input_id_base+key_postcode).val(postcard_format(zip)); $('#'+input_id_base+key_state).val(json.results[0].address1); $('#'+input_id_base+key_city).val(json.results[0].address2+json.results[0].address3); }else{ alert("住所情報が見つかりませんでした") } setTimeout( function(){ btn_elm.removeClass("loading"); } , 500); }); } $(document).on("click", "a.toggle", function() { var target_url = $(this).attr("href"); var target_from = "div#entry > div.inner > article > div.body"; var target_to = "#" + $(this).attr("data-target"); toggle_entry(target_url, target_from, target_to); return false; }); window.update_thm_count = function(thm_wrapper,sort_by){ var count_i = 1; var sort_id_arr = []; var sort_count_arr = []; thm_wrapper.children("li.thm.sort").each(function(i){ sort_id_arr[i] = $(this).attr("id").replace("list_",""); $(this).attr("data-count",count_i); if( sort_by == "DESC" ){ sort_count_arr[i] = thm_wrapper.children("li.thm.sort").length-count_i+1; }else{ sort_count_arr[i] = count_i; } count_i += 1; }); var formData = new FormData(); formData.append("target_ids" , sort_id_arr); formData.append("target_counts" , sort_count_arr); formData.append("mode" , "sort"); $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_media_control.php", type: 'POST' , data: formData , processData: false , contentType: false , success: function(data) { console.log(data); } , failure : function(data) { // アップロード失敗 } }); } window.upload_multiple_start = function(target, input_files){ var wrapper = target.closest("div.body"); wrapper.addClass("image_loading"); var err_mes = ""; var files = []; var input_files_length = 1; if( target.attr("maxlength") ){ input_files_length = input_files.length; } var files_i = 0; for ( i=0; i < input_files_length; i++ ) { if( input_files[i]["type"] == "image/jpeg" || input_files[i]["type"] == "image/gif" || input_files[i]["type"] == "image/png" ){ files[files_i] = input_files[i]; files_i += 1; } }; var files_length = files.length; if( files_length == 0 ){ err_mes += "画像ファイル(JPG, GIF, PNG)を指定してください"; } if( err_mes == "" ){ create_multiple(target,files); }else{ alert(err_mes); } } window.create_multiple = function(target,files){ var files_length = files.length; var entry_id = target.closest("div.body").attr("id"); var path = target.attr("data-path"); var formData = new FormData(); formData.append("files_length" , files_length); formData.append("parent_id", entry_id); formData.append("path", path); formData.append("mode" , "create"); $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_media_control.php", type: 'POST' , data: formData , dataType: "json", processData: false , contentType: false , success: function(data_json) { // メディア項目追加成功 console.log(data_json); var media_ids = data_json.matter_id; var href = "https://lifesnap.jp/mypage/entry/"+entry_id; console.log("ajax_start : ajax_request_index_refresh"); ajax_request_index_refresh = $.ajax({ url: href, dataType: "html", }).done(function(ajax_data) { var new_elm; for ( i=0; media_ids[i]; i++ ) { var get_elm = $("#"+entry_id+" div.index.media > ul > li#list_"+media_ids[i], $('
').prepend(ajax_data)); $("#"+entry_id+" div.index.media > ul > li.thm.create").before(get_elm); new_elm = $("#"+entry_id+" div.index.media > ul > li#list_"+media_ids[i]); new_elm.addClass("created"); var target_url = new_elm.find("div.inner > a").attr("href"); var target_from = "div#entry > div.inner > article > div.body"; var target_to = "#" + new_elm.find("div.inner > a").attr("data-target"); toggle_media(target_url, target_from, target_to); }; var get_elm_create = $("#"+entry_id+" div.index.media > ul > li.thm.create", $('
').prepend(ajax_data)); $("#"+entry_id+" div.index.media > ul > li.thm.create").remove(); new_elm.after(get_elm_create); update_thm_count($("#"+entry_id+" div.index.media > ul")); }).fail(function(data_json) { console.log("fail"); }); upload_multiple(target,entry_id,media_ids,files,0); } , failure : function(data) { // アップロード失敗 } }); } window.upload_multiple = function(target,entry_id,media_ids,files,i){ $("#"+media_ids[i]).addClass("image_loading"); var files_length = files.length; var path = target.attr("data-path")+"image/"; var formData = new FormData(); formData.append("media_id", media_ids[i]); formData.append("path", path); formData.append("uploadfile" , files[i]); formData.append("count", i+1); formData.append("mode" , "upload"); $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_media_control.php", type: 'POST' , data: formData , processData: false , contentType: false , success: function(data) { // アップロード成功 if( i+1 < files_length ){ upload_multiple(target,entry_id,media_ids,files,i+1); }else{ target.val(''); } var href = data; if( typeof ajax_request_image_refresh != "undefined" ){ ajax_request_image_refresh.abort(); } console.log("ajax_start : ajax_request_image_refresh"); ajax_request_image_refresh = $.ajax({ url: href, dataType: "html", }).done(function(ajax_data) { var get_elm = $("#"+media_ids[i]+" > div.img", $('
').prepend(ajax_data)); $("#"+media_ids[i]+" > div.img").remove(); $("#"+media_ids[i]).prepend(get_elm); img_load(); setTimeout( function(){ $("#"+media_ids[i]).removeClass("image_loading"); $("li#list_"+media_ids[i]).removeClass("created"); } , 1000); if( i+1 == files_length ){ update_thm_count($("#"+entry_id+" div.index.media > ul")); $("#"+entry_id).removeClass("image_loading"); } }).fail(function(data_json) { console.log("fail"); }); } , failure : function(data) { // アップロード失敗 } }); } // imagefield drop $(document).on("drop", 'div.media_drop.multiple > label.droparea', function(e) { e.preventDefault(); $(this).removeClass("dragover droppable"); var target = $(this).children("input"); var input_files = e.originalEvent.dataTransfer.files; upload_multiple_start(target, input_files); }); $(document).on("change", 'div.media_drop.multiple > label.droparea > input[name="upload"]', function() { var target = $(this); var input_files = $(this).prop("files"); upload_multiple_start(target, input_files); }); window.upload_start = function(target, input_files){ var wrapper = target.closest("div.body"); wrapper.addClass("image_loading"); var err_mes = ""; var files = []; if( input_files[0]["type"] == "image/jpeg" || input_files[0]["type"] == "image/gif" || input_files[0]["type"] == "image/png" ){ files[0] = input_files[0]; } var files_length = files.length; if( files_length == 0 ){ err_mes += "画像ファイル(JPG, GIF, PNG)を指定してください"; } if( err_mes == "" ){ upload(target,files); }else{ alert(err_mes); } } window.upload = function(target,files){ var media_id = target.closest("div.body").attr("id"); var path = target.attr("data-path"); var formData = new FormData(); formData.append("media_id", media_id); formData.append("path", path); formData.append("uploadfile" , files[0]); formData.append("count", 1); formData.append("mode" , "upload"); $.ajax({ url: "https://lifesnap.jp/elements_php_mypage/ajax_media_control.php", type: 'POST' , data: formData , processData: false , contentType: false , success: function(data) { // console.log(data); // アップロード成功 target.val(''); update_thm_count(target.closest("div.index.media > ul")); var href = data; if( typeof ajax_request_image_refresh != "undefined" ){ ajax_request_image_refresh.abort(); } console.log("ajax_start : ajax_request_image_refresh"); ajax_request_image_refresh = $.ajax({ url: href, dataType: "html", }).done(function(ajax_data) { var get_elm = $("#"+media_id+" > div.img", $('
').prepend(ajax_data)); $("#"+media_id+" > div.img").remove(); $("#"+media_id).prepend(get_elm); img_load(); $("#"+media_id).removeClass("image_loading"); }).fail(function(data_json) { console.log("fail"); }); } , failure : function(data) { // アップロード失敗 } }); } window.num_pyphen = function (str) { return str.replace(/[0-9]/g, function (s) { return String.fromCharCode(s.charCodeAt(0) - 65248); }).replace(/[‐-―ー]/g, '-').replace(/[^\d\-]/g, ''); }; window.getNumberFormat = function (number, decimals) { if (! decimals) { var decimals = 0; } // 位をずらし四捨五入 var place = Math.pow(10, decimals); var number = Math.round(number * place) / place; // 整数と小数に分割 var num = number.toString().split('.'); // カンマ付与 var integer = num[0].replace(/([0-9]{1,3})(?=(?:[0-9]{3})+$)/g, '$1,'); var str; if (num[1]) { if (num[1].length < decimals) { // 指定桁数まで0を追加 var zero = decimals - num[1].length; for (var i = 0; i < zero; i++) { num[1] = num[1] + '0'; } } str = integer + '.' + num[1]; } else { str = integer; } return str; } // imagefield drop $(document).on("drop", 'div.media_drop.single > label.droparea', function(e) { e.preventDefault(); $(this).removeClass("dragover droppable"); var target = $(this).children("input"); var input_files = e.originalEvent.dataTransfer.files; upload_start(target, input_files); }); $(document).on("change", 'div.media_drop.single > label.droparea > input[name="upload"]', function() { var target = $(this); var input_files = $(this).prop("files"); upload_start(target, input_files); }); $(document).on("click", "div.switch[data-on][data-off]", function(){ var wrapper = $(this); var target_input_name = $(this).attr("data-target_input_name"); var val_on = $(this).attr("data-on"); var val_off = $(this).attr("data-off"); var target = $("input[name='"+target_input_name+"']"); if( wrapper.hasClass('on') ){ wrapper.removeClass("on"); wrapper.addClass("off"); target.val(val_off).change(); }else{ wrapper.removeClass("off"); wrapper.addClass("on"); target.val(val_on).change(); } }) $(document).on("click", "div.order_trash > div.trash", function(){ var target_id = $(this).attr("data-target"); var result = window.confirm('案件ID「'+target_id+'」を削除しますか?'); if( result ) { if( target_id != "" ){ var formData = new FormData(); formData.append("order_id" , target_id); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_order_trash.php", data: formData, processData: false, contentType: false, }).done(function(account_id) { if( $("#thm_"+target_id)[0] ){ $("#thm_"+target_id).addClass("trash"); }else{ var href = "https://lifesnap.jp/mypage/staff/users/"+account_id+"#/tab/orderlist"; pjax( href, "", "" ); } }).fail(function(data_json) { console.log("fail"); }); } } }); $(document).on("click", "div.order_create > div.create", function(){ var target_id = $(this).attr("data-target"); var result = window.confirm('ユーザーID「'+target_id+'」に新規案件を追加しますか?'); if( result ) { if( target_id != "" ){ var formData = new FormData(); formData.append("user_id" , target_id); $.ajax({ type: "POST", url: "https://lifesnap.jp/elements_php_mypage/ajax_order_create.php", data: formData, processData: false, contentType: false, }).done(function(order_id) { var href = "https://lifesnap.jp/mypage/staff/orders/"+order_id+"#/tab/summary"; pjax( href, "", "" ); }).fail(function(data_json) { console.log("fail"); }); } } }); $(document).on("click", "div.modal > div.overlay, div.modal > div.inner > div.close, div.modal > div.inner > a", function(){ var target = $(this).closest(".modal"); target.addClass("fadeout"); setTimeout( function(){ target.removeClass("active fadeout"); } , 500); }); $(document).on("click", "div.btn.todo_list", function(){ var target = $("#"+$(this).attr("data-target")); target.addClass("active"); return false; }); $(document).on("click", "a[href$='#\\/tab\\/message\\/todo_list']", function(){ if( $("#todo_list")[0] ){ var target = $("#todo_list"); target.addClass("active"); } return false; }); $(document).on("click", ".fc_link", function(){ var val = $(this).text(); var key = ""; if( val.endsWith("-w") ){ key = "-w"; } console.log("val: "+val); if( val == "" ){ var url = "https://lifesnap.jp/mypage/staff/calendar/"; window.open(url,"calendar"); }else if( ck_ymd(val) ){ var vYear = val.substr(0, 4) - 0; var vMonth = val.substr(5, 2) - 0; var vDay = val.substr(8, 2) - 0; var hash_str = vYear+"-"+padZero2(vMonth)+"-"+padZero2(vDay); console.log(hash_str); var url = "https://lifesnap.jp/mypage/staff/calendar/#/fc/"+hash_str+key; window.open(url,"calendar"); }else if( ck_ym(val) ){ var vYear = val.substr(0, 4) - 0; var vMonth = val.substr(5, 2) - 0; var hash_str = vYear+"-"+padZero2(vMonth); console.log(hash_str); var url = "https://lifesnap.jp/mypage/staff/calendar/#/fc/"+hash_str; window.open(url,"calendar"); }else{ console.log("not a date"); } }); $(document).on("click", ".fc_link_kitsuke", function(){ var val = $(this).text(); var key = ""; if( val.endsWith("-w") ){ key = "-w"; } console.log("val: "+val); if( val == "" ){ var url = "https://lifesnap.jp/mypage/staff/calendar-kitsuke/"; window.open(url,"calendar-kitsuke"); }else if( ck_ymd(val) ){ var vYear = val.substr(0, 4) - 0; var vMonth = val.substr(5, 2) - 0; var vDay = val.substr(8, 2) - 0; var hash_str = vYear+"-"+padZero2(vMonth)+"-"+padZero2(vDay); console.log(hash_str); var url = "https://lifesnap.jp/mypage/staff/calendar-kitsuke/#/fc/"+hash_str+key; window.open(url,"calendar-kitsuke"); }else if( ck_ym(val) ){ var vYear = val.substr(0, 4) - 0; var vMonth = val.substr(5, 2) - 0; var hash_str = vYear+"-"+padZero2(vMonth); console.log(hash_str); var url = "https://lifesnap.jp/mypage/staff/calendar-kitsuke/#/fc/"+hash_str; window.open(url,"calendar-kitsuke"); }else{ console.log("not a date"); } }); $(document).on("click", "div#todo_list.modal > div.inner > div.inline_scroll > div.content > dl > dt", function(){ var target = $(this).parent("dl").attr("data-target"); if( $(this).closest(".modal").hasClass(target+"_active") ){ $(this).closest(".modal").removeClass(target+"_active"); }else{ $(this).closest(".modal").addClass(target+"_active"); } return false; }); $(document).on("click", "dl.slip_number > dd", function(){ var str = $(this).text(); window.open("http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id="+str,"_blank",""); return false; }) $(document).on("click", "form.nisor:not(.loading) div.form_row.row_lifebook_cut_request div.request_lifebook_wrapper > a.request_lifebook", function(){ post( $(this).closest('form.nisor'), "save" ); result = window.confirm('写真選択画面へ移動します'); if( result ) { location.href = $(this).attr("href"); } return false; }); var hash = location.hash; hashchange_action(hash); }); });