/**
 * [OElove] (C)2010-2099 oelove.com biz
 * Email: service@phpcoo.com ,phpcoo@qq.com
 * This is NOT a freeware, use is subject to license terms
 * $ Last update 2019.04.25 by bo $
*/
//下拉选择
$(function() {
  $('[f="oe_select_input"]').on('mouseover', function() {
    $(this).find('.list').show();
  }).on('mouseout', function() {
    $(this).find('.list').hide();
  }).on('click', 'li', function() {
    var val = $(this).data('value');
    var text = $(this).html().trim();
    $(this).addClass('current').siblings().removeClass('current');
    $(this).closest('.oe_select_input').find('input').val(val);
    $(this).closest('.oe_select_input').find('span').addClass('current').html(text);
    $(this).closest('.list').hide();
  });
});
//生日选择
$(function() {
  function createY(age1, age2) {
    var time = new Date();
    var year1 = time.getFullYear() - parseInt(age1);
    var year2 = time.getFullYear() - parseInt(age2);
    var yArr = {};
    for(var i=year1; i>=year2; i--){
      var y = parseInt(parseInt(i.toString().slice(-2))/10)+'0后';
      if(!yArr[y]) {
        yArr[y]=[i];
      }else{
        yArr[y].unshift(i);
      }
    }
    var html = '';
    for(var key in yArr){
      html += '<div class="year">';
      html += '<label>'+ key +'</label>'
      $.each(yArr[key], function(i, v) {
        html += '<span data-val="'+ v +'">'+ v +'</span>';
      });
      html += '</div>';
    }
    $('#yearWrap').html(html);
  }
  function swith() {
    $('[f="oe_select_birthday"]').on('click', '.tab_nav .item', function() {
      var index = $(this).index();
      var y = $('#ageyear').val();
      var m = $('#agemonth').val();
      if(index == '1') {
        if(!y) {
          layer.msg('请选择年份');
          return;
        }
      }
      if(index == '2') {
        if(!y) {
          layer.msg('请选择年份');
          return;
        }else if(!m) {
          layer.msg('请选择月份');
          return;
        }
      }
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.list').find('.tab_content .item').eq(index).show().siblings().hide();
    });
  }
  function selectY() {
    $('[f="oe_select_birthday"]').on('click', '.year span', function() {
      var y = $(this).data('val');
      $('#ageyear').val(y);
      $('#agemonth').val('');
      $('#ageday').val('');
      $(this).closest('.item').find('span').removeClass('current');
      $(this).addClass('current');
      $('#monthWrap').show().siblings().hide();
      $(this).closest('.list').find('.tab_nav .item').eq(1).addClass('current').siblings().removeClass('current');
      $('#monthWrap .month').removeClass('current');
      $(this).closest('.oe_select_birthday').find('.input_wrap span').addClass('current').html(y);
    });
  }
  function selectM() {
    $('[f="oe_select_birthday"]').on('click', '.month', function() {
      var m = $(this).data('val');
      $('#agemonth').val(m);
      $('#ageday').val('');
      $(this).addClass('current').siblings().removeClass('current');
      var y = $('#ageyear').val();
      $(this).closest('.oe_select_birthday').find('.input_wrap span').html(y+'-'+m);
      $(this).closest('.list').find('.tab_nav .item').eq(2).addClass('current').siblings().removeClass('current');
      $('#dateWrap').show().siblings().hide();
      createD(y, m);
    });
  }
  function createD(y, m) {
    var time = new Date(y, m ,0);
    var dayN = time.getDate();
    var html = '';
    for(var i=1; i<=dayN; i++){
      html += '<div class="date" data-val="'+ i +'">'+ i +'</div>';
    }
    $('#dateWrap').html(html);
  }
  function selectD() {
    $('[f="oe_select_birthday"]').on('click', '.date', function() {
      var d = $(this).data('val');
      $('#ageday').val(d);
      $(this).addClass('current').siblings().removeClass('current');
      var y = $('#ageyear').val();
      var m = $('#agemonth').val();
      $(this).closest('.oe_select_birthday').find('.input_wrap span').html(y+'-'+m+'-'+d);
      $(this).closest('.list').hide();
    });
  }
  function showBirthdaySelect() {
    $('[f="oe_select_birthday"]').on('mouseover', function() {
      $(this).find('.list').show();
    }).on('mouseout', function() {
      $(this).find('.list').hide();
    });
  }
  
  
  if (typeof(CFG_AGE1) == "undefined") {
      CFG_AGE1 = 18;
  }
  if (typeof(CFG_AGE2) == "undefined") {
      CFG_AGE2 = 60;
  }
  createY(CFG_AGE1, CFG_AGE2);
  swith();
  selectY();
  selectM();
  selectD();
  showBirthdaySelect();
});
//地区选择
$(function() {
  var addrArr = [];
  var showDefault = false;
  function buildAddrHtml(data, el) {
    var html = '';
    $.each(data, function(i, v) {
      html += '<div class="addr_box" data-val="'+ (v.areaid || v.value) +'">'+ (v.areaname || v.text) +'</div>';
    });
    if(el.attr('is-require')=="false") {
      html += '<div class="addr_box" data-val="">不限</div>';
    }
    return html;
  }
  function getAddrData() {
    if($('#province').length == 0) {
      return;
    }
    $.ajax({
      url: _ROOT_PATH+'index.php?c=picker&a=area0',
      type: 'get',
      success: function(res) {
        var data = JSON.parse(res);
        if(data.response == 1) {
          addrArr = data.result;
          var html = buildAddrHtml(data.result, $('.oe_select_addr'));
          $('#province').html(html);
        }
      },
      fail: function() {
        layer.msg('系统繁忙，请稍后再试！');
      }
    });
  }
  function loadSubDist (id, callback) {
    $.ajax({
      url: _ROOT_PATH+'index.php?c=picker&a=pkarea&parentid='+ id,
      type: 'get',
      success: function(res) {
        var data = JSON.parse(res);
        if(data.response == 1) {
          callback(data.result);
        }
      },
      fail: function() {
        layer.msg('系统繁忙，请稍后再试！');
      }
    });
  }
  function selectP() {
    $('[f="oe_select_addr"]').on('click', '.province .addr_box', function() {
      var val = $(this).data('val');
      var text = $(this).html();
      var thisEl = $(this);
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_addr').find('input').eq(0).val(val).attr('data-text', text);
      $(this).closest('.oe_select_addr').find('input').eq(1).val('');
      $(this).closest('.oe_select_addr').find('input').eq(2).val('');
      $(this).closest('.oe_select_addr').find('.input_wrap span').addClass('current').html(text);
      $(this).closest('.list').find('.tab_nav .item').eq(2).hide();
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(0).html('选择省/市');
        $(this).closest('.list').hide();
        return;
      }
      loadSubDist(val, function (data) {
        var html = buildAddrHtml(data, $('.oe_select_addr'));
        thisEl.closest('.list').find('#city').html(html).show().siblings().hide();
      });
      
      $('#city').show().siblings().hide();
      $(this).closest('.list').find('.tab_nav .item').eq(0).html(text);
      $(this).closest('.list').find('.tab_nav .item').eq(1).show().html('选择城市').addClass('current').siblings().removeClass('current');
      $('#city .addr_box').removeClass('current');
    });
  }
  function selectC() {
    $('[f="oe_select_addr"]').on('click', '.city .addr_box', function() {
      var val = $(this).data('val');
      var text = val ? $(this).html():'';
      var thisEl = $(this);
      var p = $(this).closest('.oe_select_addr').find('input').eq(0).attr('data-text');
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_addr').find('input').eq(1).val(val).attr('data-text', text);
      $(this).closest('.oe_select_addr').find('input').eq(2).val('');
      $(this).closest('.oe_select_addr').find('.input_wrap span').addClass('current').html(p+' '+text);
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(2).hide();
        $(this).closest('.list').find('.tab_nav .item').eq(1).html('选择城市');
        $(this).closest('.list').hide();
        return;
      }
      loadSubDist(val, function (data) {
        var html = buildAddrHtml(data, $('.oe_select_addr'));
        if(data.length) {
          $('#district').html(html).show().siblings().hide();
          thisEl.closest('.list').find('.tab_nav .item').eq(2).show().html('选择地区').addClass('current').siblings().removeClass('current');
          $('#district .addr_box').removeClass('current');
        }else{
          thisEl.closest('.list').hide();
        }
      });
      $(this).closest('.list').find('.tab_nav .item').eq(1).html(text);
    });
  }
  function selectD() {
    $('[f="oe_select_addr"]').on('click', '.district .addr_box', function() {
      var val = $(this).data('val');
      var text = val ? $(this).html():'';
      var p = $(this).closest('.oe_select_addr').find('input').eq(0).attr('data-text');
      var c = $(this).closest('.oe_select_addr').find('input').eq(1).attr('data-text');
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_addr').find('input').eq(2).val(val);
      $(this).closest('.oe_select_addr').find('.input_wrap span').addClass('current').html(p+' '+c+' '+text);
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(2).html('选择地区');
        $(this).closest('.list').hide();
        return;
      }
      $(this).closest('.list').hide();
      $(this).closest('.list').find('.tab_nav .item').eq(2).html(text);
    });
  }
  function showAddrSelect() {
    $('[f="oe_select_addr"]').on('mouseover', function() {
      var w = $(window).width();
      var bl = $(this).find('.input_wrap').offset().left;
      if(bl+532 > w) {
        $(this).find('.list').css({
          'left': 'auto',
          'right': '0'
        });
      }
      var name = $(this).attr('data-name');
      if(name) {
        var dist1 = $('#'+name+'1').val();
        var dist2 = $('#'+name+'2').val();
        var dist3 = $('#'+name+'3').val();
        var dist1T = $('#'+name+'1').attr('data-text');
        var dist2T = $('#'+name+'2').attr('data-text');
        var dist3T = $('#'+name+'3').attr('data-text');
        var thisEl = $(this);
        if(!showDefault){
          showDefault = true;
          if(dist1!='0'){
            $(this).find('[data-val="'+ dist1 +'"]').addClass('current');
            $(this).find('.tab_nav .item').eq(0).addClass('current').html(dist1T).show();
            loadSubDist(dist1, function (data) {
              var html = buildAddrHtml(data, $('.oe_select_addr'));
              $('#city').html(html);
              thisEl.find('.tab_nav .item').eq(1).show();
            });
          }
          if(dist2!='0'){
            $(this).find('[data-val="'+ dist2 +'"]').addClass('current');
            $(this).find('.tab_nav .item').eq(1).html(dist2T);
            loadSubDist(dist2, function (data) {
              if(data.length > 0) {
                thisEl.find('.tab_nav .item').eq(2).show();
                var html = buildAddrHtml(data, $('.oe_select_addr'));
                $('#district').html(html);
                thisEl.find('[data-val="'+ dist2 +'"]').addClass('current');
                if(dist3!='0') {
                  thisEl.find('[data-val="'+ dist3 +'"]').addClass('current');
                }
              }
            });
          }
          if(dist3!='0'){
            $(this).find('.tab_nav .item').eq(2).html(dist3T);
          }
        }
      }
      $(this).find('.list').show();
    }).on('mouseout', function() {
      $(this).find('.list').hide();
    });
  }
  function switchAddr() {
    $('[f="oe_select_addr"]').on('click', '.tab_nav .item', function() {
      var index = $(this).index();
      var p = $(this).closest('.oe_select_addr').find('input').eq(0).val();
      var c = $(this).closest('.oe_select_addr').find('input').eq(1).val();
      if(index == '1') {
        if(!p) {
          layer.msg('请选择省份');
          return;
        }
      }
      if(index == '2') {
        if(!p) {
          layer.msg('请选择省份');
          return;
        }else if(!c) {
          layer.msg('请选择城市');
          return;
        }
      }
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.list').find('.tab_content .item').eq(index).show().siblings().hide();
    });
  }
  showAddrSelect();
  getAddrData();
  selectP();
  selectC();
  selectD();
  switchAddr();
});
//学校选择
$(function() {
  var school = [];
  function formatSchool(data) {
    $.each(data, function(i, v) {
      if(v.children.length){
        school[v.value] = v.children;
      }
    });
  }
  function buildHtml(data) {
    var html = '';
    if(data && data.length) {
      $.each(data, function(i, v) {
        html += '<div class="text_box" data-val="'+ v.value +'">'+ v.text +'</div>';
      });
      return html;
    }else{
      return '';
    }
  }
  function getSchool() {
    if($('#s_province').length == 0) {
      return;
    }
    $.ajax({
      url: _ROOT_PATH+'index.php?c=picker&a=school',
      type: 'get',
      success: function(res) {
        var data = JSON.parse(res);
        if(data.response == 1) {
          var html = buildHtml(data.result);
          formatSchool(data.result);
          $('#s_province').html(html);
        }
      },
      fail: function() {
        layer.msg('系统繁忙，请稍后再试！');
      }
    });    
  }
  function showSchool() {
    $('[f="oe_select_school"]').on('mouseover', function() {
      $(this).find('.list').show();
    }).on('mouseout', function() {
      $(this).find('.list').hide();
    });
  }
  function selectP() {
    $('[f="oe_select_school"]').on('click', '.s_province .text_box', function() {
      var val = $(this).attr('data-val');
      var text = $(this).html();
      $('#schid').val('');
      $(this).addClass('current').siblings().removeClass('current');
      $('#scharea1').val(val).attr('data-text', text);
      $(this).closest('.oe_select_school').find('.tab_nav .item').eq(0).html(text).removeClass('current').siblings('.item').html('选择学校').show().addClass('current');
      var html = buildHtml(school[val]);
      $('#school').html(html).show().siblings().hide();
      $(this).closest('.oe_select_school').find('.input_wrap span').addClass('current').html('请选择');
    });
  }
  function selectS() {
    $('[f="oe_select_school"]').on('click', '.school .text_box', function() {
      var val = $(this).attr('data-val');
      var text = $(this).html();
      $('#schid').val(val);
      $(this).closest('.oe_select_school').find('.input_wrap span').addClass('current').html(text);
      $(this).closest('.oe_select_school').find('.tab_nav .item').eq(1).html(text);
      $(this).closest('.list').hide();
    });
  }
  function switchS() {
    $('[f="oe_select_school"]').on('click', '.tab_nav .item', function() {
      var index = $(this).index();
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.list').find('.tab_content .item').eq(index).show().siblings().hide();
    });
  }
  getSchool();
  showSchool();
  selectP();
  selectS();
  switchS();
});

//户籍选择
$(function() {
  var showDefault = false;
  var addrArr = [];
  function buildAddrHtml(data, el) {
    var html = '';
    $.each(data, function(i, v) {
      html += '<div class="addr_box" data-val="'+ (v.areaid || v.value) +'">'+ (v.areaname || v.text) +'</div>';
    });
    if(el.attr('is-require')=="false") {
      html += '<div class="addr_box" data-val="">不限</div>';
    }
    return html;
  }
  function getAddrData() {
    if($('#h_province').length == 0) {
      return;
    }
    $.ajax({
      url: _ROOT_PATH+'index.php?c=picker&a=hometown0',
      type: 'get',
      success: function(res) {
        var data = JSON.parse(res);
        if(data.response == 1) {
          addrArr = data.result;
          var html = buildAddrHtml(data.result, $('.oe_select_hometown'));
          $('#h_province').html(html);
        }
      },
      fail: function() {
        layer.msg('系统繁忙，请稍后再试！');
      }
    });
  }
  function loadSubDist (id, callback) {
    $.ajax({
      url: _ROOT_PATH+'index.php?c=picker&a=pkhometown&parentid='+ id,
      type: 'get',
      success: function(res) {
        var data = JSON.parse(res);
        if(data.response == 1) {
          callback(data.result);
        }
      },
      fail: function() {
        layer.msg('系统繁忙，请稍后再试！');
      }
    });
  }
  function selectP() {
    $('[f="oe_select_hometown"]').on('click', '.province .addr_box', function() {
      var val = $(this).data('val');
      var text = $(this).html();
      var thisEl = $(this);
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_hometown').find('input').eq(0).val(val).attr('data-text', text);
      $(this).closest('.oe_select_hometown').find('input').eq(1).val('');
      $(this).closest('.oe_select_hometown').find('.input_wrap span').addClass('current').html(text);
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(0).html('选择省/市');
        $(this).closest('.list').hide();
        return;
      }
      loadSubDist(val, function (data) {
        var html = buildAddrHtml(data, $('.oe_select_hometown'));
        thisEl.closest('.list').find('#h_city').html(html).show().siblings().hide();
      });
      
      $('#h_city').show().siblings().hide();
      $(this).closest('.list').find('.tab_nav .item').eq(0).html(text);
      $(this).closest('.list').find('.tab_nav .item').eq(1).show().html('选择城市').addClass('current').siblings().removeClass('current');
      $('#h_city .addr_box').removeClass('current');
    });
  }
  function selectC() {
    $('[f="oe_select_hometown"]').on('click', '.city .addr_box', function() {
      var val = $(this).data('val');
      var text = val ? $(this).html():'';
      var thisEl = $(this);
      var p = $(this).closest('.oe_select_hometown').find('input').eq(0).attr('data-text');
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_hometown').find('input').eq(1).val(val).attr('data-text', text);
      $(this).closest('.oe_select_hometown').find('input').eq(2).val('');
      $(this).closest('.oe_select_hometown').find('.input_wrap span').addClass('current').html(p+' '+text);
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(2).hide();
        $(this).closest('.list').find('.tab_nav .item').eq(1).html('选择城市');
        $(this).closest('.list').hide();
        return;
      }
      loadSubDist(val, function (data) {
        var html = buildAddrHtml(data, $('.oe_select_hometown'));
        if(data.length) {
          $('#h_district').html(html).show().siblings().hide();
          thisEl.closest('.list').find('.tab_nav .item').eq(2).show().html('选择地区').addClass('current').siblings().removeClass('current');
          $('#h_district .addr_box').removeClass('current');
        }else{
          thisEl.closest('.list').hide();
        }
      });
      $(this).closest('.list').find('.tab_nav .item').eq(1).html(text);
    });
  }
  function selectD() {
    $('[f="oe_select_hometown"]').on('click', '.district .addr_box', function() {
      var val = $(this).data('val');
      var text = val ? $(this).html():'';
      var p = $(this).closest('.oe_select_hometown').find('input').eq(0).attr('data-text');
      var c = $(this).closest('.oe_select_hometown').find('input').eq(1).attr('data-text');
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.oe_select_hometown').find('input').eq(2).val(val);
      $(this).closest('.oe_select_hometown').find('.input_wrap span').addClass('current').html(p+' '+c+' '+text);
      if(val=='') {
        $(this).closest('.list').find('.tab_nav .item').eq(2).html('选择地区');
        $(this).closest('.list').hide();
        return;
      }
      $(this).closest('.list').hide();
      $(this).closest('.list').find('.tab_nav .item').eq(2).html(text);
    });
  }
  function showAddrSelect() {
    $('[f="oe_select_hometown"]').on('mouseover', function() {
      var w = $(window).width();
      var bl = $(this).find('.input_wrap').offset().left;
      if(bl+532 > w) {
        $(this).find('.list').css({
          'left': 'auto',
          'right': '0'
        });
      }
      var name = $(this).attr('data-name');
      if(name) {
        var dist1 = $('#'+name+'1').val();
        var dist2 = $('#'+name+'2').val();
        var dist3 = $('#'+name+'3').val();
        var dist1T = $('#'+name+'1').attr('data-text');
        var dist2T = $('#'+name+'2').attr('data-text');
        var dist3T = $('#'+name+'3').attr('data-text');
        var thisEl = $(this);
        if(!showDefault){
          showDefault = true;
          if(dist1!='0'){
            $(this).find('[data-val="'+ dist1 +'"]').addClass('current');
            $(this).find('.tab_nav .item').eq(0).addClass('current').html(dist1T).show();
            loadSubDist(dist1, function (data) {
              var html = buildAddrHtml(data, $('.oe_select_hometown'));
              $('#h_city').html(html);
              thisEl.find('.tab_nav .item').eq(1).show();
            });
          }
          if(dist2!='0'){
            $(this).find('[data-val="'+ dist2 +'"]').addClass('current');
            $(this).find('.tab_nav .item').eq(1).html(dist2T);
            loadSubDist(dist2, function (data) {
              if(data.length > 0) {
                thisEl.find('.tab_nav .item').eq(2).show();
                var html = buildAddrHtml(data, $('.oe_select_hometown'));
                $('#h_district').html(html);
                thisEl.find('[data-val="'+ dist2 +'"]').addClass('current');
                if(dist3!='0') {
                  thisEl.find('[data-val="'+ dist3 +'"]').addClass('current');
                }
              }
            });
          }
          if(dist3!='0'){
            $(this).find('.tab_nav .item').eq(2).html(dist3T);
          }
        }
      }
      $(this).find('.list').show();
    }).on('mouseout', function() {
      $(this).find('.list').hide();
    });
  }
  function switchAddr() {
    $('[f="oe_select_hometown"]').on('click', '.tab_nav .item', function() {
      var index = $(this).index();
      var p = $(this).closest('.oe_select_hometown').find('input').eq(0).val();
      var c = $(this).closest('.oe_select_hometown').find('input').eq(1).val();
      if(index == '1') {
        if(!p) {
          layer.msg('请选择省份');
          return;
        }
      }
      if(index == '2') {
        if(!p) {
          layer.msg('请选择省份');
          return;
        }else if(!c) {
          layer.msg('请选择城市');
          return;
        }
      }
      $(this).addClass('current').siblings().removeClass('current');
      $(this).closest('.list').find('.tab_content .item').eq(index).show().siblings().hide();
    });
  }
  showAddrSelect();
  getAddrData();
  selectP();
  selectC();
  selectD();
  switchAddr();
});