//<![CDATA[
/*
  devosc, developing open source code
  http://www.devosc.com

  Copyright (c) 2005 devosc

  Released under the GNU General Public License
*/
  var jcss =
  {
    delay:    500,
    timer:    null,
    cPtr:     null,
    minWidth: 60
  };

  function jcssMenuMouseOut(elementId)
  {
    if (jcss.timer != null && jcss.cPtr == elementId) {

      cULs = document.getElementById(elementId).parentNode.getElementsByTagName('ul');

      for(i=0; i < cULs.length; i++)

        cULs.item(i).style.visibility = 'hidden';

    }
  }

  function jcssMenuMouseOver(elementId)
  {
    if (jcss.timer != null && jcss.cPtr != null) {

      cULs = document.getElementById(jcss.cPtr).getElementsByTagName('ul');

      for(i=0; i < cULs.length; i++)

        cULs.item(i).style.visibility = 'hidden';

      window.clearTimeout(jcss.timer);

      jcss.timer = null;
    }

    jcss.cPtr = elementId;

    cULs = document.getElementById(jcss.cPtr).getElementsByTagName('ul');

    if (cULs.length > 0)

      cULs.item(0).style.visibility = 'visible';
  }

  function jcssMenu(eleId)
  {
    var elementId = (eleId == null) ? 'jcssMenu' : eleId;

    if (document.getElementById(elementId)) {

      var cULs = document.getElementById(elementId).getElementsByTagName('ul');

      for(var i=0; i < cULs.length; i++) {

        var cLIs = cULs.item(i).childNodes;

        for(var j=0; j < cLIs.length; j++) {

          if (cLIs.item(j).nodeType == 1 && cLIs.item(j).tagName.toLowerCase() == 'li') {

            cLIs.item(j).setAttribute('id', elementId + i + j);

            for(var k=0; k < cLIs.item(j).childNodes.length; k++)

              if (cLIs.item(j).childNodes.item(k).nodeType == 1 && cLIs.item(j).childNodes.item(k).tagName.toLowerCase() == 'ul') {

                var siblingNodes = cLIs.item(j).childNodes.item(k).childNodes;

                var cWidth = siblingNodes.item(0).childNodes.item(0).offsetWidth;

                cWidth = (cWidth >= jcss.minWidth) ? cWidth : jcss.minWidth;

                for(var l=0; l < siblingNodes.length; l++)

                  if (siblingNodes.item(l).nodeType == 1 && siblingNodes.item(l).tagName.toLowerCase() == 'li' && siblingNodes.item(l).childNodes.item(0).offsetWidth > cWidth)

                    cWidth = siblingNodes.item(l).childNodes.item(0).offsetWidth;

                if (siblingNodes.item(l-1).nodeType == 1 && siblingNodes.item(l-1).tagName.toLowerCase() == 'li')

                  siblingNodes.item(l-1).style.borderBottomWidth = '1px';

                if (cWidth > 0 && cWidth > siblingNodes.item(0).childNodes.item(0).offsetWidth)

                  siblingNodes.item(0).childNodes.item(0).style.width = cWidth + 'px';

                var dw = siblingNodes.item(0).childNodes.item(0).offsetWidth - cWidth;

                for(var l=0; l < siblingNodes.length; l++)

                  if ((cWidth - dw) > 0 && siblingNodes.item(l).nodeType == 1 && siblingNodes.item(l).tagName.toLowerCase() == 'li')

                    siblingNodes.item(l).childNodes.item(0).style.width = cWidth - dw + 'px';

              }

            cLIs.item(j).onmouseover = function() { jcssMenuMouseOver( this.getAttribute('id') ); };

            cLIs.item(j).onmouseout = function() { jcss.timer = window.setTimeout("jcssMenuMouseOut('"+this.getAttribute('id')+"');",jcss.delay); };

          }

        }

        cLIs.item(j-1).style.borderBottomWidth = '1px';

/*
        if (cLIs.item(i).parentNode.parentNode.tagName == 'li' && cLIs.item(i).lastChild.tagName == 'ul')

            if (cLIs.item(i).firstChild.firstChild.firstChild.className != 'submenu')

              cLIs.item(i).firstChild.firstChild.firstChild.className = 'submenu';
*/

      }

    }
  }
//]]>