window.addEvent('domready', function() {
	if ($('body').hasClass('print')) {
		window.print();
	} else if ($('menu')) {
		
	}
});

/* Menu */
var menuimgid   = 'menuimg_';
var menucursub  = new Array();
var menuimgs_dw = new Array();
var menuimgs_ov = new Array();
var menuimgs_up = new Array();

function LTrim( value ) {return value.replace(/\s*((\S+\s*)*)/, "$1");}
function RTrim( value ) {return value.replace(/((\s*\S+)*)\s*/, "$1");}
function trim( value )  {return LTrim(RTrim(value));}

function getEvent(event)
{
  var cleanevent;
  if (event)
  {
    cleanevent=event+'';
    cleanevent=cleanevent.slice(cleanevent.indexOf('{')+1, cleanevent.indexOf('}'));
    cleanevent=trim(cleanevent);
  }
  return cleanevent;
}

function preload(preloadimgs)
{
  document.pl = new Array();
  for (var j=i=0; i<preloadimgs.length; i++)
  {
    document.pl[j] = new Image;
    document.pl[j++].src = preloadimgs[i];
  }
}

function getmenulevel(curel)
{
  var level = 0;
  while (curel.id != 'menu' && curel.tagName != 'BODY')
  {
    if (curel.tagName == 'UL')
    {
      level++;
    }
    curel = curel.parentNode;
  }
  return level;
}

function buildmenu()
{
  // Locate our menu
  var menuid = document.getElementById('menu');

  // Index all images in menu
  var imgs = menuid.getElementsByTagName('img');
  for (var i=0; i<imgs.length; i++)
  {
    menuimgs_dw[i] = imgs[i].src;
    menuimgs_ov[i] = imgs[i].onmouseover?getEvent(imgs[i].onmouseover).replace(/this\.src\s*=\s*['|"](.*)['|"];?/, "$1"):null;
    menuimgs_up[i] = imgs[i].onmouseout ?getEvent(imgs[i].onmouseout). replace(/this\.src\s*=\s*['|"](.*)['|"];?/, "$1"):null;
    imgs[i].id = menuimgid + i;
  }

  // Preload the images
  preload(menuimgs_ov);
  preload(menuimgs_up);

  // Attach event on menuitems and open current item
  var lis = menuid.getElementsByTagName('li');
  for (var i=0; i<lis.length; i++)
  {
    lis[i].onclick = function(event) {showsub(this); (window.event?window.event:event).cancelBubble=true;}
    if (lis[i].className == 'curpage')
    {
      opencurrentmenu(lis[i]);
    }
  }
}

function opencurrentmenu(curpageel)
{
  if (curpageel.id != "menu")
  {
    if (curpageel.tagName == 'LI')
    {
      var imgs   = curpageel.getElementsByTagName('img');
      var imgid  = imgs[0].id.replace(menuimgid, '');

      imgs[0].src = menuimgs_ov[imgid]?menuimgs_ov[imgid]:imgs[0].src;
      imgs[0].onmouseout  = null;
      imgs[0].onmouseover = null;

      if (curpageel.getElementsByTagName('ul').length > 0)
      {
        showsub(curpageel);
        menuimgs_dw[imgid] = imgs[0].src;
        menuimgs_ov[imgid] = imgs[0].src;
        menuimgs_up[imgid] = imgs[0].src;
      }
    }
    opencurrentmenu(curpageel.parentNode);
  }
}

function hidecursub(level)
{
  if (menucursub[level]) hidesub(menucursub[level]);
}

function showsub(curel)
{
  var uls = curel.getElementsByTagName('ul');
  var level = getmenulevel(curel);

  if (uls.length == 0 || menucursub[level] == curel)
  {
    hidecursub(level);
  }
  else 
  {
    var imgs   = curel.getElementsByTagName('img');
    var imgid  = imgs[0].id.replace(menuimgid, '');
    imgs[0].src = menuimgs_ov[imgid]?menuimgs_ov[imgid]:imgs[0].src;
    imgs[0].onmouseout  = null;
    imgs[0].onmouseover = null;

    hidecursub(level);
    for (var i=0; i<uls.length; i++)
    {
      if (getmenulevel(uls[i]) == level+1)
      {
        uls[i].className = 'shown';
      }
    }

    menucursub[level] = curel;
  }
}

function hidesub(closeel)
{
  var level = getmenulevel(closeel);

  if (menucursub[level+1])
  {
    hidesub(menucursub[level+1]);
  }

  var imgs  = closeel.getElementsByTagName('img');
  var imgid = imgs[0].id.replace(menuimgid, '');

  imgs[0].src = menuimgs_dw[imgid]?menuimgs_dw[imgid]:imgs[0].src;
  if (menuimgs_up[imgid])
  {
    imgs[0].onmouseout  = function () {this.src = menuimgs_up[this.id.replace(menuimgid, '')];};
  }
  if (menuimgs_ov[imgid])
  {
    imgs[0].onmouseover = function () {this.src = menuimgs_ov[this.id.replace(menuimgid, '')];};
  }

  var uls = closeel.getElementsByTagName('ul');
  for (var i=0; i<uls.length; i++)
  {
    uls[i].className = '';
  }

  menucursub[level] = '';
}
/* Menu */