Number.prototype.format = function () {
  if (this == 0) return 0;

  var reg = /(^[+-]?\d+)(\d{3})/;
  var n = this + "";

  while (reg.test(n)) n = n.replace(reg, "$1" + "," + "$2");

  return n;
};

function number_format(number) {
  var nArr = String(number).split("").join(",").split("");
  for (var i = nArr.length - 1, j = 1; i >= 0; i--, j++)
    if (j % 6 != 0 && j % 2 == 0) nArr[i] = "";
  return nArr.join("");
}

// 문자열 타입에서 쓸 수 있도록 format() 함수 추가
String.prototype.format = function () {
  var num = parseFloat(this);
  if (isNaN(num)) return "0";

  return num.format();
};

var btn_toggle_sidebar = function () {
  var target = jQuery(".section_sidebar");

  var checked = jQuery(target).hasClass("active");

  // console.log(checked);

  if (checked == true) {
    jQuery(target).removeClass("active");
    jQuery(".section_sidebar").animate({ left: "-100vw" }, 200);
    jQuery("html").css("overflow", "visible");
  } else {
    jQuery(target).addClass("active");
    jQuery(".section_sidebar").animate({ left: "0" }, 200);
    jQuery("html").css("overflow", "hidden");
  }
};

jQuery(document).on("click", ".btn_toggle_sidebar", function (e) {
  btn_toggle_sidebar();
});

jQuery(function () {
  //Enable swiping...
  jQuery(".section_sidebar").swipe({
    swipeStatus: function (
      event,
      phase,
      direction,
      distance,
      duration,
      fingers,
      fingerData,
      currentDirection
    ) {
      // console.log(event);
      console.log(phase); //move
      // console.log(direction); // left
      console.log(distance);

      if (phase == "move" && direction == "left" && distance > 0) {
        left = -distance;

        jQuery(".section_sidebar").css("left", left + "px");
      } else if (
        (phase == "cancel" || phase == "end") &&
        direction == "left" &&
        distance > 60
      ) {
        jQuery(".section_sidebar").removeClass("active");
        jQuery(".section_sidebar").animate({ left: "-100vw" }, 200);
        jQuery("html").css("overflow", "visible");
      } else if (
        (phase == "cancel" || phase == "end") &&
        direction == "left" &&
        distance <= 60
      ) {
        jQuery(".section_sidebar").addClass("active");
        jQuery(".section_sidebar").animate({ left: "0" }, 200);
      }
    },
    threshold: 2,
    maxTimeThreshold: 5000,
    fingers: "all",
  });
});

jQuery(document).on("click", ".btn_modal_ajax", function (e) {
  e.preventDefault();

  var url = jQuery(this).attr("href");
  var target = jQuery(this).attr("data-target");
  var title = jQuery(this).attr("data-title");

  if (!target) target = "modal_default_ajax";

  jQuery.ajax({
    type: "GET",
    dataType: "html",
    url: url,
    success: function (data) {
      if (jQuery("#" + target).length) {
        jQuery("#" + target).html(
          '<div class="modal-dialog modal-lg" role="document"> <div class="modal-content">  <div class="modal-body"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>  <div class="modal_body_content">' +
            data +
            "</div></div> </div> </div> "
        );
      } else {
        jQuery("body").append(
          '<div class="modal fade modal_default_ajax" id="' +
            target +
            '" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content">  <div class="modal-body"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><div class="modal_body_content">' +
            data +
            "</div></div> </div> </div> </div> "
        );
      }

      jQuery("#" + target).modal("show");

      return false;

      //onload="this.style.height=this.contentWindow.document.body.scrollHeight;"
    },
    error: function (data) {},
  });

  return false;
});

jQuery(document).on("click", ".window_open", function (e) {
  e.preventDefault();
  var link = this;

  var iWidth = 660;
  var iHeight = 600;

  window.open(
    link,
    "_blank",
    " status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=" +
      iWidth +
      ",height=" +
      iHeight
  );

  return false;
});

jQuery(document).on("click", ".fancybox_full", function (e) {
  e.preventDefault();
  var url = jQuery(this).attr("href");

  $.fancybox.open({
    href: url,
    type: "iframe",
    padding: 10,
    width: "100%",
    height: "100%",
    autoScale: true,
  });

  return false;
});

jQuery(document).on("click", ".fancybox_80", function (e) {
  e.preventDefault();
  var url = jQuery(this).attr("href");

  var fancy_size = "80%";

  var width = window.innerWidth;

  if (width < 500) {
    fancy_size = "100%";
  }

  $.fancybox.open({
    href: url,
    type: "iframe",
    padding: 10,
    width: fancy_size,
    height: fancy_size,
    autoScale: true,
  });

  return false;
});

jQuery(document).on("click", ".fancybox_1", function (e) {
  e.preventDefault();
  var url = jQuery(this).attr("href");

  $.fancybox.open({
    href: url,
    type: "iframe",
    padding: 10,
    width: "500px",
    height: "100%",
    autoScale: true,
  });

  return false;
});

jQuery(document).on("click", ".btn_goback", function (e) {
  e.preventDefault();

  var target = jQuery(parent.document).find(".fancybox-close");

  // console.log(target.length);

  if (target.length == "0") {
    window.history.back();
  } else {
    parent.$.fancybox.close();
  }

  // top.location.href=top.location.href;

  return false;
});

var toaster = function (type, text) {
  if (type == "info") {
    toastr.info(null, text, {
      closeButton: false,
      debug: false,
      newestOnTop: false,
      progressBar: false,
      positionClass: "toast-bottom-center",
      preventDuplicates: false,
      onclick: null,
      showDuration: "300",
      hideDuration: "1000",
      timeOut: "2000",
      extendedTimeOut: "1000",
      showEasing: "swing",
      hideEasing: "linear",
      showMethod: "fadeIn",
      hideMethod: "fadeOut",
    });
  }
};

jQuery(document).on("click", ".btn_link", function (e) {
  e.preventDefault();

  // var target = jQuery(this);
  var url = jQuery(this).attr("data-href");
  var target = jQuery(this).attr("data-target");

  if (target) {
    window.open(url);
  } else {
    self.location.href = url;
  }

  return false;
});

jQuery(document).on("click", ".btn_confirm", function (e) {
  e.preventDefault();

  var link = jQuery(this).attr("href");

  var message = jQuery(this).attr("data-message");

  if (confirm(message)) {
    jQuery.ajax({
      type: "POST",
      dataType: "json",
      url: link,
      success: function (data) {
        // alert(data.response);

        if (data.message) {
          alert(data.message);
        }

        if (data.response == "REFRESH") {
          self.location.href = self.location.href;
          return false;
        } else if (data.response == "OK") {
          self.location.href = data.returnUrl;
          return false;
        }
      },
      error: function (data) {
        alert(data.responseText);
        return false;
      },
    });
  }

  return false;
});

jQuery(window).scroll(function () {
  var height = jQuery(document).scrollTop();
  var width = window.innerWidth;
  // console.log(height);
  //   console.log(width);

  if (width > 768) {
    if (height > 80) {
      jQuery(".main_header").addClass("main_header_full");
      jQuery(".main_header2").addClass("main_header2_full");
      jQuery(".body_main").addClass("body_scroll");
      jQuery(".body_sub").addClass("body_scroll");
    } else {
      jQuery(".main_header").removeClass("main_header_full");
      jQuery(".main_header2").removeClass("main_header2_full");
      jQuery(".body_main").removeClass("body_scroll");
      jQuery(".body_sub").removeClass("body_scroll");
    }
  }
});

function setCookie(name, value, expiredays) {
  var todayDate = new Date();
  todayDate.setDate(todayDate.getDate() + expiredays);
  document.cookie =
    name +
    "=" +
    escape(value) +
    "; path=/;expires=" +
    todayDate.toGMTString() +
    ";";
}

function getCookie(name) {
  var nameOfCookie = name + "=";
  var x = 0;
  while (x <= document.cookie.length) {
    var y = x + nameOfCookie.length;
    if (document.cookie.substring(x, y) == nameOfCookie) {
      if ((endOfCookie = document.cookie.indexOf(";", y)) == -1)
        endOfCookie = document.cookie.length;
      return unescape(document.cookie.substring(y, endOfCookie));
    }
    x = document.cookie.indexOf(" ", x) + 1;
    if (x == 0) break;
  }
  return "";
}

function popupquit(id, state, day) {
  if (day) {
    var vdate = day;
    vdate = parseInt(vdate, 10);
    setCookie(id, "no", vdate);
  }

  if (state == "close") window.close();
  if (state == "modal") $(".modal").modal("hide");
}
