/*
* dynamizeLinkDivs(linkHolderID)
* vytvoří menu z nadpisů oddílů o definovaném classu
*
*
*/

function dynamizeLinkDivs(linkHolderID) {
 if ( !document.getElementById(linkHolderID) ) {
  return false
 }
 var linkBox = document.getElementById(linkHolderID);
 // vytaham z classu vsechny potrebny informace
 var Props = linkBox.className.split('|');
 // class="ajdyckoObsahu|div|klasKapitol|h2|block"
 var contentContainerID = Props[0];
 var chapterTagName = Props[1];
 var chapterTagClass = Props[2];
 var chapterHeadingTag = Props[3];
 var chapterCSSon = Props[4];
 elArray = getElementsByClassName( document.getElementById(contentContainerID),chapterTagName,chapterTagClass );
 buff = '<ul>';
 for (var g = 0; g < elArray.length; g++) {
  if ( !window.selClass ) {
   window.selClass = ' class="selectedChapter"'
	} else {
   window.selClass = ' class=""'
	}
  elArray[g].id = 'chapt'+g;
  tmpHeading = getTextContent(elArray[g].getElementsByTagName(chapterHeadingTag)[0]);
  // alert(tmpHeading.innerHTML);
  buff += '<li><a ' + window.selClass + ' href="#chapt'+g+'" id="nameChapter'+g+'" onClick="showActiveChapter(\''+contentContainerID+'\',\''+chapterTagName+'\',\''+chapterTagClass+'\',\'chapt'+g+'\',\''+chapterCSSon+'\'); lightSelect(\'nameChapter'+g+'\','+elArray.length+'); return false;">'+tmpHeading+'<\/a><\/li>';
 }
 buff += '<\/ul>'
 linkBox.innerHTML = buff;
 hideAllChapters(contentContainerID,chapterTagName,chapterTagClass);
 setChapterDisplay('chapt0',chapterCSSon);
}
function lightSelect(selectForLight, lenghtArr) {
 for (var g = 0; g < lenghtArr; g++) {
      identity_1=document.getElementById('nameChapter'+g);
			identity_1.className='';
		  }
		  identity_1=document.getElementById(selectForLight);
			identity_1.className='selectedChapter';
}
function setChapterDisplay(chaptID,CSSvalue) {
 document.getElementById(chaptID).style.display = CSSvalue;
}

function hideAllChapters(containerElemID,elemTag,elemClass) {
 elArray = getElementsByClassName( document.getElementById(containerElemID),elemTag,elemClass );
 for (var g = 0; g < elArray.length; g++) {
  elArray[g].style.display = 'none';
 }
}

function showActiveChapter(containerElemID,elemTag,elemClass,actChapterID,chapterCSSon) {
 hideAllChapters(containerElemID,elemTag,elemClass);
 setChapterDisplay(actChapterID,chapterCSSon);
}

// == 'innerText'
function getTextContent(n) {
 var s = '';
 var Children = n.childNodes;
 for(var i = 0; i < Children.length; i++) {
  var child = Children[i];
  if (child.nodeType == 3) { // 3 == Node.TEXT_NODE
   s += child.data;
   } else {
   s += getTextContent(child);
  }
 }
 return s;
}

/*
* getElementsByClassName(containerObject, "tag", "className")
* 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)
}
