﻿
var _capslock_timeout_id = null;

var CapsLock = {
  pressKey: function(objWarningName) {
      var ev = window.event;
      if (!ev) return;
      var targ = ev.target ? ev.target : ev.srcElement;
      // get key pressed
      var which = -1;
      if (ev.which) {
        which = ev.which;
      } else if (ev.keyCode) {
        which = ev.keyCode;
      }
      // get shift status
      var shift_status = false;
      if (ev.shiftKey) {
        shift_status = ev.shiftKey;
      } else if (ev.modifiers) {
        shift_status = !!(ev.modifiers & 4);
      }
      if (((which >= 65 && which <=  90) && !shift_status) ||
          ((which >= 97 && which <= 122) && shift_status)) {
        var objWarning = document.getElementById(objWarningName);
        if (objWarning.style.display == "inline" || objWarning.style.display == "block") return;
        if (objWarning.tagName == "SPAN") {
          objWarning.style.display = "inline";
          _capslock_timeout_id = window.setTimeout("document.getElementById('" + objWarningName + "').style.display = 'none';", 5000);
        } else {
          objWarning.style.display = "block";
           _capslock_timeout_id = window.setTimeout("document.getElementById('" + objWarningName + "').style.display = 'none';", 5000);
        }  
        //document.getElementById(objWarningName).style.display = "block"; // uppercase, no shift key
      } else {
        if (_capslock_timeout_id) { window.clearTimeout(_capslock_timeout_id); _capslock_timeout_id = null;}
        document.getElementById(objWarningName).style.display = "none";
      }
  }
}



