/*
* 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;
                };
            }
        }
    }

    /*
    * Upravuje zarovnani referencnich firem.
    * (doplnuje mezery mezi jednotliva loga tak, aby posledni logo bylo zarovnano s pravym okrajem)
    */
    if (document.getElementById('reference-down')) {
        // celkova sirka vsech log (obrazku)
        var totalWidth = 0;
        var imgs = document.getElementById('reference-down').getElementsByTagName('img');
        var lis = document.getElementById('reference-down').getElementsByTagName('li');
        var maxHeight = 0;
        for (var i = 0; i < imgs.length; i++) {
            totalWidth += imgs[i].width;
            if (imgs[i].height > maxHeight)
                maxHeight = imgs[i].height;
        }

    // mezery, ktere tedy zbyvaji
        newPadding = Math.floor((680 - totalWidth) / (imgs.length - 1));


        // nastaveni top-margin kvuli zarovnani na spodni linku
        for (var i = 0; i < imgs.length; i++) {
            imgs[i].style.marginTop = (maxHeight - imgs[i].height) + 'px';
        }
        
    // nastaveni mezer vsem logum, krome posledniho (to tak bude zarovnane doprava)
        for (var i = 0; i < imgs.length - 1; i++) {
            imgs[i].style.marginRight = newPadding + 'px';
            lis[i].style.padding = 0;
        }

    // odstran padding posledniho nadrazeneho prvku <li>
        lis[i].style.padding = 0;

    }
}
