/*
  Security Functions:

  This script has been in the http://www.javascripts.com Javascript Public Library
  Modified by Andres Melguizo Velez.
  Copyright (C) 2008, Andres Melguizo Velez.
*/

var bSecurityEnabled = true;
var bMessageEnabled = false;
var szMessage = "\nMaterial Copyright (C) 2008 Spring.\nAll rights reserved.\n\n";

// history.forward();

function myOnKeyDown(e) {
  e = (window.event != undefined ? window.event : e);
  var kc = e.keyCode;
  szElementTypes = [ "text", "textarea", "file", "password" ];
  var bIsEditing = false;
  var retValue = false;

  var bIsCtrlN = (kc == 78 && e.ctrlKey);
  var bIsBackSpace = (kc == 8);
  var bIsAltLeft = (kc == 37 && e.altKey);
  var bIsAltRight = (kc == 39 && e.altKey);
  var bIsF5 = (kc == 116);

  for(var i = 0; i < szElementTypes.length; i++) {
	  var se = (window.event) ? e.srcElement : e.target;
	  if(se.type == szElementTypes[i]) {
	    bIsEditing = true;
	    break;
	  }
  }
	//alert("Keycode: " + kc + ", alt: " + e.altKey + ", ctrl: " + e.ctrlKey + ", bIsEditing: " + bIsEditing);
  if(bIsEditing)
    retValue = (bIsCtrlN || bIsF5 || bIsAltLeft || bIsAltRight);
  else {
    retValue = (bIsCtrlN || bIsF5 || bIsBackSpace || bIsAltLeft || bIsAltRight);
    e.cancelBubble = true
    e.returnValue = false;
    if(e.stopPropagation) e.stopPropagation();
  }
  if(retValue)
    showMessage();
  e.returnValue = !retValue;
}

// Javascript Public Library
function nocontextmenu(e) {
  e = (window.event != undefined ? window.event : e);
  e.cancelBubble = true
  e.returnValue = false;
  if(e.stopPropagation) e.stopPropagation();
  return false;
}

function norightclick(e) {
  e = (window.event != undefined ? window.event : e);
  if(window.Event) {
    if(e.which == 2 || e.which == 3) {
	    e.cancelBubble = true
	    e.returnValue = false;
		  if(e.stopPropagation) e.stopPropagation();
      showMessage();
      return false;
    }
  }
  else if(e.button == 2 || e.button == 3) {
    e.cancelBubble = true
    e.returnValue = false;
	  if(e.stopPropagation) e.stopPropagation();
    showMessage();
    return false;
  }
}

// Show alert
function showMessage() {
  if(bMessageEnabled == true)
    alert(szMessage);
}

if(bSecurityEnabled) {
	document.onmousedown = norightclick;
	document.onkeydown = myOnKeyDown;
	document.oncontextmenu = nocontextmenu;
}