onload = init;

function init() {
 if ( document.all ) { dynamizeByClassName('ul','menu','li'); }
}



/*
* dynamize By Class Name
* prida danym elementum udalosti
* (uzito pro menu)
*/
function dynamizeByClassName(elTag,elClass,concEls) {
 var oElm = document; //.getElementById('header');
 var els = getElementsByClassName(oElm,elTag,elClass);
 for ( var i=0; i<els.length; i++ ) {
  lis = els[i].getElementsByTagName(concEls);
  for ( var j=0; j<lis.length; j++ ) {
   addEvent( lis[j], 'mouseover', showChildUl );
   addEvent( lis[j], 'mouseout', hideChildUl );
  }
 }
}
function showChildUl() {
 childUl = this.getElementsByTagName('ul')[0];
 if ( childUl ) {
  childUl.style.top = '0px';
 }
}
function hideChildUl() {
 childUl = this.getElementsByTagName('ul')[0];
 if ( childUl ) {
  childUl.style.top = '-1000px';
 }
}


/*
* addEvent - Written by John Resig
* http://ejohn.org/projects/flexible-javascript-events/
* addEvent( document.getElementById('foo'), 'click', doSomething );
*/
function addEvent( obj, type, fn ) {
 if ( obj.attachEvent ) {
  obj['e'+type+fn] = fn;
  obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
  obj.attachEvent( 'on'+type, obj[type+fn] );
 } else {
  obj.addEventListener( type, fn, false );
 }
}
function removeEvent( obj, type, fn ) {
 if ( obj.detachEvent ) {
  obj.detachEvent( 'on'+type, obj[type+fn] );
  obj[type+fn] = null;
 } else {
  obj.removeEventListener( type, fn, false );
 }
}

/*
* getElementsByClassName - Written by Jonathan Snook,
* http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
*/
function getElementsByClassName(oElm, strTagName, oClassNames){
 var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
 var arrReturnElements = new Array();
 var arrRegExpClassNames = new Array();
 if(typeof oClassNames == "object"){
  for(var i=0; i<oClassNames.length; i++){
   arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
  }
 }
 else{
  arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
 }
 var oElement;
 var bMatchesAll;
 for(var j=0; j<arrElements.length; j++){
  oElement = arrElements[j];
  bMatchesAll = true;
  for(var k=0; k<arrRegExpClassNames.length; k++){
   if(!arrRegExpClassNames[k].test(oElement.className)){
    bMatchesAll = false;
    break;
   }
  }
  if(bMatchesAll){
   arrReturnElements.push(oElement);
  }
 }
 return (arrReturnElements)
}

