﻿var chyba = 0;
var indexeditovanehomodulu = 0;
var Timer1;
var _Loaded = "0";

/**
* jQuery's Countdown Plugin
*
* display a countdown effect at given seconds, check out the following website for further information:
* http://dingyu.me/blog/posts/view/jquery-countdown-plugin
*
* @author Felix Ding
* @version 0.2
* @copyright Copyright(c) 2008. Felix Ding
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
* @date 2008-03-09
* @lastmodified 2008-04-22 16:48    		 
* @todo error & exceptions handling
*/
jQuery.fn.countdown = function (options) { if (!options) { options = "()" } if (jQuery(this).length == 0) { return false } var obj = this; if (options.seconds < 0 || options.seconds == "undefined") { if (options.callback) { eval(options.callback) } return null } window.setTimeout(function () { jQuery(obj).html(String(options.seconds)); --options.seconds; jQuery(obj).countdown(options) }, 1000); return this }; jQuery.fn.countdown.stop = function () { window.clearTimeout(setTimeout("0") - 1) };



var toggleContent = function (e) { // admin
    var targetContent = $('div.itemContent', this.parentNode.parentNode);
    if (targetContent.css('display') == 'none') {
        targetContent.slideDown(300);
        $(this).html('[-]');
    } else {
        targetContent.slideUp(300);
        $(this).html('[+]');
    }
    return false;
};



function Gradient(Element, From, To) { // nonadmin

    $(Element).css("background-color", From);
    $(Element).css("background-image", "-webkit-gradient(linear, left top, left bottom, from(" + From + "), to(" + To + ")");
    $(Element).css("background-image", "-webkit-linear-gradient(top, " + From + ", " + To + ")");
    $(Element).css("background-image", "-moz-linear-gradient(top, " + From + ", " + To + ")");
    $(Element).css("background-image", "-ms-linear-gradient(top, " + From + ", " + To + ")");
    $(Element).css("background-image", "-o-linear-gradient((top, " + From + ", " + To + ")");
    $(Element).css("background-image", "linear-gradient(top, " + From + ", " + To + ")");
    $(Element).css("filter", "progid: DXImageTransform.Microsoft.gradient(startColorStr = '" + From + "', EndColorStr = '" + To + "')");

}


function SetValidationGroup(validationGroupName) { // nonadmin
    if (validationGroupName == null) {
        return;
    }
    Page_ValidationSummaries[0].validationGroup = validationGroupName;
}

function ZavriEditaci() { window.location.href = this.location.href; } // nonadmin


function opend(lnk, _width, _height) {
    if (_IsAdmin)
        $("body").css("overflow", "hidden");

    f_open_window_max(lnk, "", "", "EditovatModul", "");
}



function wait(msecs) {
    var start = new Date().getTime();
    var cur = start
    while (cur - start < msecs) {
        cur = new Date().getTime();
    }
}

var wOpen;
function f_open_window_max(aURL1, aURL2, aURL3, aWinName, aTitle) {

    var sOptions;

    sOptions = 'location=0,titlebar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,toolbar=no';
    sOptions = sOptions + ',width=' + (screen.availWidth - 10).toString();
    sOptions = sOptions + ',height=' + (screen.availHeight - 122).toString();
    sOptions = sOptions + ',screenX=0,screenY=0,left=0,top=0,fullscreen=yes';
    if (wOpen != null) {
        if (!wOpen.closed) {
            wOpen.onbeforeunload = null;
            //if (aURL2 != '')
            wOpen.location = "/administrace/AdminWindow.aspx?title="
            + encodeURIComponent(aTitle) + "&src1=" + encodeURIComponent(aURL1)
            + "&src2=" + encodeURIComponent(aURL2)
            + "&src3=" + encodeURIComponent(aURL3);
            //else
            //    wOpen.location = aURL1;

            wOpen.focus();
            wOpen.moveTo(0, 0);
            wOpen.resizeTo(screen.availWidth, screen.availHeight);

            return wOpen;

        }
    }
    wOpen = window.open('', aWinName, sOptions);
    wOpen.location = "/administrace/AdminWindow.aspx?title="
            + encodeURIComponent(aTitle) + "&src1=" + encodeURIComponent(aURL1)
            + "&src2=" + encodeURIComponent(aURL2)
            + "&src3=" + encodeURIComponent(aURL3);

    wOpen.focus();
    wOpen.moveTo(0, 0);
    wOpen.resizeTo(screen.availWidth, screen.availHeight);

    return wOpen;
}

function OpenEmailFriend() {
    $('#EmailFriendFRM').attr('src', '/moduly/EmailToFriend/SendFriend.aspx?pageID=' + _pageid);
    $("#EmailFriend").dialog("open");
}


$(document).ready(function () {


    if (_IsAdmin)
        $(".StatusIcon").each(
    function () {
        switch ($(this).attr('idstatus')) {
            case '0':
                $(this).attr('title', 'Přesunout do konceptů').css('background', 'red');
                break;
            case '1':
                $(this).attr('title', 'Schválit').css('background', 'orange');
                break;
            case '2':
                $(this).attr('title', 'Publikovat').css('background', 'green');
                break;
            case '50':
                $(this).attr('title', 'Publikovat v nastavený den').css('background', '#CC0099');
                break;
            case '5':
                $(this).attr('title', 'Smazat').css('background', 'Black');
                break;
        }
        $(this).find("div").css(
        {
            width: '15px',
            heigt: '8px'
        }
        );
    }
    );

    if (_IsAdmin)
        $(".StatusIcon").click(
        function () {
            var _parent = $(this).parent().parent().parent().parent().parent();
            var _ID = $(_parent).attr("modid");
            var _tbl = $(_parent).attr('tbl');
            var _NovyStav = $(this).attr('IDstatus');
            if (_NovyStav == "5") // mazání modulu
            {
                if (confirm("Odstranit modul?")) {
                    ZmenaStavuModulu(_ID, _NovyStav, _tbl);
                    $(_parent).parent().hide('2500');
                }
            }
            else {
                ZmenaStavuModulu(_ID, _NovyStav, _tbl);
                $(_parent).removeClass('headerstav0').removeClass('headerstav50').removeClass('headerstav1').removeClass('headerstav2').addClass('headerstav' + _NovyStav);
            }
        }
    );

    if (_IsAdmin)
        $(".LanguageIcon").click(
        function () {
            var _parent = $(this).parent().parent().parent().parent().parent().parent();
            var _ID = $(_parent).attr("modid");
            var _tbl = $(_parent).attr('tbl');
            var _NovyStav = $(this).attr('IDstatus');
            var _Lang = $(this).attr('Lang');
            $.ajaxSetup({
                jsonp: null,
                jsonpCallback: null
            });
            $.ajax({
                type: "POST",
                url: "/administrace/servis.asmx/ZmenaJazykuModulu",
                data: "{AJAXID:'" + _ID + "', AJAXJazyk:'" + _Lang + "', AJAXStav:'" + _NovyStav + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d == "OK") {

                    }
                    else {
                        alert(response.d);
                        alert("CHYBA");
                    }
                }
            });


            if (_NovyStav == '1') {
                $(this).attr('IDstatus', '0');
                $(this).attr('Title', 'Modul se zobrazuje v jazykové verzi ' + _Lang + '. Zakázat tuto jazykovou verzi?');
                $(this).css("background", "green");

            }
            else {
                $(this).attr('IDstatus', '1');
                $(this).attr('Title', 'Modul se v jazykové verzi ' + _Lang + ' nezobrazuje. Zpřístupnit modul v tomto jazyce?');
                $(this).css("background", "red");
            }
        }
    );



    readyfn();

    if (_IsAdmin)
        function ZmenaStavuModulu(_ID, _Stav, _tbl) {
        $.ajaxSetup({
            jsonp: null,
            jsonpCallback: null
        });

        $.ajax({
            type: "POST",
            url: "/administrace/servis.asmx/ZmenaStavuModulu",
            data: "{AJAXID:'" + _ID + "',AJAXStav:'" + _Stav + "',AJAXtbl:'" + _tbl + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                if (response.d == "OK") {

                    if (_Stav == "5") { // po vymazání skryjeme modul jako takový
                        $("#" + _ID).hide();
                    }
                    else {
                        //
                    }
                }
                else {
                    alert("CHYBA");
                }
            }

        });
    }


    var ua = $.browser;
    if (ua.mozilla) {
        var _MozilaOffset = $(".art-content-layout").position().top;
        $(".floatingModul").each(
        function () {
            var _ItemOffsetTop = $(this).position().top;
            var _ItemOffsetLeft = $(this).position().left;
            $(this).css('top', _MozilaOffset + _ItemOffsetTop + 'px');
            $(this).css('left', (_ItemOffsetLeft + 7) + 'px');
        });
    }



    $(".lazyload").lazyload({ placeholder: "/images/grey.gif", effect: "fadeIn" });

    $("img.scale").each(function () {
        $(this).cjObjectScaler({
            method: "fit", // fit/fill
            fade: 800
        });
    });


    // rozbalovani leveho menu

    if (_EnableMenuToggle) {
        $("<span class='expand_all' title='Rozbalit vše'><img src='/images/expand.gif' border='0' align='middle' /><img src='/images/expand.gif' border='0' align='middle' /></span>&nbsp;").prependTo($(".plusminusall")); // pridame si plusminus k urovnim s podsekcemi
        $("<span class='collapse_all' title='Sbalit vše'><img src='/images/collapse.gif' border='0' align='middle' /><img src='/images/collapse.gif' border='0' align='middle' /></span>&nbsp;").prependTo($(".plusminusall")); // pridame si plusminus k urovnim s podsekcemi
    }

    $("<div class='plusminus collapsed' title='Rozbalit podúrovně'></div>").prependTo($(".art-vmenu li:has(ul)")); // pridame si plusminus k urovnim s podsekcemi
    setTimeout('$("a.active").siblings(".plusminus").removeClass("collapsed").addClass("expanded");', 250); // vymenime plus za minus u aktivnich odkazu


    $('div.expanded + ul').slideToggle('medium');
    $('.plusminus').click(function () {
        $(this).toggleClass('expanded').toggleClass('collapsed').parent().find('> ul').slideToggle('fast');
    });

    $('.expand_all').click(function () {
        $(".expand_all").hide();
        $(".collapse_all").show();
        $('.collapsed').addClass('expanded').removeClass('collapsed').parent().find('> ul').slideDown('fast');
    });

    $('.collapse_all').click(function () {
        $(".collapse_all").hide();
        $(".expand_all").show();
        $('.expanded').addClass('collapsed').removeClass('expanded').parent().find('> ul').slideUp('fast');
    });

    $(".collapse_all").hide();



    // rozbalovani leveho menu : KONEC


});


function readyfn() {

    // searching
    if ($.query.get('st') != '' && $.query.get('modul') != 'moduly-vyhledavani-results') {
        $('body').highlight($.query.get('st'));
    }

    try {
        $("#form1").validate({ onsubmit: false });
    }
    catch (e) {
        //
        //alert("CHYBA");
    }
    $('.validationGroup .causesValidation').click(function (evt) {
        var $group = $(this).parents('.validationGroup');
        var isValid = true;
        $group.find(':input').each(function (i, item) {
            if (!$(item).valid())
                isValid = false;
        });

        if (!isValid)
            evt.preventDefault();
    });

    if ($.cookie('PageLinksY') == null) {
        $('#PageLinks').draggable({ axis: 'y',
            stop: function (event, ui) {
                $.cookie('PageLinksX', ui.position.left, { expires: 7, path: '/', domain: _domain });
                $.cookie('PageLinksY', ui.position.top, { expires: 7, path: '/', domain: _domain });

            }
        });
        $('#PageLinks').show(1000);
    }
    else {
        $('#PageLinks').draggable({ axis: 'y',
            stop: function (event, ui) {
                $.cookie('PageLinksX', ui.position.left, { expires: 7, path: '/', domain: _domain });
                $.cookie('PageLinksY', ui.position.top, { expires: 7, path: '/', domain: _domain });
            }
        });


        $('#PageLinks').css('top', $.cookie('PageLinksY') + 'px');
        $('#PageLinks').show(1000);


    }


    $(".fg-button:not(.ui-state-disabled)")
        .hover(
            function () {
                $(this).addClass("ui-state-hover");
            },
            function () {
                $(this).removeClass("ui-state-hover");
            }
        )
        .mousedown(function () {
            $(this).parents('.fg-buttonset-single:first').find(".fg-button.ui-state-active").removeClass("ui-state-active");
            if ($(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active')) { $(this).removeClass("ui-state-active"); }
            else { $(this).addClass("ui-state-active"); }
        })
        .mouseup(function () {
            if (!$(this).is('.fg-button-toggleable, .fg-buttonset-single .fg-button,  .fg-buttonset-multi .fg-button')) {
                $(this).removeClass("ui-state-active");
            }
        });

    // comments
    $(".CommentsDivToggle").click(function () { // nonadmin
        var _ID = $(this).attr("ID");
        var _DIVID = _ID.replace("ID_", "CommentsDiv_");

        var _innerHTML = $(this).html();
        $(".pnlComments").hide();
        $(".CommentsDivToggle").html("Zobrazit komentáře");
        if (_innerHTML == "Skrýt komentáře") {
            $("#" + _DIVID).hide();
            $(this).html("Zobrazit komentáře");
        }
        else {
            $("#" + _DIVID).show();
            $(this).html("Skrýt komentáře");
        }
    }
    );

    //downloads
    $(".downloads li a").each(function () { // nonadmin
        var href = $(this).attr("href");
        $(this).attr("href", "javascript:void(0)");
        if (href.indexOf('void') < 0)
            $(this).parent().click(
            function () {
                window.open(href);
                var ct = eval($(this).find(".ct").html()) + 1;
                $(this).find(".ct").html(ct);
            }
            ).rightMouseUp(function (e) {
                alert("Použijte levé tlačítko myši. Use left mouse button.");
            });
    });


    //Created an array to hold onto the desired info.
    var windowSizeArray = ["width=800,height=600,scrollbars=yes",
                            "width=800,height=600,scrollbars=yes"];


    //Links that has the ".newWindow" class will call this script.
    $('.newWindow').click(function (event) {

        // Gets the URL from the clicked link.
        var url = $(this).attr("href");

        /*Gets the name from the clicked link. Currently I commented out the
        jquery script and just put "popUp" for a default name because I didn't
        include the name in the links.*/
        var windowName = "popUp"; //$(this).attr("name");

        /*Places the string from the array into the windowSize variable.
        The array slot is determined by the "rel" number on the link.*/
        var windowSize = windowSizeArray[$(this).attr("rel")];

        //This method opens a new browser window.
        window.open(url, windowName, windowSize);

        /*Prevents the browser from executing the default action and
        allows us to use the "window.open" within our script.*/
        event.preventDefault();

    });


    if (_IsAdmin)
        $("body").css("overflow", "auto");

    $(".tabs").tabs();

    $(".DatePicker").datepicker({ // nonadmin
        showButtonPanel: true,
        changeMonth: true,
        changeYear: true,
        showWeek: true,
        //showOn : 'focus'
        showOn: "button",
        buttonImage: "/icons/calendar.gif",
        buttonImageOnly: true
    }); //.datepicker($.datepicker.regional['cs']);


    $(".ZoomImage img").each(
 function () {
     var _src = $(this).attr('src');
     var _IsLink = false;
     $(this).parents().each(
            function () {
                if ($(this).tagName == 'A') {
                    _IsLink = true;
                }
            }
        );

     if (_IsLink)
         if (_src.indexOf("resize") >= 0) {
             //najdeme si img
             var _poziceIMG = _src.indexOf("img=");
             if (_poziceIMG > 0) _poziceIMG = _poziceIMG + 4;

             var _title = $(this).attr('title');
             var _IMG = "/resize2.aspx?w=800&amp;h=600&amp;img=" + _src.substring(_poziceIMG);
             var _link = '<a href="' + _IMG + '" title="' + _title + '" alt="' + _title + '" rel="ImageZoom" />';

             $(this).wrap(_link);
         }
         else {
             //najdeme si img
             var _poziceIMG = _src.indexOf("id=");
             if (_poziceIMG > 0) _poziceIMG = _poziceIMG + 3;

             var _title = $(this).attr('title');
             var _IMG = "/FileViewer.aspx?w=800&h=600&ID=" + _src.substring(_poziceIMG);
             var _link = '<a href="' + _IMG + '" title="' + _title + '" alt="' + _title + '" rel="ImageZoom" />';

             $(this).wrap(_link);
         }
 }
);

    //$("a[rel='ImageZoom']").colorbox({ photo: true });
    //    $(".tooltip").tipsy({ gravity: $.fn.tipsy.autoWE, html: true, fade: true, title:
    //      function() {
    //          return yourFunction(this.getAttribute('original-title'));
    //      }
    //    });

    yourFunction = function (title) {
        title = '<div class="title">' + title + '</div>';
        return title;
    }

    $("button,input:submit,input:reset,input:button").addClass('art-button'); //.addClass('ui-corner-all');

    $(".dialog").dialog({
        autoOpen: false,
        width: 800, height: 500,
        modal: true, zIndex: 6543,
        stack: false,
        open: function (type, data) { $(this).parent().appendTo("form"); },
        close: function (event, ui) {
            var _oldhref = location.href;
            if (_oldhref.indexOf('?') > 0) {
                _oldhref = _oldhref + '&ts=1';
            }
            else {
                _oldhref = _oldhref + '?ts=1';
            }
            location.href = _oldhref;

        }
    }).dialogExtend({ "maximize": true, "minimize": false, "dblclick": "maximize" });


    $(".dialog2").dialog({
        autoOpen: false,
        width: 800, height: 450,
        modal: true, zIndex: 6543,
        stack: false,
        open: function (type, data) { $(this).parent().appendTo("form"); }
    }).dialogExtend({ "maximize": true, "minimize": false, "dblclick": "maximize" });

    $(".AutoHide").show().animate({ opacity: 1.0 }, 5000).hide("slow");

    try {
        if (_scroll != '')
            $(document).scrollTo(_scroll, { duration: 100 });
    }
    catch (e) {
        //
    }
    try {
        $().piroBox({ //#<asp:Label ID="lblIndex1" Visible="false" Text="0" runat="server" />
            my_speed: 600, //animation speed
            bg_alpha: 0.5, //background opacity
            radius: 15, //caption rounded corner
            scrollImage: true, // true == image follows the page, false == image remains in the same open position
            pirobox_next: 'piro_next', // Nav buttons -> piro_next == inside piroBox , piro_next_out == outside piroBox
            pirobox_prev: 'piro_prev', // Nav buttons -> piro_prev == inside piroBox , piro_prev_out == outside piroBox
            close_all: '.piro_close', // add class .piro_overlay(with comma)if you want overlay click close piroBox
            slideShow: 'slideshow', // just delete slideshow between '' if you don't want it.
            slideSpeed: 4 //slideshow duration in seconds(3 to 6 Recommended)
        });


    } catch (e) {
        //
    }

    try {
        // accordeon menu
        var drawer = jQuery.cookie('accdrawer');
        if (drawer === undefined) {
            drawer = '0';
        }
        $(".accordion").accordion({
            header: "h3",
            navigation: true,
            active: parseInt(drawer),
            autoHeight: true,
            autoWidth: true,
            clearStyle: true,
            collapsibe: true,
            alwaysOpen: false,
            animated: false,
            /*animated: "slide",*/
            change: function (event, ui) {
                var index = j(this).find('h3').index(ui.newHeader[0]);
                if (index > -1) {
                    $.cookie('accdrawer', index, { path: '/' });
                }
            }
        });
    }
    catch (ex)
    { }


    // tree menu
    $(".treemenu").treeview({
        collapsed: true,
        unique: true,
        animated: "slow",
        persist: "location"
    });

    $('a.closeEl').bind('click', toggleContent);

    // ošetříme si výšku sloupců
    //var highestCol = Math.max($('.rightcol').height(), $('.leftcol').height(), $('.middlecol').height());
    //$('.sides').height(highestCol);


    // logování ahref
    $('a').click(
        function () {
            var _linkurl = $(this).attr('href');

            try {
                if (_linkurl != '') {

                    _linkurl = _linkurl.toLowerCase();

                    if (_linkurl.indexOf("javascript") < 0) {

                        _refURL = _refURL.toLowerCase();
                        _script = "/statURL.aspx";
                        $.get(_script,
                    {
                        refurl: _refURL,
                        klientid: _klientID,
                        linkurl: _linkurl,
                        ip: _ipadresa,
                        userid: _userid
                    },
                    function (data) {
                        //callback function
                        //if (_klientID=='14') alert(data);
                    }, 'html');

                        wait(25); // počkáme na odeslání dotazu se statistikou
                    }
                }
            }
            catch (exeption) {
            }
        }
    );
    // logování clicktrough




    $(".MoveModuleIcon")
    .html('Přesunout modul')
    .attr('title', 'Přesunout modul')
    .click(function () { OpenAdminWindow(this, '/administrace/struktura/PresunNaStranku.aspx', 'Přesunout modul na vybranou stránku'); });

    $(".CreatLinkIcon")
    .html('Zástupce modulu')
    .attr('title', 'Vytvořit zástupce modulu')
    .click(function () { OpenAdminWindow(this, '/administrace/struktura/VytvorZastupce.aspx', 'Vytvořit zástupce modulu na vybrané stránce'); });


    function OpenAdminWindow(object, url, desc) {
        var _parent = $(object).parent().parent().parent().parent().parent();
        var _ID = $(_parent).attr("modid");
        var _tbl = $(_parent).attr('tbl');
        var _idstranky = $(_parent).attr('modidstranky');
        var _umisteni = $(_parent).attr('modpos');
        if (_ID != '0') {
            $('#UserDialogIframe').attr('src', url + '?id=' + _ID + '&umisteni=' + _umisteni + '&idstranky=' + _idstranky);
            $('#UserDialog').dialog({ title: desc }).dialog('open');
        }

    }




    $(".LayerIcon").click(
        function () {
            var _parent = $(this).parent().parent().parent().parent().parent();
            var _ID = $(_parent).attr("modid");
            var _tbl = $(_parent).attr('tbl');
            var _ZIndex = $(this).attr('ZIndex');
            $.ajaxSetup({
                jsonp: null,
                jsonpCallback: null
            });
            $.ajax({
                type: "POST",
                url: "/administrace/servis.asmx/ZIndexModulu",
                data: "{AJAXID:'" + _ID + "', AJAXZINDEX:'" + _ZIndex + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d != "0") {
                        //location.reload(true);
                        //alert(_ZIndex);
                        $(_parent).parent().css('z-index', _ZIndex);
                    }
                    else {
                        alert("CHYBA");

                    }
                }
            });
        }
    );



    $(".GlobalizeIcon")
        .html('Globalizovat')
        .attr('title', 'Globalizovat')
        .click(
        function () {
            var _parent = $(this).parent().parent().parent().parent().parent();
            var _ID = $(_parent).attr("modid");
            var _tbl = $(_parent).attr('tbl');

            $.ajaxSetup({
                jsonp: null,
                jsonpCallback: null
            });
            $.ajax({
                type: "POST",
                url: "/administrace/servis.asmx/Globalizovat",
                data: "{AJAXID:'" + _ID + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d == "OK") {
                        location.reload(true);
                    }
                    else {
                        alert("CHYBA");

                    }
                }
            });
        });





    $(".LocalizeIcon")
        .html('Lokalizovat')
        .attr('title', 'Lokalizovat')
        .click(
        function () {
            var _parent = $(this).parent().parent().parent().parent().parent();
            var _ID = $(_parent).attr("modid");
            var _tbl = $(_parent).attr('tbl');
            // modul globalizujeme a přepíšeme
            $.ajaxSetup({
                jsonp: null,
                jsonpCallback: null
            });
            $.ajax({
                type: "POST",
                url: "/administrace/servis.asmx/Lokalizovat",
                data: "{AJAXID:'" + _ID + "', AJAXPageID:'" + _pageid + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d == "OK") {
                        location.reload(true);
                    }
                    else {
                        alert("CHYBA");

                    }
                }
            });
        });


    $(".floatingModul").each(function () {
        var b = $(this);

        //        b.removeClass('groupItem1').removeClass('groupItem2');

        b.draggable({ stop: movestop });
        b.resizable({ stop: resizestop });

        b.transformable({
            rotateStop: rotateStop,
            skewStop: SaveMatrix,
            scaleStop: SaveMatrix,
            rotate: showrotate,
            scale: constrainscale
        });

        var _m = $(this);
        var _matrix = b.attr("matrix");
        var _XYPos = b.attr("XYPos");
        if (_matrix != '1,0,0,1,0,1') {
            _matrix = "matrix(" + _matrix + ")";
            _m.css("-webkit-transform", _matrix);
            _m.css("-moz-transform", _matrix);
            _m.css("-ms-transform", _matrix);
            _m.css("-o-transform", _matrix);
            _m.css("transform", _matrix);
            _m.css("transform-origin", _XYPos);
        }

    });

    $('<input type=button class="trreset" value="Reset" />').prependTo(".floatingModul .art-post-body");

    $(".trreset").click(function () {
        alert("Nastavení modulu bylo resetováno");
        $(this).parent().parent().transformable('reset');
        var _id = $(this).parent().parent().parent().attr('id');
        _id = _id.replace("id_", "");

        $.ajaxSetup({
            jsonp: null,
            jsonpCallback: null
        });

        $.ajax({
            type: "POST",
            url: "/administrace/servis.asmx/ResetModuleMatrix",
            data: "{id: '" + _id + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                if (response.d != '1') {
                    alert('Not Saved!');
                }
                else {
                    window.location.href = unescape(window.location.pathname);
                }
            },
            error: function (response) {
                alert(response.responseText);
            }
        });

    });



    if (_userid == undefined)
        _userid = '0';
    if (_userid != '0') {
        $('.groupWrapper1').sortable(
     {
         connectWith: '.groupWrapper1',
         cursor: 'move',
         scroll: false,
         dropOnEmpty: true,
         revert: true,
         start: function (e, ui) {
             $(".itemHeader .ui-icon").removeClass("ui-icon-minusthick").addClass("ui-icon-plusthick");
             //$(".itemHeader").css("position", "relative");
             //$(".itemContent").hide();
         },
         stop: function (e, ui) {
             $(".itemHeader .ui-icon").addClass("ui-icon-minusthick").removeClass("ui-icon-plusthick");
             //$(".itemHeader").css("position", "absolute");
             //$(".itemContent").show();
         },
         update: function (e, ui) { Uloz2($(this).attr("modpos"), $(this).sortable("serialize", { attribute: 'id', key: 'id' })); }
     }
    ).disableSelection();

        $('.groupWrapper2').sortable(
     {
         connectWith: '.groupWrapper2',
         cursor: 'move',
         scroll: false,
         dropOnEmpty: true,
         revert: true,
         start: function (e, ui) {
             $(".itemHeader .ui-icon").removeClass("ui-icon-minusthick").addClass("ui-icon-plusthick");
             //$(".itemHeader").css("position", "relative");
             //$(".itemContent").hide();
         },
         stop: function (e, ui) {
             $(".itemHeader .ui-icon").addClass("ui-icon-minusthick").removeClass("ui-icon-plusthick");
             //$(".itemHeader").css("position", "absolute");
             //$(".itemContent").show();
         },
         //placeholder: 'ui-state-highlight',
         update: function (e, ui) { Uloz2($(this).attr("modpos"), $(this).sortable("serialize", { attribute: 'id', key: 'id' })); }
     }
    ).disableSelection();

        function Helper(elm_id) {
            var userAgent = navigator.userAgent.toLowerCase();
            $(elm_id).bind("sortstart", function (event, ui) {
                ui.helper.css('margin-top', $(window).scrollTop());
            });
            $(elm_id).bind("sortbeforestop", function (event, ui) {
                ui.helper.css('margin-top', 0);
            });
        }

        Helper(".groupWrapper1");
        Helper(".groupWrapper2");
    }



    $(".floatingModul .itemHeader .ui-icon").remove();

    $(".itemHeader .ui-icon").click(function () {
        $(this).toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick");
        if ($(this).parent().css("position") == "relative")
            $(this).parent().css("position", "absolute");
        else
            $(this).parent().css("position", "relative")
        $(this).parents(".modul:first").find(".itemContent").toggle("slow");
    });




    // tady si přidáme titulky a css ke stavovym ikonkam
    $(".nav").each(function () {
        $(this).attr('href', 'javascript:void(0)');
    }
    );




    function AktualizaceDataZmenyModulu(_ID, _USERID) {

        $.ajaxSetup({
            jsonp: null,
            jsonpCallback: null
        });

        $.ajax({
            type: "POST",
            url: "/administrace/servis.asmx/AktualizaceDataZmenyModulu",
            data: "{AJAXID:'" + _ID + "', AJAXUSERID:'" + _USERID + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                if (response.d == "OK") {
                    //alert("OK");

                }
                else {
                    alert(response.d);
                    chyba = 1;
                }
            }
        });
    }

    function ModifyModule(obj) {
        if (_IsAdmin)
            $("body").css("overflow", "hidden");

        var _ID = $(obj).attr("modid");
        AktualizaceDataZmenyModulu(_ID, _userid);
        var _tbl = $(obj).attr('tbl');
        var _refurl = $(obj).attr('refurl');
        var _umisteni = $(obj).attr('modpos');
        var _idstranky = $(obj).attr('modidstranky');
        var _modzastupce = $(obj).attr('modzastupce');
        var _modzastupceid = $(obj).attr('modzastupceid');
        if (_modzastupce == 'True') {
            _ID = _modzastupceid;
            AktualizaceDataZmenyModulu(_ID, _userid);
        }


        var _lnk1 = "/moduly/" + _refurl + "?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        var _lnk2 = "/administrace/struktura/NastaveniModulu.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        var _lnk3 = "/administrace/seznamfunkci2.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        f_open_window_max(_lnk1, _lnk2, "", "EditovatModul", "Manažer modulů: Upravit obsah a nastavení modulu");


    }



    function NewItem(obj) {

        if (_IsAdmin)
            $("body").css("overflow", "hidden");
        var _ID = $(obj).attr("modid");
        var _tbl = $(obj).attr('tbl');
        var _refurl = $(obj).attr('refnewitemurl'); // nova položka URL
        var _umisteni = $(obj).attr('modpos');
        var _idstranky = $(obj).attr('modidstranky');
        var _modzastupce = $(obj).attr('modzastupce');
        var _modzastupceid = $(obj).attr('modzastupceid');
        if (_modzastupce == 'True')
        { _ID = _modzastupceid; }

        var _lnk1 = "/moduly/" + _refurl + "?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        var _lnk2 = "/administrace/struktura/NastaveniModulu.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        var _lnk3 = "/administrace/seznamfunkci2.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        f_open_window_max(_lnk1, _lnk2, "", "EditovatModul", "Nový modul");

    }


    function NewModule(obj) {
        var _ID = $(obj).attr("modid");
        var _tbl = $(obj).attr('tbl');
        var _refurl = $(obj).attr('refurl');
        var _umisteni = $(obj).attr('modpos');
        var _idstranky = $(obj).attr('modidstranky');
        var _modzastupce = $(obj).attr('modzastupce');
        var _modzastupceid = $(obj).attr('modzastupceid');
        if (_modzastupce == 'True')
        { _ID = _modzastupceid; }

        var _lnk = "/administrace/ModulyNovy.aspx?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

        f_open_window_max(_lnk1, "", "", "EditovatModul", "Nový modul");
    }

    $(".AddIcon").click(
    function () {
        var _parent = $(this).parent().parent().parent().parent().parent();
        NewItem($(_parent));
    }
    );


    $(".ModifyIcon")
    .html('Upravit modul a nastavení')
    .attr("title", "Otevře formulář pro editaci obsahu, vzhledu a oprávnění k modulu")
    .click(
            function (e) {
                var _parent = $(this).parent().parent().parent().parent().parent();
                var _ID = $(_parent).attr("modid");
                var _tbl = $(_parent).attr('tbl');
                var _refurl = $(_parent).attr('refurl');
                var _umisteni = $(_parent).attr('modpos');
                var _idstranky = $(_parent).attr('modidstranky');
                var _modzastupce = $(_parent).attr('modzastupce');
                var _modzastupceid = $(_parent).attr('modzastupceid');
                if (_modzastupce == 'True')
                { _ID = _modzastupceid; }

                var _lnk1 = "/moduly/" + _refurl + "?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                var _lnk2 = "/administrace/struktura/NastaveniModulu.aspx?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                var _lnk3 = "/administrace/seznamfunkci2.aspx?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                f_open_window_max(_lnk1, _lnk2, "", "EditovatModul", "");
            });

    $(".ModifyIcon2")
    .attr("title", "Otevře formulář pro editaci obsahu, vzhledu a oprávnění k modulu")
    .click(
            function (e) {
                var _parent = $(this).parent().parent().parent().parent();
                var _ID = $(_parent).attr("modid");
                var _tbl = $(_parent).attr('tbl');
                var _refurl = $(_parent).attr('refurl');
                var _umisteni = $(_parent).attr('modpos');
                var _idstranky = $(_parent).attr('modidstranky');
                var _modzastupce = $(_parent).attr('modzastupce');
                var _modzastupceid = $(_parent).attr('modzastupceid');
                if (_modzastupce == 'True')
                { _ID = _modzastupceid; }

                var _lnk1 = "/moduly/" + _refurl + "?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                var _lnk2 = "/administrace/struktura/NastaveniModulu.aspx?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                var _lnk3 = "/administrace/seznamfunkci2.aspx?pageid=" + _pageid + "&ID=" + _ID +
                "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
                "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

                f_open_window_max(_lnk1, _lnk2, "", "EditovatModul", "");
            });


    $(".emptyContent").hover(function () { $(this).attr('title', 'Sem můžete přidat nový modul. Klikněte pro zobrazení nabídky modulů.') }, function () { })
   .click(
    function (e) {
        var modposNew = $(this).attr('modposNew');
        var NewPageID = $(this).attr('NewPageID');
        var _lnk = "/administrace/ModulyNovy.aspx?pageid=" + NewPageID + "&idstranky=" + NewPageID + "&umisteni=" + modposNew;
        f_open_window_max(_lnk, "", "", "EditovatModul", "Nový modul");
    }
   );

    //    $(".emptyContent").rightMouseUp(
    //    function(e) {

    //        var modposNew = $(this).attr('modposNew');
    //        var NewPageID = $(this).attr('NewPageID');
    //        var _lnk = "/administrace/ModulyNovy.aspx?pageid=" + NewPageID + "&idstranky=" + NewPageID + "&umisteni=" + modposNew;
    //        f_open_window_max(_lnk, "", "", "EditovatModul", "Nový modul");
    //    }
    //   );









};

function CancelPostBack() {
    var objMan = Sys.WebForms.PageRequestManager.getInstance();
    if (objMan.get_isInAsyncPostBack())
        objMan.abortPostBack();

}


// funkce pro formátování
function movestop(e, ui) {
    var _id = $(this).attr('id');
    _id = _id.replace("id_", "");

    var x = Math.round($(this).position().left);
    var y = Math.round($(this).position().top);

    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/SaveCoords",
        data: "{x: '" + x + "', y: '" + y + "', id: '" + _id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d != '1') {
                alert('Not Saved!');
            }
        },
        error: function (response) {
            alert(response.responseText);
        }
    });
}

function resizestop(e, ui) {
    var _id = $(this).attr('id');
    _id = _id.replace("id_", "");


    var w = Math.round($(this).width());
    var h = Math.round($(this).height());
    var _helper = $(this);

    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/SaveDims",
        data: "{w: '" + w + "', h: '" + h + "', id: '" + _id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d != '1') {
                alert('Not Saved!');
            }
            else {
                _helper.find(".art-post").attr('style', 'width:' + w + 'px !important; height:' + h + 'px !important;top:-6px;left:-6px;');
                _helper.find(".art-block").attr('style', 'width:' + w + 'px !important; height:' + h + 'px !important;top:-6px;left:-6px;');
                _helper.find(".itemContent").attr('style', 'width:' + w + 'px !important; height:' + h + 'px !important;top:-6px;left:-6px;');


            }
        },
        error: function (response) {
            alert(response.responseText);
        }
    });
}

function rotateStop(e, ui) {

    var u = $(this).getTransform();
    var o = $(this).tOffset();
    var a = u.rotate * 180 / Math.PI;
    if (a < 0) a = 360 - a;

    var _id = $(this).attr('id');
    _id = _id.replace("id_", "");

    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/saveModuleRotation",
        data: "{a: '" + Math.round(a) + "', m: '" + $(this).matrixToArray() + "', id: '" + _id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d != '1') {
                alert('Not Saved!');
            }
        },
        error: function (response) {
            alert(response.responseText);
        }
    });
}


function constrainscale(e, ui) {
    //uncomment to see how you can set value to constrain size
    //if (ui.scalex<0.5) ui.scalex=0.5;
    //if (ui.scaley<0.5) ui.scaley=0.5;
}

function showrotate(e, ui) {
    $('#rotate').html(ui.angle.rad);
    //uncomment this to see how you can set the value to constrain angle
    //if(ui.angle.rad>1)ui.angle.rad=1;if(ui.angle.rad<-1) ui.angle.rad=-1;
}


function SaveMatrix(e, ui) {

    var u = $(this).getTransform();
    var o = $(this).tOffset();

    var _id = $(this).attr('id');
    _id = _id.replace("id_", "");

    var _helper = $(this);


    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/SaveMatrix",
        data: "{m: '" + $(this).matrixToArray()
        + "', id: '" + _id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d != '1') {
                alert('Not Saved!');
            }
        },
        error: function (response) {
            alert(response.responseText);
        }
    });
}

function showinfo(e, ui) {

    var u = $(this).getTransform();
    var o = $(this).tOffset();
    var a = Math.abs(u.rotate * Math.PI) * 360;
    var _id = $(this).attr('id');
    _id = _id.replace("id_", "");

    var _helper = $(this);


    var x = Math.round($(this).position().left);
    var y = Math.round($(this).position().top);



    var w = Math.round($(this).width());
    var h = Math.round($(this).height());


    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/saveModuleTransform",
        data: "{x: '" + x + "', y: '" + y
        + "',  w: '" + w + "',  h: '" + h + "', m: '" + $(this).matrixToArray()
        + "', id: '" + _id + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d != '1') {
                alert('Not Saved!');
            }
            else {
                //alert(_helper.className);
                _helper.find(".art-post").css({ width: w, height: h });
                _helper.find(".art-block").css({ width: w, height: h });
            }
        },
        error: function (response) {
            alert(response.responseText);
        }
    });
}
// funkce pro formátování Konec



function OpenAdd(_refurl, _ID) {
    var _tbl = '';
    var _umisteni = '';
    var _idstranky = '0';
    var _modzastupce = '';
    var _modzastupceid = '';

    var _lnk1 = "/moduly/" + _refurl + "?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

    var _lnk2 = "/administrace/struktura/NastaveniModulu.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

    var _lnk3 = "/administrace/seznamfunkci2.aspx?pageid=" + _pageid + "&ID=" + _ID +
		        "&refurl=" + _refurl + "&tbl=" + _tbl + "&umisteni=" + _umisteni + "&idstranky=" + _idstranky +
		        "&modzastupce=" + _modzastupce + "&modzastupceid=" + _modzastupceid;

    f_open_window_max(_lnk1, _lnk2, "", "EditovatModul", "Nový modul");
}

function OnBeforeDelete(record) {
    if (confirm("Odstranit záznam?") == false) {
        return false;
    }
    return true;
}

function serialize(s) {
    serial = $.SortSerialize(s);
    return serial.hash;
};



// uložíme si změny polohy modulu na stránce
function Uloz2(_Umisteni, _Indexy) {
    _Indexy = "&" + _Indexy; // upravíme si querystring abychom ho mohli nasplitovat

    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });
    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/UlozitPolohuModulu2",
        data: "{AJAXUmisteni:'" + _Umisteni + "', AJAXIndexy:'" + _Indexy + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            if (response.d == "OK") {
                //alert("OK");

            }
            else {
                alert(response.d);
                chyba = 1;
            }
        }
    });
}

function UlozPolohuModulu(data, Global) {

    var seznam = data.split('&');

    for (variable in seznam) {
        try {
            var _pozice = variable;
            var _Umisteni = seznam[variable].split('=')[0].replace("[]", "");
            var _ID = seznam[variable].split('=')[1];

            if (_ID.indexOf("N_") >= 0) {

                //
            }
            else {

                if (Global == true) {
                    _Umisteni = seznam[variable].split('=')[0].replace("0[]", "");
                }


                if (_Umisteni != "cphnew" && _Umisteni != "cphnew[]") {
                    $.ajaxSetup({
                        jsonp: null,
                        jsonpCallback: null
                    });
                    $.ajax({
                        type: "POST",
                        url: "/administrace/servis.asmx/UlozitPolohuModulu",
                        data: "{AJAXID:'" + _ID + "', AJAXUmisteni:'" + AJAXUmisteni + "', AJAXPozice:'" + _pozice + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            if (response.d == "OK") {
                                //alert("OK");

                            }
                            else {
                                alert(response.d);
                                chyba = 1;
                            }
                        }
                    });
                }
            }     // else novy modul

        }

        catch (err) {
            //
        }
    }
}

function VlozNovyModul(_modtyp, _modnazev, _umistenipageid, _umisteni, _pozice) {
    $.ajaxSetup({
        jsonp: null,
        jsonpCallback: null
    });

    $.ajax({
        type: "POST",
        url: "/administrace/servis.asmx/VlozNovyModul",
        data: "{TypModulu:'" + _modtyp + "', NazevModulu:'" + _modnazev + "', _umistenipageid:'" + _umistenipageid + "', _umisteni:'" + _umisteni + "', _pozice:'" + _pozice + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {

            //response.d;

        }
    });

}


// countdown
// Treeview 1.4
// jquery cookie
// jquery query
// jquery tooltip
// jqery dialogextend
// CJ Object Scaler





// tree view min

/*
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
* 
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
* http://docs.jquery.com/Plugins/Treeview
*
* Copyright (c) 2007 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
*   http://www.opensource.org/licenses/mit-license.php
*   http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
*
*/

; (function ($) { $.extend($.fn, { swapClass: function (c1, c2) { var c1Elements = this.filter('.' + c1); this.filter('.' + c2).removeClass(c2).addClass(c1); c1Elements.removeClass(c1).addClass(c2); return this; }, replaceClass: function (c1, c2) { return this.filter('.' + c1).removeClass(c1).addClass(c2).end(); }, hoverClass: function (className) { className = className || "hover"; return this.hover(function () { $(this).addClass(className); }, function () { $(this).removeClass(className); }); }, heightToggle: function (animated, callback) { animated ? this.animate({ height: "toggle" }, animated, callback) : this.each(function () { jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"](); if (callback) callback.apply(this, arguments); }); }, heightHide: function (animated, callback) { if (animated) { this.animate({ height: "hide" }, animated, callback); } else { this.hide(); if (callback) this.each(callback); } }, prepareBranches: function (settings) { if (!settings.prerendered) { this.filter(":last-child:not(ul)").addClass(CLASSES.last); this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide(); } return this.filter(":has(>ul)"); }, applyClasses: function (settings, toggler) { this.filter(":has(>ul):not(:has(>a))").find(">span").click(function (event) { toggler.apply($(this).next()); }).add($("a", this)).hoverClass(); if (!settings.prerendered) { this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable); this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable); this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function () { var classes = ""; $.each($(this).parent().attr("class").split(" "), function () { classes += this + "-hitarea "; }); $(this).addClass(classes); }); } this.find("div." + CLASSES.hitarea).click(toggler); }, treeview: function (settings) { settings = $.extend({ cookieId: "treeview" }, settings); if (settings.add) { return this.trigger("add", [settings.add]); } if (settings.toggle) { var callback = settings.toggle; settings.toggle = function () { return callback.apply($(this).parent()[0], arguments); }; } function treeController(tree, control) { function handler(filter) { return function () { toggler.apply($("div." + CLASSES.hitarea, tree).filter(function () { return filter ? $(this).parent("." + filter).length : true; })); return false; }; } $("a:eq(0)", control).click(handler(CLASSES.collapsable)); $("a:eq(1)", control).click(handler(CLASSES.expandable)); $("a:eq(2)", control).click(handler()); } function toggler() { $(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable, CLASSES.expandable).swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated, settings.toggle); if (settings.unique) { $(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable, CLASSES.expandable).replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightHide(settings.animated, settings.toggle); } } function serialize() { function binary(arg) { return arg ? 1 : 0; } var data = []; branches.each(function (i, e) { data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0; }); $.cookie(settings.cookieId, data.join("")); } function deserialize() { var stored = $.cookie(settings.cookieId); if (stored) { var data = stored.split(""); branches.each(function (i, e) { $(e).find(">ul")[parseInt(data[i]) ? "show" : "hide"](); }); } } this.addClass("treeview"); var branches = this.find("li").prepareBranches(settings); switch (settings.persist) { case "cookie": var toggleCallback = settings.toggle; settings.toggle = function () { serialize(); if (toggleCallback) { toggleCallback.apply(this, arguments); } }; deserialize(); break; case "location": var current = this.find("a").filter(function () { return this.href.toLowerCase() == location.href.toLowerCase(); }); if (current.length) { current.addClass("selected").parents("ul, li").add(current.next()).show(); } break; } branches.applyClasses(settings, toggler); if (settings.control) { treeController(this, settings.control); $(settings.control).show(); } return this.bind("add", function (event, branches) { $(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea); $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler); }); } }); var CLASSES = $.fn.treeview.classes = { open: "open", closed: "closed", expandable: "expandable", expandableHitarea: "expandable-hitarea", lastExpandableHitarea: "lastExpandable-hitarea", collapsable: "collapsable", collapsableHitarea: "collapsable-hitarea", lastCollapsableHitarea: "lastCollapsable-hitarea", lastCollapsable: "lastCollapsable", lastExpandable: "lastExpandable", last: "last", hitarea: "hitarea" }; $.fn.Treeview = $.fn.treeview; })(jQuery);



// jquery query
/**
* jQuery.query - Query String Modification and Creation for jQuery
* Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
* Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
* Date: 2009/8/13
*
* @author Blair Mitchelmore
* @version 2.1.6
*
**/
new function (settings) {
    // Various Settings
    var $separator = settings.separator || '&';
    var $spaces = settings.spaces === false ? false : true;
    var $suffix = settings.suffix === false ? '' : '[]';
    var $prefix = settings.prefix === false ? false : true;
    var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";
    var $numbers = settings.numbers === false ? false : true;

    jQuery.query = new function () {
        var is = function (o, t) {
            return o != undefined && o !== null && (!!t ? o.constructor == t : true);
        };
        var parse = function (path) {
            var m, rx = /\[([^[]*)\]/g, match = /^([^[]+?)(\[.*\])?$/.exec(path), base = match[1], tokens = [];
            while (m = rx.exec(match[2])) tokens.push(m[1]);
            return [base, tokens];
        };
        var set = function (target, tokens, value) {
            var o, token = tokens.shift();
            if (typeof target != 'object') target = null;
            if (token === "") {
                if (!target) target = [];
                if (is(target, Array)) {
                    target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
                } else if (is(target, Object)) {
                    var i = 0;
                    while (target[i++] != null);
                    target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);
                } else {
                    target = [];
                    target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
                }
            } else if (token && token.match(/^\s*[0-9]+\s*$/)) {
                var index = parseInt(token, 10);
                if (!target) target = [];
                target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
            } else if (token) {
                var index = token.replace(/^\s*|\s*$/g, "");
                if (!target) target = {};
                if (is(target, Array)) {
                    var temp = {};
                    for (var i = 0; i < target.length; ++i) {
                        temp[i] = target[i];
                    }
                    target = temp;
                }
                target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
            } else {
                return value;
            }
            return target;
        };

        var queryObject = function (a) {
            var self = this;
            self.keys = {};

            if (a.queryObject) {
                jQuery.each(a.get(), function (key, val) {
                    self.SET(key, val);
                });
            } else {
                jQuery.each(arguments, function () {
                    var q = "" + this;
                    q = q.replace(/^[?#]/, ''); // remove any leading ? || #
                    q = q.replace(/[;&]$/, ''); // remove any trailing & || ;
                    if ($spaces) q = q.replace(/[+]/g, ' '); // replace +'s with spaces

                    jQuery.each(q.split(/[&;]/), function () {
                        var key = decodeURIComponent(this.split('=')[0] || "");
                        var val = decodeURIComponent(this.split('=')[1] || "");

                        if (!key) return;

                        if ($numbers) {
                            if (/^[+-]?[0-9]+\.[0-9]*$/.test(val)) // simple float regex
                                val = parseFloat(val);
                            else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex
                                val = parseInt(val, 10);
                        }

                        val = (!val && val !== 0) ? true : val;

                        if (val !== false && val !== true && typeof val != 'number')
                            val = val;

                        self.SET(key, val);
                    });
                });
            }
            return self;
        };

        queryObject.prototype = {
            queryObject: true,
            has: function (key, type) {
                var value = this.get(key);
                return is(value, type);
            },
            GET: function (key) {
                if (!is(key)) return this.keys;
                var parsed = parse(key), base = parsed[0], tokens = parsed[1];
                var target = this.keys[base];
                while (target != null && tokens.length != 0) {
                    target = target[tokens.shift()];
                }
                return typeof target == 'number' ? target : target || "";
            },
            get: function (key) {
                var target = this.GET(key);
                if (is(target, Object))
                    return jQuery.extend(true, {}, target);
                else if (is(target, Array))
                    return target.slice(0);
                return target;
            },
            SET: function (key, val) {
                var value = !is(val) ? null : val;
                var parsed = parse(key), base = parsed[0], tokens = parsed[1];
                var target = this.keys[base];
                this.keys[base] = set(target, tokens.slice(0), value);
                return this;
            },
            set: function (key, val) {
                return this.copy().SET(key, val);
            },
            REMOVE: function (key) {
                return this.SET(key, null).COMPACT();
            },
            remove: function (key) {
                return this.copy().REMOVE(key);
            },
            EMPTY: function () {
                var self = this;
                jQuery.each(self.keys, function (key, value) {
                    delete self.keys[key];
                });
                return self;
            },
            load: function (url) {
                var hash = url.replace(/^.*?[#](.+?)(?:\?.+)?$/, "$1");
                var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");
                return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);
            },
            empty: function () {
                return this.copy().EMPTY();
            },
            copy: function () {
                return new queryObject(this);
            },
            COMPACT: function () {
                function build(orig) {
                    var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;
                    if (typeof orig == 'object') {
                        function add(o, key, value) {
                            if (is(o, Array))
                                o.push(value);
                            else
                                o[key] = value;
                        }
                        jQuery.each(orig, function (key, value) {
                            if (!is(value)) return true;
                            add(obj, key, build(value));
                        });
                    }
                    return obj;
                }
                this.keys = build(this.keys);
                return this;
            },
            compact: function () {
                return this.copy().COMPACT();
            },
            toString: function () {
                var i = 0, queryString = [], chunks = [], self = this;
                var encode = function (str) {
                    str = str + "";
                    if ($spaces) str = str.replace(/ /g, "+");
                    return encodeURIComponent(str);
                };
                var addFields = function (arr, key, value) {
                    if (!is(value) || value === false) return;
                    var o = [encode(key)];
                    if (value !== true) {
                        o.push("=");
                        o.push(encode(value));
                    }
                    arr.push(o.join(""));
                };
                var build = function (obj, base) {
                    var newKey = function (key) {
                        return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");
                    };
                    jQuery.each(obj, function (key, value) {
                        if (typeof value == 'object')
                            build(value, newKey(key));
                        else
                            addFields(chunks, newKey(key), value);
                    });
                };

                build(this.keys);

                if (chunks.length > 0) queryString.push($hash);
                queryString.push(chunks.join($separator));

                return queryString.join("");
            }
        };

        return new queryObject(location.search, location.hash);
    };
} (jQuery.query || {}); // Pass in jQuery.query as settings object


// jquery right click
// jQuery Right-Click Plugin
//
// Version 1.01
//
// Cory S.N. LaViska
// A Beautiful Site (http://abeautifulsite.net/)
// 20 December 2008
//
// Visit http://abeautifulsite.net/notebook/68 for more information
//
// Usage:
//
//		// Capture right click
//		$("#selector").rightClick( function(e) {
//			// Do something
//		});
//		
//		// Capture right mouse down
//		$("#selector").rightMouseDown( function(e) {
//			// Do something
//		});
//		
//		// Capture right mouseup
//		$("#selector").rightMouseUp( function(e) {
//			// Do something
//		});
//		
//		// Disable context menu on an element
//		$("#selector").noContext();
// 
// History:
//
//		1.01 - Updated (20 December 2008)
//		     - References to 'this' now work the same way as other jQuery plugins, thus
//		       the el parameter has been deprecated.  Use this or $(this) instead
//		     - The mouse event is now passed to the callback function
//		     - Changed license to GNU GPL
//
//		1.00 - Released (13 May 2008)
//
// License:
// 
// This plugin is dual-licensed under the GNU General Public License and the MIT License
// and is copyright 2008 A Beautiful Site, LLC. 
//
if (jQuery) (function () {

    $.extend($.fn, {

        rightClick: function (handler) {
            $(this).each(function () {
                $(this).mousedown(function (e) {
                    var evt = e;
                    $(this).mouseup(function () {
                        $(this).unbind('mouseup');
                        if (evt.button == 2) {
                            handler.call($(this), evt);
                            return false;
                        } else {
                            return true;
                        }
                    });
                });
                $(this)[0].oncontextmenu = function () {
                    return false;
                }
            });
            return $(this);
        },

        rightMouseDown: function (handler) {
            $(this).each(function () {
                $(this).mousedown(function (e) {
                    if (e.button == 2) {
                        handler.call($(this), e);
                        return false;
                    } else {
                        return true;
                    }
                });
                $(this)[0].oncontextmenu = function () {
                    return false;
                }
            });
            return $(this);
        },

        rightMouseUp: function (handler) {
            $(this).each(function () {
                $(this).mouseup(function (e) {
                    if (e.button == 2) {
                        handler.call($(this), e);
                        return false;
                    } else {
                        return true;
                    }
                });
                $(this)[0].oncontextmenu = function () {
                    return false;
                }
            });
            return $(this);
        },

        noContext: function () {
            $(this).each(function () {
                $(this)[0].oncontextmenu = function () {
                    return false;
                }
            });
            return $(this);
        }

    });

})(jQuery);


// jquery tooltip
/*
* jQuery Tools 1.2.3 - The missing UI library for the Web
* 
* [tooltip]
* 
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
* 
* http://flowplayer.org/tools/
* 
* File generated: Tue Jul 27 11:40:36 GMT 2010
*/
(function (f) {
    function p(a, b, c) { var h = c.relative ? a.position().top : a.offset().top, e = c.relative ? a.position().left : a.offset().left, i = c.position[0]; h -= b.outerHeight() - c.offset[0]; e += a.outerWidth() + c.offset[1]; var j = b.outerHeight() + a.outerHeight(); if (i == "center") h += j / 2; if (i == "bottom") h += j; i = c.position[1]; a = b.outerWidth() + a.outerWidth(); if (i == "center") e -= a / 2; if (i == "left") e -= a; return { top: h, left: e} } function t(a, b) {
        var c = this, h = a.add(c), e, i = 0, j = 0, m = a.attr("title"), q = n[b.effect], k, r = a.is(":input"), u = r && a.is(":checkbox, :radio, select, :button, :submit"),
s = a.attr("type"), l = b.events[s] || b.events[r ? u ? "widget" : "input" : "def"]; if (!q) throw 'Nonexistent effect "' + b.effect + '"'; l = l.split(/,\s*/); if (l.length != 2) throw "Tooltip: bad events configuration for " + s; a.bind(l[0], function (d) { clearTimeout(i); if (b.predelay) j = setTimeout(function () { c.show(d) }, b.predelay); else c.show(d) }).bind(l[1], function (d) { clearTimeout(j); if (b.delay) i = setTimeout(function () { c.hide(d) }, b.delay); else c.hide(d) }); if (m && b.cancelDefault) { a.removeAttr("title"); a.data("title", m) } f.extend(c, { show: function (d) {
    if (!e) {
        if (m) e =
f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m); else if (b.tip) e = f(b.tip).eq(0); else { e = a.next(); e.length || (e = a.parent().next()) } if (!e.length) throw "Cannot find tooltip for " + a;
    } if (c.isShown()) return c; e.stop(true, true); var g = p(a, e, b); d = d || f.Event(); d.type = "onBeforeShow"; h.trigger(d, [g]); if (d.isDefaultPrevented()) return c; g = p(a, e, b); e.css({ position: "absolute", top: g.top, left: g.left }); k = true; q[0].call(c, function () { d.type = "onShow"; k = "full"; h.trigger(d) }); g = b.events.tooltip.split(/,\s*/);
    e.bind(g[0], function () { clearTimeout(i); clearTimeout(j) }); g[1] && !a.is("input:not(:checkbox, :radio), textarea") && e.bind(g[1], function (o) { o.relatedTarget != a[0] && a.trigger(l[1].split(" ")[0]) }); return c
}, hide: function (d) { if (!e || !c.isShown()) return c; d = d || f.Event(); d.type = "onBeforeHide"; h.trigger(d); if (!d.isDefaultPrevented()) { k = false; n[b.effect][1].call(c, function () { d.type = "onHide"; k = false; h.trigger(d) }); return c } }, isShown: function (d) { return d ? k == "full" : k }, getConf: function () { return b }, getTip: function () { return e },
    getTrigger: function () { return a }
}); f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (d, g) { f.isFunction(b[g]) && f(c).bind(g, b[g]); c[g] = function (o) { f(c).bind(g, o); return c } })
    } f.tools = f.tools || { version: "1.2.3" }; f.tools.tooltip = { conf: { effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, position: ["top", "center"], offset: [0, 0], relative: false, cancelDefault: true, events: { def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave" },
        layout: "<div/>", tipClass: "tooltip"
    }, addEffect: function (a, b, c) { n[a] = [b, c] }
    }; var n = { toggle: [function (a) { var b = this.getConf(), c = this.getTip(); b = b.opacity; b < 1 && c.css({ opacity: b }); c.show(); a.call() }, function (a) { this.getTip().hide(); a.call() } ], fade: [function (a) { var b = this.getConf(); this.getTip().fadeTo(b.fadeInSpeed, b.opacity, a) }, function (a) { this.getTip().fadeOut(this.getConf().fadeOutSpeed, a) } ] }; f.fn.tooltip = function (a) {
        var b = this.data("tooltip"); if (b) return b; a = f.extend(true, {}, f.tools.tooltip.conf, a);
        if (typeof a.position == "string") a.position = a.position.split(/,?\s/); this.each(function () { b = new t(f(this), a); f(this).data("tooltip", b) }); return a.api ? b : this
    }
})(jQuery);


function validateLimit(obj, divID, maxchar) {

    objDiv = get_object(divID);

    if (this.id) obj = this;

    var remaningChar = maxchar - trimEnter(obj.value).length;

    if (objDiv.id) {
        objDiv.innerHTML = "Zbývá " + remaningChar + " znaků";
    }
    if (remaningChar <= 0) {
        obj.value = obj.value.substring(maxchar, 0);
        if (objDiv.id) {
            objDiv.innerHTML = "Zbývá 0 znaků";
        }
        return false;
    }
    else
    { return true; }

}
function get_object(id) {
    var object = null;
    if (document.layers) {
        object = document.layers[id];
    } else if (document.all) {
        object = document.all[id];
    } else if (document.getElementById) {
        object = document.getElementById(id);
    }
    return object;
}

function trimEnter(dataStr) {
    return dataStr.replace(/(\r\n|\r|\n)/g, "");
}

// jqery dialogextend
(function ($) {
    var defaults = { "maximize": false, "minimize": false, "dblclick": false, "titlebar": false, "icons": { "maximize": "ui-icon-extlink", "minimize": "ui-icon-minus", "restore": "ui-icon-newwin" }, "events": { "load": null, "beforeCollapse": null, "beforeMaximize": null, "beforeMinimize": null, "beforeRestore": null, "collapse": null, "maximize": null, "minimize": null, "restore": null} }; var settings; var methods = { "init": function (options) {
        var self = this; if (!$(self).dialog) { $.error("jQuery.dialogExtend Error : Only jQuery UI Dialog element is accepted"); }
        options = options || {}; options.icons = options.icons || {}; options.events = options.events || {}; settings = $.extend({}, defaults, options); settings.icons = $.extend({}, defaults.icons, options.icons); settings.events = $.extend({}, defaults.events, options.events); $(self).each(function () { $(this).data("dialog-state", "normal").dialogExtend("_verifySettings").dialogExtend("_initEvents").dialogExtend("_initStyles").dialogExtend("_initButtons").dialogExtend("_initTitleBar").dialogExtend("_trigger", "load"); }); return self;
    }, "collapse": function () { var self = this; var newHeight = $(this).dialog("widget").find(".ui-dialog-titlebar").height() + 15; $(self).dialogExtend("_trigger", "beforeCollapse").dialogExtend("_saveSnapshot").data("dialog-state", "collapsed").dialog("option", { "height": newHeight, "maxHeight": newHeight }).hide().dialog("widget").find(".ui-dialog-buttonpane:visible").hide().end().find(".ui-dialog-titlebar").css("white-space", "nowrap").end().find(".ui-dialog-content").dialogExtend("_trigger", "collapse"); return self; }, "maximize": function () { var self = this; var newHeight = $(window).height() - 11; var newWidth = $(window).width() - 11; $(self).dialogExtend("_trigger", "beforeMaximize").dialogExtend("_saveSnapshot").data("dialog-state", "maximized").dialogExtend("_toggleButtons").dialog("widget").css("position", "fixed").find(".ui-dialog-content").show().dialog("widget").find(".ui-dialog-buttonpane").show().end().find(".ui-dialog-content").dialog("option", { "resizable": false, "draggable": false, "height": newHeight, "width": newWidth, "position": [1, 1] }).dialog("widget").draggable("option", "handle", null).find(".ui-dialog-draggable-handle").css("cursor", "text").end().find(".ui-dialog-content").dialogExtend("_trigger", "maximize"); return self; }, "minimize": function () {
        var self = this; var container = "#minimized-dialog-container"; var newHeight = $(this).dialog("widget").find(".ui-dialog-titlebar").height() + 15; var newWidth = 200; if (!$(container).length) { $("<div />").attr("id", container.replace("#", "")).css({ "left": 1, "bottom": 1, "position": "fixed" }).appendTo("body"); }
        $(self).dialogExtend("_trigger", "beforeMinimize").dialogExtend("_saveSnapshot").data("dialog-state", "minimized").dialogExtend("_toggleButtons").dialog("widget").css({ "float": "left", "margin": 1, "position": "static" }).appendTo(container).find(".ui-dialog-content").dialog("option", { "resizable": false, "draggable": false, "height": newHeight, "width": newWidth }).hide().dialog("widget").find(".ui-dialog-buttonpane:visible").hide().end().find(".ui-dialog-titlebar").css("white-space", "nowrap").end().find(".ui-dialog-content").dialog("widget").draggable("option", "handle", null).find(".ui-dialog-draggable-handle").css("cursor", "text").end().find(".ui-dialog-content").dialogExtend("_trigger", "minimize"); return self;
    }, "restore": function () { var self = this; var beforeState = $(self).data("dialog-state"); $(self).dialogExtend("_trigger", "beforeRestore").data("dialog-state", "normal").dialogExtend("_toggleButtons").dialogExtend(beforeState == "maximized" ? "_restoreFromMaximized" : beforeState == "minimized" ? "_restoreFromMinimized" : beforeState == "collapsed" ? "_restoreFromCollapsed" : $.error("jQuery.dialogExtend Error : Cannot restore dialog from unknown state '" + beforeState + "'")).dialogExtend("_trigger", "restore"); return self; }, "_initButtons": function () { var self = this; var titlebar = $(self).dialog("widget").find(".ui-dialog-titlebar"); $(titlebar).append('<a class="ui-dialog-titlebar-maximize ui-corner-all" href="JavaScript:void(0);"><span class="ui-icon ' + settings.icons.maximize + '">maximize</span></a>').append('<a class="ui-dialog-titlebar-minimize ui-corner-all" href="JavaScript:void(0);"><span class="ui-icon ' + settings.icons.minimize + '">minimize</span></a>').append('<a class="ui-dialog-titlebar-restore ui-corner-all" href="JavaScript:void(0);"><span class="ui-icon ' + settings.icons.restore + '">restore</span></a>').find(".ui-dialog-titlebar-maximize,.ui-dialog-titlebar-minimize,.ui-dialog-titlebar-restore").attr("role", "button").mouseover(function () { $(this).addClass("ui-state-hover"); }).mouseout(function () { $(this).removeClass("ui-state-hover"); }).focus(function () { $(this).addClass("ui-state-focus"); }).blur(function () { $(this).removeClass("ui-state-focus"); }).end().find(".ui-dialog-titlebar-maximize").toggle(settings.maximize).css({ "right": settings.maximize ? "1.4em" : "-9999em" }).click(function (e) { e.preventDefault(); $(self).dialogExtend("maximize"); }).end().find(".ui-dialog-titlebar-minimize").toggle(settings.minimize).css({ "right": settings.maximize ? "2.5em" : settings.minimize ? "1.4em" : "-9999em" }).click(function (e) { e.preventDefault(); $(self).dialogExtend("minimize"); }).end().find(".ui-dialog-titlebar-restore").hide().css({ "right": "-9999em" }).click(function (e) { e.preventDefault(); $(self).dialogExtend("restore"); }).end().dblclick(function (evt) { if (settings.dblclick && settings.dblclick.length) { $(self).dialogExtend($(self).data("dialog-state") != "normal" ? "restore" : settings.dblclick); } }).each(function () { $(this).select(function () { return false; }); }); return self; }, "_initEvents": function () { var self = this; $.each(settings.events, function (type) { if ($.isFunction(settings.events[type])) { $(self).bind(type + ".dialogExtend", settings.events[type]); } }); return self; }, "_initStyles": function () { var self = this; var style = ''; style += '<style type="text/css">'; style += '.ui-dialog .ui-dialog-titlebar-maximize,'; style += '.ui-dialog .ui-dialog-titlebar-minimize,'; style += '.ui-dialog .ui-dialog-titlebar-restore { position: absolute; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }'; style += '.ui-dialog .ui-dialog-titlebar-maximize span,'; style += '.ui-dialog .ui-dialog-titlebar-minimize span,'; style += '.ui-dialog .ui-dialog-titlebar-restore span { display: block; margin: 1px; }'; style += '.ui-dialog .ui-dialog-titlebar-maximize:hover,'; style += '.ui-dialog .ui-dialog-titlebar-maximize:focus,'; style += '.ui-dialog .ui-dialog-titlebar-minimize:hover,'; style += '.ui-dialog .ui-dialog-titlebar-minimize:focus,'; style += '.ui-dialog .ui-dialog-titlebar-restore:hover,'; style += '.ui-dialog .ui-dialog-titlebar-restore:focus { padding: 0; }'; style += '.ui-dialog .ui-dialog-titlebar ::selection { background-color: transparent; }'; style += '</style>'; $(style).appendTo("body"); return self; }, "_initTitleBar": function () {
        var self = this; switch (settings.titlebar) {
            case false: break; case "none": if ($(self).dialog("option", "draggable")) { var handle = $("<div />").addClass("ui-dialog-draggable-handle").css("cursor", "move").height(5); $(self).dialog("widget").prepend(handle).draggable("option", "handle", handle); }
                $(self).dialog("widget").find(".ui-dialog-titlebar").find(".ui-dialog-title").html(" ").end().css({ "background-color": "transparent", "background-image": "none", "border": 0, "position": "absolute", "right": 0, "top": 0, "z-index": 9999 }).end(); break; case "transparent": $(self).dialog("widget").find(".ui-dialog-titlebar").css({ "background-color": "transparent", "background-image": "none", "border": 0 }); break; default: $.error("jQuery.dialogExtend Error : Invalid <titlebar> value '" + settings.titlebar + "'");
        }
        return self;
    }, "_loadSnapshot": function () { var self = this; return { "config": { "resizable": $(self).data("original-config-resizable"), "draggable": $(self).data("original-config-draggable") }, "size": { "height": $(self).data("original-size-height"), "width": $(self).data("original-size-width"), "maxHeight": $(self).data("original-size-maxHeight") }, "position": { "mode": $(self).data("original-position-mode"), "left": $(self).data("original-position-left"), "top": $(self).data("original-position-top") }, "titlebar": { "wrap": $(self).data("original-titlebar-wrap")} }; }, "_restoreFromCollapsed": function () { var self = this; var original = $(this).dialogExtend("_loadSnapshot"); $(self).show().dialog("widget").find(".ui-dialog-buttonpane:hidden").show().end().find(".ui-dialog-titlebar").css("white-space", original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option", { "height": original.size.height, "maxHeight": original.size.maxHeight }); return self; }, "_restoreFromMaximized": function () { var self = this; var original = $(this).dialogExtend("_loadSnapshot"); $(self).dialog("widget").css("position", original.position.mode).find(".ui-dialog-titlebar").css("white-space", original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option", { "resizable": original.config.resizable, "draggable": original.config.draggable, "height": original.size.height, "width": original.size.width, "maxHeight": original.size.maxHeight, "position": [original.position.left, original.position.top] }).dialog("widget").draggable("option", "handle", $(this).find(".ui-dialog-draggable-handle")).find(".ui-dialog-draggable-handle").css("cursor", "move"); return self; }, "_restoreFromMinimized": function () { var self = this; var original = $(this).dialogExtend("_loadSnapshot"); var container = "#minimized-dialog-container"; $(self).dialog("widget").appendTo("body").css({ "float": "none", "margin": 0, "position": original.position.mode }).find(".ui-dialog-content").show().dialog("widget").find(".ui-dialog-buttonpane:hidden").show().end().find(".ui-dialog-titlebar").css("white-space", original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option", { "resizable": original.config.resizable, "draggable": original.config.draggable, "height": original.size.height, "width": original.size.width, "maxHeight": original.size.maxHeight, "position": [original.position.left, original.position.top] }).dialog("widget").draggable("option", "handle", $(this).find(".ui-dialog-draggable-handle")).find(".ui-dialog-draggable-handle").css("cursor", "move"); return self; }, "_saveSnapshot": function () {
        var self = this; if ($(self).data("dialog-state") == "normal") { $(self).data("original-config-resizable", $(self).dialog("option", "resizable")).data("original-config-draggable", $(self).dialog("option", "draggable")).data("original-size-height", $(self).dialog("widget").height()).data("original-size-width", $(self).dialog("option", "width")).data("original-size-maxHeight", $(self).dialog("option", "maxHeight")).data("original-position-mode", $(self).dialog("widget").css("position")).data("original-position-left", $(self).dialog("widget").offset().left).data("original-position-top", $(self).dialog("widget").offset().top).data("original-titlebar-wrap", $(self).dialog("widget").find(".ui-dialog-titlebar").css("white-space")); }
        return self;
    }, "_toggleButtons": function () { var self = this; $(self).dialog("widget").find(".ui-dialog-titlebar-maximize").toggle($(self).data("dialog-state") != "maximized" && settings.maximize).end().find(".ui-dialog-titlebar-minimize").toggle($(self).data("dialog-state") != "minimized" && settings.minimize).end().find(".ui-dialog-titlebar-restore").toggle($(self).data("dialog-state") != "normal" && (settings.maximize || settings.minimize)).css({ "right": $(self).data("dialog-state") == "maximized" ? "1.4em" : $(self).data("dialog-state") == "minimized" ? !settings.maximize ? "1.4em" : "2.5em" : "-9999em" }).end(); return self; }, "_trigger": function (type) { var self = this; $(self).triggerHandler(type + ".dialogExtend", this); return self; }, "_verifySettings": function () {
        var self = this; if (!settings.dblclick) { } else if (settings.dblclick == "maximize") { } else if (settings.dblclick == "minimize") { } else if (settings.dblclick == "collapse") { } else { $.error("jQuery.dialogExtend Error : Invalid <dblclick> value '" + settings.dblclick + "'"); settings.dblclick = false; }
        if (!settings.titlebar) { } else if (settings.titlebar == "none") { } else if (settings.titlebar == "transparent") { } else { $.error("jQuery.dialogExtend Error : Invalid <titlebar> value '" + settings.titlebar + "'"); settings.titlebar = false; }
        return self;
    }
    }; $.fn.dialogExtend = function (method) { if (methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof method === "object" || !method) { return methods.init.apply(this, arguments); } else { $.error("jQuery.dialogExtend Error : Method <" + method + "> does not exist"); } };
} (jQuery));

//lazyload
(function ($) {
    $.fn.lazyload = function (options) {
        var settings = { threshold: 0, failurelimit: 0, event: "scroll", effect: "show", container: window }; if (options) { $.extend(settings, options); }
        var elements = this; if ("scroll" == settings.event) { $(settings.container).bind("scroll", function (event) { var counter = 0; elements.each(function () { if ($.abovethetop(this, settings) || $.leftofbegin(this, settings)) { } else if (!$.belowthefold(this, settings) && !$.rightoffold(this, settings)) { $(this).trigger("appear"); } else { if (counter++ > settings.failurelimit) { return false; } } }); var temp = $.grep(elements, function (element) { return !element.loaded; }); elements = $(temp); }); }
        this.each(function () {
            var self = this; if (undefined == $(self).attr("original")) { $(self).attr("original", $(self).attr("src")); }
            if ("scroll" != settings.event || undefined == $(self).attr("src") || settings.placeholder == $(self).attr("src") || ($.abovethetop(self, settings) || $.leftofbegin(self, settings) || $.belowthefold(self, settings) || $.rightoffold(self, settings))) {
                if (settings.placeholder) { $(self).attr("src", settings.placeholder); } else { $(self).removeAttr("src"); }
                self.loaded = false;
            } else { self.loaded = true; }
            $(self).one("appear", function () {
                if (!this.loaded) {
                    $("<img />").bind("load", function () {
                        $(self).hide().attr("src", $(self).attr("original"))
[settings.effect](settings.effectspeed); self.loaded = true;
                    }).attr("src", $(self).attr("original"));
                };
            }); if ("scroll" != settings.event) { $(self).bind(settings.event, function (event) { if (!self.loaded) { $(self).trigger("appear"); } }); }
        }); $(settings.container).trigger(settings.event); return this;
    }; $.belowthefold = function (element, settings) {
        if (settings.container === undefined || settings.container === window) { var fold = $(window).height() + $(window).scrollTop(); } else { var fold = $(settings.container).offset().top + $(settings.container).height(); }
        return fold <= $(element).offset().top - settings.threshold;
    }; $.rightoffold = function (element, settings) {
        if (settings.container === undefined || settings.container === window) { var fold = $(window).width() + $(window).scrollLeft(); } else { var fold = $(settings.container).offset().left + $(settings.container).width(); }
        return fold <= $(element).offset().left - settings.threshold;
    }; $.abovethetop = function (element, settings) {
        if (settings.container === undefined || settings.container === window) { var fold = $(window).scrollTop(); } else { var fold = $(settings.container).offset().top; }
        return fold >= $(element).offset().top + settings.threshold + $(element).height();
    }; $.leftofbegin = function (element, settings) {
        if (settings.container === undefined || settings.container === window) { var fold = $(window).scrollLeft(); } else { var fold = $(settings.container).offset().left; }
        return fold >= $(element).offset().left + settings.threshold + $(element).width();
    }; $.extend($.expr[':'], { "below-the-fold": "$.belowthefold(a, {threshold : 0, container: window})", "above-the-fold": "!$.belowthefold(a, {threshold : 0, container: window})", "right-of-fold": "$.rightoffold(a, {threshold : 0, container: window})", "left-of-fold": "!$.rightoffold(a, {threshold : 0, container: window})" });
})(jQuery);

/* ****************************************************************************

CJ Object Scaler jQuery Plug-In v3.0.0

*/
(function ($) { $.fn.imagesLoaded = function (b) { var c = this.filter('img'), len = c.length; c.bind('load', function () { if (--len <= 0) { b.call(c, this) } }).each(function () { if (this.complete || this.complete === undefined) { var a = this.src; this.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; this.src = a } }); return this } } (jQuery));

/*
CJ Object Scaler
*/
(function ($) { $.fn.extend({ cjObjectScaler: function (c, d) { var e = { scaleObj: function (a) { var b = a.data('cj'), o = b.options, destW = $(o.destElem).width(), destH = $(o.destElem).height(), ratioX, ratioY, scale, newWidth, newHeight, borderW = parseInt(a.css("borderLeftWidth"), 10) + parseInt(a.css("borderRightWidth"), 10), borderH = parseInt(a.css("borderTopWidth"), 10) + parseInt(a.css("borderBottomWidth"), 10); borderW = isNaN(borderW) ? 0 : borderW; borderH = isNaN(borderH) ? 0 : borderH; ratioX = destW / a.width(); ratioY = destH / a.height(); if (!a.hasClass("cf_image_scaler_fill") && (a.hasClass("cf_image_scaler_fit") || o.method === "fit")) { scale = ratioX < ratioY ? ratioX : ratioY } else if (!a.hasClass("cf_image_scaler_fit") && (a.hasClass("cf_image_scaler_fill") || o.method === "fill")) { scale = ratioX > ratioY ? ratioX : ratioY } newWidth = parseInt(a.width() * scale, 10) - borderW; newHeight = parseInt(a.height() * scale, 10) - borderH; a.css({ "width": newWidth + "px", "height": newHeight + "px", "position": "absolute", "top": (parseInt((destH - newHeight) / 2, 10) - parseInt(borderH / 2, 10)) + "px", "left": (parseInt((destW - newWidth) / 2, 10) - parseInt(borderW / 2, 10)) + "px" }).attr({ "width": newWidth, "height": newHeight }); if (o.fade > 0) { a.fadeIn(o.fade) } if (typeof d === "function") { d() } } }; if (typeof c === "object" || !c) { return this.each(function () { var a = $(this), data = a.data('cj'), o; if (!data) { a.data('cj', { options: { method: "fill", destElem: null, fade: 0} }); data = a.data('cj') } if (c) { data.options = $.extend(data.options, c) } o = data.options; if (o.destElem === null) { o.destElem = a.parent() } if ($(o.destElem).css("position") === "static") { $(o.destElem).css({ "position": "relative" }) } if (typeof a === "object" && typeof o.destElem === "object" && typeof o.method === "string") { if (o.fade > 0) { a.hide() } if (a.get(0).nodeName === "IMG") { a.width("auto"); a.height("auto"); a.imagesLoaded(function () { e.scaleObj(a) }) } else { e.scaleObj(a) } } else { $.error("CJ Object Scaler could not initialize. Bad parameters.") } }) } else { $.error('Method/Option ' + c + ' does not exist.') } } }) } (jQuery));


/* eshop */
function upravcenu(ID, hodnota) {
    var zmenaceny = hodnota.split("_")[1].replace(",", ".");

    //        var obrazek = hodnota.split("_")[2].replace(",", ".");

    //        alert(obrazek);
    //        if (obrazek != 'NONE')
    //            $(".NAHLED_" + ID).attr("src", obrazek);

    var CelkovaCena = 0;
    $(".CENA" + ID).each(function () {
        var _hodnota = $(this).val(); // hodnoty dropdownu

        if (_hodnota == "")
        { _hodnota = $(this).html(); } // hodnoty z textu (základní hodnoty)

        if (_hodnota.indexOf("_") > 0)
            _hodnota = _hodnota.split("_")[1];
        _hodnota = _hodnota.replace(" ", "");
        _hodnota = _hodnota.replace(",", ".");
        CelkovaCena = eval(CelkovaCena) + eval(_hodnota);
    }
        );


    $("#CENA" + ID).fadeOut('slow');
    $("#CENA" + ID).html('' + CelkovaCena);
    $("#CENA" + ID).fadeIn('slow', function () { $("#CENA" + ID).show(); });

    $('.BTNKOUPIT' + ID).val('KOUPIT ZA ' + CelkovaCena);
    $('.BTNKOUPIT' + ID).fadeOut('slow');
    $('.BTNKOUPIT' + ID).fadeIn('slow');

}

function ulozhodnotu(pole) {

    // najdeme si Prefix ID
    var _id = $(pole).attr("ID");

    // a vložíme si hodnotu do skrytého pole
    var _hfModifikaceVystup = _id.substring(0, _id.lastIndexOf('_'));  //+ "_hfModifikaceVystup";

    _hfModifikaceVystup = _hfModifikaceVystup.substring(0, _hfModifikaceVystup.lastIndexOf('_')) + "_hfModifikaceVystup";
    $("#" + _hfModifikaceVystup).val($(pole).val());

}


function EditaceProduktu(ProduktID, IndexModuluNaStrance) {
    opend("/moduly/eshop/produktyEdit.aspx?ID=" + IndexModuluNaStrance + "&ProduktID=" + ProduktID + "&tbl=Moduly_Eshop", "950", "530");
}

function NovyProdukt(ProduktID, IndexModuluNaStrance) {
    opend("/moduly/eshop/produktyAdd.aspx?ID=" + IndexModuluNaStrance + "&ProduktID=" + ProduktID + "&tbl=Moduly_Eshop", "950", "530");
}

/* eshop end */




(function ($) {
    $.fn.equalHeights = function (minHeight, maxHeight, padding) {
        tallest = (minHeight) ? minHeight : 0;
        this.each(function () {
            if ($(this).height() > tallest) {
                tallest = $(this).height();
            }
        });
        if ((maxHeight) && tallest > maxHeight) tallest = maxHeight;
        return this.each(function () {
            $(this).css("padding-top", (tallest - $(this).height()) / 2 + padding + "px").css("padding-bottom", (tallest - $(this).height()) / 2 + padding + "px");
        });
    }
})(jQuery);

(function ($) {
    $.fn.equalWidths = function (minWidth, maxWidth, padding) {
        tallest = (minWidth) ? minWidth : 0;
        this.each(function () {
            if ($(this).width() > tallest) {
                tallest = $(this).width();
            }
        });
        if ((maxWidth) && tallest > maxWidth) tallest = maxWidth;
        return this.each(function () {
            $(this).css("padding-left", (tallest - $(this).width()) / 2 + padding + "px").css("padding-right", (tallest - $(this).width()) / 2 + padding + "px");
        });
    }
})(jQuery);






