// --- ---
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 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 getMouseXY(e) {
  scrl = getWindowScroll()
  try {
    x = event.clientX + scrl[0];
    y = event.clientY + scrl[1];
  } catch(except) {
    x = e.clientX + scrl[0];
    y = e.clientY + scrl[1];
  }
  var out = new Array(x,y);
  return out;
}

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;
}


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

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) 
{
	if (byID(id)) { byID(id).style.display = ''; }
}

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

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

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

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 absPosition(obj) 
{
  var x = y = 0;
  while(obj) {
    x += obj.offsetLeft;
    y += obj.offsetTop;
    obj = obj.offsetParent;
  }
  return {x:x, y:y};
}