function getOperaVersion() {
  var opver=navigator.userAgent.match(/Opera\s*([0-9.]+)/i);
  return (opver&&opver.length>1)? parseFloat(opver[1]): 0;
}


HotKeyHandler.keys = {};
HotKeyHandler.convertIEKey={"1":65,"2":66,"4":68,"12":76,"16":80,"19":83,"20":84,"21":85,"26":90};
function HotKeyHandler(ev) {
   var evt, key;
   if(!(evt=window.event? window.event: ev)) return;
   key = evt.keyCode? evt.keyCode: evt.charCode;
   key=HotKeyHandler.convertIEKey[String(key)]? HotKeyHandler.convertIEKey[String(key)]: key;
   if ((evt && evt.ctrlKey)||key==27) { //здесь фильтрируем ctrl, alt и прочие
       key=evt.shiftKey? String.fromCharCode(key).toUpperCase(): String.fromCharCode(key).toLowerCase();
       if(typeof(HotKeyHandler.keys[key]) == "function") {
          HotKeyHandler.keys[key](evt);
      evt.cancelBubble = true;
          evt.returnValue = false;
          if(evt.preventDefault) evt.preventDefault();
          if(evt.stopPropagation) evt.stopPropagation();
          return false;
       }
   }
   return true;
}

//Default init. Handle hotkeys on window.
HotKeyHandler.windowInit=function() {
   if(document.addEventListener && (getOperaVersion()>6||getOperaVersion()==0)) {
     document.addEventListener("keypress", HotKeyHandler, false);
   } else {
     document.onkeydown = HotKeyHandler;
   }

}


//определяем комбинации (коды символов) и действия к ним
HotKeyHandler.keys = {
      "\r":function() { alert("ctrl + Enter") },
      "b":function(){ if(document.getElementById('login_win').style.display=='none') document.getElementById('login_win').style.display='block'; else document.getElementById('login_win').style.display='none'; },
      "\x1B":function(){ alert("Esc") }
};
     
HotKeyHandler.windowInit(); //инициализируем на окне, т.е. ловим события на окне



//==================  cookie

function set_cookie(name, value, expires, path, domain, secure) {
if(!expires){ expires = new Date(); // получаем текущую дату
 expires.setTime(expires.getTime() + (1000 * 86400 * 365)); // вычисляем срок хранения cookie
}
document.cookie = 
name +"=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
return true;
}

function get_cookie(name)
{
cookie_name = name + "=";
cookie_length = document.cookie.length;
cookie_begin = 0;
while (cookie_begin < cookie_length)
{
value_begin = cookie_begin + cookie_name.length;
if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
{
var value_end = document.cookie.indexOf (";", value_begin);
if (value_end == -1)
{
value_end = cookie_length;
}
return unescape(document.cookie.substring(value_begin, value_end));
}
cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
if (cookie_begin == 0)
{
break;
}
}
return null;
}
