$(document).ready(function() {
    var radceTable = {
        1: {
            show: {
                12: {
                    show: []
                },
                13: {
                    show: [36]
                },
                14: {
                    show: [37]
                },
                17: {
                    show: []
                },
                18: {
                    show: [41, 42, 43, 44]
                },
                21: {
                    show: [29, 32],
                    conditions: [21, 12, 17] // co musi byt zakliknuto, aby se zobrazilo show
                },
                24: {
                    show: [31],
                    conditions: [24, 12, 17]
                },
                25: {
                    show: [30],
                    conditions: [25, 12, 17]
                },
                26: {
                    show: [31],
                    conditions: [26, 12, 17]
                }
            }
        },
        2: {
            show: {
                12: {
                    show: []
                },
                13: {
                    show: [36]
                },
                14: {
                    show: [37]
                },
                16: {
                    show: [38]
                },
                17: {
                    show: []
                },
                18: {
                    show: [41, 42, 43, 44]
                },
                21: {
                    show: [29, 34],
                    conditions: [21, 12, 17] // co musi byt zakliknuto, aby se zobrazilo show
                },
                24: {
                    show: [31],
                    conditions: [24, 12, 17]
                },
                25: {
                    show: [30, 31],
                    conditions: [25, 12, 17]
                },
                26: {
                    show: [31],
                    conditions: [26, 12, 17]
                }
            }
        },
        3: {
            show: {
                12: {
                    show: []
                },
                13: {
                    show: [36]
                },
                14: {
                    show: [37]
                },
                16: {
                    show: [38]
                },
                17: {
                    show: []
                },
                18: {
                    show: [41, 42, 43, 44]
                },
                21: {
                    show: [29, 34],
                    conditions: [21, 12, 17] // co musi byt zakliknuto, aby se zobrazilo show
                },
                24: {
                    show: [31],
                    conditions: [24, 12, 17]
                },
                25: {
                    show: [30, 31],
                    conditions: [25, 12, 17]
                },
                26: {
                    show: [31],
                    conditions: [26, 12, 17]
                }
            }
        },
        5: {
            show: {
                12: {
                    show: []
                },
                13: {
                    show: [36]
                },
                14: {
                    show: [37]
                },
                16: {
                    show: [38]
                },
                17: {
                    show: []
                },
                18: {
                    show: [41, 42, 43, 44]
                },
                21: {
                    show: [29, 34],
                    conditions: [21, 12, 17] // co musi byt zakliknuto, aby se zobrazilo show
                },
                24: {
                    show: [31],
                    conditions: [24, 12, 17]
                },
                25: {
                    show: [30, 31],
                    conditions: [25, 12, 17]
                },
                26: {
                    show: [31],
                    conditions: [26, 12, 17]
                }
            }
        },
        6: {
            show: {
                12: {
                    show: [28],
                    conditions: [12, 17]
                },
                13: {
                    show: [36],
                    conditions: [13, 17]
                },
                14: {
                    show: [37],
                    conditions: [14, 17]
                },
                17: {
                    show: []
                },
                18: {
                    show: [41, 42, 43]
                }
            }
        },
        7: {
            show: {
                17: {
                    show: [31, 35]
                },
                18: {
                    show: [41, 42, 43, 44]
                }
            }
        },
        8: {
            show: {
                16: {
                    show: [38]
                },
                18: {
                    show: [41, 42, 43]
                }
            }
        },
        9: {
            show: {
                16: {
                    show: [39]
                },
                17: {
                    show: [39]
                }
            }
        },
        10: {
            show: {
                12: {
                    show: [38]
                },
                14: {
                    show: [37]
                }
            }
        }
    };

    $('#step-2, #step-3').hide();
    $('#itm_12_c').hide();

    $('#itm_12').click(function() {
        if ($(this).is(':checked')) {
            $('#itm_12_c').show('slide', { direction: 'up' }, 1000);
        }
        else {
            $('#itm_12_c').hide('slide', { direction: 'up' }, 1000);
            // odskrtneme vsechny co jsou skryte
            $('input[depends=itm_12]').each(function() {
                $(this).attr('checked', false);
            });
        }
    });


    // navigace v radci
    $('a.radceRButt, a.radceLButt').click(function() {
        // navrat na 1.krok, tak 2. vymazeme
        if ($(this).attr('rel') == 'step-1') {
            $('#product-wizard [step=2]').each(function() {
                $(this).attr('checked', false);
            });
            // a skryjeme volbu pro praci s obsahem
            $('#itm_12_c').hide();
        }
        // check, zda je neco vyplneno
        if ($(this).attr('rel') == 'step-2') {
            var checked = false;
            $('#product-wizard [step=1]').each(function(i1, elem1) {
                if ($(elem1).is(':checked')) {
                    checked = true;
                }
            });
            if (!checked) {
                alert('Prosím zaškrtněte alespoň jednu volbu!');
                return false;
            }
        }
        if ($(this).attr('rel') == 'step-3') {
            var checked = false;
            $('#product-wizard [step=2]').each(function(i1, elem1) {
                if (elem1.checked) {
                    checked = true;
                }
            });
            if (!checked) {
                alert('Prosím zaškrtněte alespoň jednu volbu!');
                return false;
            }
            // overeni zaskrnuti polozek 12-14 pokud jsou zobrazeny
            var visible = false;
            $('#product-wizard [top=itm_11]').each(function(i1, elem1) {
                if ($(elem1).is(':visible')) visible = true;
            });
            if (visible) {
                var checked = false;
                $('#itm_12, #itm_13, #itm_14').each(function(i, elem) {
                    if (elem.checked) checked = true;
                });
                if (!checked) { alert('Prosím zvolte jaký druh informací Vás zajímá!'); return false; }
            }
            // overeni zaskrnuti polozek 16-18 pokud jsou zobrazeny
            var visible = false;
            $('#product-wizard [top=itm_15]').each(function(i1, elem1) {
                if ($(elem1).is(':visible')) visible = true;
            });
            if (visible) {
                var checked = false;
                $('#itm_16, #itm_17, #itm_18').each(function(i, elem) {
                    if (elem.checked) checked = true;
                });
                if (!checked) { alert('Prosím zvolite jak potřebujete pomoct při výběru dat!'); return false; }
            }
            // overeni zaskrnuti polozek 21-26 pokud jsou zobrazeny
            var visible = false;
            $('#product-wizard [top=itm_19]').each(function(i1, elem1) {
                if ($(elem1).is(':visible')) visible = true;
            });
            if (visible) {
                var checked = false;
                $('#itm_21, #itm_24, #itm_25, #itm_26').each(function(i, elem) {
                    if (elem.checked) checked = true;
                });
                if (!checked) { alert('Prosím zvolite jak budete s obsahem pracovat!'); return false; }
            }
        }

        $('ul.radceUl li').removeClass('active');
        $('div.radceTab').hide();
        $('#' + $(this).attr('rel')).show();
        $('ul.radceUl li[rel=' + $(this).attr('rel') + ']').addClass('active');
    });

    $('#product-wizard').click(function(e) {
        if (e.target.tagName == 'INPUT') {
            var elm = $(e.target);
            var elmId = elm.id;
            if (elm.attr('step') != null && elm.attr('step') == '1') {
                $('#product-wizard [step=2]').each(function(i, elem) {
                    var par1 = $($(elem).parent().get(0));
                    var par = $(par1.parent().get(0));
                    var topElm = par.attr('top');
                    $(elem).attr('checked', false);
                    // skryjeme nadrazeny element
                    if (topElm) $('#' + topElm).hide();
                    // skryjeme samotny element
                    par.hide();
                });
                // projdeme vse co ma byt zobrazeno a zobrazime
                $('#product-wizard [step=1]').each(function(i1, elem1) {
                    if (elem1.checked) {
                        var cElm = elem1.id.substring(4, elem1.id.length);
                        $.each(radceTable[cElm]['show'], function(elem2) {
                            var sElm = $('#itm_' + elem2);
                            if (sElm) {
                                var par3 = $($(sElm).parent().get(0));
                                var par2 = $(par3.parent().get(0));
                                par2.show();
                                $('#' + par2.attr('top')).show();
                            }
                        });
                    }
                });
            }
            if (elm.attr('step') != null && elm.attr('step') == '2') {
                $('#product-wizard [step=3]').each(function(i, elem) {
                    var topElm = $(elem).attr('top');
                    // skryjeme nadrazeny element
                    if (topElm) $('#' + topElm).hide();
                    // skryjeme samotny element
                    $(elem).hide();
                });
                // projdeme vse co ma byt zobrazeno i v zavislosti na 1.kroku a zobrazime
                $('#product-wizard [step=1]').each(function(i1, elem1) {
                    // pole v 1. kroku je zaskrtnuto
                    if (elem1.checked) {
                        var cElm = elem1.id.substring(4, elem1.id.length);
                        // projdeme vsechny policka, ktera jsou ovlivnena zaskrtnutym polem z 1. kroku
                        $.each(radceTable[cElm]['show'], function(elem2, val) {
                            var sElm = $('#itm_' + elem2);
                            // pokud je zaskrtnuto, tak jedeme dal
                            if ($(sElm).is(':checked')) {
                                var showElems = val['show']; // co se bude zobrazovat ve 3. kroku
                                var conditions = typeof val['conditions'] == 'undefined' ? null : val['conditions'];
                                // zjistime, zda jsou splanene podminky, a maji se tedy zobrazit vsechny polozky
                                // overuje se, zda je prvek s danym id zaskrtnuty
                                var showElm = true;
                                if (conditions != null) {
                                    $(conditions).each(function(elemC, valC) {
                                        if ($('#itm_' + valC).is(':not(:checked)'))
                                            showElm = false;
                                    })
                                }
                                if (showElm) {
                                    // podminky nejsou nebo jsou splneny, tak zobrazime vsechny elementy, co se maji zobrazit
                                    $(showElems).each(function(i2, elem3) {
                                        var sElm2 = $('#itm_' + elem3);
                                        if (sElm2) {
                                            sElm2.show();
                                            $('#' + sElm2.attr('top')).show();
                                        }
                                    });
                                }

                            }
                        });
                    }
                });
            }
        }
    });
});

