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))  // 'A'.charCodeAt(0) можно заменить на 65
    {
      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);
  });

  // борем dblclick
  // если вешать функцию не на событие dblclick, можно избежать
  // временное выделение текста в некоторых браузерах
  addHandler(element, 'mouseup', function(){
    if (preventSelection)
      removeSelection();
    preventSelection = false;
  });

  // борем ctrl+A
  // скорей всего это и не надо, к тому же есть подозрение
  // что в случае все же такой необходимости функцию нужно 
  // вешать один раз и на document, а не на элемент
  addHandler(element, 'keydown', killCtrlA);
  addHandler(element, 'keyup', killCtrlA);
}

function utilityFunctions()
{   
   if (!document.getElementsByTagName) return;   
   var anchors = document.getElementsByTagName("a");   

   for (var i=0; i<anchors.length; i++)
   {   
      var anchor = anchors[i];   

      var anchorRel = anchor.getAttribute("rel");
      anchorRel += "";

      if (anchor.getAttribute("href") && anchorRel != "")
      {
         if (anchorRel.indexOf ("external") != -1)
         anchor.target = "_blank";
      }
   }
   
   preventSelection ('readonlytable');
   
   if (!document.getElementById) return;

   // add rel="nofollow external" to all monitoring links
   var div = document.getElementById("monitorings");
   
   if (!div) return;
   
   var links = div.getElementsByTagName ("a");
   
   for (var i = 0; i < links.length; i++)
   {
      links[i].setAttribute ("rel", "nofollow external");
      links[i].target = "_blank";
   }
}


window.onload = utilityFunctions;
$(document).ready(function() {$('#baseContent').hide ();$('#baseContent').fadeIn ();});



