function preventSelection(element){
 var preventSelection = false;
 function addHandler(element, event, handler){
 if (element.attachEvent) 
 element.attachEvent('on' + event, handler);
 else 
 if (element.addEventListener) 
 element.addEventListener(event, handler, false);
 }
 function removeSelection(){
 if (window.getSelection) { window.getSelection().removeAllRanges(); }
 else if (document.selection && document.selection.clear)
 document.selection.clear();
 }
 function killCtrlA(event){
 var event = event || window.event;
 var sender = event.target || event.srcElement;
 if (sender.tagName.match(/INPUT|TEXTAREA/i))
 return;
 var key = event.keyCode || event.which;
 if (event.ctrlKey && key == 'A'.charCodeAt(0))
 {
 removeSelection();
 if (event.preventDefault) 
 event.preventDefault();
 else
 event.returnValue = false;
 }
 }
 addHandler(element, 'mousemove', function(){
 if(preventSelection)
 removeSelection();
 });
 addHandler(element, 'mousedown', function(event){
 var event = event || window.event;
 var sender = event.target || event.srcElement;
 preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
 });
 addHandler(element, 'mouseup', function(){
 if (preventSelection)
 removeSelection();
 preventSelection = false;
 });
 addHandler(element, 'keydown', killCtrlA);
 addHandler(element, 'keyup', killCtrlA);
 }
 preventSelection(document);

 function addHandler(object, event, handler, useCapture) {
 if (object.addEventListener) {
 object.addEventListener(event, handler, useCapture ? useCapture : false);
 } else if (object.attachEvent) {
 object.attachEvent('on' + event, handler);
 } else alert("Add handler is not supported");
 }

 var ua = navigator.userAgent.toLowerCase();
 var isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1);
 var isGecko = (ua.indexOf("gecko") != -1);

 if (isIE) addHandler (document, "keydown", hotSave);
 else addHandler (document, "keypress", hotSave);

 function hotSave(evt) {
 evt = evt || window.event;
 var key = evt.keyCode || evt.which;
 key = String.fromCharCode(key).toLowerCase() == "s";
 if (evt.ctrlKey && key) {
 if(evt.preventDefault) evt.preventDefault();
 evt.returnValue = false;
 clientFunction();
 window.focus();
 return false;
 }
 }
 function clientFunction() {
 alert( 
 "Все материалы представлены на этой страницы исключительно для ознакомления.\n"+
 "Цитирование материалов сайта возможно только с указанием активной гиперссылки на цитируемую страницу и с письменного разрешения администрации сайта."
 ); 
 }
 function notmenu() { window.event.returnValue=false; }
 document.ondragstart = test;
 document.onselectstart = test;
 document.oncontextmenu = test;
 function test() {
 return false
 }
