// Initialize window.onLoad events.
womAdd("focusFirstElement()");      // Set focus to first available element.
womAdd("updateClock('datetime')");  // Set the clock.
womAdd("reqd()");

window.onresize=function(){padHeight("paddiv")};

function $(ele,num)
{
  num=num||0;
  if (document.getElementsByName(ele)[num])
    return document.getElementsByName(ele)[num];

  return document.getElementById(ele);
}

// The function that performs the actual padding.
function padHeight(padder)
{
  var pad=document.getElementById("headerbar").offsetHeight+document.getElementById("userbar").offsetHeight+document.getElementById("mainbar").offsetHeight+document.getElementById("footerbar").offsetHeight;

  if (document.getElementById("navigationbar"))
    pad+=document.getElementById("navigationbar").offsetHeight;

  if (document.getElementById("currentpagebar"))
    pad+=document.getElementById("currentpagebar").offsetHeight;

  var currpad=0;
  if (parseInt(document.getElementById(padder).style.height))
    currpad=parseInt(document.getElementById(padder).style.height);

  pad=(typeof(window.innerHeight)=="number"?window.innerHeight:document.body.clientHeight)+currpad-pad-10;

  document.getElementById(padder).style.height=(pad>0?pad:0)+"px";
}

// adds required class to labels of all required fields 
function reqd()
{
  try
  {
    if (document.forms[0])
    {
      var tab=document.forms[0].getElementsByTagName("table");
      for (var i=0; i<tab.length; i++)
        for (var j=0; j<tab[i].rows.length; j++)
          for (var k=0; k<tab[i].rows[j].cells.length; k++)
            // input, select, textarea
            for (var l=0; l<tab[i].rows[j].cells[k].childNodes.length; l++)
            {
              if (tab[i].rows[j].cells[k].childNodes[l].nodeType==1&&(/(input)|(select)|(textarea)/i.test(tab[i].rows[j].cells[k].childNodes[l].nodeName)))
              {
                if (tab[i].rows[j].cells[k].childNodes[l].getAttribute("required")!=null&&tab[i].rows[j].cells[k].childNodes[l].getAttribute("required")!="false")
                  tab[i].rows[j].cells[k-1].className+=" required";
              }
              if (/Required/.test(tab[i].rows[j].cells[k].innerHTML))
                tab[i].rows[j].cells[k].className+=" required";
            }
    }
  }
  catch (err)
  {
    setTimeout("throw new Error('Required: "+(err.message?err.message:err)+"')",0);
  }
}

function formatDate(d)
{
  var fdate=d.getFullYear()+'-';
  if (d.getMonth()<9)
    fdate+='0';
  fdate+=(d.getMonth()+1)+'-';

  if (d.getDate()<10)
    fdate+='0';
  fdate+=d.getDate();

  return fdate;
}