// Disable F5, backspace, CTRL+R and CTRL + N 
//
//

var surffilauta = navigator.userAgent.toLowerCase();
var isTrueMSIE = false;
if ( surffilauta.indexOf("msie") != -1 && surffilauta.indexOf("opera") == -1 && document.all ) {
	isTrueMSIE = true;
}

function trapKeypressEvents ()
{
    // NETSCAPE NAVIGATOR 4
    if (document.layers) {
        document.captureEvents( Event.KEYPRESS );
        document.onkeypress = refreshBlocker;
    // INTERNET EXPLORER 4+
    } else if ( isTrueMSIE  ) {
        document.onkeydown = refreshBlocker;
    // Netscape 6/Gecko
    } else if (document.getElementById) {
        var targetObject = document;
        targetObject.addEventListener ("keypress",refreshBlocker,false);
    }
}

trapKeypressEvents ();

function refreshBlocker(eventObj) {
   eventObj = (isTrueMSIE) ? window.event : eventObj;
   var keyCode = 0;

    // NETSCAPE NAVIGATOR 4
    if (document.layers) {
        keyCode = eventObj.which;
    // INTERNET EXPLORER 4+
    } else if ( isTrueMSIE ) {
        keyCode = eventObj.keyCode;
    // Netscape 6/Gecko
    } else if (document.getElementById) {
        keyCode = eventObj.which;
    }

  // keycode for F5 function
  if (keyCode == 116 ) {
    keyCode = 8;
  }
  // keycodes for ctrl + R, ctrl + N
  if ( eventObj.ctrlKey && (eventObj.keyCode == 78 || eventObj.keyCode == 82) ) {
    keyCode = 8;
  }
  // keycode for backspace
  if (keyCode == 8 && eventObj && eventObj.srcElement && (eventObj.srcElement.type != "text" && eventObj.srcElement.type != "textarea" && eventObj.srcElement.type != "password")) {
    // try to cancel the backspace
    // Netscape 6/Gecko && NETSCAPE 4
	if ( !isTrueMSIE ) {
		eventObj.returnValue = false;
		eventObj.cancelBubble = true;
		return false;
	// MSIE
	} else {
		eventObj.cancelBubble = true;
		cancelKey(eventObj);
	// other
	} 
  }
}

function cancelKey(e) {
	if (e.preventDefault) {
		e.preventDefault();
		return false;
	}
	else {
		e.keyCode = 0;
		e.returnValue = false;
	}
}
