var actualSection = 0; //cislo akttualni sekce var actualPrep = 0; // index aktualne zobrazeneho preparatu var sections = ["toc", "subtoc"] // vycet sekci v dokumentu var subsections = ["thumbs", "single"] // vycet poodsekci var tabs = ["search", "glossary"] // vycet zalozek v obcnim panelu var mainToc = new Array() // senzam kategorii nejvyssi urovne function initApplication() { //inicializace aplikace showTab("search") generateOutline() } function showSection(sid) { //zobrazeni vybrane sekce for (var i = 0; i < sections.length; i++) { document.getElementById(sections[i]).style.display = (sid == sections[i] ) ? "block" : "none"; } document.getElementById("navigline").style.display = (sid == "toc") ? "none" : "block" } function showTab(tid) { // zborazeni vybrane zalozky v bocnim panelu for (var i = 0; i < tabs.length; i++) { if (tid == tabs[i]) { document.getElementById("tab_" + tabs[i]).style.display = "block"; document.getElementById("tab_" + tabs[i] + "_label").className = "block"; } else { document.getElementById("tab_" + tabs[i]).style.display = "none"; document.getElementById("tab_" + tabs[i] + "_label").className = "nonactive"; } } } function showSubsection(sid) { // zobrazeni dane podsekce for (var i = 0; i < subsections.length; i++) { document.getElementById(subsections[i]).style.display = (sid == subsections[i] ) ? "block" : "none"; } } // var cats = new Array(); //kategorie //objekt kategorie function Cathegory() { this.title = ""; this.label = ""; this.level = 0; this.parent = null; this.subcats = new Array(); this.pics = new Array(); this.ref = null; // odkaz na referencni shodnou kategorii this.getPicsTotal = function() { var count = this.pics.length; for (var i = 0; i < this.subcats.length; i++) { count+= this.subcats[i].getPicsTotal() } return count } } function getCathegory(cid) { //vyhledani dane kategorie var vystup = null; for (var i =0; i < cats.length; i++) { if (cid == cats[i].label ) return cats[i]; } return vystup; } function generateOutline() { // generovani osnovy, nacteni kategorii var vystup = "" var level = 0; for (var i = 0; i < cats.length; i++) { var cat = cats[i]; cat.getPicsTotal = function() { var count = this.pics.length; for (var i = 0; i < this.subcats.length; i++) { count+= this.subcats[i].getPicsTotal() } return count } if (!cat.ref) cat.ref = null; if (cat.title.indexOf("$") > -1) { var ref = cat.title.substring(cat.title.indexOf("$")+1);// alert(ref) var catref = getCathegory(ref); cat.pics = catref.pics; cat.title = cat.title.substring(0, cat.title.indexOf("$")) } var level2 = cats[i].label.split(".").length; if (level2 > level) vystup += "
    " if (level2 < level) { for (var j = 0; j < level - level2; j++) vystup += "\n
\n" } if (level2 == level) vystup += "\n" vystup += "
  • " + cat.label + " " + cat.title + "

    " level = level2; cat.level = level2; cat.subcats = new Array(); if (cat.label.lastIndexOf(".") > 0) { //alert(cat.label) var parentLabel = cat.label.substring(0, cat.label.lastIndexOf(".")) var parent = getCathegory(parentLabel); parent.subcats.push(cat); cat.parent = parent } if (cat.level == 1) mainToc.push(cat) } for (var k = 0; k < level ; k++) vystup += "
  • \n\n" document.getElementById("vystupni").value = vystup; generateMainToc() } // ziskani popisku obrazku function getPicsLabel(retez) { var chunks = retez.split(".") for (var ii = 0; ii < chunks.length; ii++) { if (chunks[ii].length == 1) chunks[ii] = "0" + chunks[ii] } return chunks.join("_") } // vytvoreni osnovy nejvyssi urovne function generateMainToc() { showSection("toc") document.getElementById("navigline").innerHTML = ""; document.getElementById("navigline").style.display = "none" var vystup = "
      " for (var i = 0; i < mainToc.length; i++) { var onclick = "onclick='selectCat(" + mainToc[i].label + ")'"; var trida = ""; if (mainToc[i].subcats.length==0 && mainToc[i].pics.length==0 ) { onclick = ""; trida = "class='leaf' " } vystup += "
    1. " + mainToc[i].label + " " + mainToc[i].title + "
    2. " } vystup += "
    "; document.getElementById("toc").innerHTML += vystup; } // generovani osnovy vybrane podkapitoly function generateSubtoc(cat) { showSection("subtoc") var vystup = ""; var subcount = 0; if (cat.subcats.length > 0) { vystup += "
      " for (var i = 0; i < cat.subcats.length; i++) { var subcat = cat.subcats[i] subcount += subcat.subcats.length; if (subcount > 20 && i < cat.subcats.length - 1 && cat.level == 1) { vystup += "
      "; subcount = 0; } var tCount = (subcat.pics.length == 0) ? "" : " (" + subcat.pics.length + ")" if (subcat.pics.length > 0) { vystup += "
    1. " + subcat.label + " " + subcat.title + tCount +"

      " } if (subcat.pics.length == 0 && subcat.getPicsTotal() > 0) { vystup += "
    2. " + subcat.label + " " + subcat.title + tCount +"

      " } if (subcat.getPicsTotal() == 0) { vystup += "
    3. " + subcat.label + " " + subcat.title + tCount +"

      " } vystup += generateSubtoc(subcat) + "
    4. "; } vystup += "
    " } return vystup; } // vyber a zobrazeni kapitoly function selectCat(cid) { var main = getCathegory(cid); var navig = ""; var cat2 = main; var ccount = 0; while (cat2.parent) { cat2 = cat2.parent; ccount++; navig = " " + cat2.label + " " + cat2.title + "" +((ccount > 1) ? " > ": "" ) + navig; } navig = "TOC" + ((navig.length > 0) ? "> " + navig : "") document.getElementById("navigline").style.display = "block" document.getElementById("navigline").innerHTML = navig; actualSection = main; var parent = "" if (main.label.lastIndexOf(".") > -1) parent = main.label.substring(0, main.label.lastIndexOf(".")) var move_up = "" if (parent != "") { move_up = " " // \"Výše\" } else move_up = " " //\"Výše\" document.getElementById("maincat").innerHTML = move_up + " " + main.label + " " + main.title; document.getElementById("subcats").innerHTML = generateSubtoc(main) generateThumbs(main.label) } // vytbvoreni senzamu nahledu obrzku v dane kaiptole function generateThumbs(cid) { showSubsection("thumbs") var pid = getPicsLabel(cid); var thumbs = document.getElementById("thumbs") var vystup = "" actualSection = getCathegory(cid); var preparaty = actualSection.pics for (var i =0; i < preparaty.length; i++) { var typ = (preparaty[i].type == undefined) ? "jpg" : preparaty[i].type vystup += "
    " vystup += "náhled preparátu" vystup += "
    " + preparaty[i].desc.replace(/(\s)([ksvziouKSVZAIOU])(\s)+/g,"$1$2 ") + "
    "; vystup += "
    " } vystup += "
    "; thumbs.innerHTML = vystup; } // prechod na nasledujici obrazek v sekci function nextPreparate() { if (actualPrep < actualSection.pics.length-1) { actualPrep++; showPreparate(actualPrep) } } // prechod na predchozi obrazek v sekci function prevPreparate() { if (actualPrep > 0) { actualPrep--; showPreparate(actualPrep) } } // ozbrazeni obrazku daneho indexu function showPreparate(index) { index = parseInt(index) actualPrep = index showSubsection("single") var first = (index == 0) ? "firstOn" : "firstOff"; var last = (index == actualSection.pics.length -1) ? "lastOn" : "lastOff"; document.getElementById("mainFigure").className = "figure popiskyOff legendaOff" + " " + first + " " + last; var vystup = "" var prep = actualSection.pics[index]; //popis obrazku var popis = prep.desc; popis = popis.replace(/(\s)([ksvziouKSVZAIOU])\s/g,"$1$2 ") popis = popis.charAt(0).toUpperCase() + popis.substring(1) //document.getElementById("popis").innerHTML = popis ; vystup += "\"Náhledy\"" vystup += "" + (index+ 1) + "\/" + actualSection.pics.length + " " + popis + ""//actualSection.title document.getElementById("figtitle").innerHTML = vystup //generovani popisku var fig1 = document.getElementById("preparat"); var p_width = 640 /* width=\""+ p_width + "\"*/ var pic = "\"""; if (prep.type != undefined && prep.type == "flv") { pic = "" pic+= "" pic+= "" pic += "" pic += "" pic += "" } fig1.innerHTML = pic } /************* Vyhledavani ***************/ function searchPhrase() { var phrase = document.getElementById("search_phrase").value; var count = 0; if (phrase == "") return; var vystup = "
      " for (var i = 0; i < mainToc.length; i++) { //alert("Kategorie: " + mainToc[i].title ) vystup += searchCat(mainToc[i], phrase); } vystup += "
    "; if (vystup == "
      ") { vystup = "

      Hledaná fráze nebyla nalezena.

      "} document.getElementById("search_results").innerHTML = vystup; } function searchCat(cat, fraze) { var vystup = "" if (cat.title.toLowerCase().indexOf(fraze.toLowerCase()) > -1) { vystup += "
    1. " + cat.label +"
    2. "; //document.getElementById("displej").innerHTML +="
    3. " + cat.label +"
    4. " // counter++; } for (var i =0; i < cat.pics.length; i++ ) { if (cat.pics[i].desc.toLowerCase().indexOf(fraze.toLowerCase()) > -1) { var title = cat.pics[i].id; var index = title.charCodeAt(title.length-1) - 97 vystup += "
    5. " + cat.label + ", " + "obr. " + (index +1 ) + "
    6. "; // counter++; } } for (var j =0; j < cat.subcats.length; j++ ) { vystup += searchCat(cat.subcats[j], fraze) } return vystup }