
<script type="text/javascript" src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js" data-turbolinks-track="reload" ></script>
<section class="sign_up py-3 mb-5 text-center">
  <h2 class="font-18 my-4">투정 회원가입</h2>

  <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
    <%= devise_error_messages! %>

    <div class="field mb-3">
      <%= f.email_field :email, autofocus: true, autocomplete: "email", placeholder: "이메일" %>
    </div>

    <div class="field mb-3">
      <%= f.password_field :password, autocomplete: "off", placeholder: "비밀번호" %>
    </div>

    <div class="field mb-3">
      <%= f.password_field :password_confirmation, autocomplete: "off", placeholder: "비밀번호 확인" %>
    </div>

    <!-- 우편 번호 찾기 -->
  <div class="field mb-3">
    <%= f.text_field :address_num, :pattern => '[0-9]{5}', :placeholder => '우편번호', :id => 'sample2_postcode',  :required => true %>
  </div>

  <div class="field mb-3">
    <input type="button" class="btn-login font-14 text-white" onclick="sample2_execDaumPostcode();" value="우편번호 찾기">
  </div>
      <!-- iOS에서는 position:fixed 버그가 있음, 적용하는 사이트에 맞게 position:absolute 등을 이용하여 top,left값 조정 필요 -->
  <div id="layer" style="display:none;position:fixed;overflow:hidden;z-index:300;-webkit-overflow-scrolling:touch;">
    <img src="//t1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" onclick="closeDaumPostcode()" alt="닫기 버튼">
  </div>

  <div class="field mb-3">
    <%= f.text_field :address_text, :placeholder => '주소', :id => 'sample2_address', :required => true %>
  </div>
  <div class="field mb-3">
    <%= f.text_field :address_extra, :placeholder => '상세 주소', :required => true %>
  </div>

  <div class="field mt-3 mb-3">
    <%= f.label :image0, "프로필 이미지", class: "d-block mt-2" %>
    <div class="custom-file h-100">
      <%= f.file_field :image0, class: "custom-file-input", id: "inputGroupFile02", onchange: "fileName(this);", :required => true%>
      <label class="custom-file-label" for="inputGroupFile02" aria-describedby="inputGroupFileAddon02"></label>
    </div>
  </div>

  <div class="field mb-3">
    <button class="btn btn-login box-230 text-white font-14" onclick="fileUpload();">이미지 업로드</button>
  </div>

    <div class="field box-230 text-left">
    <%= f.check_box :remember_me%>
    <a href="/home/privacy" class="d-inline-block">
      <%= f.label :remember_me, "개인 정보 수집 약관에 동의합니다.", class: "font-12" %>
    </a>
  </div>

  <div class="field box-230 text-left mb-3">
    <%= f.check_box :remember_me%>
    <a href="/home/policy" class="d-inline-block"><%= f.label :remember_me, "이용 약관에 동의합니다.", class: "font-12" %></a>
  </div>

  <div class="actions">
    <%= f.submit "회원가입", class: "btn-login text-white font-14"  %>
  </div>
  <% end %>
</section>
   
    <script type="text/javascript" defer>
    // 우편번호 찾기 화면을 넣을 element
    var element_layer = document.getElementById('layer');

    function closeDaumPostcode() {
        // iframe을 넣은 element를 안보이게 한다.
        element_layer.style.display = 'none';
    }

    function sample2_execDaumPostcode() {
        new daum.Postcode({
            oncomplete: function(data) {
                // 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.

                // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                var fullAddr = data.address; // 최종 주소 변수
                var extraAddr = ''; // 조합형 주소 변수

                // 기본 주소가 도로명 타입일때 조합한다.
                if(data.addressType === 'R'){
                    //법정동명이 있을 경우 추가한다.
                    if(data.bname !== ''){
                        extraAddr += data.bname;
                    }
                    // 건물명이 있을 경우 추가한다.
                    if(data.buildingName !== ''){
                        extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                    }
                    // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
                    fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
                }

                // 우편번호와 주소 정보를 해당 필드에 넣는다.
                document.getElementById('sample2_postcode').value = data.zonecode; //5자리 새우편번호 사용
                document.getElementById('sample2_address').value = fullAddr;

                // iframe을 넣은 element를 안보이게 한다.
                // (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
                element_layer.style.display = 'none';
            },
            width : '100%',
            height : '100%',
            maxSuggestItems : 5
        }).embed(element_layer);

        // iframe을 넣은 element를 보이게 한다.
        element_layer.style.display = 'block';

        // iframe을 넣은 element의 위치를 화면의 가운데로 이동시킨다.
        initLayerPosition();
    }

    // 브라우저의 크기 변경에 따라 레이어를 가운데로 이동시키고자 하실때에는
    // resize이벤트나, orientationchange이벤트를 이용하여 값이 변경될때마다 아래 함수를 실행 시켜 주시거나,
    // 직접 element_layer의 top,left값을 수정해 주시면 됩니다.
    function initLayerPosition(){
        var width = 300; //우편번호서비스가 들어갈 element의 width
        var height = 400; //우편번호서비스가 들어갈 element의 height
        var borderWidth = 5; //샘플에서 사용하는 border의 두께

        // 위에서 선언한 값들을 실제 element에 넣는다.
        element_layer.style.width = width + 'px';
        element_layer.style.height = height + 'px';
        element_layer.style.border = borderWidth + 'px solid';
        // 실행되는 순간의 화면 너비와 높이 값을 가져와서 중앙에 뜰 수 있도록 위치를 계산한다.
        element_layer.style.left = (((window.innerWidth || document.documentElement.clientWidth) - width)/2 - borderWidth) + 'px';
        element_layer.style.top = (((window.innerHeight || document.documentElement.clientHeight) - height)/2 - borderWidth) + 'px';
    }
</script>

<script>
  function fileUpload(){
    $('#inputGroupFile02').click();
  }

  function fileName(item){
    var x = item.files[0].name;
    $('.custom-file-label').html(x);
  }
</script>
