if(typeof kronos == 'undefined' || !kronos)
  var kronos = {};

YUI().add('theme-martin', function(Y) {

function getAbsoluteLeftOffset(el)
{
  var ret = 0;
  while(el.offsetParent) {
    ret += el.offsetLeft;
    el = el.offsetParent;
  }

  return ret;
}

function getAbsoluteTopOffset(el)
{
  var ret = 0;
  while(el.offsetParent) {
    ret += el.offsetTop;
    el = el.offsetParent;
  }

  return ret;
}

var visibleMenuContainer
kronos.isInContainer = false
kronos.isInMenu = false

function showMenu(evSource, elId)
{
  var left
  var docW = document.body.offsetWidth
  var el
  
  if(visibleMenuContainer != null)
    visibleMenuContainer.setStyle('visibility','hidden');
    
  kronos.isInMenu = true
    
  if(elId == null)
    return
  
  el = document.getElementById(elId);
  el = Y.one(elId);
  var h = (getAbsoluteTopOffset(evSource) + evSource.offsetHeight - 1);
  el.setStyle('top', h + 'px');
  left = getAbsoluteLeftOffset(evSource)
  if(left + el.offsetWidth > (docW / 2 + 510))
    left = docW / 2 + 510 - el.offsetWidth
  el.setStyle('left', left + 'px');
  el.setStyle('visibility', 'visible');
  visibleMenuContainer = el
}

var hideSubMenu = function(elName) {
  var el = document.getElementById(elName);
  el = Y.one(elName);
  setTimeout(function() {
    if(kronos.isInContainer == false && kronos.isInMenu == false) {
      el.setStyle('visibility', 'hidden');
      visibleMenuContainer = null;
    }
  }, 10);
}

function hideMenu(elName)
{
  kronos.isInMenu = false;
  hideSubMenu(elName);
}

function hideMenuContainer(contName)
{
  kronos.isInContainer = false;
  hideSubMenu(contName);
}

var splitMenu = function(contName)
{
  var el = Y.one(contName); // document.getElementById(contName);
  el = el._node;

  var count0 = el.childNodes.length;
  var columnIndex = -1;
  var currentRow = 1;
  var children = [];
  var counter = 0

  for(var j = 0; j < count0; ++j) {
    if(el.childNodes[j].tagName == 'UL') {
      el = el.childNodes[j];
      var count = el.childNodes.length;
      for(var i = 0; i < count; ++i) {
  	if(el.childNodes[i].tagName == 'LI') {
  	  children[counter] = el.childNodes[i];
          counter ++;
        }
      }
      break;
    }
  }

  count = children.length;
  var columnCount = Math.ceil(count / 3);
  for(var i = 0; i < count; ++i) {
	var child = children[i];
	if(currentRow == 1) {
	  var newParent0 = document.createElement('li');
	  newParent0.id = 'categories_column_' + (columnIndex+1);
	  newParent0.className = 'cat-ul';
	  el.appendChild(newParent0);
	  var newParent = document.createElement('ul');
	  newParent0.appendChild(newParent);
	  columnIndex++;
	}
	
	el.removeChild(child);
        newParent.appendChild(child);
	
	currentRow++;
	if(currentRow > columnCount && columnIndex < 2)
	  currentRow = 1;
  }
}

kronos.showMenu = showMenu;
kronos.hideMenu = hideMenu;
kronos.hideMenuContainer = hideMenuContainer;
kronos.hideSubMenu = hideSubMenu;
kronos.splitMenu = splitMenu;

}, '1.0.0' ,{requires:['node']});
