function addLoadEvent(func) 
{
  var oldonload = window.onload;
  
  if (typeof window.onload != 'function') 
  {
    window.onload = func;
	}
	else
	{
    window.onload = function() 
    {
      if (oldonload) { oldonload(); }
      func();
    };
  }
}

function addScrollEvent(func)
{
  var oldonscroll = window.onscroll;
  
  if (typeof window.onscroll != 'function') 
  {
    window.onscroll = func;
	}
	else
	{
    window.onscroll = function() 
    {
      if (oldonscroll) { oldonscroll(); }
      func();
    };
  }
}

function byID(id) 
{
	return document.getElementById(id);
}

function show(id) 
{
	byID(id).style.display = '';
}

function hide(id) 
{
	byID(id).style.display = 'none';
}

function enable(id) 
{
	byID(id).disabled = false;
}

function disable(id) 
{
	byID(id).disabled = true;
}

function newopt(val,text,selected)
{
  newOption = document.createElement('option');
	newOption.value = val;
	newOption.innerHTML = text;
	newOption.selected = selected;
	return newOption;
}

function clearSelect(id)
{
  disable(id);
  var sel = byID(id);
  var nodes = sel.childNodes;
  var len = nodes.length;
  for (var i=len-1; i>=0; i--) { sel.removeChild(nodes[i]); } 
  enable(id);
}

function setCookie(name, value, days)
{
  if (days) 
  {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = '; expires=' + date.toGMTString();
  } else { var expires = ''; }  
	document.cookie = name + '=' + value + expires + '; path=/';
}

function getCookie(name)
{
	name = name + '=';
	list = document.cookie.split(';');
	for (i = 0; i < list.length; i++)
	{
		c = list[i];
		while (c.charAt(0) == ' ') c = c.substring (1, c.length);
		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
	}
	return false;
}

function trim(str)
{
  ok = false;
  while (!ok)
  {
    //ind_prob = str.indexOf(' ');
    t_char = str.substring(0,1);
    if (t_char == ' ') { str = str.substring(1); }
    else { ok = true; }
  }
  ok = false;
  while (!ok)
  {
    l = str.length;
    t_char = str.substring(l-1,l);
    if (t_char == ' ') { str = str.substring(0,l-1); }
    else { ok = true; }
  }
  return str;
}

function getMouseXY(e) {
   try {
      x = event.clientX + document.body.scrollLeft;
      y = event.clientY + document.body.scrollTop;
   } catch(except) {
      x = e.clientX + window.scrollX;
      y = e.clientY +  window.scrollY;
   }
   var out = new Array(x,y);
   return out;
}

function getWindowSize()
{
  if (window.innerHeight)
  {
    h = window.innerHeight;
    w = window.innerWidth;
  } 
  else
  {
    w = document.documentElement.clientWidth; // ширина окна пользователя
    h = document.documentElement.clientHeight; // высота окна пользователя
  }
  var ret = new Array(w,h);
  return ret;
}

function getWindowScroll()
{
  if (document.all)
  {
    scrollX = document.documentElement.scrollLeft;
    scrollY = document.documentElement.scrollTop;
  }
  else
  {
    scrollX = window.pageXOffset; // высота прокрутки документа
    scrollY = window.pageYOffset; // ширина прокрутки документа
  }
  var ret = new Array(scrollX,scrollY);
  return ret;
}
