////////////尚礼卡输入///////////////
function CheckInputObj(obj) {
  if (obj) {
    var sExp = new RegExp("^([0-9]{0,4})$");
    if (!sExp.test(obj.value)) {
      sExp.exec(obj.value);
      obj.value = RegExp.$1;
    }
    return obj.value.length == 4;
  }
}
//聚焦下一个输入框
function FocusTheObj(index, inputCardName) {
  var sInputCardName = "cardNo";
  if (inputCardName) {
    sInputCardName = inputCardName;
  }
  if ((index > -1) && (index < 4)) {
    var inputCards = document.getElementsByName(sInputCardName.substr(0, sInputCardName.length - 1) + (index + 1));
    inputCards[0].select();
  }
}
function InputCardNo(crentObj, index) {
  if (CheckInputObj(crentObj)) {
    FocusTheObj(index + 1, crentObj.name);
  }
  if ((crentObj.value == "") && ((event.keyCode == 8) || (event.keyCode == 37))) {
    FocusTheObj(index - 1, crentObj.name);
  }
}
function PasteCardNo(crentObj, index) {
  //如果可以使用剪切板 继续操作
  if (window.clipboardData) {
    var inputCards = document.getElementsByName(crentObj.name);
    var cardNo = window.clipboardData.getData("text");
    if (!cardNo) {
      return;
    }
    cardNo = cardNo.replace(/(^\s*)|(\s*$)/g, "");
    if (cardNo.length == 19) {
      cardNo = cardNo.split("-");
      for (var i = index; cardNo.length == 4 && i < cardNo.length; i++) {
        document.getElementsByName(crentObj.name.substr(0, crentObj.name.length - 1) + (i + 1))[0].value = cardNo[i];
      }
      crentObj.blur();
    } else if (cardNo.length == 16) {
      for (var i = 0; i < 4; i++) {
        document.getElementsByName(crentObj.name.substr(0, crentObj.name.length - 1) + (i + 1))[0].value = cardNo.substr(i * 4, 4);
      }
    } else {
      if (CheckInputObj(crentObj)) {
        FocusTheObj(index + 1, crentObj.name);
      }
    }
  }
}

function FillinCard(objid, allowednull, inputCardName) {
  var sInputCardName = "cardNo";
  if (objid) {
    sInputCardName = objid;
  }
  var fullCard = "";
  var sExp = new RegExp("^([0-9]{4})$");
  for (var i = 0; i < 4; i++) {
    var value = document.getElementsByName(sInputCardName + (i + 1))[0].value;
    if (sExp.test(value)) {
      if (i > 0) {
        fullCard += "-";
      }
      fullCard += value;
    }
  }
  if (allowednull && fullCard.length != 19) {
    alert("您输入的卡号有误！请重新输入！");
    document.getElementsByName(sInputCardName + "1")[0].select();
    return false;
  }
  document.getElementById(objid).value = fullCard;
  return true;
}
function WriteCardInput(name) {
  var html = "";
  var addName = "cardNo";
  if (name) {
    addName = name;
  }
  for (var i = 0; i < 4; i++) {
    html += '<input name="' + addName + (i + 1) + '" type="text" style="width:40px;" maxlength="4"';
    html += ' onbeforepaste="PasteCardNo(this, ' + i + ');"';
    html += ' onkeyup="return InputCardNo(this, ' + i + ');"/>';
    if (i < 3) {
      html += "-";
    }
  }
  document.write(html);
}