/* j-custom.js */
Shadowbox.init({
    players : ["iframe", "img", "qt", "wmp", "swf", "flv"]
});

/* Mapa funkci pro zpracovani formularu */
var formFuncs = [
];

/* Mapa funkci volanych po nacteni stranky */
var pageHooks = [
];

/* Inicializace */
function customInit()
{
    /* Prirazeni formularu funkcim */
    for (var i = 0; i < formFuncs.length; i++)
        jFormAssign(formFuncs[i][0], formFuncs[i][1], formFuncs[i][2]);

    /* Nastaveni appletu kalendare (MUSI byt nacten datepicker) */
    $('.text-calendar').datepicker({
        dateFormat:      'dd. mm. yy',
        showOn:          'button', 
        buttonImage:     'images/calendar.gif',
        buttonImageOnly:  true
    });
    $('.text-cal-long').datepicker({
        dateFormat:      'dd. mm. yy',
        showOn:          'button', 
        buttonImage:     'images/calendar.gif',
        buttonImageOnly:  true
    });

    /* Nastaveni chovani appletu pro razeni sloupcu tabulek */
    $('.tablesorter').each(function() {
        var id     = $(this).attr('id');
        var sort1  = $(this).attr('sort1');
        var sort2  = $(this).attr('sort2');
        var nosort = $(this).attr('nosort');
        if (nosort == '1')
            return false;

        /* Vychozi razeni */
        if (!sort1)
            sort1 = 0;
        if (!sort2)
            sort2 = 0;
        $(this).tablesorter({
            sortList: [[sort1, sort2]],
            /* Funkce pro zpracovani textoveho pole */
            textExtraction: function(node) {
                var tmp;
                tmp = $('a', node);
                if (tmp && $(tmp).length)
                    return $(tmp).text();
                tmp = $('span', node);
                if (tmp && $(tmp).length) {
                    /* Tablesorter nedokaze tridit podle slozitejsi casove
                     * hodnoty, proto se pouzije zadany cas v sekundach
                     * v atributu time */
                    var time = $(tmp).attr('time');
                    if (time)
                        return time;
                    return $(tmp).text();
                }
                return node.innerHTML;
            }
        });
        $(this).show();
    });

    /* Spusteni hook funkce pro zadanou stranku, pokud existuje */
    var page = document.getElementById('page-id');
    if (page && page.value)
        for (var i = 0; i < pageHooks.length; i++) {
            if (pageHooks[i][0] == page.value)
                pageHooks[i][1]();
        }

    /* Skrolovani na vyzadanou pozici (napr. po smazani zaznamu v tabulce) */
    scrollToXY();

    $('.menu-item').each(function() {
        $(this).mouseenter(function() {
            $(this).animate({
                paddingTop : '+=20px',
            }, 'fast' );
        });
        $(this).mouseleave(function() {
            $(this).animate({
                paddingTop : '-=20px',
            }, 'fast' );
        });
    });
    try {
        $('#user').focus();
    } catch (e) {}
    return true;
}

function editor()
{
    try {
        var oFCKeditor = new FCKeditor('text');
        oFCKeditor.BasePath = 'js/Optional/fckeditor/';
        oFCKeditor.ToolbarSet = 'Custom';
        oFCKeditor.ReplaceTextarea();
    } catch (e) {}
}

function adminGalerieView()
{
    var view = document.getElementById('view');
    var id   = view.options[view.selectedIndex].value;

    jCookieCreate('adminGalerieId', id, 0);
    redirect('admin-galerie?id=' + id + '#fotky');
}

function adminVideoView()
{
    var view = document.getElementById('view');
    var id   = view.options[view.selectedIndex].value;

    jCookieCreate('adminVideoId', id, 0);
    redirect('admin-video?id=' + id + '#video');
}

/* Presmerovani na zvolenou stranku */
function redirect(name)
{
    window.location = name;
    return false;
}

/* Skrolovani na pozici ulozenou ve formulari */
function scrollToXY()
{
    var x = document.getElementById('pageX').value;
    var y = document.getElementById('pageY').value;
    if (x || y)
        window.scrollTo(x, y);
    return true;
}

/* Ziskani aktualni pozice na strance */
function scrollSetXY()
{
    var myPageX;
    var myPageY;
    if (document.all) {
        myPageX = document.body.scrollLeft;
        myPageY = document.body.scrollTop;
    } else {
        myPageX = window.pageXOffset;
        myPageY = window.pageYOffset;
    }
    document.getElementById('pageX').value = myPageX;
    document.getElementById('pageY').value = myPageY;
    return [ myPageX, myPageY ];
}

/* Zobrazeni / skryti casti stranky a ulozeni stavu do cookie */
function viewToggle(id, cookie)
{
    if (cookie) {
        if ($('#' + id).is(':hidden'))
            jCookieCreate(cookie, 1, 0);
        else
            jCookieErase(cookie);
    }
    $('#' + id).slideToggle('fast');
    return true;
}
