var __spinbutton = null;
var numericUpDown = null;
function product_qty_onfocus(elem) {
  numericUpDown = elem;
  try {
    addEventListener(elem, "onkeydown", numericUpDown_onkeydown);
    addEventListener(document.body, "onmousewheel", numericUpDown_onscroll);
    elem.select();
  } catch(e) {}
}

function product_qty_onblur(elem) {
  updCart(elem);
  removeEventListener(elem, "onkeydown", numericUpDown_onkeydown);
  removeEventListener(document.body, "onmousewheel", numericUpDown_onscroll);
}

function spinbutton_onclick(isUp) {
  if(__spinbutton) {
    if(__spinbutton.previousSibling) {
      numericUpDown = __spinbutton.previousSibling;
      numericUpDown_onkeydown({keyCode:isUp?38:40});
      updCart(numericUpDown, true);
    }
  }
}

function numericUpDown_onkeydown(e) {
  if(numericUpDown) {
    if(isNaN(Number(numericUpDown.value)))
      return;
    var val = numericUpDown.value;
    switch((e || window.event).keyCode) {
      case 38:  //up
        incr = 1;
        break;
      case 40:  //down
        incr = -1;
        break;
      default:
        return;
    }
    try {
      numericUpDown.value = parseInt(val) + incr;
      if(Number(numericUpDown.value) < 1)
        numericUpDown.value = 1;
    } catch(ex) {
      numericUpDown.value = val;
    }
  }
}

function numericUpDown_onscroll() {
  if(numericUpDown) {
    if(isNaN(Number(numericUpDown.value)))
    {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
      return;
    }
    var val = numericUpDown.value;
    try {
      numericUpDown.value = parseInt(val) + (window.event.wheelDelta > 0 ? 1 : -1);
      if(Number(numericUpDown.value) < 1)
        numericUpDown.value = 1;
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    } catch(e) {
      numericUpDown.value = val;
    }
  }
}

function delCart(d_seq) {
  if(false == window.confirm("Àå¹Ù±¸´Ï¿¡¼­ ÇØ´ç »óÇ°À» »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?"))
    return;
  var form = document.forms["Form1"];
  form.action = "cart.asp";
  form.mode.value = "del";
  form.cart_d_seq.value = d_seq;
  form.submit();
}

function updCart(elem, auto) {
  var form = document.forms["Form1"];
  if(false == checkInventoryQty(elem)) {
    window.alert("Àç°í¼ö·®ÀÌ ºÎÁ·ÇÕ´Ï´Ù");
    elem.select();
    return;
  }
  if(false == checkMinQty(elem)) {
    window.alert("ÃÖ¼Ò " + elem.value + "°³ ÀÌ»ó ±¸¸ÅÇÏ¼Å¾ß ÇÕ´Ï´Ù");
    elem.value = elem.defaultValue;
    elem.select();
    return;
  }
  if(elem.value == elem.defaultValue)
    return;
  if(auto) {
    void(0);
  } else {
    if(false == window.confirm("Àå¹Ù±¸´Ï¿¡ ´ã±ä »óÇ°ÀÇ ¼ö·®ÀÌ º¯°æµÇ¾ú½À´Ï´Ù\n\n´Ù½Ã °è»êÇÏ½Ã°Ú½À´Ï±î?")) {
      elem.focus();
      return;
    }
  }
  form.action = "cart.asp";
  form.mode.value = "upd";
  form.cart_d_seq.value = elem.name.replace("product_qty", "");
  form.product_qty.value = elem.value;
  form.submit();
}

function checkInventoryQty(elem) {
  var product_qty = Number(elem.value);
  var product_inventory_qty = Number(elem.form.elements[elem.name.replace("product_qty", "product_inventory_qty")].value);
  if(product_inventory_qty == -1)
    return true;
  if(product_qty > product_inventory_qty) {
    elem.value = product_inventory_qty;
    return false;
  }
  return true;
}

function checkMinQty(elem) {
  var product_qty = Number(elem.value);
  var product_min_quantity = Number(elem.form.elements[elem.name.replace("product_qty", "product_min_quantity")].value);
  if(product_min_quantity <= product_qty)
    return true;
  else {
    elem.value = product_min_quantity;
    return false;
  }
}

function makeOrderAll() {
  var form = document.forms["Form1"];
  if(form.order_cart_d_seq) {
    if(form.order_cart_d_seq.length)
      for(var i = 0; i < form.order_cart_d_seq.length; i++)
        form.order_cart_d_seq[i].checked = true;
    else
      form.order_cart_d_seq.checked = true;
    makeOrder();
  }
}

function makeOrder() {
  var sequences = new Array();
  var form = document.forms["Form1"];
  var checked = false;
  if(form.order_cart_d_seq) {
    if(form.order_cart_d_seq.length) {
      for(var i = 0; i < form.order_cart_d_seq.length; i++) {
        if(form.order_cart_d_seq[i].checked) {
          checked = true;
          break;
        }
      }
      for(var i = 0; i < form.order_cart_d_seq.length; i++)
        sequences[sequences.length] = form.order_cart_d_seq[i].value;
    } else {
      checked = form.order_cart_d_seq.checked;
      sequences[sequences.length] = form.order_cart_d_seq.value;
    }
    if(false == checked) {
      window.alert("¼±ÅÃµÈ Á¦Ç°ÀÌ ¾ø½À´Ï´Ù");
      return;
    }
  } else {
    window.alert("¼±ÅÃµÈ Á¦Ç°ÀÌ ¾ø½À´Ï´Ù");
    return;
  }
  for(var i = 0; i < sequences.length; i++)
    if(false == checkInventoryQty(form.elements["product_qty" + sequences[i]])) {
      window.alert("Àç°í¼ö·®ÀÌ ºÎÁ·ÇÕ´Ï´Ù");
      form.elements["product_qty"+ sequences[i]].select();
      return;
    }
  form.action = "make_order.asp";
  form.mode.value = "ord";
  form.submit();
}
