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 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() + parseInt(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;
}

function rand(min,max)
{		
	var randomNum = Math.random() * (max-min); 
	return(Math.round(randomNum) + min);
}

function addBookmark(a)
{
/*
  if (!url) url = location.href;
  if (!title) title = document.title;
*/
 var url = window.document.location;
 var title = window.document.title;

  //Gecko
  if ((typeof window.sidebar == "object") && (typeof window.sidebar.addPanel == "function")) window.sidebar.addPanel(title, url, "");
  //IE4+
  else if (typeof window.external == "object") window.external.AddFavorite(url, title);
  //Opera7+
  else if (window.opera && document.createElement)
  {
//    var a = document.createElement('a');
    if (!a) return false; //IF Opera 6
    a.setAttribute('rel','sidebar');
    a.setAttribute('href',url);
    a.setAttribute('title',title);
  }
  else return false;
  return true;
}

function ch_color(id)
{
  var colorArr = new Array('#FF0000','#00FF00','#0000FF','#000000');
  var el = byID(id)
  if (el)
  {
    var curent_j = el.style.current_color;
    if (curent_j) { j = parseInt(curent_j); } else { j= 0; }
    l = colorArr.length - 1;
    if (j>l) { j = 0; }
    el.style.color = colorArr[j];
    el.style.current_color = j+1;
  }
  setTimeout("ch_color('"+id+"')",1000);
}
