/*
 * 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)
{
    if (isDir(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 getCookie(name) // use: getCookie('name');
{
    begin = document.cookie.indexOf(name + '=');
    if (begin == -1) return null;
    begin = document.cookie.indexOf('=', begin) + 1;
    end = document.cookie.indexOf(';', begin);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(begin, end));
}

function setCookie(name, value, time) // use: setCookie('name', value, [time]);
{
    date_time='';
    if (time == null || time == '') {
        today = new Date();
        expiry = new Date(today.getTime() + time); // sample 28 days -> 28 * 24 * 60 * 60 * 1000
        date_time = '; expires=' + expiry.toGMTString();
    }
    if (value != null && value != "")
        document.cookie = name + '=' + escape(value) + "; path=/" + date_time;
}


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


