var controlKeyDown = false;
var shiftKeyDown = false;
var altKeyDown = false;

document.onkeydown = function(evt)
{
 if (evt == null)
 {
  evt = event;
 }

 if((shiftKeyDown) && (!(controlKeyDown))) {
  if (testKeyCode(evt, 82)) // R
  {
    if(window.location == "http://www.callzach.com/propsearch2/") {
      cancelKeyEvent(evt);
      try {
        reloadMapJS();
      } catch(e) { }
      return(false);
    }
  }
 }

 // Site to get KeyCodes: http://www.ryancooper.com/resources/keycode.asp
 if((shiftKeyDown) && (controlKeyDown))
 {
  if (testKeyCode(evt, 76)) // L
  {
   // Trigger Login Form
   cancelKeyEvent(evt);
   window.location="http://www.callzach.com/account/";
   return(false);
  }
 }
 // These Handle the Modifier Keys
 else if (testKeyCode(evt, 17)) // ControlKey
 {
  controlKeyDown = true;
 }
 else if (testKeyCode(evt, 16)) // ShiftKey
 {
  shiftKeyDown = true;
 }
}

document.onkeyup = function(evt)
{
 if (evt == null)
 {
  evt = event;
 }
 if (testKeyCode(evt, 17)) // ControlKey
 {
  controlKeyDown = false;
 }
 else if (testKeyCode(evt, 16)) // ShiftKey
 {
  shiftKeyDown = false;
 }
}

function cancelKeyEvent(evt)
{
 if (window.createPopup)
 {
  evt.keyCode = 0;
 }
 else
 {
  evt.preventDefault();
 }
}

function testKeyCode(evt, intKeyCode)
{
 if (window.createPopup)
 {
  return(evt.keyCode == intKeyCode);
 }
 else
 {
  return(evt.which == intKeyCode);
 }
}
