/*
* addCssClass() - Add new CSS class to selected element.
*/
function addCssClass(element, className) {
    element.className += ' ' + className;
}

/*
 * removeCssClass() - Remove CSS class from selected element.
 */
function removeCssClass(element, className) {
    var re = new RegExp('[ ]*' + className, 'gi');
    element.className = element.className.replace(re, '');
}

/*
 * init() - Akce pri nacteni stranky.
 */
function init() {
    /*
    * Prochazi HTML strukturu a hleda DIVy s class="popup".
    * Nasledne priradi akci odkazu v <P class="more"> pro zobrazeni/skryti podrobnosti.
    */

    // vsechny DIVy na strance
    var popups = document.getElementsByTagName('div');
    for (var i = 0; i < popups.length; i++) {
        if (popups[i].className.indexOf('popup') >= 0) {
            // DIVy s class "popup"

            // prvni odstavec by mel obsahovat odkaz pro podrobnosti
            var link = popups[i].getElementsByTagName('p');
            if (link[0].className == 'more') {

                // schovat DIV s podrobnostmi pĹ™i naÄŤtenĂ­ strĂˇnky
                popups[i].className = 'pophid';

        // priradime udalost onclick
                link[0].firstChild.onclick = function() {
                    // odkaz na rodicovsky element = parent element (je jim DIV class="popup")
                    // this = a (link), this.parentNode = p (.more), this.parentNode.parentNode = div (.popup)
                    var parent = this.parentNode.parentNode;

          // jsou podrobnosti zobrazeny?
                    var active = (parent.className.indexOf('pophid') < 0);

                    if (!active) {
                        // zobrazit podrobnosti
                        addCssClass(parent, 'popup');
                        removeCssClass(parent, 'pophid');
                    } else {
                        // skryt podrobnosti
                        removeCssClass(parent, 'popup');
                        addCssClass(parent, 'pophid');
                    }

                    return false;
                };
            }
        }
    }
}
