(function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-70384424-1', 'auto'); // TEST ga('send', 'pageview'); var entryForm = function(ev, content, no) { // 郵便番号検索設定 var suffix = ''; if(no != 0 && no != undefined) { suffix = '_' +no; } var post_name = '.postCode' + suffix; var param = { postcode: [ post_name ], address: { } }; param['address']['.address1' + suffix] = '%3%4%5'; content.find(post_name).jpostal(param); // 日付選択ボックス設定 content.find('div.datePicker').pickerSet(); // エリア表示切り替え設定 content.children('div').toggle(content.find('h3.toggle_sub_traveler')); content.find('.licence-form>table').toggle(content.find('h4.toggle_licence'), 0); // バリデーション設定 content.validator({ OK:function( element ){ ev.entered( element ); }}); // 必須項目調整 content.validationChange({ target: '.passport input', condition: 'input[name="passport' + suffix + '"]:radio', value: 'あり' } ); content.requireChange({ target: 'input[name="diseaseName' + suffix + '"]', condition: 'input[name="disease' + suffix + '"]:radio', value: 'はい' } ); content.validationChange({ target: '.travel_card input', condition: 'input[name="travelCardEntry' + suffix + '"]:radio', value: '申込をする' } ); content.validationChange({ target: 'input[name="diving_licence_agree' + suffix + '"]', condition: 'input[name="c_card_licence' + suffix + '"]:radio', value: 'あり' } ); content.validationChange({ target: 'input[name="countryName' + suffix + '"]', condition: 'input[name="country' + suffix + '"]:radio', value: '外国籍' } ); content.find('.mail_check').requireOnce(); content.find('.tel_check').requireOnce(); }; $(window).ready( function() { // 入力チェック・吹き出し var ev = new FormEvents({ category:'Web_Entry' }); entryForm(ev, $(".main_traveler"), 0); $(".privacy").validator({ OK:function( element ){ ev.entered( element ); }}); $("#confirm").on('click', function(e) { var agree = true; $("input.agreement,input.agreement_ok").each(function(){ if( !$(this).validateStatus() ){ agree = false; } }); if(!agree) { e.preventDefault(); alert('旅行共済トラベルプラスガード約款及び、個人情報の取り扱いに同意してください。'); } var entry = false; for ( var p = 0; p <= $('h3.toggle_sub_traveler').length; p++ ){ if ( $('#StwPlusguardinfo'+p+'ENTRY1:checked').val() ){ entry = true; } } if(!entry) { e.preventDefault(); alert('1名以上の加入者が必要です。'); } }); var no = 0; $("section.sub_traveler").each(function(){ no++; entryForm(ev, $(this), no); }); var add_travelers = $(".add_travelers"); if(no >= 10) { add_travelers.css('display', 'none'); } else { add_travelers.each(function () { $(this).on('click', function (e) { var travelers = $("section.sub_traveler"); var cnt = 1; if (travelers != undefined) { cnt = travelers.length + 1; } $('body').css('cursor', 'wait'); $.ajax({ url: '/plusguardform/entry/travelers/' + cnt, dataType: "html", cache: false }).done(function (data) { var html = $(data); add_travelers.parents('section').before(html); entryForm(ev, html, cnt); $('body').css('cursor', 'auto'); }).fail(function (jqXHR, textStatus) { // TODO エラー処理は? console.log(jqXHR); $('body').css('cursor', 'auto'); }); if (cnt == 10) { add_travelers.css('display', 'none'); } }) }); } });