﻿getElementsByClassName = function (c) {
    var ret = new Array();
    var j = 0;
    var objs = document.all ? 
        document.all : document.getElementsByTagName("*");
    for(i = 0;i<objs.length;i++){
        if(objs[i].className == c){
            ret[j] = objs[i];
            j++;
        } // if
    } // for
    return ret;
} // getElementsByClassName



function createTOC (title, clsName, linkElName)  {
	var xs = getElementsByClassName(clsName) ;
	var i ;
	var arrayTOC = new Array () ;
	var divTOC = document.createElement ('div') ;
	divTOC.id = 'toc' ;
	var h2Title = document.createElement ('h2') ;
	h2Title.innerHTML = title ;
	divTOC.appendChild (h2Title) ;
	var ulTOC = document.createElement ('ul') ;
	divTOC.appendChild (ulTOC) ;
	var a, li ;
	for (i=0; i<xs.length; i++) {
	
		a = document.createElement ('a') ;
		a.innerHTML = xs[i].getElementsByTagName (linkElName)[0].innerHTML ;
		xs[i].id = "wiersz:" + getContentOfNode(a).replace(/\s+/g, "-") ;

		a.href = "#" + xs[i].id ;
		li = document.createElement ('li') ;
		li.appendChild (a) ;
		ulTOC.appendChild (li) ;
	}
	
	document.body.insertBefore (divTOC, document.body.childNodes[0]) ;
	
}

function getContentOfNode(oNode){
		var sContent = "";
		var oSearch = oNode.firstChild;
		
		while(oSearch){
			if(oSearch.nodeType == 3){
				sContent += oSearch.nodeValue;
			} else if(oSearch.nodeType == 1 && oSearch.hasChildNodes){
				sContent += getContentOfNode(oSearch);
			}
			oSearch = oSearch.nextSibling
		}

		return sContent;
	}
	
/* insert pre in every div.poem to emulate white-space: pre;  */	
function correntPre	(clsName) {
	var xs = getElementsByClassName(clsName) ;
	var pre ;
	for (i=0; i<xs.length; i++) {
		xs[i].innerHTML = "<pre>"+xs[i].firstChild.nodeValue+"</pre>" ;
	}
}

function GoTo () {
	if (window.location.href.indexOf ("#") != -1) {
		var id = window.location.href.split ("#") ;
		id = id[1] ;
		var as = document.getElementsByTagName ('a') ;
		for (var i=0; i<as.length; i++) {
			// avoid opera issue with document fragment identifiers
			if (as[i].href.indexOf('#' + id) != -1) {
				as[i].click () ;
				break ;
			}
				
		}
	}
}

function createBackToTop (text) {
	var p = document.createElement ('p') ;
	p.id = 'backtotop' ;
	//p.style.display = "none" ;
	var a = document.createElement ('a') ;
	var body = document.getElementsByTagName ('body')[0] ;
	
	if (body.id)
		a.href = "#" + body.id ;
	else
		a.href = windows.location.href.split('#')[0] ;
		
	a.appendChild (document.createTextNode (text)) ;	
	
	p.appendChild (a) ;
	body.appendChild (p) ;

}

/*window.onload = function () { 
	createTOC('Spis wierszy', 'poem', 'h2') ; 
	
}*/


