/*
 * Copyright 2001-2005 Igor Kuznetsov <igk@igk.ru>
 */

function getLayerById(id)
{
    for (i = 0; i < document.layers.length; ++i)
        if (document.layers[i].id && id == document.layers[i].id) {
            return document.layers[i];
        }
        return null;
}

if (!document.getElementById && document.all) 
    document.getElementById = new Function("id", "return document.all[id];");
else if (document.layers)
    document.getElementById = getLayerById;


function displayLayer() 
{
  args=displayLayer.arguments;  
  for (i=0; i<(args.length-1); i+=2)
      if ((layer=document.getElementById(args[i]))!=null) { 
            v=args[i+1];
            v=(v=='show')?'visible':(v='hide')?'hidden':v; 
            if (layer.style) layer=layer.style; 
            layer.visibility=v; 
      }
}
function openWindow(url)
{
    regexp = /.*\/$/;
    if (regexp.test(url)) return true;
    size="";
    if (arguments.length>1)
        size=arguments[1]+", ";
    var okno=window.open(url, "", size+" resizable=yes, scrollbars=yes, toolbar=no, status=no, dependent=yes");
    okno.focus();
    return false;
}

function selectCheckbox(form, name)
{
    for (var i = 0; i < form.elements.length; i++)
        if (form.elements[i].type == "checkbox" && (form.elements[i].name.search(RegExp("^" + name)) != -1) && !form.elements[i].disabled)
            form.elements[i].checked ^= true;
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}


// function is need to work around a bug in IE related to element attributes
function hasClass(obj) 
{
     var result = false;
     if (obj.getAttributeNode("class") != null)
         result = obj.getAttributeNode("class").value;
     return result;
}   

function colorTable(id) 
{   // the flag we'll use to keep track of whether the current row is odd or even
    var even = false;
    // if arguments are provided to specify the colours of the even & odd rows, 
    // then use the them; otherwise use the following defaults:
    var evenColor = arguments[1] ? arguments[1] : "#fff";
    var oddColor = arguments[2] ? arguments[2] : "#eee"; 
    // obtain a reference to the desired table if no such table exists, abort
    var table = document.getElementById(id);
    if (! table) return;
    // by definition, tables can have more than one tbody
    // element, so we'll have to get the list of child  &lt;tbody&gt;s 
    var tbodies = table.getElementsByTagName("tbody");
    // and iterate through them...
    for (var h = 0; h < tbodies.length; h++) {
        // find all the &lt;tr&gt; elements... 
        var trs = tbodies[h].getElementsByTagName("tr");
        // ... and iterate through them
        for (var i = 0; i < trs.length; i++) {
            // avoid rows that have a class attribute or backgroundColor style
            if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
                // get all the cells in this row...
                var tds = trs[i].getElementsByTagName("td");
                // and iterate through them...
                for (var j = 0; j < tds.length; j++) {
                    var mytd = tds[j];
                    // avoid cells that have a class attribute or backgroundColor style
                    if (! hasClass(mytd) && ! mytd.style.backgroundColor)
                        mytd.style.backgroundColor = even ? evenColor : oddColor;              
                }
            }
            // flip from odd to even, or vice-versa
            even =  ! even;
         }
    }
}


